Reports Search
Please select the report that you wish to read.
- Variable Selection in a Cox Proportional Hazards Model
- A high-performance Brownian bridge for GPUs: Lessons for bandwidth bound applications
- Solving partial differential equations using the NAG Library
- Calling the NAG Pseudo and Quasi Random Number Generators From a Multi-Threaded Environment
- Nonlinear Optimization Made Easier: A Tutorial for using the AMPL modelling language with NAG routines.
- Reverse Communication Interface
- Solving an Optimization Problem using the NAG Library for .NET from F#
- Exact First- and Second-Order Greeks by Algorithmic Differentiation
- Flexible delivery of visualization software and services
- Calling the NAG Fortran Library for Windows x64 DLLs from VB.NET
- Using the NAG Library to calculate financial option prices in Excel
- Using the NAG Libraries with Excel and VSTO
- Calling NAG Library Routines from Scilab
- Calling NAG Library Routines from Octave
- Fitting a Seasonal ARIMA Model using the NAG C Library
- Calling NAG Library Routines from Java
- A Web Services Architecture for Visualization
- Introduction to Bayesian Analysis Using the NAG Library
- Using the NAG Fortran Library with Excel 2003
- Calling the NAG Fortran Library from Python using F2PY
- The use of NAG mesh generation and sparse solver routines for solving partial differential equations
- Software implementation and testing of GARCH models
- Calling the NAG C Library from Java
- Practical Portfolio Optimization
- Numeric ActiveX Components
- NAG Financial Routines in C
- Parallel Sparse Matrix Computations Using the PINEAPL Library: A Performance Study
- Calling 32-bit NAG C DLL functions from Visual Basic
- Experiences in Developing Numerical Subprograms on a Parallel, Shared Memory Computer
- Accurately Counting Singular Values of Bidiagonal Matrices
- Speed-up Results for NAG Numerical PVM Library Routines on an IBM SP-2 (part a)
- An Evaluation of New NAG Library Solvers for Large Sparse Unsymmetric Linear Systems
- Accurate BABE Factorisation of Tri-diagonal Matricies for Eigenproblems
- On Computing an Eigenvector of a Tridiagonal Matrix
- On a Classical Method for Computing Eigenvectors
- Migrating from Fortran 77 to Fortran 90 with the NAGWare f77 and f90 Tools
- An Evaluation of New NAG Library Solvers for Large Sparse Symmetric Linear Systems
- RKSUITE_90: Software for ODE IVPs
- The NAG Product Information Database
- Level 2 and 3 BLAS in the NAG C Library
Please note: Only the abstract for the following reports is available from our web site. Contact us regarding the availabilty of the full report as a NAG publication.
- The K system for GLMs in Genstat
- Accurate Singular Values and Differential qd Algorithms
- File Forms for Computer Graphics Unraveling the Confusion
- Rationale for the Proposed Standard for Packages of Real and Complex Type Declarations and Basic Operations for Ada (including Vector and Matrix Types)
- Proposed Standard for Packages of Real and Complex Type Declarations and Basic Operations for Ada (including Vector and Matrix Types)
- The IBM RISC System/6000 and Linear Algebra Operations
- A Proposed Specification of BLAS Routines in C
- Parallelism and the NAG Library
- SLICOT Library, Release 1
- The TIE2 System
- ESPRIT II Project : 2620
- NAG Fortran Library Vectorization Review
- Stable Column-Oriented Algorithms for the SVD and Spectral Factorizations
- Computing Accurate Eigenvalues of a Hermitian Matrix
- Validation of Numerical Computations in Ada
- Codes for Almost Block Diagonal Systems
- On Ultimate Quadratic Convergence of Jacobi Methods
- A Set of Level 3 Basic Linear Algebra Subprograms: Model Implementation and Test Programs
- A Set of Level 3 Basic Linear Algebra Subprograms
- The GLIMPSE System
- Working with GLIMPSE - Modelling the Formation of Calcium Oxalate Crystals in Urine
- Working with GLIMPSE - Modelling the Cost of Construction of Nuclear Power Plants
- Working with GLIMPSE - Estimated Determination of the Composition of a Chemical Specimen (activation analysis)
- Working with GLIMPSE - Modelling the Survival of Breast Cancer Patients - Following Radical Mastectomy
- Linear Convergence of the Row Cyclic Jacobi and Kogbetliantz Methods
- Block Factorisation Algorithms on the IBM 3090/VF
- Parallel Eigenvalue and Singular Value Algorithms for Signal Processing
- Stability of 2D State-Space Systems
- Unified Mesh-connected Architecture for Eigenvalue, Singular Value and QR decompositions
- On Block Kogbetliantz Methods for Computation of the SVD
- Portable Graphical Software Design, Implementation and Use
- On Equivalence and Convergence of Jacobi and Kogbetliantz Methods with Odd-even Orderings
- Design of the Stiff Integrators in the NAG Library
- A Runge-Kutta-Nystrom Code
- The Kalman Reachability/Observability Canonical Form and the SV
- A Product Induced Singular Value Decomposition (PISVD) for Two Matrices and Balanced Realisation
- Using Shape Preserving Local Interpolation for Plotting Solutions of Ordinary Differential Equations
- An Extended Set of Basic Linear Algebra Subprograms: Model Implementation and Test Programs
- An Extended Set of Fortran Basic Linear Algebra Subprograms
- Quadratic Convergence of the Cyclic Kogbetliantz Method for Triangular Matrices
- Kogbetliantz Methods for Parallel SVD Computation: Architecture, Algorithms and Convergence
- Vectorisation of One-Dimensional Quadrature Codes
- Systolic Array Computation of the SVD of Complex Matrices
- VLSI Computation of the SVD of Real Matrices via the Method of Kogbetliantz
- Computation of the Singular Value Decomposition Using Systolic Arrays
- The Numerical Solution of the Kalman Filtering Problem
- The Numerical Solution of the General Gauss-Markov Linear Model
- Conditions for Internal Stability of 2D Systems
TRn/nn - NAG Technical Report series number
Variable Selection in a Cox Proportional Hazards Model
In this article, and the associated example programs, we show how to use existing NAG library routines to perform automatic variable selection for a Cox proportional hazards model, a commonly type of model commonly used in the analysis of censored data. The three approaches described are; forward, backward and stepwise selection.
Accompanying materials:
tr3_12.zip
A high-performance Brownian bridge for GPUs: Lessons for bandwidth bound applications
Jacques Du Toit, (NAG Ltd, Manchester)
We present a very flexible Brownian bridge generator together with a GPU implementation which achieves close to peak performance on an NVIDIA C2050. The performance is compared with an OpenMP implementation run on several high performance x86-64 systems. The GPU shows a performance gain of at least 10x. Full comparative results are given in Section 8: in particular, we observe that the Brownian bridge algorithm does not scale well on multicore CPUs since it is memory bandwidth bound. The evolution of the GPU algorithm is discussed. Achieving peak performance required challenging the "conventional wisdom" regarding GPU programming, in particular the importance of occupancy, the speed of shared memory and the impact of branching.
Solving partial differential equations using the NAG Library
Jeremy Walton, (NAG Ltd, Oxford)
We describe the characteristics of partial differential equations (PDEs), including their uses, classification, subsidiary conditions and some of the ways in which they may be solved. In this context, we demonstrate how routines from the NAG Library can be used in their numerical solution. These routines come not only from the Library’s PDE chapter, but also from the chapters which deal with mesh generation and the solution of large linear systems. The combination of mesh generators and large linear solvers is applicable in the implementation of the so-called finite element method, which may be used in cases where the complexity of the geometry of the domain over which the PDE is to be solved prevents the application of the comparatively simple finite differencing method (as used, for example, in the Library’s PDE chapter). We illustrate the use of the NAG routines using a variety of example problems; the solutions are generated using the NAG Toolbox for MATLAB ® and plotted using tools in that environment.
Calling the NAG Pseudo and Quasi Random Number Generators From a Multi-Threaded Environment
Martyn Byng, (NAG Ltd, Oxford)
In this article, and the associated example programs, we will show how to call the NAG random number generators within a multi-threaded enviroment. The examples are written making use of OpenMP, however the basic structure of the NAG calls will be the same irrespective of the threading mechanism used. Some OpenMP commands and pragmas are briefly described in this document, however additional information is available on the OpenMP website, alternatively NAG offer training courses in OpenMP, details of which can be obtained from nagmarketing@nag.co.uk.
- Accompanying materials:
openmp_rng.zip
Nonlinear Optimization Made Easier: A Tutorial for using the AMPL modelling language with NAG routines.
Jan Fiala, (NAG Ltd, Oxford)
Optimization, or Operational Research in general, nowadays plays an important role in our lives. No matter if you are a respected finance house or a student of mathematics, you have probably used some sort of optimization routines. The field itself has changed rapidly since linear programming was introduced in the mid 1940s. More powerful computers allowed us to consider much more realistic and complex models using sophisticated algorithms. Whereas the input for linear programming problems is relatively simple, it is a much more delicate task in the case of general nonlinear programming. One way to tackle it is to introduce a specialised language for the problem description. In this tutorial we will focus on a particular one called AMPL which we have equipped with two of our NAG solvers, namely E04UFF and E04UGF.
- Accompanying materials:
package_linux32.tgz
package_selfbuilt.zip
package_win32.zip
Reverse Communication Interface
Marcin Krzysztofik, (NAG Ltd, Oxford)
Reverse communication is a means of avoiding procedure arguments in the parameter list of a procedure. Most numerical routines use the alternative, forward (or direct) communication approach, i.e. they are called only once to compute results; they completely specify the problem by including user-provided procedures in the argument list.
Solving an Optimization Problem using the NAG Library for .NET from F#
Sorin Serban, (NAG)
NAG has just released their latest numerical library; the NAG Library for .NET. This is the first release of the library and includes over 400 methods for key mathematical and statistical areas, including Wavelet Transforms, Integration, Interpolation and Approximation, Random Number Generators, Time Series Analysis, and Optimization. The Optimization chapter contains methods for solving LP-, QP-, LS- and NLP-problems without constraints or with constraints. A global optimizer is also included, solving problems without constraints but with bounds on the variables.
Exact First- and Second-Order Greeks by Algorithmic Differentiation
The Numerical Algorithms Group (NAG) work very closely with Uwe Naumann to help users take advantage of Algorithmic Differentiation methods.
Algorithmic (also known as Automatic) differentiation (AD) is a method for computing sensitivities of outputs of numerical programs with respect to its inputs both accurately (to machine precision) and efficiently. The two basic modes of AD ' forward and reverse ' and combinations thereof yield products of a vector with the Jacobian, its transpose, or the Hessian, respectively.
Flexible delivery of visualization software and services
Jason Wood, Jungwook Seo, David Duke Ken Brodlie (University of Leeds) and Jeremy Walton (NAG Ltd, Oxford)
An important issue in the design of visualization systems is the allowance of flexibility in providing a range of interfaces to a single body of algorithmic software. In this paper we describe how the ADVISE architecture provides exactly this flexibility. The architecture is cleanly separated into three layers (user interface, web service middleware and visualization components) which gives us the flexibility to provide a range of different delivery options, but all making use of the same basic set of visualization components. These delivery options comprise a range of user interfaces (visual pipeline editor, tailored application, web page), coupled with installation choice between a stand-alone desktop application, or a distributed client-server application. This work was carried out within the ADVISE project .
Calling the NAG Fortran Library for Windows x64 DLLs from VB.NET
Ludovic Henno, NAG Ltd, Oxford
Users who have Microsoft Visual Studio 2005 or 2008 may use the DLLs provided with the NAG Fortran Library for Windows XP/Vista/7 x64 (FLW6I22DC_nag.dll and FLW6I22DC_mkl.dll) in conjunction with VB.NET.
In this report, we will see the rules one has to follow to use the NAG routines from VB.NET and then we will illustrate those rules with examples.
TR2/10 (NP3681) PDF Format
Using the NAG Library to calculate financial option prices in Excel
Marcin Krzysztofik, Jeremy Walton, NAG Ltd, Oxford
In finance, an option is a contract that conveys the right, but not the obligation, to buy or sell a specific asset. Options are widely traded on financial markets, and so some method of determining their value (or price) is required. Several option pricing models have been developed, which have then been implemented using a range of mathematical methods; some of these implementations have been made available in the latest release of the NAG Library. We have used these routines to calculate option prices in Microsoft Excel, and present some examples (which may be downloaded from the NAG website) that illustrate the way in which NAG routines can be called from within an Excel spreadsheet.
TR1/10 (NP3678) PDF Format
Using the NAG Libraries with Excel and VSTO
Sorin Serban, Shah Datardina, NAG Ltd, Oxford
The following example which includes interpolating and approximating data points, uses the Excel Workbook template to call the NAG Fortran Library and NAG C Library (soon also the NAG Library for .NET) from inside an Excel workbook. There are other ways to integrate Excel with an external library by creating Add-Ins. The difference is that the workbook model described here is called a “document-level project” while an add-in is an “application-level project”. At the document level, all customization is unique to one or more sheets contained in a single workbook, but at the application level, custom Excel functions would be available to all workbooks.
- Accompanying materials:
VSTO_C_example_4.0.zip
VSTO_example.zip
/doc/techrep/html/TR5_09/TR5_09.asp
Nathaniel Fenton, NAG Ltd, Oxford
This report gives detailed instructions on how to call routines in the NAG C and Fortran Libraries from the Scilab programming environment.
TR4/09 (NP3674) HTML Format
Calling NAG Library Routines from Octave
Anna Kwiczala, NAG Ltd, Oxford
This report gives detailed instructions on how to call routines in the NAG C and Fortran Libraries from the Octave programming environment.
TR3/09 (NP3673) PDF Format
Fitting a Seasonal ARIMA Model using the NAG C Library
Martyn Byng, NAG Ltd, Oxford
This article gives a brief description of how to fit a seasonal ARIMA (autoregressive integrated moving average) model using the NAG C Library routine g13bec (/numeric/CL/manual/xhtml/G13/g13bec.xml), and how to forecast from such a model using the NAG C Library routine g13bjc /numeric/CL/manual/xhtml/G13/g13bjc.xml . The article should be read in conjunction with the documentation for these two routines. A full set of example source code, data and expected results is available in the accompanying materials linked below.
- Accompanying materials:
tr03_09.zip
TR2/09 (NP3671) HTML Format
Calling NAG Library Routines from Java
Mick Pont, Anna Kwiczala, NAG Ltd, Oxford
This report gives detailed instructions on how to call routines in the NAG C and Fortran Libraries from the Java programming language. We show examples using Java running on both UNIX and Microsoft Windows platforms. It has been extended to show how to call option pricing routines and global optimization routines available in the latest versions of the NAG C and Fortran Libraries.
- This report supersedes NAG Technical Report TR1/04 (NP3658)
TR1/09 NP3668 PDF Format
A Web Services Architecture for Visualization
Jason Wood, Ken Brodlie, Jungwook Seo, David Duke (University of Leeds) and Jeremy Walton (NAG Ltd, Oxford)
Service-oriented architectures are increasingly being used in the creation of large distributed applications. This paper examines the provision of visualization as a service which can be made available for application designers to combine with other services. It describes a three-layer architecture which exploits the strengths of web service technologies in providing standardized access, and which also enables the efficient and flexible construction of visualization applications. A realization of the architecture is illustrated by re-visiting an early example of web-based visualization. This work was carried out within the ADVISE project .
TR3/08 NP3367 PDF Format
Introduction to Bayesian Analysis Using the NAG Library
This report illustrates how to implement a selection of methods for drawing inferences from posterior and predictive distributions using (Mark 21 and Mark 22) of the NAG Fortran library. Examples of using the Laplace approximation, the Normal approximation, a simple Metropolis-Hastings sampler and an importance sampler are given.
- Accompanying materials:
tr0308.zip
Using the NAG Fortran Library with Excel 2003
Dr Michael Croucher, University of Manchester
The (Mark 21) NAG Fortran Library can be called from Microsoft Excel 2003. This report contains a step by step guide in using the Fortran Library in Excel.
- Accompanying materials:
tr0208.zip
TR1/08 (NP3665) PDF Format
Calling the NAG Fortran Library from Python using F2PY
Mat Cross, NAG Ltd, Oxford
The (Mark 21) NAG Fortran Library can be called from Python using Pearu Peterson's F2PY tool, which is part of the NumPy package. This report contains examples showing how to interface with the Library on Linux and Windows.
- Accompanying materials:
tr0108.zip
TR1/04 (NP3658) HTML Format
Calling NAG Library Routines from Java
Mick Pont, NAG Ltd, Oxford
This report gives detailed instructions on how to call routines in the NAG C and Fortran Libraries from the Java programming language. We show examples using Java running on both UNIX and Microsoft Windows platforms.
- This report is superseded by NAG Technical Report TR2/09 (NP3671)
TR1/01 (NP3615) PDF Format
The use of NAG mesh generation and sparse solver routines for solving partial differential equations
Nadir Bouhamou, NAG Ltd, Oxford
This report demonstrates the use of routines from the NAG Fortran Library D06 Chapter, combined with sparse solver routines from the F11 Chapter to solve a partial differential equation using the finite element method.
- Keywords: Finite Element Method, Numerical Simulations, Triangular Mesh, Linear Approximation.
- The source, data, and result files:
d06tute.f
d06tute.d
d06tute.r
TR4/00 (NP3533) PDF Format
Software implementation and testing of GARCH routines in Fortran 77
George Levy, Nag Ltd, Oxford
This paper describes the software implementation of GARCH routines in Fortran 77. The routines considered here cover both symmetric and asymmetric GARCH and also shocks having Gaussian and non-Gaussian distributions. Extensive examples of using the software are provided and the test results from Monte Carlo simulations are presented.
- Keywords: GARCH, ARCH, maximum likelihood estimation, volatility, generalised autoregressive heteroskedasticity, asymmetry, Fortran 77
TR3/00 (NP3489) HTML Format
Calling the NAG C Library from Java
Mick Pont, Nag Inc, Downers Grove, Illinois, USA
This report gives detailed instructions on how to call routines in the NAG C Library from the Java programming language. We show examples using Java running on both UNIX and Microsoft Windows platforms. The techniques described are also applicable to other libraries, such as the NAG Fortran Library.
- This report is superseded by NAG Technical Report TR1/04 (NP3658)
TR2/00 (NP3484) PDF Format
Practical Portfolio Optimization
K V Fernando, NAG Ltd, Oxford, UK.
NAG Libraries have many powerful and reliable optimizers which can be used to solve large portfolio optimization and selection problems in the financial industry. These versatile routines are also suitable for academic research and teaching.
- Keywords: Markowitz, mean-variance analysis, optimal portfolios, minimum variance portfolio, portfolio selection, portfolio allocation, portfolio diversification, portfolio optimization, efficient frontier, mean-variance frontier, MV efficiency
TR1/00 (NP3480) PDF Format
Numeric ActiveX Components
George Levy, NAG Ltd, Oxford, UK.
This paper is concerned with the use of ActiveX components for numerical computations from within the Microsoft Windows environment. Detailed information is provided concerning the use of these components from Microsoft Excel, Microsoft Visual Basic, Microsoft Web browsers and Inprise Delphi. The examples in the paper are based on the following ActiveX components: a fast Fourier transform ActiveX control, a financial derivative pricing ActiveX control, and a numerical optimisation ActiveX control.
- Keywords: ActiveX Components, Microsoft Office, Microsoft Windows, Internet, Numerical Computation, Numerical Optimisation.
TR3/98 (NP3365) Postscript PDF
NAG Financial Routines in C
George Levy, NAG Ltd, Oxford, UK.
This report describes a set of financial routines and example programs in C that have been developed at NAG.
{C}
{C}
TR1/98 (NP3256) Postscript PDF
Parallel Sparse Matrix Computations Using the PINEAPL Library: A Performance Study
Arnold Krommer, NAG Ltd, Oxford
The Numerical Algorithms Group Ltd is currently participating in the European HPCN Fourth Framework project on Parallel Industrial NumErical Applications and Portable Libraries (PINEAPL). One of the main goals of the project is to increase the suitability of the existing NAG Parallel Library for dealing with computationally intensive industrial applications by appropriately extending the range of library routines. Additionally, several industrial applications are being ported onto parallel computers within the PINEAPL project by replacing sequential code sections with calls to appropriate parallel library routines.
A substantial part of the library material being developed is concerned with the solution of PDE problems using parallel sparse linear algebra modules. These modules provide support for crucial computational tasks such as graph partitioning, preconditioning and iterative solution of linear systems. Additional support routines assist users in distributing and assembling the data structures used and/or generated by the sparse linear algebra modules.
This paper provides a number of performance results which demonstrate the efficiency and scalability of core computational routines - in particular, the iterative solver, the preconditioner and the matrix-vector multiplication routines. Most of the software described in this paper has been incorporated into the recently launched Release 1 of the PINEAPL Library.
{C}
TR11/96 (NP3087) Postscript PDF
Calling 32-bit NAG C DLL functions from Visual BasicGeorge Levy, NAG Ltd, Oxford.
Calling NAG routines from Visual Basic (or Excel) can provide a convenient way quickly to develop graphical user interfaces and packages that use mathematical routines. The aim of this report is to show how the complete range of NAG C DLL routines can be called directly from Visual Basic, and thus allow programmers/package builders maximum flexibility when incorporating calls to NAG routines into their Visual Basic code.
Keywords: DLLs Visual Basic Excel Visual C++
{C}
TR5/96 (NP3010) Postscript PDF
Experiences in Developing Numerical Subprograms on a Parallel, Shared Memory ComputerStefano Salvini, Numerical Algorithms Group Ltd.
and
Jerzy Wasniewski, Danish Computing Centre for Research and Education
This Technical Report describes work carried out on the parallel, shared memory SGI Power Challenge system with MIPS R8000 (75 MHz) processors under OS IRIX 6.1 at UNI'C, Denmark.
The main thrust of this work was an investigation of the scalability and efficiency of a range of numerical routines. The routines studied were grouped according to the mode of parallelism they employed.
Simple parallelism: concurrent execution of sections of DO loops. The Level-3 BLAS DGEMM and DTRSM were chosen for this group. Automatic parallelization tools could be, and were, employed for these.
Lower level parallelism: concurrent execution within lower level routines. The LAPACK routines DGETRF, DPOTRF, DGEQRF, DGETRS and DPOTRS were studied for this group: they rely on calls to parallel Level-3 BLAS.
Explicit parallelism: customized code is required to achieve high efficiency and scalability. The quadrature routines D01DAF and D01AUF from the NAG Fortran 77 Library were selected for this group: their parallelism is further complicated by their use of globally shared data structures.
Issues of portability were paramount in the development of code: all software was written in Fortran 77 and parallelism was defined by using PCF directives.
The results obtained show that this class of systems holds great promise for the development of efficient numerical codes, portable across a range of shared-memory as well as serial systems.
Finally, future avenues of enquiry are suggested.
TR4/96 (NP3007) Postscript PDF
Accurately Counting Singular Values of Bidiagonal MatricesK V Fernando, Numerical Algorithms Group Ltd.
We have developed algorithms to count singular values of a bidiagonal matrix which are greater than a specified value. This requires the transformation of the singular value problem to an equivalent symmetric eigenvalue problem. The counting of singular values is paramount in the design of bisection and multisection type algorithms for computing singular values on serial and parallel machines.
The algorithms are based on the eigenvalues of BB', B'B and the associated 2n by 2n zero-diagonal tridiagonal matrix (which is permutationally equivalent to the Jordan-Wielandt form), where B is an n by n bidiagonal matrix. The two product matrices, which do not have to be formed explicitly, lead to the progressive and stationary qd algorithms of Rutishauser. The algorithm based on the zero-diagonal matrix, which we have named the Golub-Kahan form, may be considered as a combination of both the progressive and stationary qd algorithms.
We study important properties such as the backward error analysis, the monotonicity of the inertia count and the scaling of data which guarantee the accuracy and the integrity of these algorithms. For high relative accuracy of tiny singular values, the algorithm based on the Golub-Kahan form is the best choice. However, if such accuracy is not required or requested, the differential progressive and differential stationary qd algorithms with certain modifications are adequate and more efficient.
Keywords: bisection, multisection, singular values, eigenvalues, monotonicity, error analysis, parallel algorithms, qd algorithms, bidiagonal matrices, symmetric tridiagonal matrices, skew-symmetric tridiagonal matrices
Partially supported by NSF grant ASC-9005933 and ONR contract N000014-90-J-1372.
TR3/96 (NP3005) - Postscript files Part a Part b Part c
Speed-up Results for NAG Numerical PVM Library Routines on an IBM SP-2Mir S Derakhshan, Numerical Algorithms Group Ltd., Oxford, UK.
and
Lon Waters, Maui High Performance Computing Centre, Kihei, HI.
In this report we analyse the performance of some routines in the NAG Numerical PVM Library on an IBM SP-2. Three chapters of the Library are extensively covered and the report includes performance results in the areas of quadrature, linear equations and eigenproblems.
TR2/96 (NP2996) Postscript PDF
An Evaluation of New NAG Library Solvers for Large Sparse Unsymmetric Linear SystemsStefano Salvini and Gareth Shaw
This report presents an experimental comparison of NAG Fortran Library software for the solution of large sparse unsymmetric linear systems of algebraic equations. Preconditioned RGMRES, CGS and Bi-CGSTAB methods to be introduced at Mark 18 are compared against one another, and against direct methods. Test problems include discrete approximations to 2-D elliptic partial differential equations, random-valued randomly structured unsymmetric systems, and matrices from the Harwell--Boeing collection.
TR5/95 (NP2960) Postscript PDF
Accurate BABE Factorisation of Tridiagonal Matrices for EigenproblemsK V Fernando, NAG Ltd
Recently, Fernando successfully resurrected a classical method for computing eigen'vectors which goes back to the times of Cauchy. This algorithm has been in the doldrums for nearly fifty years because of a fundamental difficulty highlighted by Wilkinson. The algorithm is based on the solution of a nearly homogeneous system of equations (J - rI)z=k 'k(r)ek , zk = 1 for the approximate eigenvector z where r is an eigenvalue shift, 'k(r) is a scalar and (e)k is a unit vector. ....
TR4/95 (NP2953) Postscript PDF
On Computing an Eigenvector of a Tridiagonal MatrixK V Fernando, NAG Ltd
We consider the solution of the homogeneous equation J-lambda I{x}=0 where J is a tridiagonal matrix, lambda is a known eigenvalue, and {x} is the unknown eigenvector corresponding to lambda. Since the system is under-determined, {x} could be obtained by setting x_k=1 and solving for the rest of the elements of {x}. This method is not entirely new and it can be traced back to the times of Cauchy (1829). In 1958, Wilkinson demonstrated that, in finite-precision arithmetic, the computed {x} is highly sensitive to the choice of k; the traditional practice of setting k=1 or k=n can lead to disastrous results. We develop algorithms to find optimal k which require a LDU and a UDL factorisation of J-lambda I and are based on the theory developed by Fernando for general matrices. We have also discovered new formulae (valid also for more general Hessenberg matrices) for the determinant of J-tau I, which give better numerical results when the shifted matrix is nearly singular. These formulae could be used to compute eigenvalues (or to improve the accuracy of known estimates) based on standard zero finders such as Newton and Laguerre methods. The accuracy of the computed eigenvalues is crucial for obtaining small residuals for the computed eigenvectors. The algorithms for solving eigenproblems are embarrassingly parallel and hence suitable for modern architectures.
TR3/95 (NP2929) Postscript PDF
On a Classical Method for Computing EigenvectorsK V Fernando
One of the oldest methods for computing an eigenvector of a matrix F is based on the solution of a set of homogeneous equations which can be traced back to the times of Cauchy (1829). The principal difficulty of this approach was identified by Wilkinson (1958). We remove this obstacle and analyse the viability of this classical method. The key to the analysis is provided by the reciprocals of the diagonal elements of the inverse of the matrix F-tau I, where tau is a shift, approximating an eigenvalue.
The final missing link is a perturbation result due to Sherman and Morrison. We extend this result to the block case. Finally, we give a new impetus for Rayleigh quotient and Laguerre iterations.
TR2/95 (NP2895) Postscript PDF
Migrating from Fortran 77 to Fortran 90 with the NAGWare f77 and f90 ToolsIan Hounam and Stuart Hemstock
The investment in code written in the Fortran language over the last four decades means that there is a vast amount of legacy code written to various standards and incorporating numerous vendor extensions to the language. Meanwhile, the new Fortran 90 standard adds many attractive new features to the language while retaining compatibility with Fortran 77. This paper shows how the NAGWare f77 Tools may be used to standardise Fortran code to a form suitable for porting to standard conforming Fortran 90 compilers. Then the paper goes on to discuss how the NAGWare f90 Tools can be used to convert this code to free format Fortran 90 with standardised precision.
TR1/95 (NP2870) Postscript PDF
An Evaluation of New NAG Library Solvers for Large Sparse Symmetric Linear SystemsStefano Salvini and Gareth Shaw
This report presents experimental results for new NAG Fortran 77 Library software for the solution of large sparse symmetric linear systems of algebraic equations. Preconditioned conjugate gradient methods introduced at Mark 17 are compared against iterative and direct methods previously available in the library. Test problems include discrete approximations to 2-d elliptic partial differential equations, random-valued randomly-structured symmetric positive-definite systems, and some symmetric systems from the Harwell-Boeing collection.
TR6/94 (NP2774) Postscript PDF
RKSUITE_90: Software for ODE IVPsBrankin, R.W. and Gladwell, I.
NAG Ltd, Oxford, October 1994
Announcement of public availability of Fortran 90 software for the initial value problem in ordinary differential equations.
TR5/94 (NP2773) Postscript PDF
The NAG Product Information DatabaseChelsom, J. and Pengelly, M.
NAG Ltd, Oxford, October 1994
Description of the NAG Product Information Database (NPID) system which manages the production and maintenance of documentation for NAG library products.
TR4/94 (NP2716) Postscript PDF
Level 2 and 3 BLAS in the NAG C LibraryDatardina, S. P., Du Croz, J. J. and Levy, G.
NAG Ltd, Oxford, September 1994
This report describes a set of matrix-vector routines (Level-2 BLAS) and matrix-matrix routines (Level-3 BLAS) written in C.