# NAG Library Contents Overview

Chapter Summaries

### A00 – Library Identification

 Full details of this chapter for your environment: Fortran C Toolbox .NET

The routines in this chapter provide information about the NAG Library.

Information about the precise implementation of the NAG Library in use will be needed when communicating with the NAG Technical Support Service (see NAG Library Manual Introductory document 'Support from NAG').

### A02 – Complex Arithmetic

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter provides facilities for arithmetic operations involving complex numbers.

### C02 – Zeros of Polynomials

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter is concerned with computing the zeros of a polynomial with real or complex coefficients.

### C05 – Roots of One or More Transcendental Equations

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter is concerned with the calculation of zeros of continuous functions of one or more variables. The majority of problems considered are for real-valued functions of real variables, in which case complex equations must be expressed in terms of the equivalent larger system of real equations.

### C06 – Summation of Series

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter is concerned with the following tasks.

• Calculating the discrete Fourier transform of a sequence of real or complex data values.
• Calculating the discrete convolution or the discrete correlation of two sequences of real or complex data values using discrete Fourier transforms.
• Calculating the inverse Laplace transform of a user-supplied routine.
• Direct summation of orthogonal series.
• Acceleration of convergence of a seuqnce of real values.

### C09 – Wavelet Transforms

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter is concerned with the analysis of datasets (or functions or operators) in terms of frequency and scale components using wavelet transforms. Wavelet transforms have been applied in many fields from time series analysis to image processing and the localization in either frequency or scale that they provide is useful for data compression or denoising. In general the standard wavelet transform uses dilation and scaling of a chosen function, ψ(t), (called the mother wavelet) such that ψa,b(t)=1/(sqrt(a))ψ((t-b)/a) where a gives the scaling and b determines the translation. Wavelet methods can be divided into continuous transforms and discrete transforms. In the continuous case, the pair a and b are real numbers with a>0. For the discrete transform, a and b can be chosen as a=2-j, b=k2-j for integers j, k ψj,k(t)=2j/2ψ(2jt-k).

The continuous real valued, one-dimensional wavelet transform (CWT) is included in this chapter. The discrete wavelet transform (DWT) at a single level together with its inverse and the multi-level DWT with inverse are also provided for one, two and three dimensions. The Maximal Overlap DWT (MODWT) together with its inverse and the multi-level MODWT with inverse are provided for one dimension. The choice of wavelet for CWT includes the Morlet wavelet and derivatives of a Gaussian while the DWT and MODWT offer the orthogonal wavelets of Daubechies and a selection of biorthogonal wavelets.

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter provides routines for the numerical evaluation of definite integrals in one or more dimensions and for evaluating weights and abscissae of integration rules.

### D02 – Ordinary Differential Equations

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter is concerned with the numerical solution of ordinary differential equations. There are two main types of problem: those in which all boundary conditions are specified at one point (initial value problems), and those in which the boundary conditions are distributed between two or more points (boundary value problems and eigenvalue problems). Routines are available for initial value problems, two-point boundary value problems and Sturm–Liouville eigenvalue problems.

### D03 – Partial Differential Equations

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter is concerned with the numerical solution of partial differential equations.

### D04 – Numerical Differentiation

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter is concerned with calculating approximations to derivatives of a function f.

### D05 – Integral Equations

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter is concerned with the numerical solution of integral equations. Provision will be made for most of the standard types of equation (see the Chapter Introduction). The following are, however, specifically excluded:

• Equations arising in the solution of partial differential equations by integral equation methods. In cases where the prime purpose of an algorithm is the solution of a partial differential equation it will normally be included in Chapter D03.
• Calculation of inverse integral transforms. This problem falls within the scope of Chapter C06.

### D06 – Mesh Generation

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter is concerned with automatic mesh generation

• with line segments, over the boundary of a closed two-dimensional connected polygonal domain;
• with triangles, over a given two-dimensional region using only its boundary mesh.

### E01 – Interpolation

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter is concerned with the interpolation of a function of one or more variables. When provided with the value of the function (and possibly one or more of its lowest-order derivatives) at each of a number of values of the variable(s), the NAG Library routines provide either an interpolating function or an interpolated value. For some of the interpolating functions, there are supporting NAG Library routines to evaluate, differentiate or integrate them.

### E02 – Curve and Surface Fitting

 Full details of this chapter for your environment: Fortran C Toolbox .NET

The main aim of this chapter is to assist you in finding a function which approximates a set of data points. Typically the data contain random errors, as of experimental measurement, which need to be smoothed out. To seek an approximation to the data, it is first necessary to specify for the approximating function a mathematical form (a polynomial, for example) which contains a number of unspecified coefficients: the appropriate fitting routine then derives for the coefficients the values which provide the best fit of that particular form. The chapter deals mainly with curve and surface fitting (i.e., fitting with functions of one and of two variables) when a polynomial or a cubic spline is used as the fitting function, since these cover the most common needs. However, fitting with other functions and/or more variables can be undertaken by means of general linear or nonlinear routines (some of which are contained in other chapters) depending on whether the coefficients in the function occur linearly or nonlinearly. Cases where a graph rather than a set of data points is given can be treated simply by first reading a suitable set of points from the graph.

The chapter also contains routines for evaluating, differentiating and integrating polynomial and spline curves and surfaces, once the numerical values of their coefficients have been determined.

There is also a routine for computing a Padé approximant of a mathematical function (see the Chapter Introduction).

### E04 – Minimizing or Maximizing a Function

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter provides routines for solving various mathematical optimization problems by solvers based on local stopping criteria. The main classes of problems covered in this chapter are:

For a full overview of the functionality offered in this chapter, see the Chapter Introduction or the Chapter Contents (Chapter E04).

This introduction is only a brief guide to the subject of optimization designed for the casual user. It discusses a classification of the optimization problems and presents an overview of the algorithms and their stopping criteria to assist choosing the right solver for a particular problem. Anyone with a difficult or protracted problem to solve will find it beneficial to consult a more detailed text, see the References section in the Chapter Introduction. If you are unfamiliar with the mathematics of the subject you may find the Chapter Introduction a useful starting point.

• Linear Programming (LP) – dense and sparse;
• Quadratic Programming (QP) – convex and nonconvex, dense and sparse;
• Nonlinear Programming (NLP) – dense and sparse, based on active-set SQP methods and interior point method (IPM);
• Semidefinite Programming (SDP) – both linear matrix inequalities (LMI) and bilinear matrix inequalities (BMI);
• Derivative-free Optimization (DFO);
• Least Squares (LSQ), data fitting – linear and nonlinear, constrained and unconstrained.
• Chapter E05 contains routines to solve global optimization problems;
• Chapter H addresses problems arising in operational research and focuses on Mixed Integer Programming (MIP);
• Chapters F07 and F08 include routines for linear algebra and in particular unconstrained linear least squares;
• Chapter E02 focuses on curve and surface fitting, in which linear data fitting in l1 norm might be of interest.

### E05 – Global Optimization of a Function

 Full details of this chapter for your environment: Fortran C Toolbox .NET

Global optimization involves finding the absolute maximum or minimum value of a function (the objective function) of several variables, possibly subject to restrictions (defined by a set of bounds or constraint functions) on the values of the variables. Such problems can be much harder to solve than local optimization problems (which are discussed in Chapter E04) because it is difficult to determine whether a potential optimum found is global, and because of the nonlocal methods required to avoid becoming trapped near local optima. Most optimization routines in the NAG Library are concerned with function minimization only, since the problem of maximizing a given objective function F is equivalent to minimizing -F. In E05JB, E05SA and E05SB, you may specify whether you are solving a minimization or maximization problem; in the latter case, the required transformation of the objective function will be carried out automatically. In what follows we refer exclusively to minimization problems.

This introduction is a brief guide to the subject of global optimization, designed for the casual user. For further details you may find it beneficial to consult a more detailed text, see the References section in the Chapter Introduction. Furthermore, much of the material in the E04 Chapter Introduction is also relevant in this context and it is strongly recommended that you read the E04 Chapter Introduction.

### F01 – Matrix Operations, Including Inversion

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter provides facilities for four types of problem:

See the Chapter Introduction where these problems are discussed.

• Matrix Inversion
• Matrix Factorizations
• Matrix Arithmetic and Manipulation
• Matrix Functions

### F02 – Eigenvalues and Eigenvectors

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter provides routines for various types of matrix eigenvalue problem:

Routines are provided for both real and complex data.

The majority of routines for these problems can be found in Chapter F08 which contains software derived from LAPACK (see Anderson et al. (1999) LAPACK Users' Guide). However, you should read the the F02 Chapter Introduction before turning to Chapter F08, especially if you are a new user. Chapter F12 contains routines for large sparse eigenvalue problems, although one such routine is also available in this chapter.

Chapters F02 and F08 contain Black Box (or Driver) routines that enable many problems to be solved by a call to a single routine, and the decision trees in the Chapter Introduction direct you to the most appropriate routines in Chapters F02 and F08. The Chapter F02 routines call routines in Chapters F07 and F08 wherever possible to perform the computations, and there are pointers in the Chapter Introduction to the relevant decision trees in Chapter F08.

• standard eigenvalue problems (finding eigenvalues and eigenvectors of a square matrix A);
• singular value problems (finding singular values and singular vectors of a rectangular matrix A);
• generalized eigenvalue problems (finding eigenvalues and eigenvectors of a matrix pencil A-λB).
• quadratic eigenvalue problems (finding eigenvalues and eigenvectors of the quadratic λ2A+λB+C).

### F03 – Determinants

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter is concerned with the calculation of determinants of square matrices.

### F04 – Simultaneous Linear Equations

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter is concerned with the solution of the matrix equation AX=B, where B may be a single vector or a matrix of multiple right-hand sides. The matrix A may be real, complex, symmetric, Hermitian, positive definite, positive definite Toeplitz or banded. It may also be rectangular, in which case a least squares solution is obtained.

Much of the functionality of this chapter has been superseded by routines from Chapters F07 and F08 (LAPACK routines) as those chapters have grown and have included driver and expert driver routines.

For a general introduction to sparse systems of equations, see the F11 Chapter Introduction, which provides routines for large sparse systems. Some routines for sparse problems are also included in this chapter; they are described in the Chapter Introduction.

### F05 – Orthogonalization

 Full details of this chapter for your environment: Fortran Toolbox

This chapter is concerned with the orthogonalization of vectors in a finite dimensional space.

### F06 – Linear Algebra Support Routines

 Full details of this chapter for your environment: Fortran C .NET

This chapter is concerned with basic linear algebra routines which perform elementary algebraic operations involving scalars, vectors and matrices. It includes routines which conform to the specifications of the BLAS (Basic Linear Algebra Subprograms).

### F07 – Linear Equations (LAPACK)

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter provides routines for the solution of systems of simultaneous linear equations, and associated computations. It provides routines for

Routines are provided for both real and complex data.

For a general introduction to the solution of systems of linear equations, you should turn first to the F04 Chapter Introduction. The decision trees, in the F04 Chapter Introduction, direct you to the most appropriate routines in Chapters F04 and F07 for solving your particular problem. In particular, Chapters F04 and F07 contain Black Box (or driver) routines which enable some standard types of problem to be solved by a call to a single routine. Where possible, routines in Chapter F04 call Chapter F07 routines to perform the necessary computational tasks.

There are two types of driver routines in this chapter: simple drivers which just return the solution to the linear equations; and expert drivers which also return condition and error estimates and, in many cases, also allow equilibration. The simple drivers for real matrices have names of the form F07_AF (D__SV) and for complex matrices have names of the form F07_NF (Z__SV). The expert drivers for real matrices have names of the form F07_BF (D__SVX) and for complex matrices have names of the form F07_PF (Z__SVX).

The routines in this chapter (Chapter F07) handle only dense and band matrices (not matrices with more specialised structures, or general sparse matrices).

The routines in this chapter have all been derived from the LAPACK project (see Anderson et al. (1999) LAPACK Users' Guide). They have been designed to be efficient on a wide range of high-performance computers, without compromising efficiency on conventional serial machines.

• matrix factorizations;
• solution of linear equations;
• estimating matrix condition numbers;
• computing error bounds for the solution of linear equations;
• matrix inversion;
• computing scaling factors to equilibrate a matrix.

### F08 – Least Squares and Eigenvalue Problems (LAPACK)

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter provides routines for the solution of linear least squares problems, eigenvalue problems and singular value problems, as well as associated computations. It provides routines for:

Routines are provided for both real and complex data.

For a general introduction to the solution of linear least squares problems, you should turn first to Chapter F04. The decision trees, at the end of Chapter F04, direct you to the most appropriate routines in Chapters F04 and F08. Chapters F04 and F08 contain Black Box (or driver) routines which enable standard linear least squares problems to be solved by a call to a single routine.

For a general introduction to eigenvalue and singular value problems, you should turn first to Chapter F02. The decision trees, at the end of Chapter F02, direct you to the most appropriate routines in Chapters F02 and F08. Chapters F02 and F08 contain Black Box (or driver) routines which enable standard types of problem to be solved by a call to a single routine. Often routines in Chapter F02 call Chapter F08 routines to perform the necessary computational tasks.

The routines in this chapter (Chapter F08) handle only dense, band, tridiagonal and Hessenberg matrices (not matrices with more specialised structures, or general sparse matrices). The tables in the Chapter Introduction and the decision trees in the Chapter Introduction direct you to the most appropriate routines in Chapter F08.

The routines in this chapter have all been derived from the LAPACK project (see Anderson et al. (1999) LAPACK Users' Guide). They have been designed to be efficient on a wide range of high-performance computers, without compromising efficiency on conventional serial machines.

• solution of linear least squares problems
• solution of symmetric eigenvalue problems
• solution of nonsymmetric eigenvalue problems
• solution of singular value problems
• solution of generalized linear least squares problems
• solution of generalized symmetric-definite eigenvalue problems
• solution of generalized nonsymmetric eigenvalue problems
• solution of generalized singular value problems
• matrix factorizations associated with the above problems
• estimating condition numbers of eigenvalue and eigenvector problems
• estimating the numerical rank of a matrix
• solution of the Sylvester matrix equation

### F11 – Large Scale Linear Systems

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter provides routines for the solution of large sparse systems of simultaneous linear equations. These include iterative methods for real nonsymmetric and symmetric, complex non-Hermitian and Hermitian linear systems and direct methods for general real linear systems. Further direct methods are currently available in Chapters F01 and F04.

### F12 – Large Scale Eigenproblems

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter provides routines for computing some eigenvalues and eigenvectors of large-scale (sparse) standard and generalized eigenvalue problems. It provides routines for:

Routines are provided for both real and complex data.

The routines in this chapter have all been derived from the ARPACK software suite (see Lehoucq et al. (1998) ARPACK Users' Guide: Solution of Large-scale Eigenvalue Problems with Implicitly Restarted Arnoldi Methods), a collection of Fortran 77 subroutines designed to solve large scale eigenvalue problems. The interfaces provided in this chapter have been chosen to combine ease of use with the flexibility of the original ARPACK software. The underlying iterative methods and algorithms remain essentially the same as those in ARPACK and are described fully in Lehoucq et al. (1998) ARPACK Users' Guide: Solution of Large-scale Eigenvalue Problems with Implicitly Restarted Arnoldi Methods.

The algorithms used are based upon an algorithmic variant of the Arnoldi process called the Implicitly Restarted Arnoldi Method. For symmetric matrices, this reduces to a variant of the Lanczos process called the Implicitly Restarted Lanczos Method. These variants may be viewed as a synthesis of the Arnoldi/Lanczos process with the Implicitly Shifted QR technique that is suitable for large scale problems. For many standard problems, a matrix factorization is not required. Only the action of the matrix on a vector is needed.

• solution of symmetric eigenvalue problems;
• solution of nonsymmetric eigenvalue problems;
• solution of generalized symmetric-definite eigenvalue problems;
• solution of generalized nonsymmetric eigenvalue problems;
• partial singular value decomposition.

### F16 – Further Linear Algebra Support Routines

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter is concerned with basic linear algebra routines which perform elementary algebraic operations involving scalars, vectors and matrices. Most routines for such operations conform either to the specifications of the BLAS (Basic Linear Algebra Subprograms) or to the specifications of the BLAST (Basic Linear Algebra Subprograms Technical) Forum. This chapter includes routines from the BLAST specifications. Most (BLAS) routines for such operations are available in Chapter F06.

### G01 – Simple Calculations on Statistical Data

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter covers three topics:

• plots, descriptive statistics, and exploratory data analysis;
• statistical distribution functions and their inverses;
• testing for Normality and other distributions.

### G02 – Correlation and Regression Analysis

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter is concerned with two techniques

• correlation analysis and
• regression modelling,
• both of which are concerned with determining the inter-relationships among two or more variables.

Other chapters of the NAG Library which cover similar problems are Chapters E02 and E04. Chapter E02 routines may be used to fit linear models by criteria other than least squares, and also for polynomial regression; Chapter E04 routines may be used to fit nonlinear models and linearly constrained linear models.

### G03 – Multivariate Methods

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter is concerned with methods for studying multivariate data. A multivariate dataset consists of several variables recorded on a number of objects or individuals. Multivariate methods can be classified as those that seek to examine the relationships between the variables (e.g., principal components), known as variable-directed methods, and those that seek to examine the relationships between the objects (e.g., cluster analysis), known as individual-directed methods.

Multiple regression is not included in this chapter as it involves the relationship of a single variable, known as the response variable, to the other variables in the dataset, the explanatory variables. Routines for multiple regression are provided in Chapter G02.

### G04 – Analysis of Variance

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter is concerned with methods for analysing the results of designed experiments. The range of experiments covered include:

Further designs may be analysed by combining the analyses provided by multiple calls to routines or by using general linear model routines provided in Chapter G02.

• single factor designs with equal sized blocks such as randomized complete block and balanced incomplete block designs,
• row and column designs such as Latin squares, and
• complete factorial designs.

### G05 – Random Number Generators

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter is concerned with the generation of sequences of independent pseudorandom and quasi-random numbers from various distributions, and models.

### G07 – Univariate Estimation

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter deals with the estimation of unknown parameters of a univariate distribution. It includes both point and interval estimation using maximum likelihood and robust methods.

### G08 – Nonparametric Statistics

 Full details of this chapter for your environment: Fortran C Toolbox

The routines in this chapter perform nonparametric statistical tests which are based on distribution-free methods of analysis. For convenience, the chapter contents are divided into five types of test: tests of location, tests of dispersion, tests of distribution, tests of association and correlation, and tests of randomness. There are also routines to fit linear regression models using the ranks of the observations.

The emphasis in this chapter is on testing; if you wish to compute nonparametric correlations you are referred to Chapter G02, which contains several routines for that purpose.

There are a large number of nonparametric tests available. A selection of some of the more commonly used tests are included in this chapter.

### G10 – Smoothing in Statistics

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter is concerned with methods for smoothing data. Included are methods for density estimation, smoothing time series data, and statistical applications of splines. These methods may also be viewed as nonparametric modelling.

### G11 – Contingency Table Analysis

 Full details of this chapter for your environment: Fortran C Toolbox

The routines in this chapter are for the analysis of discrete multivariate data. One suite of routines computes tables while other routines are for the analysis of two-way contingency tables, conditional logistic models and one-factor analysis of binary data.

Routines in Chapter G02 may be used to fit generalized linear models to discrete data including binary data and contingency tables.

### G12 – Survival Analysis

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter is concerned with statistical techniques used in the analysis of survival/reliability/failure time data.

Other chapters contain routines which are also used to analyse this type of data. Chapter G02 contains generalized linear models, Chapter G07 contains routines to fit distribution models, and Chapter G08 contains rank based methods.

### G13 – Time Series Analysis

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter provides facilities for investigating and modelling the statistical structure of series of observations collected at points in time. The models may then be used to forecast the series.

The chapter covers the following models and approaches.

• Univariate time series analysis, including autocorrelation functions and autoregressive moving average (ARMA) models.
• Univariate spectral analysis.
• Transfer function (multi-input) modelling, in which one time series is dependent on other time series.
• Bivariate spectral methods including coherency, gain and input response functions.
• Vector ARMA models for multivariate time series.
• Kalman filter models (linear and nonlinear).
• GARCH models for volatility.
• Inhomogeneous Time Series.

### H – Operations Research

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter provides routines to solve certain integer programming, transportation and shortest path problems. Additionally 'best subset' routines are included.

### M01 – Sorting and Searching

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter is concerned with sorting and searching numeric or character data. It handles only the simplest types of data structure and it is concerned only with internal sorting and searching – that is, sorting and searching a set of data which can all be stored within the program.

If you have large files of data or complicated data structures to be sorted or searched you should use a comprehensive sorting or searching program or package.

### S – Approximations of Special Functions

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter is concerned with the provision of some commonly occurring physical and mathematical functions.

### X01 – Mathematical Constants

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter is concerned with the provision of mathematical constants required by other routines within the Library.

### X02 – Machine Constants

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter is concerned with parameters which characterise certain aspects of the computing environment in which the NAG Library is implemented. They relate primarily to floating-point arithmetic, but also to integer arithmetic, the elementary functions and exception handling. The values of the parameters vary from one implementation of the Library to another, but within the context of a single implementation they are constants.

The parameters are intended for use primarily by other routines in the Library, but users of the Library may sometimes need to refer to them directly.

### X03 – Inner Products

 Full details of this chapter for your environment: Fortran Toolbox

This chapter is concerned with the calculation of innerproducts required by other routines within the Library.

### X04 – Input/Output Utilities

 Full details of this chapter for your environment: Fortran C Toolbox .NET

This chapter contains utility routines concerned with input and output to or from an external file.

### X05 – Date and Time Utilities

 Full details of this chapter for your environment: Fortran Toolbox

This chapter provides routines to obtain the current real time, and the amount of processor time used.

### X06 – OpenMP Utilities

 Full details of this chapter for your environment: Fortran C Toolbox

This chapter contains utilities for controlling the OpenMP environment for your program. They are based on OpenMP runtime library routines, although their functionality varies slightly.

### X07 – IEEE Arithmetic

 Full details of this chapter for your environment: Fortran C

This chapter provides routines to handle various aspects of IEEE floating-point arithmetic behaviour.

## Routine Summaries

### A00 – Library Identification

Examples of routines and methods in this chapter.

 A00AA nagf_info_impl_details Library identification, details of implementation and mark A00AC nagf_info_licence Check availability of a valid licence key A00AD nagf_info_impl_details_separate Library identification, details of implementation, major and minor marks

### A02 – Complex Arithmetic

Examples of routines and methods in this chapter.

 A02AA nagf_complex_sqrt Square root of complex number A02AB nagf_complex_abs Modulus of complex number A02AC nagf_complex_divide Quotient of two complex numbers

### C02 – Zeros of Polynomials

Examples of routines and methods in this chapter.

 C02AF nagf_zeros_poly_complex All zeros of complex polynomial, modified Laguerre's method C02AG nagf_zeros_poly_real All zeros of real polynomial, modified Laguerre's method C02AH nagf_zeros_quadratic_complex All zeros of complex quadratic equation C02AJ nagf_zeros_quadratic_real All zeros of real quadratic equation C02AK nagf_zeros_cubic_real All zeros of real cubic equation C02AL nagf_zeros_quartic_real All zeros of real quartic equation C02AM nagf_zeros_cubic_complex All zeros of complex cubic equation C02AN nagf_zeros_quartic_complex All zeros of complex quartic equation

### C05 – Roots of One or More Transcendental Equations

Examples of routines and methods in this chapter.

 C05AU nagf_roots_contfn_brent_interval Zero of continuous function, Brent algorithm, from a given starting value, binary search for interval C05AV nagf_roots_contfn_interval_rcomm Binary search for interval containing zero of continuous function (reverse communication) C05AW nagf_roots_contfn_cntin Zero of continuous function, continuation method, from a given starting value C05AX nagf_roots_contfn_cntin_rcomm Zero of continuous function, continuation method, from a given starting value (reverse communication) C05AY nagf_roots_contfn_brent Zero of continuous function in a given interval, Brent algorithm C05AZ nagf_roots_contfn_brent_rcomm Zero of continuous function in a given interval, Brent algorithm (reverse communication) C05BA nagf_roots_lambertw_real Real values of Lambert's W function, W(x) C05BB nagf_roots_lambertw_complex Values of Lambert's W function, W(z) C05QB nagf_roots_sys_func_easy Solution of a system of nonlinear equations using function values only (easy-to-use) C05QC nagf_roots_sys_func_expert Solution of a system of nonlinear equations using function values only (comprehensive) C05QD nagf_roots_sys_func_rcomm Solution of a system of nonlinear equations using function values only (reverse communication) C05QS nagf_roots_sparsys_func_easy Solution of a sparse system of nonlinear equations using function values only (easy-to-use) C05RB nagf_roots_sys_deriv_easy Solution of a system of nonlinear equations using first derivatives (easy-to-use) C05RC nagf_roots_sys_deriv_expert Solution of a system of nonlinear equations using first derivatives (comprehensive) C05RD nagf_roots_sys_deriv_rcomm Solution of a system of nonlinear equations using first derivatives (reverse communication) C05ZD nagf_roots_sys_deriv_check Check user's routine for calculating first derivatives of a set of nonlinear functions of several variables

### C06 – Summation of Series

Examples of routines and methods in this chapter.

 C06BA nagf_sum_accelerate Acceleration of convergence of sequence, Shanks' transformation and epsilon algorithm C06DC nagf_sum_chebyshev Sum of a Chebyshev series at a set of points C06FA nagf_sum_fft_real_1d_rfmt Single one-dimensional real discrete Fourier transform, extra workspace for greater speed C06FB nagf_sum_fft_hermitian_1d_rfmt Single one-dimensional Hermitian discrete Fourier transform, extra workspace for greater speed C06FC nagf_sum_fft_complex_1d_sep Single one-dimensional complex discrete Fourier transform, extra workspace for greater speed C06FF nagf_sum_fft_complex_multid_1d_sep One-dimensional complex discrete Fourier transform of multidimensional data C06FJ nagf_sum_fft_complex_multid_sep Multidimensional complex discrete Fourier transform of multidimensional data C06FK nagf_sum_convcorr_real Circular convolution or correlation of two real vectors, no restrictions on n C06FX nagf_sum_fft_complex_3d_sep Three-dimensional complex discrete Fourier transform C06LA nagf_sum_invlaplace_crump Inverse Laplace transform, Crump's method C06LB nagf_sum_invlaplace_weeks Inverse Laplace transform, modified Weeks' method C06LC nagf_sum_invlaplace_weeks_eval Evaluate inverse Laplace transform as computed by C06LB C06PA nagf_sum_fft_realherm_1d Single one-dimensional real and Hermitian complex discrete Fourier transform, using complex storage format for Hermitian sequences C06PC nagf_sum_fft_complex_1d Single one-dimensional complex discrete Fourier transform, complex data type C06PF nagf_sum_fft_complex_multid_1d One-dimensional complex discrete Fourier transform of multidimensional data (using complex data type) C06PJ nagf_sum_fft_complex_multid Multidimensional complex discrete Fourier transform of multidimensional data (using complex data type) C06PK nagf_sum_convcorr_complex Circular convolution or correlation of two complex vectors C06PP nagf_sum_fft_realherm_1d_multi_row Multiple one-dimensional real and Hermitian complex discrete Fourier transforms, using row ordered complex storage format for Hermitian sequences C06PQ nagf_sum_fft_realherm_1d_multi_col Multiple one-dimensional real and Hermitian complex discrete Fourier transforms, using column ordered complex storage format for Hermitian sequences C06PR nagf_sum_fft_complex_1d_multi_row Multiple one-dimensional complex discrete Fourier transforms using complex data type C06PS nagf_sum_fft_complex_1d_multi_col Multiple one-dimensional complex discrete Fourier transforms, complex data type C06PU nagf_sum_fft_complex_2d Two-dimensional complex discrete Fourier transform, complex data type C06PV nagf_sum_fft_real_2d Two-dimensional real-to-complex discrete Fourier transform C06PW nagf_sum_fft_hermitian_2d Two-dimensional complex-to-real discrete Fourier transform C06PX nagf_sum_fft_complex_3d Three-dimensional complex discrete Fourier transform, complex data type C06PY nagf_sum_fft_real_3d Three-dimensional real-to-complex discrete Fourier transform C06PZ nagf_sum_fft_hermitian_3d Three-dimensional complex-to-real discrete Fourier transform C06RA nagf_sum_fft_real_sine_simple Discrete sine transform (easy-to-use) C06RB nagf_sum_fft_real_cosine_simple Discrete cosine transform (easy-to-use) C06RC nagf_sum_fft_real_qtrsine_simple Discrete quarter-wave sine transform (easy-to-use) C06RD nagf_sum_fft_real_qtrcosine_simple Discrete quarter-wave cosine transform (easy-to-use) C06RE nagf_sum_fft_sine Multiple discrete sine transforms, simple C06RF nagf_sum_fft_cosine Multiple discrete cosine transforms, simple C06RG nagf_sum_fft_qtrsine Multiple discrete quarter-wave sine transforms, simple C06RH nagf_sum_fft_qtrcosine Multiple discrete quarter-wave cosine transforms, simple

### C09 – Wavelet Transforms

Examples of routines and methods in this chapter.

 C09AA nagf_wav_1d_init One-dimensional wavelet filter initialization C09AB nagf_wav_2d_init Two-dimensional wavelet filter initialization C09AC nagf_wav_3d_init Three-dimensional wavelet filter initialization C09BA nagf_wav_1d_cont One-dimensional real continuous wavelet transform C09CA nagf_wav_1d_sngl_fwd One-dimensional discrete wavelet transform C09CB nagf_wav_1d_sngl_inv One-dimensional inverse discrete wavelet transform C09CC nagf_wav_1d_multi_fwd One-dimensional multi-level discrete wavelet transform C09CD nagf_wav_1d_multi_inv One-dimensional inverse multi-level discrete wavelet transform C09DA nagf_wav_1d_mxolap_fwd One-dimensional maximal overlap discrete wavelet transform (MODWT) C09DB nagf_wav_1d_mxolap_inv One-dimensional inverse maximal overlap discrete wavelet transform (IMODWT) C09DC nagf_wav_1d_mxolap_multi_fwd One-dimensional multi-level maximal overlap discrete wavelet transform (MODWT) C09DD nagf_wav_1d_mxolap_multi_inv One-dimensional inverse multi-level maximal overlap discrete wavelet transform (IMODWT) C09EA nagf_wav_2d_sngl_fwd Two-dimensional discrete wavelet transform C09EB nagf_wav_2d_sngl_inv Two-dimensional inverse discrete wavelet transform C09EC nagf_wav_2d_multi_fwd Two-dimensional multi-level discrete wavelet transform C09ED nagf_wav_2d_multi_inv Two-dimensional inverse multi-level discrete wavelet transform C09EY nagf_wav_2d_coeff_ext Two-dimensional discrete wavelet transform coefficient extraction C09EZ nagf_wav_2d_coeff_ins Two-dimensional discrete wavelet transform coefficient insertion C09FA nagf_wav_3d_sngl_fwd Three-dimensional discrete wavelet transform C09FB nagf_wav_3d_sngl_inv Three-dimensional inverse discrete wavelet transform C09FC nagf_wav_3d_multi_fwd Three-dimensional multi-level discrete wavelet transform C09FD nagf_wav_3d_mxolap_multi_inv Three-dimensional inverse multi-level discrete wavelet transform C09FY nagf_wav_3d_coeff_ext Three-dimensional discrete wavelet transform coefficient extraction C09FZ nagf_wav_3d_coeff_ins Three-dimensional discrete wavelet transform coefficient insertion

Examples of routines and methods in this chapter.

### D02 D02M–N – Ordinary Differential Equations Integrators for Stiff Ordinary Differential Systems

Examples of routines and methods in this chapter.

 D02AG nagf_ode_bvp_shoot_genpar_intern Ordinary differential equations, boundary value problem, shooting and matching technique, allowing interior matching point, general parameters to be determined D02BG nagf_ode_ivp_rkm_val_simple Ordinary differential equations, initial value problem, Runge–Kutta–Merson method, until a component attains given value (simple driver) D02BH nagf_ode_ivp_rkm_zero_simple Ordinary differential equations, initial value problem, Runge–Kutta–Merson method, until function of solution is zero (simple driver) D02BJ nagf_ode_ivp_rk_zero_simple Ordinary differential equations, initial value problem, Runge–Kutta method, until function of solution is zero, integration over range with intermediate output (simple driver) D02CJ nagf_ode_ivp_adams_zero_simple Ordinary differential equations, initial value problem, Adams' method, until function of solution is zero, intermediate output (simple driver) D02EJ nagf_ode_ivp_bdf_zero_simple Ordinary differential equations, stiff initial value problem, backward differentiation formulae method, until function of solution is zero, intermediate output (simple driver) D02GA nagf_ode_bvp_fd_nonlin_fixedbc Ordinary differential equations, boundary value problem, finite difference technique with deferred correction, simple nonlinear problem D02GA nagf_ode_bvp_fd_nonlin_gen_dummy_jacobf dummy D02GA nagf_ode_bvp_fd_nonlin_gen_dummy_jacobg dummy D02GA nagf_ode_bvp_fd_nonlin_gen_dummy_jaceps dummy D02GA nagf_ode_bvp_fd_nonlin_gen_dummy_jacgep dummy D02GB nagf_ode_bvp_fd_lin_gen Ordinary differential equations, boundary value problem, finite difference technique with deferred correction, general linear problem D02HA nagf_ode_bvp_shoot_bval Ordinary differential equations, boundary value problem, shooting and matching, boundary values to be determined D02HB nagf_ode_bvp_shoot_genpar Ordinary differential equations, boundary value problem, shooting and matching, general parameters to be determined D02HB nagf_ode_bvp_shoot_genpar_algeq_dummy_prsol dummy D02HB nagf_ode_bvp_shoot_genpar_algeq_dummy_eqn dummy D02JA nagf_ode_bvp_coll_nth Ordinary differential equations, boundary value problem, collocation and least squares, single nth-order linear equation D02JB nagf_ode_bvp_coll_sys Ordinary differential equations, boundary value problem, collocation and least squares, system of first-order linear equations D02KA nagf_ode_sl2_reg_finite Second-order Sturm–Liouville problem, regular system, finite range, eigenvalue only D02KA nagf_ode_sl2_reg_finite_dummy_monit dummy D02KD nagf_ode_sl2_breaks_vals Second-order Sturm–Liouville problem, regular/singular system, finite/infinite range, eigenvalue only, user-specified break-points D02KE nagf_ode_sl2_breaks_funs Second-order Sturm–Liouville problem, regular/singular system, finite/infinite range, eigenvalue and eigenfunction, user-specified break-points D02LA nagf_ode_ivp_2nd_rkn Second-order ordinary differential equations, initial value problem, Runge–Kutta–Nystrom method D02LX nagf_ode_ivp_2nd_rkn_setup Second-order ordinary differential equations, initial value problem, setup for D02LA D02LY nagf_ode_ivp_2nd_rkn_diag Second-order ordinary differential equations, initial value problem, diagnostics for D02LA D02LZ nagf_ode_ivp_2nd_rkn_interp Second-order ordinary differential equations, initial value problem, interpolation for D02LA D02MC nagf_ode_dae_dassl_cont Implicit ordinary differential equations/DAEs, initial value problem, DASSL method continuation for D02NE D02MV nagf_ode_ivp_stiff_dassl Ordinary differential equations, initial value problem, DASSL method, setup for D02M–N routines D02MW nagf_ode_dae_dassl_setup Implicit ordinary differential equations/DAEs, initial value problem, setup for D02NE D02MZ nagf_ode_ivp_stiff_interp Ordinary differential equations, initial value problem, interpolation for D02M–N routines (all integration methods), natural interpolant D02NB nagf_ode_ivp_stiff_exp_fulljac Explicit ordinary differential equations, stiff initial value problem, full Jacobian (comprehensive) D02NB nagf_ode_ivp_stiff_exp_fulljac_dummy_monit dummy D02NB nagf_ode_ivp_stiff_exp_fulljac_dummy_jac dummy D02NC nagf_ode_ivp_stiff_exp_bandjac Explicit ordinary differential equations, stiff initial value problem, banded Jacobian (comprehensive) D02NC nagf_ode_ivp_stiff_exp_bandjac_dummy_jac dummy D02ND nagf_ode_ivp_stiff_exp_sparjac Explicit ordinary differential equations, stiff initial value problem, sparse Jacobian (comprehensive) D02ND nagf_ode_ivp_stiff_exp_sparjac_dummy_jac dummy D02NE nagf_ode_dae_dassl_gen Implicit ordinary differential equations/DAEs, initial value problem, DASSL method integrator D02NE nagf_ode_dae_dassl_gen_dummy_jac dummy D02NG nagf_ode_ivp_stiff_imp_fulljac Implicit/algebraic ordinary differential equations, stiff initial value problem, full Jacobian (comprehensive) D02NG nagf_ode_ivp_stiff_imp_fulljac_dummy_jac dummy D02NH nagf_ode_ivp_stiff_imp_bandjac Implicit/algebraic ordinary differential equations, stiff initial value problem, banded Jacobian (comprehensive) D02NH nagf_ode_ivp_stiff_imp_bandjac_dummy_jac dummy D02NJ nagf_ode_ivp_stiff_imp_sparjac Implicit/algebraic ordinary differential equations, stiff initial value problem, sparse Jacobian (comprehensive) D02NJ nagf_ode_ivp_stiff_imp_sparjac_dummy_jac dummy D02NM nagf_ode_ivp_stiff_exp_revcom Explicit ordinary differential equations, stiff initial value problem (reverse communication, comprehensive) D02NN nagf_ode_ivp_stiff_imp_revcom Implicit/algebraic ordinary differential equations, stiff initial value problem (reverse communication, comprehensive) D02NP nagf_ode_dae_dassl_linalg Implicit ordinary differential equations/DAEs, initial value problem linear algebra setup routine for D02NE D02NR nagf_ode_ivp_stiff_sparjac_enq Ordinary differential equations, initial value problem, for use with D02M–N routines, sparse Jacobian, enquiry routine D02NS nagf_ode_ivp_stiff_fulljac_setup Ordinary differential equations, initial value problem, for use with D02M–N routines, full Jacobian, linear algebra set up D02NT nagf_ode_ivp_stiff_bandjac_setup Ordinary differential equations, initial value problem, for use with D02M–N routines, banded Jacobian, linear algebra set up D02NU nagf_ode_ivp_stiff_sparjac_setup Ordinary differential equations, initial value problem, for use with D02M–N routines, sparse Jacobian, linear algebra set up D02NV nagf_ode_ivp_stiff_bdf Ordinary differential equations, initial value problem, backward differentiation formulae method, setup for D02M–N routines D02NW nagf_ode_ivp_stiff_blend Ordinary differential equations, initial value problem, Blend method, setup for D02M–N routines D02NX nagf_ode_ivp_stiff_sparjac_diag Ordinary differential equations, initial value problem, sparse Jacobian, linear algebra diagnostics, for use with D02M–N routines D02NY nagf_ode_ivp_stiff_integ_diag Ordinary differential equations, initial value problem, integrator diagnostics, for use with D02M–N routines D02NZ nagf_ode_ivp_stiff_contin Ordinary differential equations, initial value problem, setup for continuation calls to integrator, for use with D02M–N routines D02PE nagf_ode_ivp_rkts_range Ordinary differential equations, initial value problem, Runge–Kutta method, integration over range with output D02PF nagf_ode_ivp_rkts_onestep Ordinary differential equations, initial value problem, Runge–Kutta method, integration over one step D02PG nagf_ode_ivp_rk_step_revcomm Ordinary differential equations, initial value problem, Runge–Kutta method, integration by reverse communication D02PH nagf_ode_ivp_rk_interp_setup Set up interpolant by reverse communication for solution and derivative evaluations at points within the range of the last integration step taken by D02PG D02PJ nagf_ode_ivp_rk_interp_eval Evaluate interpolant, set up using D02PQ, to approximate solution and/or solution derivatives at a point within the range of the last integration step taken by D02PG D02PQ nagf_ode_ivp_rkts_setup Ordinary differential equations, initial value problem, setup for D02PE and D02PF D02PR nagf_ode_ivp_rkts_reset_tend Ordinary differential equations, initial value problem, resets end of range for D02PF D02PS nagf_ode_ivp_rkts_interp Ordinary differential equations, initial value problem, interpolation for D02PF D02PT nagf_ode_ivp_rkts_diag Ordinary differential equations, initial value problem, integration diagnostics for D02PE and D02PF D02PU nagf_ode_ivp_rkts_errass Ordinary differential equations, initial value problem, error assessment diagnostics for D02PE and D02PF D02QF nagf_ode_ivp_adams_roots Ordinary differential equations, initial value problem, Adams' method with root-finding (direct communication, comprehensive) D02QG nagf_ode_ivp_adams_roots_revcom Ordinary differential equations, initial value problem, Adams' method with root-finding (reverse communication, comprehensive) D02QW nagf_ode_ivp_adams_setup Ordinary differential equations, initial value problem, setup for D02QF and D02QG D02QX nagf_ode_ivp_adams_diag Ordinary differential equations, initial value problem, diagnostics for D02QF and D02QG D02QY nagf_ode_ivp_adams_rootdiag Ordinary differential equations, initial value problem, root-finding diagnostics for D02QF and D02QG D02QZ nagf_ode_ivp_adams_interp Ordinary differential equations, initial value problem, interpolation for D02QF or D02QG D02RA nagf_ode_bvp_fd_nonlin_gen Ordinary differential equations, general nonlinear boundary value problem, finite difference technique with deferred correction, continuation facility D02SA nagf_ode_bvp_shoot_genpar_algeq Ordinary differential equations, boundary value problem, shooting and matching technique, subject to extra algebraic equations, general parameters to be determined D02SA nagf_ode_bvp_shoot_genpar_algeq_dummy_monit dummy D02TG nagf_ode_bvp_coll_nth_comp nth-order linear ordinary differential equations, boundary value problem, collocation and least squares D02TL nagf_ode_bvp_coll_nlin_solve Ordinary differential equations, general nonlinear boundary value problem, collocation technique (thread safe) D02TV nagf_ode_bvp_coll_nlin_setup Ordinary differential equations, general nonlinear boundary value problem, setup for D02TL D02TX nagf_ode_bvp_coll_nlin_contin Ordinary differential equations, general nonlinear boundary value problem, continuation facility for D02TL D02TY nagf_ode_bvp_coll_nlin_interp Ordinary differential equations, general nonlinear boundary value problem, interpolation for D02TL D02TZ nagf_ode_bvp_coll_nlin_diag Ordinary differential equations, general nonlinear boundary value problem, diagnostics for D02TL D02UA nagf_ode_bvp_ps_lin_coeffs Coefficients of Chebyshev interpolating polynomial from function values on Chebyshev grid D02UB nagf_ode_bvp_ps_lin_cgl_vals Function or low-order-derivative values on Chebyshev grid from coefficients of Chebyshev interpolating polynomial D02UC nagf_ode_bvp_ps_lin_cgl_grid Chebyshev Gauss–Lobatto grid generation D02UD nagf_ode_bvp_ps_lin_cgl_deriv Differentiate a function by the FFT using function values on Chebyshev grid D02UE nagf_ode_bvp_ps_lin_solve Solve linear constant coefficient boundary value problem on Chebyshev grid, Integral formulation D02UW nagf_ode_bvp_ps_lin_grid_vals Interpolate a function from Chebyshev grid to uniform grid using barycentric Lagrange interpolation D02UY nagf_ode_bvp_ps_lin_quad_weights Clenshaw–Curtis quadrature weights for integration using computed Chebyshev coefficients D02UZ nagf_ode_bvp_ps_lin_cheb_eval Chebyshev polynomial evaluation, Tk(x) D02XJ nagf_ode_ivp_stiff_nat_interp Ordinary differential equations, initial value problem, interpolation for D02M–N routines (BLEND and BDF methods only), natural interpolant D02XK nagf_ode_ivp_stiff_c1_interp Ordinary differential equations, initial value problem, interpolation for D02M–N routines, C1 interpolant D02ZA nagf_ode_ivp_stiff_errest Ordinary differential equations, initial value problem, weighted norm of local error estimate for D02M–N routines

### D03 – Partial Differential Equations

Examples of routines and methods in this chapter.

 D03EA nagf_pde_2d_laplace Elliptic PDE, Laplace's equation, two-dimensional arbitrary domain D03EB nagf_pde_2d_ellip_fd Elliptic PDE, solution of finite difference equations by SIP, five-point two-dimensional molecule, iterate to convergence D03EC nagf_pde_3d_ellip_fd Elliptic PDE, solution of finite difference equations by SIP for seven-point three-dimensional molecule, iterate to convergence D03ED nagf_pde_2d_ellip_mgrid Elliptic PDE, solution of finite difference equations by a multigrid technique D03EE nagf_pde_2d_ellip_discret Discretize a second-order elliptic PDE on a rectangle D03FA nagf_pde_3d_ellip_helmholtz Elliptic PDE, Helmholtz equation, three-dimensional Cartesian coordinates D03MA nagf_pde_2d_triangulate Triangulation of plane region D03NC nagf_pde_1d_blackscholes_fd Finite difference solution of the Black–Scholes equations D03ND nagf_pde_1d_blackscholes_closed Analytic solution of the Black–Scholes equations D03NE nagf_pde_1d_blackscholes_means Compute average values for D03ND D03PC nagf_pde_1d_parab_fd_old General system of parabolic PDEs, method of lines, finite differences, one space variable D03PC nagf_pde_1d_parab_remesh_fd_dummy_odedef_old dummy D03PC nagf_pde_1d_parab_remesh_fd_dummy_monitf_old dummy D03PD nagf_pde_1d_parab_coll_old General system of parabolic PDEs, method of lines, Chebyshev C0 collocation, one space variable D03PE nagf_pde_1d_parab_keller General system of first-order PDEs, method of lines, Keller box discretization, one space variable D03PE nagf_pde_1d_parab_dae_keller_remesh_fd_dummy_odedef dummy D03PE nagf_pde_1d_parab_dae_keller_remesh_fd_dummy_monitf dummy D03PF nagf_pde_1d_parab_convdiff General system of convection-diffusion PDEs with source terms in conservative form, method of lines, upwind scheme using numerical flux function based on Riemann solver, one space variable D03PH nagf_pde_1d_parab_dae_fd_old General system of parabolic PDEs, coupled DAEs, method of lines, finite differences, one space variable D03PJ nagf_pde_1d_parab_dae_coll_old General system of parabolic PDEs, coupled DAEs, method of lines, Chebyshev C0 collocation, one space variable D03PK nagf_pde_1d_parab_dae_keller General system of first-order PDEs, coupled DAEs, method of lines, Keller box discretization, one space variable D03PL nagf_pde_1d_parab_convdiff_dae General system of convection-diffusion PDEs with source terms in conservative form, coupled DAEs, method of lines, upwind scheme using numerical flux function based on Riemann solver, one space variable D03PP nagf_pde_1d_parab_remesh_fd_old General system of parabolic PDEs, coupled DAEs, method of lines, finite differences, remeshing, one space variable D03PR nagf_pde_1d_parab_remesh_keller General system of first-order PDEs, coupled DAEs, method of lines, Keller box discretization, remeshing, one space variable D03PS nagf_pde_1d_parab_convdiff_remesh General system of convection-diffusion PDEs, coupled DAEs, method of lines, upwind scheme, remeshing, one space variable D03PU nagf_pde_1d_parab_euler_roe Roe's approximate Riemann solver for Euler equations in conservative form, for use with D03PF, D03PL and D03PS D03PV nagf_pde_1d_parab_euler_osher Osher's approximate Riemann solver for Euler equations in conservative form, for use with D03PF, D03PL and D03PS D03PW nagf_pde_1d_parab_euler_hll Modified HLL Riemann solver for Euler equations in conservative form, for use with D03PF, D03PL and D03PS D03PX nagf_pde_1d_parab_euler_exact Exact Riemann solver for Euler equations in conservative form, for use with D03PF, D03PL and D03PS D03PY nagf_pde_1d_parab_coll_interp PDEs, spatial interpolation with D03PD or D03PJ D03PZ nagf_pde_1d_parab_fd_interp PDEs, spatial interpolation with D03PC, D03PE, D03PF, D03PH, D03PK, D03PL, D03PP, D03PR or D03PS D03RA nagf_pde_2d_gen_order2_rectangle General system of second-order PDEs, method of lines, finite differences, remeshing, two space variables, rectangular region D03RB nagf_pde_2d_gen_order2_rectilinear General system of second-order PDEs, method of lines, finite differences, remeshing, two space variables, rectilinear region D03RZ nagf_pde_2d_gen_order2_rectilinear_extractgrid Extract grid data from D03RB D03UA nagf_pde_2d_ellip_fd_iter Elliptic PDE, solution of finite difference equations by SIP, five-point two-dimensional molecule, one iteration D03UB nagf_pde_3d_ellip_fd_iter Elliptic PDE, solution of finite difference equations by SIP, seven-point three-dimensional molecule, one iteration

### D04 – Numerical Differentiation

Examples of routines and methods in this chapter.

 D04AA nagf_numdiff Numerical differentiation, derivatives up to order 14, function of one real variable D04BA nagf_numdiff_rcomm Numerical differentiation, user-supplied function values, derivatives up to order 14, derivatives with respect to one real variable D04BB nagf_numdiff_sample Generates sample points for function evaluations by D04BA

### D05 – Integral Equations

Examples of routines and methods in this chapter.

 D05AA nagf_inteq_fredholm2_split Linear nonsingular Fredholm integral equation, second kind, split kernel D05AB nagf_inteq_fredholm2_smooth Linear nonsingular Fredholm integral equation, second kind, smooth kernel D05BA nagf_inteq_volterra2 Nonlinear Volterra convolution equation, second kind D05BD nagf_inteq_abel2_weak Nonlinear convolution Volterra–Abel equation, second kind, weakly singular D05BE nagf_inteq_abel1_weak Nonlinear convolution Volterra–Abel equation, first kind, weakly singular D05BW nagf_inteq_volterra_weights Generate weights for use in solving Volterra equations D05BY nagf_inteq_abel_weak_weights Generate weights for use in solving weakly singular Abel-type equations

### D06 – Mesh Generation

Examples of routines and methods in this chapter.

 D06AA nagf_mesh_2d_gen_inc Generates a two-dimensional mesh using a simple incremental method D06AB nagf_mesh_2d_gen_delaunay Generates a two-dimensional mesh using a Delaunay–Voronoi process D06AC nagf_mesh_2d_gen_front Generates a two-dimensional mesh using an Advancing-front method D06BA nagf_mesh_2d_gen_boundary Generates a boundary mesh D06CA nagf_mesh_2d_smooth_bary Uses a barycentering technique to smooth a given mesh D06CB nagf_mesh_2d_sparsity Generates a sparsity pattern of a Finite Element matrix associated with a given mesh D06CC nagf_mesh_2d_renumber Renumbers a given mesh using Gibbs method D06DA nagf_mesh_2d_transform_affine Generates a mesh resulting from an affine transformation of a given mesh D06DB nagf_mesh_2d_join Joins together two given adjacent (possibly overlapping) meshes

### E01 – Interpolation

Examples of routines and methods in this chapter.

 E01AA nagf_interp_1d_aitken Interpolated values, Aitken's technique, unequally spaced data, one variable E01AB nagf_interp_1d_everett Interpolated values, Everett's formula, equally spaced data, one variable E01AE nagf_interp_1d_cheb Interpolating functions, polynomial interpolant, data may include derivative values, one variable E01BA nagf_interp_1d_spline Interpolating functions, cubic spline interpolant, one variable E01BE nagf_interp_1d_monotonic Interpolating functions, monotonicity-preserving, piecewise cubic Hermite, one variable E01BF nagf_interp_1d_monotonic_eval Interpolated values, interpolant computed by E01BE, function only, one variable E01BG nagf_interp_1d_monotonic_deriv Interpolated values, interpolant computed by E01BE, function and first derivative, one variable E01BH nagf_interp_1d_monotonic_intg Interpolated values, interpolant computed by E01BE, definite integral, one variable E01DA nagf_interp_2d_spline_grid Interpolating functions, fitting bicubic spline, data on rectangular grid E01EA nagf_interp_2d_triangulate Triangulation of two-dimensional scattered grid, method of Renka and Cline E01EB nagf_interp_2d_triang_bary_eval Barycentric interpolation on function values provided on a two-dimensional scattered grid E01RA nagf_interp_1d_ratnl Interpolating functions, rational interpolant, one variable E01RB nagf_interp_1d_ratnl_eval Interpolated values, evaluate rational interpolant computed by E01RA, one variable E01SA nagf_interp_2d_scat Interpolating functions, method of Renka and Cline, two variables E01SB nagf_interp_2d_scat_eval Interpolated values, evaluate interpolant computed by E01SA, two variables E01SG nagf_interp_2d_scat_shep Interpolating functions, modified Shepard's method, two variables E01SH nagf_interp_2d_scat_shep_eval Interpolated values, evaluate interpolant computed by E01SG, function and first derivatives, two variables E01TG nagf_interp_3d_scat_shep Interpolating functions, modified Shepard's method, three variables E01TH nagf_interp_3d_scat_shep_eval Interpolated values, evaluate interpolant computed by E01TG, function and first derivatives, three variables E01TK nagf_interp_4d_scat_shep Interpolating functions, modified Shepard's method, four variables E01TL nagf_interp_4d_scat_shep_eval Interpolated values, evaluate interpolant computed by E01TK, function and first derivatives, four variables E01TM nagf_interp_5d_scat_shep Interpolating functions, modified Shepard's method, five variables E01TN nagf_interp_5d_scat_shep_eval Interpolated values, evaluate interpolant computed by E01TM, function and first derivatives, five variables E01ZM nagf_interp_nd_scat_shep Interpolating function, modified Shepard's method, d dimensions E01ZN nagf_interp_nd_scat_shep_eval Interpolated values, evaluate interpolant computed by E01ZM, function and first derivatives, d dimensions

### E02 – Curve and Surface Fitting

Examples of routines and methods in this chapter.

 E02AD nagf_fit_1dcheb_arb Least squares curve fit, by polynomials, arbitrary data points E02AE nagf_fit_1dcheb_eval Evaluation of fitted polynomial in one variable from Chebyshev series form (simplified parameter list) E02AF nagf_fit_1dcheb_glp Least squares polynomial fit, special data points (including interpolation) E02AG nagf_fit_1dcheb_con Least squares polynomial fit, values and derivatives may be constrained, arbitrary data points E02AH nagf_fit_1dcheb_deriv Derivative of fitted polynomial in Chebyshev series form E02AJ nagf_fit_1dcheb_integ Integral of fitted polynomial in Chebyshev series form E02AK nagf_fit_1dcheb_eval2 Evaluation of fitted polynomial in one variable from Chebyshev series form E02AL nagf_1d_minimax_polynomial Minimax curve fit by polynomials E02BA nagf_fit_1dspline_knots Least squares curve cubic spline fit (including interpolation) E02BB nagf_fit_1dspline_eval Evaluation of fitted cubic spline, function only E02BC nagf_fit_1dspline_deriv Evaluation of fitted cubic spline, function and derivatives E02BD nagf_fit_1dspline_integ Evaluation of fitted cubic spline, definite integral E02BE nagf_fit_1dspline_auto Least squares cubic spline curve fit, automatic knot placement E02BF nagf_fit_1dspline_deriv_vector Evaluation of fitted cubic spline, function and optionally derivatives at a vector of points E02CA nagf_fit_2dcheb_lines Least squares surface fit by polynomials, data on lines parallel to one independent coordinate axis E02CB nagf_fit_2dcheb_eval Evaluation of fitted polynomial in two variables E02DA nagf_fit_2dspline_panel Least squares surface fit, bicubic splines E02DC nagf_fit_2dspline_grid Least squares surface fit by bicubic splines with automatic knot placement, data on rectangular grid E02DD nagf_fit_2dspline_sctr Least squares surface fit by bicubic splines with automatic knot placement, scattered data E02DE nagf_fit_2dspline_evalv Evaluation of fitted bicubic spline at a vector of points E02DF nagf_fit_2dspline_evalm Evaluation of fitted bicubic spline at a mesh of points E02DH nagf_fit_2dspline_derivm Evaluation of spline surface at mesh of points with derivatives E02GA nagf_fit_glin_l1sol L1-approximation by general linear function E02GB nagf_fit_glinc_l1sol L1-approximation by general linear function subject to linear inequality constraints E02GC nagf_fit_glin_linf L∞-approximation by general linear function E02JD nagf_fit_2dspline_ts_sctr Spline approximation to a set of scattered data using a two-stage approximation method E02JE nagf_fit_2dspline_ts_evalv Evaluation at a vector of points of a spline computed by E02JD E02JF nagf_fit_2dspline_ts_evalm Evaluation at a mesh of points of a spline computed by E02JD E02RA nagf_fit_pade_app Padé approximants E02RB nagf_fit_pade_eval Evaluation of fitted rational function as computed by E02RA E02ZA nagf_fit_2dspline_sort Sort two-dimensional data into panels for fitting bicubic splines E02ZK nagf_fit_opt_set Option setting routine E02ZL nagf_fit_opt_get Option getting routine

### E04 – Minimizing or Maximizing a Function

Examples of routines and methods in this chapter.

 E04AB nagf_opt_one_var_func_old Minimum, function of one variable, using function values only E04BB nagf_opt_one_var_deriv_old Minimum, function of one variable, using first derivative E04CB nagf_opt_uncon_simplex Unconstrained minimum, Nelder–Mead simplex algorithm, using function values only E04CB nagf_opt_uncon_simplex_dummy_monit E04DG nagf_opt_uncon_conjgrd_comp_old Unconstrained minimum, preconditioned conjugate gradient algorithm, using first derivatives (comprehensive) E04DJ nagf_opt_uncon_conjgrd_option_file_old Supply optional parameter values for E04DG from external file E04DK nagf_opt_uncon_conjgrd_option_string_old Supply optional parameter values to E04DG from a character string E04FC nagf_opt_lsq_uncon_mod_func_comp Unconstrained minimum of a sum of squares, combined Gauss–Newton and modified Newton algorithm, using function values only (comprehensive) E04FD nagf_opt_lsq_dummy_lsqmon dummy E04FY nagf_opt_lsq_uncon_mod_func_easy Unconstrained minimum of a sum of squares, combined Gauss–Newton and modified Newton algorithm, using function values only (easy-to-use) E04GB nagf_opt_lsq_uncon_quasi_deriv_comp Unconstrained minimum of a sum of squares, combined Gauss–Newton and quasi-Newton algorithm, using first derivatives (comprehensive) E04GD nagf_opt_lsq_uncon_mod_deriv_comp Unconstrained minimum of a sum of squares, combined Gauss–Newton and modified Newton algorithm, using first derivatives (comprehensive) E04GY nagf_opt_lsq_uncon_quasi_deriv_easy Unconstrained minimum of a sum of squares, combined Gauss–Newton and quasi-Newton algorithm, using first derivatives (easy-to-use) E04GZ nagf_opt_lsq_uncon_mod_deriv_easy Unconstrained minimum of a sum of squares, combined Gauss–Newton and modified Newton algorithm, using first derivatives (easy-to-use) E04HC nagf_opt_check_deriv Check user's routine for calculating first derivatives of function E04HD nagf_opt_check_deriv2 Check user's routine for calculating second derivatives of function E04HE nagf_opt_lsq_uncon_mod_deriv2_comp Unconstrained minimum of a sum of squares, combined Gauss–Newton and modified Newton algorithm, using second derivatives (comprehensive) E04HY nagf_opt_lsq_uncon_mod_deriv2_easy Unconstrained minimum of a sum of squares, combined Gauss–Newton and modified Newton algorithm, using second derivatives (easy-to-use) E04JC nagf_opt_bounds_bobyqa_func Bound constrained minimum, model-based algorithm, using function values only E04JY nagf_opt_bounds_quasi_func_easy Bound constrained minimum, quasi-Newton algorithm, using function values only (easy-to-use) E04KD nagf_opt_bounds_mod_deriv_comp Bound constrained minimum, modified Newton algorithm, using first derivatives (comprehensive) E04KY nagf_opt_bounds_quasi_deriv_easy Bound constrained minimum, quasi-Newton algorithm, using first derivatives (easy-to-use) E04KZ nagf_opt_bounds_mod_deriv_easy Bound constrained minimum, modified Newton algorithm, using first derivatives (easy-to-use) E04LB nagf_opt_bounds_mod_deriv2_comp Bound constrained minimum, modified Newton algorithm, using first and second derivatives (comprehensive) E04LY nagf_opt_bounds_mod_deriv2_easy Bound constrained minimum, modified Newton algorithm, using first and second derivatives (easy-to-use) E04MF nagf_opt_lp_solve_old Linear programming (LP), dense, active-set method E04MG nagf_opt_lp_option_file_old Supply optional parameter values for E04MF from external file E04MH nagf_opt_lp_option_string_old Supply optional parameter values to E04MF from a character string E04MW nagf_opt_miqp_mps_write Write MPS data file defining LP, QP, MILP or MIQP problem E04MX nagf_opt_miqp_mps_read Read MPS data file defining LP, QP, MILP or MIQP problem E04MZ nagf_opt_qpconvex1_sparse_mps Read MPS data file defining LP or QP problem, deprecated E04NC nagf_opt_lsq_lincon_solve_old Linear programming (LP) convex quadratic programming (QP) or linearly-constrained linear least squares problem, dense E04ND nagf_opt_lsq_lincon_option_file_old Supply optional parameter values for E04NC from external file E04NE nagf_opt_lsq_lincon_option_string_old Supply optional parameter values to E04NC from a character string E04NF nagf_opt_qp_dense_solve_old General (possibly non-convex) quadratic programming (QP) , dense, active-set method E04NG nagf_opt_qp_dense_option_file_old Supply optional parameter values for E04NF from external file E04NH nagf_opt_qp_dense_option_string_old Supply optional parameter values to E04NF from a character string E04NK nagf_opt_qpconvex1_sparse_solve_old Linear programming (LP) or convex quadratic programming (QP), sparse, active-set method E04NK nagf_opt_qpconvex1_sparse_dummy_qphx_old dummy E04NL nagf_opt_qpconvex1_sparse_option_file_old Supply optional parameter values for E04NK from external file E04NM nagf_opt_qpconvex1_sparse_option_string_old Supply optional parameter values to E04NK from a character string E04NP nagf_opt_qpconvex2_sparse_init Initialization routine for E04NQ E04NQ nagf_opt_qpconvex2_sparse_solve Linear programming (LP) or convex quadratic programming (QP), sparse, active-set method, recommended E04NR nagf_opt_qpconvex2_sparse_option_file Supply optional parameter values for E04NQ from external file E04NS nagf_opt_qpconvex2_sparse_option_string Set a single option for E04NQ from a character string E04NS nagf_opt_qpconvex2_sparse_dummy_qphx dummy E04NT nagf_opt_qpconvex2_sparse_option_integer_set Set a single option for E04NQ from an integer argument E04NU nagf_opt_qpconvex2_sparse_option_double_set Set a single option for E04NQ from a real argument E04NX nagf_opt_qpconvex2_sparse_option_integer_get Get the setting of an integer valued option of E04NQ E04NY nagf_opt_qpconvex2_sparse_option_double_get Get the setting of a real valued option of E04NQ E04PC nagf_opt_bnd_lin_lsq Computes the least squares solution to a set of linear equations subject to fixed upper and lower bounds on the variables. An option is provided to return a minimal length solution if a solution is not unique E04RA nagf_opt_handle_init Initialization of a handle for the NAG optimization modelling suite for problems, such as, quadratic programming (QP), nonlinear programming (NLP), linear semidefinite programming (SDP) or SDP with bilinear matrix inequalities (BMI-SDP) E04RD nagf_opt_sdp_read_sdpa A reader of sparse SDPA data files for linear SDP problems E04RE nagf_opt_handle_set_linobj Define a linear objective function to a problem initialized by E04RA E04RF nagf_opt_handle_set_quadobj Define a linear or a quadratic objective function to a problem initialized by E04RA E04RG nagf_opt_handle_set_nlnobj Define a nonlinear objective function to a problem initialized by E04RA E04RH nagf_opt_handle_set_simplebounds Define bounds of variables of a problem initialized by E04RA E04RJ nagf_opt_handle_set_linconstr Define a block of linear constraints to a problem initialized by E04RA E04RK nagf_opt_handle_set_nlnconstr Define a block of nonlinear constraints to a problem initialized by E04RA E04RL nagf_opt_handle_set_nlnhess Define a structure of Hessian of the objective, constraints or the Lagrangian to a problem initialized by E04RA E04RN nagf_opt_handle_set_linmatineq Add one or more linear matrix inequality constraints to a problem initialized by E04RA E04RP nagf_opt_handle_set_quadmatineq Define bilinear matrix terms to a problem initialized by E04RA E04RY nagf_opt_handle_print Print information about a problem handle initialized by E04RA E04RZ nagf_opt_handle_free Destroy the problem handle initialized by E04RA and deallocate all the memory used E04ST nagf_opt_handle_solve_ipopt Run an interior point solver on a sparse nonlinear programming problem (NLP) initialized by E04RA and defined by other routines from the suite E04ST nagf_opt_ipopt_dummy_mon dummy E04ST nagf_opt_ipopt_dummy_objfun dummy E04ST nagf_opt_ipopt_dummy_objgrd dummy E04ST nagf_opt_ipopt_dummy_confun dummy E04ST nagf_opt_ipopt_dummy_congrd dummy E04ST nagf_opt_ipopt_dummy_hess dummy E04SV nagf_opt_handle_solve_pennon Run the Pennon solver on a compatible problem initialized by E04RA and defined by other routines from the suite, such as, semidefinite programming (SDP) and SDP with bilinear matrix inequalities (BMI) E04UC nagf_opt_nlp1_solve_old Nonlinear programming (NLP), dense, active-set SQP method, using function values and optionally first derivatives, recommended E04UD nagf_opt_nlp1_option_file_old Supply optional parameter values for E04UC or E04UF from external file E04UD nagf_opt_nlp1_dummy_confun dummy E04UE nagf_opt_nlp1_option_string_old Supply optional parameter values to E04UC or E04UF from a character string E04UF nagf_opt_nlp1_rcomm_old Nonlinear programming (NLP), dense, active-set, SQP method, using function values and optionally first derivatives (reverse communication, comprehensive) E04UG nagf_opt_nlp1_sparse_solve_old Nonlinear programming (NLP), sparse, active-set SQP method, using function values and optionally first derivatives E04UG nagf_opt_nlp1_sparse_dummy_confun dummy E04UG nagf_opt_nlp1_sparse_dummy_objfun dummy E04UH nagf_opt_nlp1_sparse_option_file_old Supply optional parameter values for E04UG from external file E04UJ nagf_opt_nlp1_sparse_option_string_old Supply optional parameter values to E04UG from a character string E04UQ nagf_opt_lsq_gencon_deriv_option_file_old Supply optional parameter values for E04US from external file E04UR nagf_opt_lsq_gencon_deriv_option_string_old Supply optional parameter values to E04US from a character string E04US nagf_opt_lsq_gencon_deriv_old Minimum of a sum of squares, nonlinear constraints, dense, active-set SQP method, using function values and optionally first derivatives E04VG nagf_opt_nlp2_sparse_init Initialization routine for E04VH E04VH nagf_opt_nlp2_sparse_solve Nonlinear programming (NLP), sparse, active-set SQP method, using function values and optionally first derivatives, recommended E04VJ nagf_opt_nlp2_sparse_jacobian Determine the pattern of nonzeros in the Jacobian matrix for E04VH E04VK nagf_opt_nlp2_sparse_option_file Supply optional parameter values for E04VH from external file E04VL nagf_opt_nlp2_sparse_option_string Set a single option for E04VH from a character string E04VM nagf_opt_nlp2_sparse_option_integer_set Set a single option for E04VH from an integer argument E04VN nagf_opt_nlp2_sparse_option_double_set Set a single option for E04VH from a real argument E04VR nagf_opt_nlp2_sparse_option_integer_get Get the setting of an integer valued option of E04VH E04VS nagf_opt_nlp2_sparse_option_double_get Get the setting of a real valued option of E04VH E04WB nagf_opt_init Initialization routine for E04DG, E04MF, E04NC, E04NF, E04NK, E04UC, E04UF, E04UG and E04US E04WC nagf_opt_nlp2_init Initialization routine for E04WD E04WD nagf_opt_nlp2_solve Nonlinear programming (NLP), dense, active-set SQP method, using function values and optionally first derivatives E04WD nagf_opt_nlp2_dummy_confun dummy E04WE nagf_opt_nlp2_option_file Supply optional parameter values for E04WD from external file E04WF nagf_opt_nlp2_option_string Set a single option for E04WD from a character string E04WG nagf_opt_nlp2_option_integer_set Set a single option for E04WD from an integer argument E04WH nagf_opt_nlp2_option_double_set Set a single option for E04WD from a real argument E04WK nagf_opt_nlp2_option_integer_get Get the setting of an integer valued option of E04WD E04WL nagf_opt_nlp2_option_double_get Get the setting of a real valued option of E04WD E04XA nagf_opt_estimate_deriv_old Estimate (using numerical differentiation) gradient and/or Hessian of a function E04YA nagf_opt_lsq_check_deriv Check user's routine for calculating Jacobian of first derivatives E04YB nagf_opt_lsq_check_hessian Check user's routine for calculating Hessian of a sum of squares E04YC nagf_opt_lsq_uncon_covariance Covariance matrix for nonlinear least squares problem (unconstrained) E04ZM nagf_opt_handle_opt_set Option setting routine for the solvers from the NAG optimization modelling suite E04ZN nagf_opt_handle_opt_get Option getting routine for the solvers from the NAG optimization modelling suite E04ZP nagf_opt_handle_opt_set_file Option setting routine for the solvers from the NAG optimization modelling suite from external file

### E05 – Global Optimization of a Function

Examples of routines and methods in this chapter.

 E05JA nagf_glopt_bnd_mcs_init Initialization routine for E05JB E05JB nagf_glopt_bnd_mcs_solve Global optimization by multi-level coordinate search, simple bounds, using function values only E05JC nagf_glopt_bnd_mcs_optset_file Supply optional parameter values for E05JB from external file E05JD nagf_glopt_bnd_mcs_optset_string Set a single optional parameter for E05JB from a character string E05JE nagf_glopt_bnd_mcs_optset_char Set a single optional parameter for E05JB from an 'ON'/'OFF'-valued character argument E05JF nagf_glopt_bnd_mcs_optset_int Set a single optional parameter for E05JB from an integer argument E05JG nagf_glopt_bnd_mcs_optset_real Set a single optional parameter for E05JB from a real argument E05JH nagf_glopt_bnd_mcs_option_check Determine whether an optional parameter for E05JB has been set by you or not E05JJ nagf_glopt_bnd_mcs_optget_char Get the setting of an 'ON'/'OFF'-valued character optional parameter of E05JB E05JK nagf_glopt_bnd_mcs_optget_int Get the setting of an integer valued optional parameter of E05JB E05JL nagf_glopt_bnd_mcs_optget_real Get the setting of a real valued optional parameter of E05JB E05SA nagf_glopt_bnd_pso Global optimization using particle swarm algorithm (PSO), bound constraints only E05SB nagf_glopt_nlp_pso Global optimization using particle swarm algorithm (PSO), comprehensive E05SX nagf_glopt_bnd_pso_dummy_monmod dummy E05SY nagf_glopt_nlp_pso_dummy_monmod dummy E05UC nagf_glopt_nlp_multistart_sqp Global optimization using multi-start, nonlinear constraints E05UD nagf_glopt_nlp_multistart_dcf dummy E05US nagf_glopt_nlp_multistart_sqp_lsq Global optimization of a sum of squares problem using multi-start, nonlinear constraints E05ZK nagf_glopt_optset Option setting routine for E05SA, E05SB, E05UC and E05US E05ZL nagf_glopt_optget Option getting routine for E05SA, E05SB, E05UC and E05US

### F01 – Matrix Operations, Including Inversion

Examples of routines and methods in this chapter.

 F01AB nagf_matop_real_symm_posdef_inv Inverse of real symmetric positive definite matrix using iterative refinement F01AD nagf_matop_real_symm_posdef_inv_noref Inverse of real symmetric positive definite matrix F01BL nagf_matop_real_gen_pseudinv Pseudo-inverse and rank of real m by n matrix (m≥n) F01BR nagf_matop_real_gen_sparse_lu LU factorization of real sparse matrix F01BS nagf_matop_real_gen_sparse_lu_reuse LU factorization of real sparse matrix with known sparsity pattern F01BU nagf_matop_real_symm_posdef_fac ULDLTUT factorization of real symmetric positive definite band matrix F01BV nagf_matop_real_symm_posdef_geneig Reduction to standard form, generalized real symmetric-definite banded eigenproblem F01CK nagf_matop_real_gen_matmul Multiplication of real matrices F01CR nagf_matop_real_gen_trans_inplace Transposition of a real matrix F01CT nagf_matop_real_addsub Sum or difference of two real matrices, optional scaling and transposition F01CW nagf_matop_complex_addsub Sum or difference of two complex matrices, optional scaling and transposition F01EC nagf_matop_real_gen_matrix_exp Real matrix exponential F01ED nagf_matop_real_symm_matrix_exp Real symmetric matrix exponential F01EF nagf_matop_real_symm_matrix_fun Function of a real symmetric matrix F01EJ nagf_matop_real_gen_matrix_log Real matrix logarithm F01EK nagf_matop_real_gen_matrix_fun_std Exponential, sine, cosine, sinh or cosh of a real matrix (Schur–Parlett algorithm) F01EL nagf_matop_real_gen_matrix_fun_num Function of a real matrix (using numerical differentiation) F01EM nagf_matop_real_gen_matrix_fun_usd Function of a real matrix (using user-supplied derivatives) F01EN nagf_matop_real_gen_matrix_sqrt Real matrix square root F01EP nagf_matop_real_tri_matrix_sqrt Real upper quasi-triangular matrix square root F01EQ nagf_matop_real_gen_matrix_pow General power of a real matrix F01FC nagf_matop_complex_gen_matrix_exp Complex matrix exponential F01FD nagf_matop_complex_herm_matrix_exp Complex Hermitian matrix exponential F01FF nagf_matop_complex_herm_matrix_fun Function of a complex Hermitian matrix F01FJ nagf_matop_complex_gen_matrix_log Complex matrix logarithm F01FK nagf_matop_complex_gen_matrix_fun_std Exponential, sine, cosine, sinh or cosh of a complex matrix (Schur–Parlett algorithm) F01FL nagf_matop_complex_gen_matrix_fun_num Function of a complex matrix (using numerical differentiation) F01FM nagf_matop_complex_gen_matrix_fun_usd Function of a complex matrix (using user-supplied derivatives) F01FN nagf_matop_complex_gen_matrix_sqrt Complex matrix square root F01FP nagf_matop_complex_tri_matrix_sqrt Complex upper triangular matrix square root F01FQ nagf_matop_complex_gen_matrix_pow General power of a complex matrix F01GA nagf_matop_real_gen_matrix_actexp Action of a real matrix exponential on a real matrix F01GB nagf_matop_real_gen_matrix_actexp_rcomm Action of a real matrix exponential on a real matrix (reverse communication) F01HA nagf_matop_complex_gen_matrix_actexp Action of a complex matrix exponential on a complex matrix F01HB nagf_matop_complex_gen_matrix_actexp_rcomm Action of a complex matrix exponential on a complex matrix (reverse communication) F01JA nagf_matop_real_gen_matrix_cond_std Condition number for the exponential, logarithm, sine, cosine, sinh or cosh of a real matrix F01JB nagf_matop_real_gen_matrix_cond_num Condition number for a function of a real matrix (using numerical differentiation) F01JC nagf_matop_real_gen_matrix_cond_usd Condition number for a function of a real matrix (using user-supplied derivatives) F01JD nagf_matop_real_gen_matrix_cond_sqrt Condition number for square root of real matrix F01JE nagf_matop_real_gen_matrix_cond_pow Condition number for real matrix power F01JF nagf_matop_real_gen_matrix_frcht_pow Fréchet derivative of real matrix power F01JG nagf_matop_real_gen_matrix_cond_exp Condition number for real matrix exponential F01JH nagf_matop_real_gen_matrix_frcht_exp Fréchet derivative of real matrix exponential F01JJ nagf_matop_real_gen_matrix_cond_log Condition number for real matrix logarithm F01JK nagf_matop_real_gen_matrix_frcht_log Fréchet derivative of real matrix logarithm F01KA nagf_matop_complex_gen_matrix_cond_std Condition number for the exponential, logarithm, sine, cosine, sinh or cosh of a complex matrix F01KB nagf_matop_complex_gen_matrix_cond_num Condition number for a function of a complex matrix (using numerical differentiation) F01KC nagf_matop_complex_gen_matrix_cond_usd Condition number for a function of a complex matrix (using user-supplied derivatives) F01KD nagf_matop_complex_gen_matrix_cond_sqrt Condition number for square root of complex matrix F01KE nagf_matop_complex_gen_matrix_cond_pow Condition number for complex matrix power F01KF nagf_matop_complex_gen_matrix_frcht_pow Fréchet derivative of complex matrix power F01KG nagf_matop_complex_gen_matrix_cond_exp Condition number for complex matrix exponential F01KH nagf_matop_complex_gen_matrix_frcht_exp Fréchet derivative of complex matrix exponential F01KJ nagf_matop_complex_gen_matrix_cond_log Condition number for complex matrix logarithm F01KK nagf_matop_complex_gen_matrix_frcht_log Fréchet derivative of complex matrix logarithm F01LE nagf_matop_real_gen_tridiag_lu LU factorization of real tridiagonal matrix F01LH nagf_matop_real_gen_blkdiag_lu LU factorization of real almost block diagonal matrix F01MC nagf_matop_real_vband_posdef_fac LDLT factorization of real symmetric positive definite variable-bandwidth matrix F01QG nagf_matop_real_trapez_rq RQ factorization of real m by n upper trapezoidal matrix (m≤n) F01QJ nagf_matop_real_gen_rq RQ factorization of real m by n matrix (m≤n) F01QK nagf_matop_real_gen_rq_formq Operations with orthogonal matrices, form rows of Q, after RQ factorization by F01QJ F01RG nagf_matop_complex_trapez_rq RQ factorization of complex m by n upper trapezoidal matrix (m≤n) F01RJ nagf_matop_complex_gen_rq RQ factorization of complex m by n matrix (m≤n) F01RK nagf_matop_complex_gen_rq_formq Operations with unitary matrices, form rows of Q, after RQ factorization by F01RJ F01VA nagf_matop_dtrttp Copies a real triangular matrix from full format to packed format F01VB nagf_matop_ztrttp Copies a complex triangular matrix from full format to packed format F01VC nagf_matop_dtpttr Copies a real triangular matrix from packed format to full format F01VD nagf_matop_ztpttr Copies a complex triangular matrix from packed format to full format F01VE nagf_matop_dtrttf Copies a real triangular matrix from full format to Rectangular Full Packed format F01VF nagf_matop_ztrttf Copies a complex triangular matrix from full format to Rectangular Full Packed format F01VG nagf_matop_dtfttr Copies a real triangular matrix from Rectangular Full Packed format to full format F01VH nagf_matop_ztfttr Copies a complex triangular matrix from Rectangular Full Packed format to full format F01VJ nagf_matop_dtpttf Copies a real triangular matrix from packed format to Rectangular Full Packed format F01VK nagf_matop_ztpttf Copies a complex triangular matrix from packed format to Rectangular Full Packed format F01VL nagf_matop_dtfttp Copies a real triangular matrix from Rectangular Full Packed format to packed format F01VM nagf_matop_ztfttp Copies a complex triangular matrix from Rectangular Full Packed format to packed format F01ZA nagf_matop_real_tri_pack Convert real matrix between packed triangular and square storage formats F01ZB nagf_matop_complex_tri_pack Convert complex matrix between packed triangular and square storage formats F01ZC nagf_matop_real_band_pack Convert real matrix between packed banded and rectangular storage formats F01ZD nagf_matop_complex_band_pack Convert complex matrix between packed banded and rectangular storage formats

### F02 – Eigenvalues and Eigenvectors

Examples of routines and methods in this chapter.

 F02EC nagf_eigen_real_gen_eigsys Selected eigenvalues and eigenvectors of real nonsymmetric matrix (Black Box) F02EK nagf_eigen_real_gen_sparse_arnoldi Selected eigenvalues and eigenvectors of a real sparse general matrix F02EK nagf_eigen_arnoldi_option dummy F02EK nagf_eigen_arnoldi_monit_gen dummy F02FJ nagf_eigen_real_symm_sparse_eigsys Selected eigenvalues and eigenvectors of sparse symmetric eigenproblem (Black Box) F02FJ nagf_eigen_monit dummy F02FK nagf_eigen_real_symm_sparse_arnoldi Selected eigenvalues and eigenvectors of a real symmetric sparse matrix F02FK nagf_eigen_arnoldi_monit_symm dummy F02GC nagf_eigen_complex_gen_eigsys Selected eigenvalues and eigenvectors of complex nonsymmetric matrix (Black Box) F02JC nagf_eigen_real_gen_quad Solves the quadratic eigenvalue problem for real matrices F02JQ nagf_eigen_complex_gen_quad Solves the quadratic eigenvalue problem for complex matrices F02WG nagf_eigen_real_gen_partialsvd Computes leading terms in the singular value decomposition of a real general matrix; also computes corresponding left and right singular vectors F02WU nagf_eigen_real_triang_svd SVD of real upper triangular matrix (Black Box) F02XU nagf_eigen_complex_triang_svd SVD of complex upper triangular matrix (Black Box)

### F03 – Determinants

Examples of routines and methods in this chapter.

 F03BA nagf_det_real_gen Determinant of real matrix, matrix already factorized by F07AD F03BF nagf_det_real_sym Determinant of real symmetric positive definite matrix F03BH nagf_det_real_band_sym Determinant of real symmetric positive definite banded matrix previously factorized by F07HD F03BN nagf_det_complex_gen Determinant of complex matrix previously LU factorized

### F04 – Simultaneous Linear Equations

Examples of routines and methods in this chapter.

 F04AM nagf_linsys_real_gen_lsqsol Least squares solution of m real equations in n unknowns, rank =n, m≥n using iterative refinement (Black Box) F04AX nagf_linsys_real_sparse_fac_solve Solution of real sparse simultaneous linear equations (coefficient matrix already factorized) F04BA nagf_linsys_real_square_solve Computes the solution, estimated condition number and error-bound to a real system of linear equations F04BB nagf_linsys_real_band_solve Computes the solution, estimated condition number and error-bound to a real banded system of linear equations F04BC nagf_linsys_real_tridiag_solve Computes the solution, estimated condition number and error-bound to a real tridiagonal system of linear equations F04BD nagf_linsys_real_posdef_solve Computes the solution, estimated condition number and error-bound to a real symmetric positive definite system of linear equations F04BE nagf_linsys_real_posdef_packed_solve Computes the solution, estimated condition number and error-bound to a real symmetric positive definite system of linear equations, packed storage F04BF nagf_linsys_real_posdef_band_solve Computes the solution, estimated condition number and error-bound to a real symmetric positive definite banded system of linear equations F04BG nagf_linsys_real_posdef_tridiag_solve Computes the solution, estimated condition number and error-bound to a real symmetric positive definite tridiagonal system of linear equations F04BH nagf_linsys_real_symm_solve Computes the solution, estimated condition number and error-bound to a real symmetric system of linear equations F04BJ nagf_linsys_real_symm_packed_solve Computes the solution, estimated condition number and error-bound to a real symmetric system of linear equations, packed storage F04CA nagf_linsys_complex_square_solve Computes the solution, estimated condition number and error-bound to a complex system of linear equations F04CB nagf_linsys_complex_band_solve Computes the solution, estimated condition number and error-bound to a complex banded system of linear equations F04CC nagf_linsys_complex_tridiag_solve Computes the solution, estimated condition number and error-bound to a complex tridiagonal system of linear equations F04CD nagf_linsys_complex_posdef_solve Computes the solution, estimated condition number and error-bound to a complex Hermitian positive definite system of linear equations F04CE nagf_linsys_complex_posdef_packed_solve Computes the solution, estimated condition number and error-bound to a complex Hermitian positive definite system of linear equations, packed storage F04CF nagf_linsys_complex_posdef_band_solve Computes the solution, estimated condition number and error-bound to a complex Hermitian positive definite banded system of linear equations F04CG nagf_linsys_complex_posdef_tridiag_solve Computes the solution, estimated condition number and error-bound to a complex Hermitian positive definite tridiagonal system of linear equations F04CH nagf_linsys_complex_herm_solve Computes the solution and error-bound to a complex Hermitian system of linear equations F04CJ nagf_linsys_complex_herm_packed_solve Computes the solution, estimated condition number and error-bound to a complex Hermitian system of linear equations, packed storage F04DH nagf_linsys_complex_symm_solve Computes the solution, estimated condition number and error-bound to a complex symmetric system of linear equations F04DJ nagf_linsys_complex_symm_packed_solve Computes the solution, estimated condition number and error-bound to a complex symmetric system of linear equations, packed storage F04FE nagf_linsys_real_toeplitz_yule Solution of the Yule–Walker equations for real symmetric positive definite Toeplitz matrix, one right-hand side F04FF nagf_linsys_real_toeplitz_solve Solution of real symmetric positive definite Toeplitz system, one right-hand side F04JG nagf_linsys_real_gen_solve Least squares (if rank =n) or minimal least squares (if rank

### F05 – Orthogonalization

Examples of routines and methods in this chapter.

 F05AA nagf_orthog_real_gram_schmidt Gram–Schmidt orthogonalization of n vectors of order m

### F06 – Linear Algebra Support Routines

Examples of routines and methods in this chapter.

 F06AA nagf_blas_drotg Generate real plane rotation F06BA nagf_blas_drotgc Generate real plane rotation, storing tangent F06BC nagf_blas_dcsg Recover cosine and sine from given real tangent F06BE nagf_blas_drotj Generate real Jacobi plane rotation F06BH nagf_blas_drot2 Apply real similarity rotation to 2 by 2 symmetric matrix F06BL nagf_blas_ddiv Compute quotient of two real scalars, with overflow flag F06BM nagf_blas_dnorm Compute Euclidean norm from scaled form F06BN nagf_blas_dpyth Compute square root of (a2+b2), real a and b F06BP nagf_blas_deig2 Compute eigenvalue of 2 by 2 real symmetric matrix F06CA nagf_blas_zrotgc Generate complex plane rotation, storing tangent, real cosine F06CB nagf_blas_zrotgs Generate complex plane rotation, storing tangent, real sine F06CC nagf_blas_zcsg Recover cosine and sine from given complex tangent, real cosine F06CD nagf_blas_zcsgs Recover cosine and sine from given complex tangent, real sine F06CH nagf_blas_zrot2 Apply complex similarity rotation to 2 by 2 Hermitian matrix F06CL nagf_blas_zdiv Compute quotient of two complex scalars, with overflow flag F06DB nagf_blas_iload Broadcast scalar into integer vector F06DF nagf_blas_icopy Copy integer vector F06EA nagf_blas_ddot Dot product of two real vectors F06EC nagf_blas_daxpy Add scalar times real vector to real vector F06ED nagf_blas_dscal Multiply real vector by scalar F06EF nagf_blas_dcopy Copy real vector F06EG nagf_blas_dswap Swap two real vectors F06EJ nagf_blas_dnrm2 Compute Euclidean norm of real vector F06EK nagf_blas_dasum Sum absolute values of real vector elements F06EP nagf_blas_drot Apply real plane rotation F06ER nagf_blas_ddoti Dot product of a real sparse and a full vector F06ET nagf_blas_daxpyi Add scalar times real sparse vector to a full vector F06EU nagf_blas_dgthr Gather real sparse vector F06EV nagf_blas_dgthrz Gather and set to zero real sparse vector F06EW nagf_blas_dsctr Scatter real sparse vector F06EX nagf_blas_droti Apply plane rotation to a real sparse and a full vector F06FA nagf_blas_dvcos Compute cosine of angle between two real vectors F06FB nagf_blas_dload Broadcast scalar into real vector F06FC nagf_blas_ddscl Multiply real vector by diagonal matrix F06FD nagf_blas_axpzy Multiply real vector by scalar, preserving input vector F06FE nagf_blas_drscl Multiply real vector by reciprocal of scalar F06FG nagf_blas_dnegv Negate real vector F06FJ nagf_blas_dssq Update Euclidean norm of real vector in scaled form F06FK nagf_blas_dnrm2w Compute weighted Euclidean norm of real vector F06FL nagf_blas_darang Elements of real vector with largest and smallest absolute value F06FP nagf_blas_drots Apply real symmetric plane rotation to two vectors F06FQ nagf_blas_dsrotg Generate sequence of real plane rotations F06FR nagf_blas_dnhousg Generate real elementary reflection, NAG style F06FS nagf_blas_dlhousg Generate real elementary reflection, LINPACK style F06FT nagf_blas_dnhous Apply real elementary reflection, NAG style F06FU nagf_blas_dlhous Apply real elementary reflection, LINPACK style F06GA nagf_blas_zdotu Dot product of two complex vectors, unconjugated F06GB nagf_blas_zdotc Dot product of two complex vectors, conjugated F06GC nagf_blas_zaxpy Add scalar times complex vector to complex vector F06GD nagf_blas_zscal Multiply complex vector by complex scalar F06GF nagf_blas_zcopy Copy complex vector F06GG nagf_blas_zswap Swap two complex vectors F06GR nagf_blas_zdotui Dot product of a complex sparse and a full vector, unconjugated F06GS nagf_blas_zdotci Dot product of a complex sparse and a full vector, conjugated F06GT nagf_blas_zaxpyi Add scalar times complex sparse vector to a full vector F06GU nagf_blas_zgthr Gather complex sparse vector F06GV nagf_blas_zgthrz Gather and set to zero complex sparse vector F06GW nagf_blas_zsctr Scatter complex sparse vector F06HB nagf_blas_zload Broadcast scalar into complex vector F06HC nagf_blas_zdscl Multiply complex vector by complex diagonal matrix F06HD nagf_blas_zaxpzy Multiply complex vector by complex scalar, preserving input vector F06HG nagf_blas_znegv Negate complex vector F06HM nagf_blas_zrot Apply plane rotation with real cosine and complex sine F06HP nagf_blas_zcrot Apply complex plane rotation F06HQ nagf_blas_zsrotg Generate sequence of complex plane rotations F06HR nagf_blas_zhousg Generate complex elementary reflection F06HT nagf_blas_zhous Apply complex elementary reflection F06JD nagf_blas_zdscal Multiply complex vector by real scalar F06JJ nagf_blas_dznrm2 Compute Euclidean norm of complex vector F06JK nagf_blas_dzasum Sum absolute values of complex vector elements F06JL nagf_blas_idamax Index, real vector element with largest absolute value F06JM nagf_blas_izamax Index, complex vector element with largest absolute value F06KC nagf_blas_zddscl Multiply complex vector by real diagonal matrix F06KD nagf_blas_zdaxpzy Multiply complex vector by real scalar, preserving input vector F06KE nagf_blas_zdrscl Multiply complex vector by reciprocal of real scalar F06KF nagf_blas_zdcopy Copy real vector to complex vector F06KJ nagf_blas_dzssq Update Euclidean norm of complex vector in scaled form F06KL nagf_blas_idrank Last non-negligible element of real vector F06KP nagf_blas_zdrot Apply real plane rotation to two complex vectors F06PA nagf_blas_dgemv Matrix-vector product, real rectangular matrix F06PB nagf_blas_dgbmv Matrix-vector product, real rectangular band matrix F06PC nagf_blas_dsymv Matrix-vector product, real symmetric matrix F06PD nagf_blas_dsbmv Matrix-vector product, real symmetric band matrix F06PE nagf_blas_dspmv Matrix-vector product, real symmetric packed matrix F06PF nagf_blas_dtrmv Matrix-vector product, real triangular matrix F06PG nagf_blas_dtbmv Matrix-vector product, real triangular band matrix F06PH nagf_blas_dtpmv Matrix-vector product, real triangular packed matrix F06PJ nagf_blas_dtrsv System of equations, real triangular matrix F06PK nagf_blas_dtbsv System of equations, real triangular band matrix F06PL nagf_blas_dtpsv System of equations, real triangular packed matrix F06PM nagf_blas_dger Rank-1 update, real rectangular matrix F06PP nagf_blas_dsyr Rank-1 update, real symmetric matrix F06PQ nagf_blas_dspr Rank-1 update, real symmetric packed matrix F06PR nagf_blas_dsyr2 Rank-2 update, real symmetric matrix F06PS nagf_blas_dspr2 Rank-2 update, real symmetric packed matrix F06QF nagf_blas_dmcopy Matrix copy, real rectangular or trapezoidal matrix F06QH nagf_blas_dmload Matrix initialization, real rectangular matrix F06QJ nagf_blas_dgeap Permute rows or columns, real rectangular matrix, permutations represented by an integer array F06QK nagf_blas_dgeapr Permute rows or columns, real rectangular matrix, permutations represented by a real array F06QM nagf_blas_dsysrc Orthogonal similarity transformation of real symmetric matrix as a sequence of plane rotations F06QP nagf_blas_dutr1 QR factorization by sequence of plane rotations, rank-1 update of real upper triangular matrix F06QQ nagf_blas_dutupd QR factorization by sequence of plane rotations, real upper triangular matrix augmented by a full row F06QR nagf_blas_duhqr QR or RQ factorization by sequence of plane rotations, real upper Hessenberg matrix F06QS nagf_blas_dusqr QR or RQ factorization by sequence of plane rotations, real upper spiked matrix F06QT nagf_blas_dutsqr QR factorization of UP or RQ factorization of PU, U real upper triangular, P a sequence of plane rotations F06QV nagf_blas_dutsrh Compute upper Hessenberg matrix by sequence of plane rotations, real upper triangular matrix F06QW nagf_blas_dutsrs Compute upper spiked matrix by sequence of plane rotations, real upper triangular matrix F06QX nagf_blas_dgesrc Apply sequence of plane rotations, real rectangular matrix F06RA nagf_blas_dlange 1-norm, ∞-norm, Frobenius norm, largest absolute element, real general matrix F06RB nagf_blas_dlangb 1-norm, ∞-norm, Frobenius norm, largest absolute element, real band matrix F06RC nagf_blas_dlansy 1-norm, ∞-norm, Frobenius norm, largest absolute element, real symmetric matrix F06RD nagf_blas_dlansp 1-norm, ∞-norm, Frobenius norm, largest absolute element, real symmetric matrix, packed storage F06RE nagf_blas_dlansb 1-norm, ∞-norm, Frobenius norm, largest absolute element, real symmetric band matrix F06RJ nagf_blas_dlantr 1-norm, ∞-norm, Frobenius norm, largest absolute element, real trapezoidal/triangular matrix F06RK nagf_blas_dlantp 1-norm, ∞-norm, Frobenius norm, largest absolute element, real triangular matrix, packed storage F06RL nagf_blas_dlantb 1-norm, ∞-norm, Frobenius norm, largest absolute element, real triangular band matrix F06RM nagf_blas_dlanhs 1-norm, ∞-norm, Frobenius norm, largest absolute element, real upper Hessenberg matrix F06RN nagf_blas_dlangt 1-norm, ∞-norm, Frobenius norm, largest absolute element, real tridiagonal matrix F06RP nagf_blas_dlanst 1-norm, ∞-norm, Frobenius norm, largest absolute element, real symmetric tridiagonal matrix F06SA nagf_blas_zgemv Matrix-vector product, complex rectangular matrix F06SB nagf_blas_zgbmv Matrix-vector product, complex rectangular band matrix F06SC nagf_blas_zhemv Matrix-vector product, complex Hermitian matrix F06SD nagf_blas_zhbmv Matrix-vector product, complex Hermitian band matrix F06SE nagf_blas_zhpmv Matrix-vector product, complex Hermitian packed matrix F06SF nagf_blas_ztrmv Matrix-vector product, complex triangular matrix F06SG nagf_blas_ztbmv Matrix-vector product, complex triangular band matrix F06SH nagf_blas_ztpmv Matrix-vector product, complex triangular packed matrix F06SJ nagf_blas_ztrsv System of equations, complex triangular matrix F06SK nagf_blas_ztbsv System of equations, complex triangular band matrix F06SL nagf_blas_ztpsv System of equations, complex triangular packed matrix F06SM nagf_blas_zgeru Rank-1 update, complex rectangular matrix, unconjugated vector F06SN nagf_blas_zgerc Rank-1 update, complex rectangular matrix, conjugated vector F06SP nagf_blas_zher Rank-1 update, complex Hermitian matrix F06SQ nagf_blas_zhpr Rank-1 update, complex Hermitian packed matrix F06SR nagf_blas_zher2 Rank-2 update, complex Hermitian matrix F06SS nagf_blas_zhpr2 Rank-2 update, complex Hermitian packed matrix F06TA nagf_blas_zsymv Matrix-vector product, complex symmetric matrix F06TB nagf_blas_zsyr Rank-1 update, complex symmetric matrix F06TC nagf_blas_zspmv Matrix-vector product, complex symmetric packed matrix F06TD nagf_blas_zspr Rank-1 update, complex symmetric packed matrix F06TF nagf_blas_zmcopy Matrix copy, complex rectangular or trapezoidal matrix F06TH nagf_blas_zmload Matrix initialization, complex rectangular matrix F06TM nagf_blas_zhesrc Unitary similarity transformation of Hermitian matrix as a sequence of plane rotations F06TP nagf_blas_zutr1 QR factorization by sequence of plane rotations, rank-1 update of complex upper triangular matrix F06TQ nagf_blas_zutupd QR factorization by sequence of plane rotations, complex upper triangular matrix augmented by a full row F06TR nagf_blas_zuhqr QR or RQ factorization by sequence of plane rotations, complex upper Hessenberg matrix F06TS nagf_blas_zusqr QR or RQ factorization by sequence of plane rotations, complex upper spiked matrix F06TT nagf_blas_zutsqr QR factorization of UP or RQ factorization of PU, U complex upper triangular, P a sequence of plane rotations F06TV nagf_blas_zutsrh Compute upper Hessenberg matrix by sequence of plane rotations, complex upper triangular matrix F06TW nagf_blas_zutsrs Compute upper spiked matrix by sequence of plane rotations, complex upper triangular matrix F06TX nagf_blas_zgesrc Apply sequence of plane rotations, complex rectangular matrix, real cosine and complex sine F06TY nagf_blas_zgesrs Apply sequence of plane rotations, complex rectangular matrix, complex cosine and real sine F06UA nagf_blas_zlange 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex general matrix F06UB nagf_blas_zlangb 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex band matrix F06UC nagf_blas_zlanhe 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex Hermitian matrix F06UD nagf_blas_zlanhp 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex Hermitian matrix, packed storage F06UE nagf_blas_zlanhb 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex Hermitian band matrix F06UF nagf_blas_zlansy 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex symmetric matrix F06UG nagf_blas_zlansp 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex symmetric matrix, packed storage F06UH nagf_blas_zlansb 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex symmetric band matrix F06UJ nagf_blas_zlantr 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex trapezoidal/triangular matrix F06UK nagf_blas_zlantp 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex triangular matrix, packed storage F06UL nagf_blas_zlantb 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex triangular band matrix F06UM nagf_blas_zlanhs 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex Hessenberg matrix F06UN nagf_blas_zlangt 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex tridiagonal matrix F06UP nagf_blas_zlanht 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex Hermitian tridiagonal matrix F06VJ nagf_blas_zgeap Permute rows or columns, complex rectangular matrix, permutations represented by an integer array F06VK nagf_blas_zgeapr Permute rows or columns, complex rectangular matrix, permutations represented by a real array F06VX nagf_blas_zsgesr Apply sequence of plane rotations, complex rectangular matrix, real cosine and sine F06WA nagf_blas_dlansf 1-norm, ∞-norm, Frobenius norm, largest absolute element, real symmetric matrix, Rectangular Full Packed format F06WB nagf_blas_dtfsm Solves a system of equations with multiple right-hand sides, real triangular coefficient matrix, Rectangular Full Packed format F06WC nagf_blas_dsfrk Rank-k update of a real symmetric matrix, Rectangular Full Packed format F06WN nagf_blas_zlanhf 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex Hermitian matrix, Rectangular Full Packed format F06WP nagf_blas_ztfsm Solves system of equations with multiple right-hand sides, complex triangular coefficient matrix, Rectangular Full Packed format F06WQ nagf_blas_zhfrk Rank-k update of a complex Hermitian matrix, Rectangular Full Packed format F06YA nagf_blas_dgemm Matrix-matrix product, two real rectangular matrices F06YC nagf_blas_dsymm Matrix-matrix product, one real symmetric matrix, one real rectangular matrix F06YF nagf_blas_dtrmm Matrix-matrix product, one real triangular matrix, one real rectangular matrix F06YJ nagf_blas_dtrsm Solves a system of equations with multiple right-hand sides, real triangular coefficient matrix F06YP nagf_blas_dsyrk Rank-k update of a real symmetric matrix F06YR nagf_blas_dsyr2k Rank-2k update of a real symmetric matrix F06ZA nagf_blas_zgemm Matrix-matrix product, two complex rectangular matrices F06ZC nagf_blas_zhemm Matrix-matrix product, one complex Hermitian matrix, one complex rectangular matrix F06ZF nagf_blas_ztrmm Matrix-matrix product, one complex triangular matrix, one complex rectangular matrix F06ZJ nagf_blas_ztrsm Solves system of equations with multiple right-hand sides, complex triangular coefficient matrix F06ZP nagf_blas_zherk Rank-k update of a complex Hermitian matrix F06ZR nagf_blas_zher2k Rank-2k update of a complex Hermitian matrix F06ZT nagf_blas_zsymm Matrix-matrix product, one complex symmetric matrix, one complex rectangular matrix F06ZU nagf_blas_zsyrk Rank-k update of a complex symmetric matrix F06ZW nagf_blas_zsyr2k Rank-2k update of a complex symmetric matrix

### F07 – Linear Equations (LAPACK)

Examples of routines and methods in this chapter.

### F08 – Least Squares and Eigenvalue Problems (LAPACK)

Examples of routines and methods in this chapter.

 F08AA nagf_lapack_dgels Solves a real linear least squares problem of full rank F08AB nagf_lapack_dgeqrt Performs a QR factorization of real general rectangular matrix, with explicit blocking F08AC nagf_lapack_dgemqrt Applies the orthogonal transformation determined by F08AB F08AE nagf_lapack_dgeqrf Performs a QR factorization of real general rectangular matrix F08AF nagf_lapack_dorgqr Forms all or part of orthogonal Q from QR factorization determined by F08AE, F08BE and F08BF F08AG nagf_lapack_dormqr Applies an orthogonal transformation determined by F08AE, F08BE and F08BF F08AH nagf_lapack_dgelqf Performs a LQ factorization of real general rectangular matrix F08AJ nagf_lapack_dorglq Forms all or part of orthogonal Q from LQ factorization determined by F08AH F08AK nagf_lapack_dormlq Applies the orthogonal transformation determined by F08AH F08AN nagf_lapack_zgels Solves a complex linear least problem of full rank F08AP nagf_lapack_zgeqrt Performs a QR factorization of complex general rectangular matrix using recursive algorithm F08AQ nagf_lapack_zgemqrt Applies the unitary transformation determined by F08AP F08AS nagf_lapack_zgeqrf Performs a QR factorization of complex general rectangular matrix F08AT nagf_lapack_zungqr Forms all or part of unitary Q from QR factorization determined by F08AS, F08BS and F08BT F08AU nagf_lapack_zunmqr Applies a unitary transformation determined by F08AS, F08BS and F08BT F08AV nagf_lapack_zgelqf Performs a LQ factorization of complex general rectangular matrix F08AW nagf_lapack_zunglq Forms all or part of unitary Q from LQ factorization determined by F08AV F08AX nagf_lapack_zunmlq Applies the unitary transformation determined by F08AV F08BA nagf_lapack_dgelsy Computes the minimum-norm solution to a real linear least squares problem F08BB nagf_lapack_dtpqrt QR factorization of real general triangular-pentagonal matrix F08BC nagf_lapack_dtpmqrt Applies the orthogonal transformation determined by F08BB F08BE nagf_lapack_dgeqpf QR factorization, with column pivoting, of real general rectangular matrix F08BF nagf_lapack_dgeqp3 QR factorization, with column pivoting, using BLAS-3, of real general rectangular matrix F08BH nagf_lapack_dtzrzf Reduces a real upper trapezoidal matrix to upper triangular form F08BK nagf_lapack_dormrz Applies the orthogonal transformation determined by F08BH F08BN nagf_lapack_zgelsy Computes the minimum-norm solution to a complex linear least squares problem F08BP nagf_lapack_ztpqrt QR factorization of complex triangular-pentagonal matrix F08BQ nagf_lapack_ztpmqrt Applies the unitary transformation determined by F08BP F08BS nagf_lapack_zgeqpf QR factorization, with column pivoting, of complex general rectangular matrix F08BT nagf_lapack_zgeqp3 QR factorization, with column pivoting, using BLAS-3, of complex general rectangular matrix F08BV nagf_lapack_ztzrzf Reduces a complex upper trapezoidal matrix to upper triangular form F08BX nagf_lapack_zunmrz Applies the unitary transformation determined by F08BV F08CE nagf_lapack_dgeqlf QL factorization of real general rectangular matrix F08CF nagf_lapack_dorgql Form all or part of orthogonal Q from QL factorization determined by F08CE F08CG nagf_lapack_dormql Applies the orthogonal transformation determined by F08CE F08CH nagf_lapack_dgerqf RQ factorization of real general rectangular matrix F08CJ nagf_lapack_dorgrq Form all or part of orthogonal Q from RQ factorization determined by F08CH F08CK nagf_lapack_dormrq Applies the orthogonal transformation determined by F08CH F08CS nagf_lapack_zgeqlf QL factorization of complex general rectangular matrix F08CT nagf_lapack_zungql Form all or part of unitary Q from QL factorization determined by F08CS F08CU nagf_lapack_zunmql Applies the unitary transformation determined by F08CS F08CV nagf_lapack_zgerqf RQ factorization of complex general rectangular matrix F08CW nagf_lapack_zungrq Form all or part of unitary Q from RQ factorization determined by F08CV F08CX nagf_lapack_zunmrq Applies the unitary transformation determined by F08CV F08FA nagf_lapack_dsyev Computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix F08FB nagf_lapack_dsyevx Computes selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix F08FC nagf_lapack_dsyevd Computes all eigenvalues and, optionally, all eigenvectors of real symmetric matrix (divide-and-conquer) F08FD nagf_lapack_dsyevr Computes selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix (Relatively Robust Representations) F08FE nagf_lapack_dsytrd Orthogonal reduction of real symmetric matrix to symmetric tridiagonal form F08FF nagf_lapack_dorgtr Generate orthogonal transformation matrix from reduction to tridiagonal form determined by F08FE F08FG nagf_lapack_dormtr Applies the orthogonal transformation determined by F08FE F08FL nagf_lapack_ddisna Computes the reciprocal condition numbers for the eigenvectors of a real symmetric or complex Hermitian matrix or for the left or right singular vectors of a general matrix F08FN nagf_lapack_zheev Computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix F08FP nagf_lapack_zheevx Computes selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix F08FQ nagf_lapack_zheevd Computes all eigenvalues and, optionally, all eigenvectors of complex Hermitian matrix (divide-and-conquer) F08FR nagf_lapack_zheevr Computes selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix (Relatively Robust Representations) F08FS nagf_lapack_zhetrd Unitary reduction of complex Hermitian matrix to real symmetric tridiagonal form F08FT nagf_lapack_zungtr Generate unitary transformation matrix from reduction to tridiagonal form determined by F08FS F08FU nagf_lapack_zunmtr Applies the unitary transformation matrix determined by F08FS F08GA nagf_lapack_dspev Computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix, packed storage F08GB nagf_lapack_dspevx Computes selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix, packed storage F08GC nagf_lapack_dspevd Computes all eigenvalues and, optionally, all eigenvectors of real symmetric matrix, packed storage (divide-and-conquer or Pal–Walker–Kahan variant of the QL or QR algorithm) F08GE nagf_lapack_dsptrd Orthogonal reduction of real symmetric matrix to symmetric tridiagonal form, packed storage F08GF nagf_lapack_dopgtr Generate orthogonal transformation matrix from reduction to tridiagonal form determined by F08GE F08GG nagf_lapack_dopmtr Applies the orthogonal transformation determined by F08GE F08GN nagf_lapack_zhpev Computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix, packed storage F08GP nagf_lapack_zhpevx Computes selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix, packed storage F08GQ nagf_lapack_zhpevd Computes all eigenvalues and, optionally, all eigenvectors of complex Hermitian matrix, packed storage (divide-and-conquer or Pal–Walker–Kahan variant of the QL or QR algorithm) F08GS nagf_lapack_zhptrd Performs a unitary reduction of complex Hermitian matrix to real symmetric tridiagonal form, packed storage F08GT nagf_lapack_zupgtr Generates a unitary transformation matrix from reduction to tridiagonal form determined by F08GS F08GU nagf_lapack_zupmtr Applies the unitary transformation matrix determined by F08GS F08HA nagf_lapack_dsbev Computes all eigenvalues and, optionally, eigenvectors of a real symmetric band matrix F08HB nagf_lapack_dsbevx Computes selected eigenvalues and, optionally, eigenvectors of a real symmetric band matrix F08HC nagf_lapack_dsbevd Computes all eigenvalues and, optionally, all eigenvectors of real symmetric band matrix (divide-and-conquer or Pal–Walker–Kahan variant of the QL or QR algorithm) F08HE nagf_lapack_dsbtrd Performs an orthogonal reduction of real symmetric band matrix to symmetric tridiagonal form F08HN nagf_lapack_zhbev Computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian band matrix F08HP nagf_lapack_zhbevx Computes selected eigenvalues and, optionally, eigenvectors of a complex Hermitian band matrix F08HQ nagf_lapack_zhbevd Computes all eigenvalues and, optionally, all eigenvectors of complex Hermitian band matrix (divide-and-conquer) F08HS nagf_lapack_zhbtrd Performs a unitary reduction of complex Hermitian band matrix to real symmetric tridiagonal form F08JA nagf_lapack_dstev Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix F08JB nagf_lapack_dstevx Computes selected eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix F08JC nagf_lapack_dstevd Computes all eigenvalues and, optionally, all eigenvectors of real symmetric tridiagonal matrix (divide-and-conquer) F08JD nagf_lapack_dstevr Computes selected eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix (Relatively Robust Representations) F08JE nagf_lapack_dsteqr Computes all eigenvalues and eigenvectors of real symmetric tridiagonal matrix, reduced from real symmetric matrix using the implicit QL or QR algorithm F08JF nagf_lapack_dsterf Computes all eigenvalues of real symmetric tridiagonal matrix, root-free variant of the QL or QR algorithm F08JG nagf_lapack_dpteqr Computes all eigenvalues and eigenvectors of real symmetric positive definite tridiagonal matrix, reduced from real symmetric positive definite matrix F08JH nagf_lapack_dstedc Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix or a matrix reduced to this form (divide-and-conquer) F08JJ nagf_lapack_dstebz Computes selected eigenvalues of real symmetric tridiagonal matrix by bisection F08JK nagf_lapack_dstein Computes selected eigenvectors of real symmetric tridiagonal matrix by inverse iteration, storing eigenvectors in real array F08JL nagf_lapack_dstegr Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix or a symmetric matrix reduced to this form (Relatively Robust Representations) F08JS nagf_lapack_zsteqr Computes all eigenvalues and eigenvectors of real symmetric tridiagonal matrix, reduced from complex Hermitian matrix, using the implicit QL or QR algorithm F08JU nagf_lapack_zpteqr Computes all eigenvalues and eigenvectors of real symmetric positive definite tridiagonal matrix, reduced from complex Hermitian positive definite matrix F08JV nagf_lapack_zstedc Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix or a complex Hermitian matrix reduced to this form (divide-and-conquer) F08JX nagf_lapack_zstein Computes selected eigenvectors of real symmetric tridiagonal matrix by inverse iteration, storing eigenvectors in complex array F08JY nagf_lapack_zstegr Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix or a complex Hermitian matrix reduced to this form (Relatively Robust Representations) F08KA nagf_lapack_dgelss Computes the minimum-norm solution to a real linear least squares problem using singular value decomposition F08KB nagf_lapack_dgesvd Computes the singular value decomposition of a real matrix, optionally computing the left and/or right singular vectors F08KC nagf_lapack_dgelsd Computes the minimum-norm solution to a real linear least squares problem using singular value decomposition (divide-and-conquer) F08KD nagf_lapack_dgesdd Computes the singular value decomposition of a real matrix, optionally computing the left and/or right singular vectors (divide-and-conquer) F08KE nagf_lapack_dgebrd Performs an orthogonal reduction of real general rectangular matrix to bidiagonal form F08KF nagf_lapack_dorgbr Generates an orthogonal transformation matrices from reduction to bidiagonal form determined by F08KE F08KG nagf_lapack_dormbr Applies the orthogonal transformations from reduction to bidiagonal form determined by F08KE F08KH nagf_lapack_dgejsv Computes the singular value decomposition of a real matrix, optionally computing the left and/or right singular vectors (preconditioned Jacobi) F08KJ nagf_lapack_dgesvj Computes the singular value decomposition of a real matrix, optionally computing the left and/or right singular vectors (fast Jacobi) F08KN nagf_lapack_zgelss Computes the minimum-norm solution to a complex linear least squares problem using singular value decomposition F08KP nagf_lapack_zgesvd Computes the singular value decomposition of a complex matrix, optionally computing the left and/or right singular vectors F08KQ nagf_lapack_zgelsd Computes the minimum-norm solution to a complex linear least squares problem using singular value decomposition (divide-and-conquer) F08KR nagf_lapack_zgesdd Computes the singular value decomposition of a complex matrix, optionally computing the left and/or right singular vectors (divide-and-conquer) F08KS nagf_lapack_zgebrd Performs a unitary reduction of complex general rectangular matrix to bidiagonal form F08KT nagf_lapack_zungbr Generates unitary transformation matrices from the reduction to bidiagonal form determined by F08KS F08KU nagf_lapack_zunmbr Applies the unitary transformations from reduction to bidiagonal form determined by F08KS F08LE nagf_lapack_dgbbrd Performs a reduction of real rectangular band matrix to upper bidiagonal form F08LS nagf_lapack_zgbbrd Reduction of complex rectangular band matrix to upper bidiagonal form F08MD nagf_lapack_dbdsdc Computes the singular value decomposition of a real bidiagonal matrix, optionally computing the singular vectors (divide-and-conquer) F08ME nagf_lapack_dbdsqr Performs an SVD of real bidiagonal matrix reduced from real general matrix F08MS nagf_lapack_zbdsqr Performs an SVD of real bidiagonal matrix reduced from complex general matrix F08NA nagf_lapack_dgeev Computes all eigenvalues and, optionally, left and/or right eigenvectors of a real nonsymmetric matrix F08NB nagf_lapack_dgeevx Computes all eigenvalues and, optionally, left and/or right eigenvectors of a real nonsymmetric matrix; also, optionally, the balancing transformation, the reciprocal condition numbers for the eigenvalues and for the right eigenvectors F08NE nagf_lapack_dgehrd Performs an orthogonal reduction of real general matrix to upper Hessenberg form F08NF nagf_lapack_dorghr Generates an orthogonal transformation matrix from reduction to Hessenberg form determined by F08NE F08NG nagf_lapack_dormhr Applies the orthogonal transformation matrix from reduction to Hessenberg form determined by F08NE F08NH nagf_lapack_dgebal Balances a real general matrix F08NJ nagf_lapack_dgebak Transforms eigenvectors of real balanced matrix to those of original matrix supplied to F08NH F08NN nagf_lapack_zgeev Computes all eigenvalues and, optionally, left and/or right eigenvectors of a complex nonsymmetric matrix F08NP nagf_lapack_zgeevx Computes all eigenvalues and, optionally, left and/or right eigenvectors of a complex nonsymmetric matrix; also, optionally, the balancing transformation, the reciprocal condition numbers for the eigenvalues and for the right eigenvectors F08NS nagf_lapack_zgehrd Performs a unitary reduction of complex general matrix to upper Hessenberg form F08NT nagf_lapack_zunghr Generates a unitary transformation matrix from reduction to Hessenberg form determined by F08NS F08NU nagf_lapack_zunmhr Applies the unitary transformation matrix from reduction to Hessenberg form determined by F08NS F08NV nagf_lapack_zgebal Balances a complex general matrix F08NW nagf_lapack_zgebak Transforms eigenvectors of complex balanced matrix to those of original matrix supplied to F08NV F08PA nagf_lapack_dgees Computes for real square nonsymmetric matrix, the eigenvalues, the real Schur form, and, optionally, the matrix of Schur vectors F08PB nagf_lapack_dgeesx Computes for real square nonsymmetric matrix, the eigenvalues, the real Schur form, and, optionally, the matrix of Schur vectors; also, optionally, computes reciprocal condition numbers for selected eigenvalues F08PE nagf_lapack_dhseqr Computes the eigenvalues and Schur factorization of real upper Hessenberg matrix reduced from real general matrix F08PK nagf_lapack_dhsein Computes selected right and/or left eigenvectors of real upper Hessenberg matrix by inverse iteration F08PN nagf_lapack_zgees Computes for complex square nonsymmetric matrix, the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors F08PP nagf_lapack_zgeesx Computes for real square nonsymmetric matrix, the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors; also computes a reciprocal condition number for the average of the selected eigenvalues and for the right invariant subspace corresponding to these eigenvalues F08PS nagf_lapack_zhseqr Computes the eigenvalues and Schur factorization of complex upper Hessenberg matrix reduced from complex general matrix F08PX nagf_lapack_zhsein Computes selected right and/or left eigenvectors of complex upper Hessenberg matrix by inverse iteration F08QF nagf_lapack_dtrexc Reorders a Schur factorization of real matrix using orthogonal similarity transformation F08QG nagf_lapack_dtrsen Reorders a Schur factorization of real matrix, form orthonormal basis of right invariant subspace for selected eigenvalues, with estimates of sensitivities F08QH nagf_lapack_dtrsyl Solves the real Sylvester matrix equation AX+XB=C, A and B are upper quasi-triangular or transposes F08QK nagf_lapack_dtrevc Computes left and right eigenvectors of real upper quasi-triangular matrix F08QL nagf_lapack_dtrsna Computes estimates of sensitivities of selected eigenvalues and eigenvectors of real upper quasi-triangular matrix F08QT nagf_lapack_ztrexc Reorders a Schur factorization of complex matrix using unitary similarity transformation F08QU nagf_lapack_ztrsen Reorders a Schur factorization of complex matrix, form orthonormal basis of right invariant subspace for selected eigenvalues, with estimates of sensitivities F08QV nagf_lapack_ztrsyl Solves the complex Sylvester matrix equation AX+XB=C, A and B are upper triangular or conjugate-transposes F08QX nagf_lapack_ztrevc Computes left and right eigenvectors of complex upper triangular matrix F08QY nagf_lapack_ztrsna Computes estimates of sensitivities of selected eigenvalues and eigenvectors of complex upper triangular matrix F08RA nagf_lapack_dorcsd Computes the CS decomposition of an orthogonal matrix partitioned into four real submatrices F08RN nagf_lapack_zuncsd Computes the CS decomposition of a unitary matrix partitioned into four complex submatrices F08SA nagf_lapack_dsygv Computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem F08SB nagf_lapack_dsygvx Computes selected eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem F08SC nagf_lapack_dsygvd Computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem (divide-and-conquer) F08SE nagf_lapack_dsygst Performs a reduction to standard form of real symmetric-definite generalized eigenproblem Ax=λBx, ABx=λx or BAx=λx, B factorized by F07FD F08SN nagf_lapack_zhegv Computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem F08SP nagf_lapack_zhegvx Computes selected eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem F08SQ nagf_lapack_zhegvd Computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem (divide-and-conquer) F08SS nagf_lapack_zhegst Performs a reduction to standard form of complex Hermitian-definite generalized eigenproblem Ax=λBx, ABx=λx or BAx=λx, B factorized by F07FR F08TA nagf_lapack_dspgv Computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, packed storage F08TB nagf_lapack_dspgvx Computes selected eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, packed storage F08TC nagf_lapack_dspgvd Computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, packed storage (divide-and-conquer) F08TE nagf_lapack_dspgst Performs a reduction to standard form of real symmetric-definite generalized eigenproblem Ax=λBx, ABx=λx or BAx=λx, packed storage, B factorized by F07GD F08TN nagf_lapack_zhpgv Computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, packed storage F08TP nagf_lapack_zhpgvx Computes selected eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, packed storage F08TQ nagf_lapack_zhpgvd Computes selected eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, packed storage (divide-and-conquer) F08TS nagf_lapack_zhpgst Performs a reduction to standard form of complex Hermitian-definite generalized eigenproblem Ax=λBx, ABx=λx or BAx=λx, packed storage, B factorized by F07GR F08UA nagf_lapack_dsbgv Computes all the eigenvalues, and optionally, the eigenvectors of a real banded generalized symmetric-definite eigenproblem F08UB nagf_lapack_dsbgvx Computes selected eigenvalues, and optionally, the eigenvectors of a real banded generalized symmetric-definite eigenproblem F08UC nagf_lapack_dsbgvd Computes all the eigenvalues, and optionally, the eigenvectors of a real banded generalized symmetric-definite eigenproblem (divide-and-conquer) F08UE nagf_lapack_dsbgst Performs a reduction of real symmetric-definite banded generalized eigenproblem Ax=λBx to standard form Cy=λy, such that C has the same bandwidth as A F08UF nagf_lapack_dpbstf Computes a split Cholesky factorization of real symmetric positive definite band matrix A F08UN nagf_lapack_zhbgv Computes all the eigenvalues, and optionally, the eigenvectors of a complex banded generalized Hermitian-definite eigenproblem F08UP nagf_lapack_zhbgvx Computes selected eigenvalues, and optionally, the eigenvectors of a complex banded generalized Hermitian-definite eigenproblem F08UQ nagf_lapack_zhbgvd Computes all the eigenvalues, and optionally, the eigenvectors of a complex banded generalized Hermitian-definite eigenproblem (divide-and-conquer) F08US nagf_lapack_zhbgst Performs a reduction of complex Hermitian-definite banded generalized eigenproblem Ax=λBx to standard form Cy=λy, such that C has the same bandwidth as A F08UT nagf_lapack_zpbstf Computes a split Cholesky factorization of complex Hermitian positive definite band matrix A F08VA nagf_lapack_dggsvd Computes the generalized singular value decomposition of a real matrix pair F08VC nagf_lapack_dggsvd3 Computes, using BLAS-3, the generalized singular value decomposition of a real matrix pair F08VE nagf_lapack_dggsvp Produces orthogonal matrices that simultaneously reduce the m by n matrix A and the p by n matrix B to upper triangular form F08VG nagf_lapack_dggsvp3 Produces orthogonal matrices, using BLAS-3, that simultaneously reduce the m by n matrix A and the p by n matrix B to upper triangular form F08VN nagf_lapack_zggsvd Computes the generalized singular value decomposition of a complex matrix pair F08VQ nagf_lapack_zggsvd3 Computes, using BLAS-3, the generalized singular value decomposition of a complex matrix pair F08VS nagf_lapack_zggsvp Produces unitary matrices that simultaneously reduce the complex, m by n, matrix A and the complex, p by n, matrix B to upper triangular form F08VU nagf_lapack_zggsvp3 Produces unitary matrices, using BLAS-3, that simultaneously reduce the complex, m by n, matrix A and the complex, p by n, matrix B to upper triangular form F08WA nagf_lapack_dggev Computes, for a real nonsymmetric matrix pair, the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors F08WB nagf_lapack_dggevx Computes, for a real nonsymmetric matrix pair, the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors; also, optionally, the balancing transformation, the reciprocal condition numbers for the eigenvalues and for the right eigenvectors F08WC nagf_lapack_dggev3 Computes, for a real nonsymmetric matrix pair, using BLAS-3, the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors F08WE nagf_lapack_dgghrd Performs an orthogonal reduction of a pair of real general matrices to generalized upper Hessenberg form F08WF nagf_lapack_dgghd3 Performs, using BLAS-3, an orthogonal reduction of a pair of real general matrices to generalized upper Hessenberg form F08WH nagf_lapack_dggbal Balances a pair of real, square, matrices F08WJ nagf_lapack_dggbak Transforms eigenvectors of a pair of real balanced matrices to those of original matrix pair supplied to F08WH F08WN nagf_lapack_zggev Computes, for a complex nonsymmetric matrix pair, the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors F08WP nagf_lapack_zggevx Computes, for a complex nonsymmetric matrix pair, the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors; also, optionally, the balancing transformation, the reciprocal condition numbers for the eigenvalues and for the right eigenvectors F08WQ nagf_lapack_zggev3 Computes, for a complex nonsymmetric matrix pair, using BLAS-3, the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors F08WS nagf_lapack_zgghrd Performs a unitary reduction of a pair of complex general matrices to generalized upper Hessenberg form F08WT nagf_lapack_zgghd3 Performs, using BLAS-3, a unitary reduction of a pair of complex general matrices to generalized upper Hessenberg form F08WV nagf_lapack_zggbal Balances a pair of complex, square, matrices F08WW nagf_lapack_zggbak Transforms eigenvectors of a pair of complex balanced matrices to those of original matrix pair supplied to F08WV F08XA nagf_lapack_dgges Computes, for a real nonsymmetric matrix pair, the generalized eigenvalues, the generalized real Schur form and, optionally, the left and/or right matrices of Schur vectors F08XB nagf_lapack_dggesx Computes, for a real nonsymmetric matrix pair, the generalized eigenvalues, the generalized real Schur form and, optionally, the left and/or right matrices of Schur vectors; also, optionally, computes reciprocal condition numbers for selected eigenvalues F08XC nagf_lapack_dgges3 Computes, for a real nonsymmetric matrix pair, using BLAS-3, the generalized eigenvalues, the generalized real Schur form and, optionally, the left and/or right matrices of Schur vectors F08XE nagf_lapack_dhgeqz Computes eigenvalues and generalized Schur factorization of real generalized upper Hessenberg form reduced from a pair of real general matrices F08XN nagf_lapack_zgges Computes, for a complex nonsymmetric matrix pair, the generalized eigenvalues, the generalized complex Schur form and, optionally, the left and/or right matrices of Schur vectors F08XP nagf_lapack_zggesx Computes, for a complex nonsymmetric matrix pair, the generalized eigenvalues, the generalized complex Schur form and, optionally, the left and/or right matrices of Schur vectors; also, optionally, computes reciprocal condition numbers for selected eigenvalues F08XQ nagf_lapack_zgges3 Computes, for a complex nonsymmetric matrix pair, using BLAS-3, the generalized eigenvalues, the generalized complex Schur form and, optionally, the left and/or right matrices of Schur vectors F08XS nagf_lapack_zhgeqz Eigenvalues and generalized Schur factorization of complex generalized upper Hessenberg form reduced from a pair of complex, square, matrices F08YE nagf_lapack_dtgsja Computes the generalized singular value decomposition of a real upper triangular (or trapezoidal) matrix pair F08YF nagf_lapack_dtgexc Reorders the generalized real Schur decomposition of a real matrix pair using an orthogonal equivalence transformation F08YG nagf_lapack_dtgsen Reorders the generalized real Schur decomposition of a real matrix pair using an orthogonal equivalence transformation, computes the generalized eigenvalues of the reordered pair and, optionally, computes the estimates of reciprocal condition numbers for eigenvalues and eigenspaces F08YH nagf_lapack_dtgsyl Solves the real-valued, generalized, quasi-trangular, Sylvester equation F08YK nagf_lapack_dtgevc Computes right and left generalized eigenvectors of the matrix pair (A,B) which is assumed to be in generalized upper Schur form F08YL nagf_lapack_dtgsna Estimates reciprocal condition numbers for specified eigenvalues and/or eigenvectors of a real matrix pair in generalized real Schur canonical form F08YS nagf_lapack_ztgsja Computes the generalized singular value decomposition of a complex upper triangular (or trapezoidal) matrix pair F08YT nagf_lapack_ztgexc Reorders the generalized Schur decomposition of a complex matrix pair using an unitary equivalence transformation F08YU nagf_lapack_ztgsen Reorders the generalized Schur decomposition of a complex matrix pair using an unitary equivalence transformation, computes the generalized eigenvalues of the reordered pair and, optionally, computes the estimates of reciprocal condition numbers for eigenvalues and eigenspaces F08YV nagf_lapack_ztgsyl Solves the complex generalized Sylvester equation F08YX nagf_lapack_ztgevc Computes left and right eigenvectors of a pair of complex upper triangular matrices F08YY nagf_lapack_ztgsna Estimates reciprocal condition numbers for specified eigenvalues and/or eigenvectors of a complex matrix pair in generalized Schur canonical form F08ZA nagf_lapack_dgglse Solves the real linear equality-constrained least squares (LSE) problem F08ZB nagf_lapack_dggglm Solves a real general Gauss–Markov linear model (GLM) problem F08ZE nagf_lapack_dggqrf Computes a generalized QR factorization of a real matrix pair F08ZF nagf_lapack_dggrqf Computes a generalized RQ factorization of a real matrix pair F08ZN nagf_lapack_zgglse Solves the complex linear equality-constrained least squares (LSE) problem F08ZP nagf_lapack_zggglm Solves a complex general Gauss–Markov linear model (GLM) problem F08ZS nagf_lapack_zggqrf Computes a generalized QR factorization of a complex matrix pair F08ZT nagf_lapack_zggrqf Computes a generalized RQ factorization of a complex matrix pair

### F11 – Large Scale Linear Systems

Examples of routines and methods in this chapter.

 F11BD nagf_sparse_real_gen_basic_setup Real sparse nonsymmetric linear systems, setup for F11BE F11BE nagf_sparse_real_gen_basic_solver Real sparse nonsymmetric linear systems, preconditioned RGMRES, CGS, Bi-CGSTAB or TFQMR method F11BF nagf_sparse_real_gen_basic_diag Real sparse nonsymmetric linear systems, diagnostic for F11BE F11BR nagf_sparse_complex_gen_basic_setup Complex sparse non-Hermitian linear systems, setup for F11BS F11BS nagf_sparse_complex_gen_basic_solver Complex sparse non-Hermitian linear systems, preconditioned RGMRES, CGS, Bi-CGSTAB or TFQMR method F11BT nagf_sparse_complex_gen_basic_diag Complex sparse non-Hermitian linear systems, diagnostic for F11BS F11DA nagf_sparse_real_gen_precon_ilu Real sparse nonsymmetric linear systems, incomplete LU factorization F11DB nagf_sparse_real_gen_precon_ilu_solve Solution of linear system involving incomplete LU preconditioning matrix generated by F11DA F11DC nagf_sparse_real_gen_solve_ilu Solution of real sparse nonsymmetric linear system, RGMRES, CGS, Bi-CGSTAB or TFQMR method, preconditioner computed by F11DA F11DD nagf_sparse_real_gen_precon_ssor_solve Solution of linear system involving preconditioning matrix generated by applying SSOR to real sparse nonsymmetric matrix F11DE nagf_sparse_real_gen_solve_jacssor Solution of real sparse nonsymmetric linear system, RGMRES, CGS, Bi-CGSTAB, or TFQMR method, Jacobi or SSOR preconditioner (Black Box) F11DF nagf_sparse_real_gen_precon_bdilu Real sparse nonsymmetric linear system, incomplete LU factorization of local or overlapping diagonal blocks F11DG nagf_sparse_real_gen_solve_bdilu Solution of real sparse nonsymmetric linear system, RGMRES, CGS, Bi-CGSTAB or TFQMR method, incomplete LU block diagonal preconditioner computed by F11DF F11DK nagf_sparse_real_gen_precon_jacobi Real, sparse, symmetric or nonsymmetric, linear systems, line Jacobi preconditioner F11DN nagf_sparse_complex_gen_precon_ilu Complex sparse non-Hermitian linear systems, incomplete LU factorization F11DP nagf_sparse_complex_gen_precon_ilu_solve Solution of complex linear system involving incomplete LU preconditioning matrix generated by F11DN F11DQ nagf_sparse_complex_gen_solve_ilu Solution of complex sparse non-Hermitian linear system, RGMRES, CGS, Bi-CGSTAB or TFQMR method, preconditioner computed by F11DN (Black Box) F11DR nagf_sparse_complex_gen_precon_ssor_solve Solution of linear system involving preconditioning matrix generated by applying SSOR to complex sparse non-Hermitian matrix F11DS nagf_sparse_complex_gen_solve_jacssor Solution of complex sparse non-Hermitian linear system, RGMRES, CGS, Bi-CGSTAB or TFQMR method, Jacobi or SSOR preconditioner Black Box F11DT nagf_sparse_complex_gen_precon_bdilu Complex, sparse, non-Hermitian linear system, incomplete LU factorization of local or overlapping diagonal blocks F11DU nagf_sparse_complex_gen_solve_bdilu Solution of complex, sparse, non-Hermitian linear system, RGMRES, CGS, Bi-CGSTAB or TFQMR method, incomplete LU block diagonal preconditioner computed by F11DT F11DX nagf_sparse_complex_gen_precon_jacobi Complex, sparse, Hermitian or non-Hermitian, linear systems, line Jacobi preconditioner F11GD nagf_sparse_real_symm_basic_setup Real sparse symmetric linear systems, setup for F11GE F11GE nagf_sparse_real_symm_basic_solver Real sparse symmetric linear systems, preconditioned conjugate gradient or Lanczos method or the MINRES algorithm F11GF nagf_sparse_real_symm_basic_diag Real sparse symmetric linear systems, diagnostic for F11GE F11GR nagf_sparse_complex_herm_basic_setup Complex sparse Hermitian linear systems, setup for F11GS F11GS nagf_sparse_complex_herm_basic_solver Complex sparse Hermitian linear systems, preconditioned conjugate gradient or Lanczos F11GT nagf_sparse_complex_herm_basic_diag Complex sparse Hermitian linear systems, diagnostic for F11GS F11JA nagf_sparse_real_symm_precon_ichol Real sparse symmetric matrix, incomplete Cholesky factorization F11JB nagf_sparse_real_symm_precon_ichol_solve Solution of linear system involving incomplete Cholesky preconditioning matrix generated by F11JA F11JC nagf_sparse_real_symm_solve_ichol Solution of real sparse symmetric linear system, conjugate gradient/Lanczos method, preconditioner computed by F11JA (Black Box) F11JD nagf_sparse_real_symm_precon_ssor_solve Solution of linear system involving preconditioning matrix generated by applying SSOR to real sparse symmetric matrix F11JE nagf_sparse_real_symm_solve_jacssor Solution of real sparse symmetric linear system, conjugate gradient/Lanczos method, Jacobi or SSOR preconditioner (Black Box) F11JN nagf_sparse_complex_herm_precon_ilu Complex sparse Hermitian matrix, incomplete Cholesky factorization F11JP nagf_sparse_complex_herm_precon_ilu_solve Solution of complex linear system involving incomplete Cholesky preconditioning matrix generated by F11JN F11JQ nagf_sparse_complex_herm_solve_ilu Solution of complex sparse Hermitian linear system, conjugate gradient/Lanczos method, preconditioner computed by F11JN (Black Box) F11JR nagf_sparse_complex_herm_precon_ssor_solve Solution of linear system involving preconditioning matrix generated by applying SSOR to complex sparse Hermitian matrix F11JS nagf_sparse_complex_herm_solve_jacssor Solution of complex sparse Hermitian linear system, conjugate gradient/Lanczos method, Jacobi or SSOR preconditioner (Black Box) F11MD nagf_sparse_direct_real_gen_setup Real sparse nonsymmetric linear systems, setup for F11ME F11ME nagf_sparse_direct_real_gen_lu LU factorization of real sparse matrix F11MF nagf_sparse_direct_real_gen_solve Solution of real sparse simultaneous linear equations (coefficient matrix already factorized) F11MG nagf_sparse_direct_real_gen_cond Estimate condition number of real matrix, matrix already factorized by F11ME F11MH nagf_sparse_direct_real_gen_refine Refined solution with error bounds of real system of linear equations, multiple right-hand sides F11MK nagf_sparse_direct_real_gen_matmul Real sparse nonsymmetric matrix-matrix multiply, compressed column storage F11ML nagf_sparse_direct_real_gen_norm 1-norm, ∞-norm, largest absolute element, real, square, sparse matrix F11MM nagf_sparse_direct_real_gen_diag Real sparse nonsymmetric linear systems, diagnostic for F11ME F11XA nagf_sparse_real_gen_matvec Real, sparse, nonsymmetric matrix-vector multiply F11XE nagf_sparse_real_symm_matvec Real sparse symmetric matrix-vector multiply F11XN nagf_sparse_complex_gen_matvec Complex sparse non-Hermitian matrix-vector multiply F11XS nagf_sparse_complex_herm_matvec Complex sparse Hermitian matrix-vector multiply F11YE nagf_sparse_sym_rcm Reverse Cuthill–McKee reordering of a sparse symmetric matrix in CCS format F11ZA nagf_sparse_real_gen_sort Real sparse nonsymmetric matrix reorder routine F11ZB nagf_sparse_real_symm_sort Real sparse symmetric matrix reorder routine F11ZN nagf_sparse_complex_gen_sort Complex sparse non-Hermitian matrix reorder routine F11ZP nagf_sparse_complex_herm_sort Complex sparse Hermitian matrix reorder routine

### F12 – Large Scale Eigenproblems

Examples of routines and methods in this chapter.

 F12AA nagf_sparseig_real_init Initialization routine for (F12AB) computing selected eigenvalues and, optionally, eigenvectors of a real nonsymmetric sparse (standard or generalized) eigenproblem F12AB nagf_sparseig_real_iter Selected eigenvalues and, optionally, eigenvectors of a real nonsymmetric sparse eigenproblem, reverse communication F12AC nagf_sparseig_real_proc Selected eigenvalues and, optionally, eigenvectors of a real nonsymmetric sparse eigenproblem, postprocessing for F12AB F12AD nagf_sparseig_real_option Set a single option from a string (F12AB/F12AC/F12AG) F12AE nagf_sparseig_real_monit Provides monitoring information for F12AB F12AF nagf_sparseig_real_band_init Initialization routine for (F12AG) computing selected eigenvalues and, optionally, eigenvectors of a real nonsymmetric banded (standard or generalized) eigenproblem F12AG nagf_sparseig_real_band_solve Selected eigenvalues and, optionally, eigenvectors of a real nonsymmetric banded eigenproblem, driver F12AN nagf_sparseig_complex_init Initialization routine for (F12AP) computing selected eigenvalues and, optionally, eigenvectors of a complex sparse (standard or generalized) eigenproblem F12AP nagf_sparseig_complex_iter Selected eigenvalues and, optionally, eigenvectors of a complex sparse eigenproblem, reverse communication F12AQ nagf_sparseig_complex_proc Selected eigenvalues and, optionally, eigenvectors of a complex sparse eigenproblem, postprocessing for F12AP F12AR nagf_sparseig_complex_option Set a single option from a string (F12AP/F12AQ) F12AS nagf_sparseig_complex_monit Provides monitoring information for F12AP F12AT nagf_sparseig_complex_band_init Initialization routine for F12AU computing selected eigenvalues and, optionally, eigenvectors of a complex banded (standard or generalized) eigenproblem F12AU nagf_sparseig_complex_band_solve Selected eigenvalues and, optionally, eigenvectors of complex non-Hermitian banded eigenproblem, driver F12FA nagf_sparseig_real_symm_init Initialization routine for (F12FB) computing selected eigenvalues and, optionally, eigenvectors of a real symmetric sparse (standard or generalized) eigenproblem F12FB nagf_sparseig_real_symm_iter Selected eigenvalues and, optionally, eigenvectors of a real symmetric sparse eigenproblem, reverse communication F12FC nagf_sparseig_real_symm_proc Selected eigenvalues and, optionally, eigenvectors of a real symmetric sparse eigenproblem, postprocessing for F12FB F12FD nagf_sparseig_real_symm_option Set a single option from a string (F12FB/F12FC/F12FG) F12FE nagf_sparseig_real_symm_monit Provides monitoring information for F12FB F12FF nagf_sparseig_real_symm_band_init Initialization routine for (F12FG) computing selected eigenvalues and, optionally, eigenvectors of a real symmetric banded (standard or generalized) eigenproblem F12FG nagf_sparseig_real_symm_band_solve Selected eigenvalues and, optionally, eigenvectors of a real symmetric banded eigenproblem, driver

### F16 – Further Linear Algebra Support Routines

Examples of routines and methods in this chapter.

 F16DL nagf_blast_isum Sum elements of integer vector F16DN nagf_blast_imax_val Maximum value and location, integer vector F16DP nagf_blast_imin_val Minimum value and location, integer vector F16DQ nagf_blast_iamax_val Maximum absolute value and location, integer vector F16DR nagf_blast_iamin_val Minimum absolute value and location, integer vector F16EA nagf_blast_ddot Dot product of two vectors, allows scaling and accumulation F16EC nagf_blast_daxpby Real weighted vector addition F16EH nagf_blast_dwaxpby Real weighted vector addition preserving input F16EL nagf_blast_dsum Sum elements of real vector F16GC nagf_blast_zaxpby Complex weighted vector addition F16GH nagf_blast_zwaxpby Complex weighted vector addition preserving input F16GL nagf_blast_zsum Sum elements of complex vector F16JN nagf_blast_dmax_val Maximum value and location, real vector F16JP nagf_blast_dmin_val Minimum value and location, real vector F16JQ nagf_blast_damax_val Maximum absolute value and location, real vector F16JR nagf_blast_damin_val Minimum absolute value and location, real vector F16JS nagf_blast_zamax_val Maximum absolute value and location, complex vector F16JT nagf_blast_zamin_val Minimum absolute value and location, complex vector F16RB nagf_blast_dgb_norm 1-norm, ∞-norm, Frobenius norm, largest absolute element, real band matrix F16UB nagf_blast_zgb_norm 1-norm, ∞-norm, Frobenius norm, largest absolute element, complex band matrix

### G01 – Simple Calculations on Statistical Data

Examples of routines and methods in this chapter.

 G01AB nagf_stat_summary_2var Means, corrected sums of squares and cross-products, etc., two variables, from raw data G01AD nagf_stat_summary_freq Mean, variance, skewness, kurtosis, etc., one variable, from frequency table G01AE nagf_stat_frequency_table Frequency table from raw data G01AF nagf_stat_contingency_table Two-way contingency table analysis, with χ2/Fisher's exact test G01AL nagf_stat_5pt_summary Computes a five-point summary (median, hinges and extremes) G01AM nagf_stat_quantiles Find quantiles of an unordered vector, real numbers G01AN nagf_stat_quantiles_stream_fixed Calculates approximate quantiles from a data stream of known size G01AP nagf_stat_quantiles_stream_arbitrary Calculates approximate quantiles from a data stream of unknown size G01AR nagf_stat_plot_stem_leaf Constructs a stem and leaf plot G01AS nagf_stat_plot_box_whisker Constructs a box and whisker plot G01AT nagf_stat_summary_onevar Computes univariate summary information: mean, variance, skewness, kurtosis G01AU nagf_stat_summary_onevar_combine Combines multiple sets of summary information, for use after G01AT G01BJ nagf_stat_prob_binomial Binomial distribution function G01BK nagf_stat_prob_poisson Poisson distribution function G01BL nagf_stat_prob_hypergeom Hypergeometric distribution function G01DA nagf_stat_normal_scores_exact Normal scores, accurate values G01DB nagf_stat_normal_scores_approx Normal scores, approximate values G01DC nagf_stat_normal_scores_var Normal scores, approximate variance-covariance matrix G01DD nagf_stat_test_shapiro_wilk Shapiro and Wilk's W test for Normality G01DH nagf_stat_ranks_and_scores Ranks, Normal scores, approximate Normal scores or exponential (Savage) scores G01EA nagf_stat_prob_normal Computes probabilities for the standard Normal distribution G01EB nagf_stat_prob_students_t Computes probabilities for Student's t-distribution G01EC nagf_stat_prob_chisq Computes probabilities for χ2 distribution G01ED nagf_stat_prob_f Computes probabilities for F-distribution G01EE nagf_stat_prob_beta Computes upper and lower tail probabilities and probability density function for the beta distribution G01EF nagf_stat_prob_gamma Computes probabilities for the gamma distribution G01EM nagf_stat_prob_studentized_range Computes probability for the Studentized range statistic G01EP nagf_stat_prob_durbin_watson Computes bounds for the significance of a Durbin–Watson statistic G01ER nagf_stat_prob_vonmises Computes probability for von Mises distribution G01ET nagf_stat_prob_landau Landau distribution function G01EU nagf_stat_prob_vavilov Vavilov distribution function G01EW nagf_stat_prob_dickey_fuller_unit Computes probabilities for the Dickey–Fuller unit root test G01EY nagf_stat_prob_kolmogorov1 Computes probabilities for the one-sample Kolmogorov–Smirnov distribution G01EZ nagf_stat_prob_kolmogorov2 Computes probabilities for the two-sample Kolmogorov–Smirnov distribution G01FA nagf_stat_inv_cdf_normal Computes deviates for the standard Normal distribution G01FB nagf_stat_inv_cdf_students_t Computes deviates for Student's t-distribution G01FC nagf_stat_inv_cdf_chisq Computes deviates for the χ2 distribution G01FD nagf_stat_inv_cdf_f Computes deviates for the F-distribution G01FE nagf_stat_inv_cdf_beta Computes deviates for the beta distribution G01FF nagf_stat_inv_cdf_gamma Computes deviates for the gamma distribution G01FM nagf_stat_inv_cdf_studentized_range Computes deviates for the Studentized range statistic G01FT nagf_stat_inv_cdf_landau Landau inverse function Ψ(x) G01GB nagf_stat_prob_students_t_noncentral Computes probabilities for the non-central Student's t-distribution G01GC nagf_stat_prob_chisq_noncentral Computes probabilities for the non-central χ2 distribution G01GD nagf_stat_prob_f_noncentral Computes probabilities for the non-central F-distribution G01GE nagf_stat_prob_beta_noncentral Computes probabilities for the non-central beta distribution G01HA nagf_stat_prob_bivariate_normal Computes probability for the bivariate Normal distribution G01HB nagf_stat_prob_multi_normal Computes probabilities for the multivariate Normal distribution G01HC nagf_stat_prob_bivariate_students_t Computes probabilities for the bivariate Student's t-distribution G01HD nagf_stat_prob_multi_students_t Computes the probability for the multivariate Student's t-distribution G01JC nagf_stat_prob_chisq_noncentral_lincomb Computes probability for a positive linear combination of χ2 variables G01JD nagf_stat_prob_chisq_lincomb Computes lower tail probability for a linear combination of (central) χ2 variables G01KA nagf_stat_pdf_normal Calculates the value for the probability density function of the Normal distribution at a chosen point G01KF nagf_stat_pdf_gamma Calculates the value for the probability density function of the gamma distribution at a chosen point G01KK nagf_stat_pdf_gamma_vector Computes a vector of values for the probability density function of the gamma distribution G01KQ nagf_stat_pdf_normal_vector Computes a vector of values for the probability density function of the Normal distribution G01LB nagf_stat_pdf_multi_normal_vector Computes a vector of values for the probability density function of the multivariate Normal distribution G01MB nagf_stat_mills_ratio Computes reciprocal of Mills' Ratio G01MT nagf_stat_pdf_landau Landau density function ϕ(λ) G01MU nagf_stat_pdf_vavilov Vavilov density function ϕV(λ;κ,β2) G01NA nagf_stat_moments_quad_form Cumulants and moments of quadratic forms in Normal variables G01NB nagf_stat_moments_ratio_quad_forms Moments of ratios of quadratic forms in Normal variables, and related statistics G01PT nagf_stat_pdf_landau_moment1 Landau first moment function Φ1(x) G01QT nagf_stat_pdf_landau_moment2 Landau second moment function Φ2(x) G01RT nagf_stat_pdf_landau_deriv Landau derivative function ϕ′(λ) G01SA nagf_stat_prob_normal_vector Computes a vector of probabilities for the standard Normal distribution G01SB nagf_stat_prob_students_t_vector Computes a vector of probabilities for the Student's t-distribution G01SC nagf_stat_prob_chisq_vector Computes a vector of probabilities for χ2 distribution G01SD nagf_stat_prob_f_vector Computes a vector of probabilities for F-distribution G01SE nagf_stat_prob_beta_vector Computes a vector of probabilities for the beta distribution G01SF nagf_stat_prob_gamma_vector Computes a vector of probabilities for the gamma distribution G01SJ nagf_stat_prob_binomial_vector Computes a vector of probabilities for the binomial distribution G01SK nagf_stat_prob_poisson_vector Computes a vector of probabilities for the Poisson distribution G01SL nagf_stat_prob_hypergeom_vector Computes a vector of probabilities for the hypergeometric distribution G01TA nagf_stat_inv_cdf_normal_vector Computes a vector of deviates for the standard Normal distribution G01TB nagf_stat_inv_cdf_students_t_vector Computes a vector of deviates for Student's t-distribution G01TC nagf_stat_inv_cdf_chisq_vector Computes a vector of deviates for χ2 distribution G01TD nagf_stat_inv_cdf_f_vector Computes a vector of deviates for F-distribution G01TE nagf_stat_inv_cdf_beta_vector Computes a vector of deviates for the beta distribution G01TF nagf_stat_inv_cdf_gamma_vector Computes a vector of deviates for the gamma distribution G01WA nagf_stat_moving_average Computes the mean and standard deviation using a rolling window G01ZU nagf_stat_init_vavilov Initialization routine for G01MU and G01EU

### G02 – Correlation and Regression Analysis

Examples of routines and methods in this chapter.

 G02AA nagf_correg_corrmat_nearest Computes the nearest correlation matrix to a real square matrix, using the method of Qi and Sun G02AB nagf_correg_corrmat_nearest_bounded Computes the nearest correlation matrix to a real square matrix, augmented G02AA to incorporate weights and bounds G02AE nagf_correg_corrmat_nearest_kfactor Computes the nearest correlation matrix with k-factor structure to a real square matrix G02AJ nagf_nearest_correlation_h_weight Computes the nearest correlation matrix to a real square matrix, using element-wise weighting G02AN nagf_nearest_correlation_shrinking Computes a correlation matrix from an approximate matrix with fixed submatrix G02AP nagf_nearest_correlation_target Computes a correlation matrix from an approximate one using a specified target matrix G02BA nagf_correg_coeffs_pearson Pearson product-moment correlation coefficients, all variables, no missing values G02BB nagf_correg_coeffs_pearson_miss_case Pearson product-moment correlation coefficients, all variables, casewise treatment of missing values G02BC nagf_correg_coeffs_pearson_miss_pair Pearson product-moment correlation coefficients, all variables, pairwise treatment of missing values G02BD nagf_correg_coeffs_zero Correlation-like coefficients (about zero), all variables, no missing values G02BE nagf_correg_coeffs_zero_miss_case Correlation-like coefficients (about zero), all variables, casewise treatment of missing values G02BF nagf_correg_coeffs_zero_miss_pair Correlation-like coefficients (about zero), all variables, pairwise treatment of missing values G02BG nagf_correg_coeffs_pearson_subset Pearson product-moment correlation coefficients, subset of variables, no missing values G02BH nagf_correg_coeffs_pearson_subset_miss_case Pearson product-moment correlation coefficients, subset of variables, casewise treatment of missing values G02BJ nagf_correg_coeffs_pearson_subset_miss_pair Pearson product-moment correlation coefficients, subset of variables, pairwise treatment of missing values G02BK nagf_correg_coeffs_zero_subset Correlation-like coefficients (about zero), subset of variables, no missing values G02BL nagf_correg_coeffs_zero_subset_miss_case Correlation-like coefficients (about zero), subset of variables, casewise treatment of missing values G02BM nagf_correg_coeffs_zero_subset_miss_pair Correlation-like coefficients (about zero), subset of variables, pairwise treatment of missing values G02BN nagf_correg_coeffs_kspearman_overwrite Kendall/Spearman non-parametric rank correlation coefficients, no missing values, overwriting input data G02BP nagf_correg_coeffs_kspearman_miss_case_overwrite Kendall/Spearman non-parametric rank correlation coefficients, casewise treatment of missing values, overwriting input data G02BQ nagf_correg_coeffs_kspearman Kendall/Spearman non-parametric rank correlation coefficients, no missing values, preserving input data G02BR nagf_correg_coeffs_kspearman_miss_case Kendall/Spearman non-parametric rank correlation coefficients, casewise treatment of missing values, preserving input data G02BS nagf_correg_coeffs_kspearman_miss_pair Kendall/Spearman non-parametric rank correlation coefficients, pairwise treatment of missing values G02BT nagf_correg_ssqmat_update Update a weighted sum of squares matrix with a new observation G02BU nagf_correg_ssqmat Computes a weighted sum of squares matrix G02BW nagf_correg_ssqmat_to_corrmat Computes a correlation matrix from a sum of squares matrix G02BX nagf_correg_corrmat Computes (optionally weighted) correlation and covariance matrices G02BY nagf_correg_corrmat_partial Computes partial correlation/variance-covariance matrix from correlation/variance-covariance matrix computed by G02BX G02BZ nagf_correg_ssqmat_combine Combines two sums of squares matrices, for use after G02BU G02CA nagf_correg_linregs_const Simple linear regression with constant term, no missing values G02CB nagf_correg_linregs_noconst Simple linear regression without constant term, no missing values G02CC nagf_correg_linregs_const_miss Simple linear regression with constant term, missing values G02CD nagf_correg_linregs_noconst_miss Simple linear regression without constant term, missing values G02CE nagf_correg_linregm_service_select Service routine for multiple linear regression, select elements from vectors and matrices G02CF nagf_correg_linregm_service_reorder Service routine for multiple linear regression, reorder elements of vectors and matrices G02CG nagf_correg_linregm_coeffs_const Multiple linear regression, from correlation coefficients, with constant term G02CH nagf_correg_linregm_coeffs_noconst Multiple linear regression, from correlation-like coefficients, without constant term G02DA nagf_correg_linregm_fit Fits a general (multiple) linear regression model G02DC nagf_correg_linregm_obs_edit Add/delete an observation to/from a general linear regression model G02DD nagf_correg_linregm_update Estimates of linear parameters and general linear regression model from updated model G02DE nagf_correg_linregm_var_add Add a new independent variable to a general linear regression model G02DF nagf_correg_linregm_var_del Delete an independent variable from a general linear regression model G02DG nagf_correg_linregm_fit_newvar Fits a general linear regression model to new dependent variable G02DK nagf_correg_linregm_constrain Estimates and standard errors of parameters of a general linear regression model for given constraints G02DN nagf_correg_linregm_estfunc Computes estimable function of a general linear regression model and its standard error G02EA nagf_correg_linregm_rssq Computes residual sums of squares for all possible linear regressions for a set of independent variables G02EC nagf_correg_linregm_rssq_stat Calculates R2 and CP values from residual sums of squares G02EE nagf_correg_linregm_fit_onestep Fits a linear regression model by forward selection G02EF nagf_correg_linregm_fit_stepwise Stepwise linear regression G02FA nagf_correg_linregm_stat_resinf Calculates standardized residuals and influence statistics G02FC nagf_correg_linregm_stat_durbwat Computes Durbin–Watson test statistic G02GA nagf_correg_glm_normal Fits a generalized linear model with Normal errors G02GB nagf_correg_glm_binomial Fits a generalized linear model with binomial errors G02GC nagf_correg_glm_poisson Fits a generalized linear model with Poisson errors G02GD nagf_correg_glm_gamma Fits a generalized linear model with gamma errors G02GK nagf_correg_glm_constrain Estimates and standard errors of parameters of a general linear model for given constraints G02GN nagf_correg_glm_estfunc Computes estimable function of a generalized linear model and its standard error G02GP nagf_correg_glm_predict Computes a predicted value and its associated standard error based on a previously fitted generalized linear model G02HA nagf_correg_robustm Robust regression, standard M-estimates G02HB nagf_correg_robustm_wts Robust regression, compute weights for use with G02HD G02HD nagf_correg_robustm_user Robust regression, compute regression with user-supplied functions and weights G02HF nagf_correg_robustm_user_varmat Robust regression, variance-covariance matrix following G02HD G02HK nagf_correg_robustm_corr_huber Calculates a robust estimation of a covariance matrix, Huber's weight function G02HL nagf_correg_robustm_corr_user_deriv Calculates a robust estimation of a covariance matrix, user-supplied weight function plus derivatives G02HM nagf_correg_robustm_corr_user Calculates a robust estimation of a covariance matrix, user-supplied weight function G02JA nagf_correg_mixeff_reml Linear mixed effects regression using Restricted Maximum Likelihood (REML) G02JB nagf_correg_mixeff_ml Linear mixed effects regression using Maximum Likelihood (ML) G02JC nagf_correg_mixeff_hier_init Hierarchical mixed effects regression, initialization routine for G02JD and G02JE G02JD nagf_correg_mixeff_hier_reml Hierarchical mixed effects regression using Restricted Maximum Likelihood (REML) G02JE nagf_correg_mixeff_hier_ml Hierarchical mixed effects regression using Maximum Likelihood (ML) G02KA nagf_correg_ridge_opt Ridge regression, optimizing a ridge regression parameter G02KB nagf_correg_ridge Ridge regression using a number of supplied ridge regression parameters G02LA nagf_correg_pls_svd Partial least squares (PLS) regression using singular value decomposition G02LB nagf_correg_pls_wold Partial least squares (PLS) regression using Wold's iterative method G02LC nagf_correg_pls_fit PLS parameter estimates following partial least squares regression by G02LA and G02LB G02LD nagf_correg_pls_pred PLS predictions based on parameter estimates from G02LC G02MA nagf_correg_lars Least angle regression (LARS), least absolute shrinkage and selection operator (LASSO) and forward stagewise regression G02MB nagf_correg_lars_xtx Least Angle Regression (LARS), Least Absolute Shrinkage and Selection Operator (LASSO) and forward stagewise regression using the cross-products matrix G02MC nagf_correg_lars_param Calculates additional parameter estimates following Least Angle Regression (LARS), Least Absolute Shrinkage and Selection Operator (LASSO) or forward stagewise regression G02QF nagf_correg_quantile_linreg_easy Linear quantile regression, simple interface, independent, identically distributed (IID) errors G02QG nagf_correg_quantile_linreg Linear quantile regression, comprehensive interface G02ZK nagf_correg_optset Option setting routine for G02QG G02ZL nagf_correg_optget Option getting routine for G02QG

### G03 – Multivariate Methods

Examples of routines and methods in this chapter.

 G03AA nagf_mv_prin_comp Performs principal component analysis G03AC nagf_mv_canon_var Performs canonical variate analysis G03AD nagf_mv_canon_corr Performs canonical correlation analysis G03BA nagf_mv_rot_orthomax Computes orthogonal rotations for loading matrix, generalized orthomax criterion G03BC nagf_mv_rot_procrustes Computes Procrustes rotations G03BD nagf_mv_rot_promax ProMax rotations G03CA nagf_mv_factor Computes maximum likelihood estimates of the parameters of a factor analysis model, factor loadings, communalities and residual correlations G03CC nagf_mv_factor_score Computes factor score coefficients (for use after G03CA) G03DA nagf_mv_discrim Computes test statistic for equality of within-group covariance matrices and matrices for discriminant analysis G03DB nagf_mv_discrim_mahal Computes Mahalanobis squared distances for group or pooled variance-covariance matrices (for use after G03DA) G03DC nagf_mv_discrim_group Allocates observations to groups according to selected rules (for use after G03DA) G03EA nagf_mv_distance_mat Computes distance matrix G03EC nagf_mv_cluster_hier Hierarchical cluster analysis G03EF nagf_mv_cluster_kmeans K-means cluster analysis G03EH nagf_mv_cluster_hier_dendrogram Constructs dendrogram (for use after G03EC) G03EJ nagf_mv_cluster_hier_indicator Computes cluster indicator variable (for use after G03EC) G03FA nagf_mv_multidimscal_metric Performs principal coordinate analysis, classical metric scaling G03FC nagf_mv_multidimscal_ordinal Performs non-metric (ordinal) multidimensional scaling G03GA nagf_mv_gaussian_mixture Fits a Gaussian mixture model G03ZA nagf_mv_z_scores Produces standardized values (z-scores) for a data matrix

### G04 – Analysis of Variance

Examples of routines and methods in this chapter.

 G04AG nagf_anova_hier2 Two-way analysis of variance, hierarchical classification, subgroups of unequal size G04BB nagf_anova_random Analysis of variance, randomized block or completely randomized design, treatment means and standard errors G04BC nagf_anova_rowcol Analysis of variance, general row and column design, treatment means and standard errors G04CA nagf_anova_factorial Analysis of variance, complete factorial design, treatment means and standard errors G04DA nagf_anova_contrasts Computes sum of squares for contrast between means G04DB nagf_anova_confidence Computes confidence intervals for differences between means computed by G04BB or G04BC G04EA nagf_anova_dummyvars Computes orthogonal polynomials or dummy variables for factor/classification variable

### G05 – Random Number Generators

Examples of routines and methods in this chapter.

 G05KF nagf_rand_init_repeat Initializes a pseudorandom number generator to give a repeatable sequence G05KG nagf_rand_init_nonrepeat Initializes a pseudorandom number generator to give a non-repeatable sequence G05KH nagf_rand_init_leapfrog Primes a pseudorandom number generator for generating multiple streams using leap-frog G05KJ nagf_rand_init_skipahead Primes a pseudorandom number generator for generating multiple streams using skip-ahead G05KK nagf_rand_init_skipahead_power2 Primes a pseudorandom number generator for generating multiple streams using skip-ahead, skipping ahead a power of 2 G05NC nagf_rand_permute Pseudorandom permutation of an integer vector G05ND nagf_rand_sample Pseudorandom sample from an integer vector G05NE nagf_rand_sample_wgt Pseudorandom sample, without replacement, unequal weights G05PD nagf_rand_times_garch_asym1 Generates a realization of a time series from a GARCH process with asymmetry of the form (εt-1+γ)2 G05PE nagf_rand_times_garch_asym2 Generates a realization of a time series from a GARCH process with asymmetry of the form (|εt-1|+γ⁢εt-1)2 G05PF nagf_rand_times_garch_GJR Generates a realization of a time series from an asymmetric Glosten, Jagannathan and Runkle (GJR) GARCH process G05PG nagf_rand_times_garch_exp Generates a realization of a time series from an exponential GARCH (EGARCH) process G05PH nagf_rand_times_arma Generates a realization of a time series from an ARMA model G05PJ nagf_rand_times_mv_varma Generates a realization of a multivariate time series from a VARMA model G05PM nagf_rand_times_smooth_exp Generates a realization of a time series from an exponential smoothing model G05PV nagf_rand_kfold_xyw Permutes a matrix, vector, vector triplet into a form suitable for K-fold cross validation G05PW nagf_rand_subsamp_xyw Permutes a matrix, vector, vector triplet into a form suitable for random sub-sampling validation G05PX nagf_rand_matrix_orthog Generates a random orthogonal matrix G05PY nagf_rand_matrix_corr Generates a random correlation matrix G05PZ nagf_rand_matrix_2waytable Generates a random two-way table G05RC nagf_rand_copula_students_t Generates a matrix of pseudorandom numbers from a Student's t-copula G05RD nagf_rand_copula_normal Generates a matrix of pseudorandom numbers from a Gaussian copula G05RE nagf_rand_copula_clayton_bivar Generates a matrix of pseudorandom numbers from a bivariate Clayton/Cook–Johnson copula G05RF nagf_rand_copula_frank_bivar Generates a matrix of pseudorandom numbers from a bivariate Frank copula G05RG nagf_rand_copula_plackett_bivar Generates a matrix of pseudorandom numbers from a bivariate Plackett copula G05RH nagf_rand_copula_clayton Generates a matrix of pseudorandom numbers from a multivariate Clayton/Cook–Johnson copula G05RJ nagf_rand_copula_frank Generates a matrix of pseudorandom numbers from a multivariate Frank copula G05RK nagf_rand_copula_gumbel Generates a matrix of pseudorandom numbers from a Gumbel–Hougaard copula G05RY nagf_rand_multivar_students_t Generates a matrix of pseudorandom numbers from a multivariate Student's t-distribution G05RZ nagf_rand_multivar_normal Generates a matrix of pseudorandom numbers from a multivariate Normal distribution G05SA nagf_rand_dist_uniform01 Generates a vector of pseudorandom numbers from a uniform distribution over (0,1] G05SB nagf_rand_dist_beta Generates a vector of pseudorandom numbers from a beta distribution G05SC nagf_rand_dist_cauchy Generates a vector of pseudorandom numbers from a Cauchy distribution G05SD nagf_rand_dist_chisq Generates a vector of pseudorandom numbers from a χ2 distribution G05SE nagf_rand_dist_dirichlet Generates a vector of pseudorandom numbers from a Dirichlet distribution G05SF nagf_rand_dist_exp Generates a vector of pseudorandom numbers from an exponential distribution G05SG nagf_rand_dist_expmix Generates a vector of pseudorandom numbers from an exponential mix distribution G05SH nagf_rand_dist_f Generates a vector of pseudorandom numbers from an F-distribution G05SJ nagf_rand_dist_gamma Generates a vector of pseudorandom numbers from a gamma distribution G05SK nagf_rand_dist_normal Generates a vector of pseudorandom numbers from a Normal distribution G05SL nagf_rand_dist_logistic Generates a vector of pseudorandom numbers from a logistic distribution G05SM nagf_rand_dist_lognormal Generates a vector of pseudorandom numbers from a log-normal distribution G05SN nagf_rand_dist_students_t Generates a vector of pseudorandom numbers from a Student's t-distribution G05SP nagf_rand_dist_triangular Generates a vector of pseudorandom numbers from a triangular distribution G05SQ nagf_rand_dist_uniform Generates a vector of pseudorandom numbers from a uniform distribution over [a,b] G05SR nagf_rand_dist_vonmises Generates a vector of pseudorandom numbers from a von Mises distribution G05SS nagf_rand_dist_weibull Generates a vector of pseudorandom numbers from a Weibull distribution G05TA nagf_rand_int_binomial Generates a vector of pseudorandom integers from a binomial distribution G05TB nagf_rand_logical Generates a vector of pseudorandom logical values G05TC nagf_rand_int_geom Generates a vector of pseudorandom integers from a geometric distribution G05TD nagf_rand_int_general Generates a vector of pseudorandom integers from a general discrete distribution G05TE nagf_rand_int_hypergeom Generates a vector of pseudorandom integers from a hypergeometric distribution G05TF nagf_rand_int_log Generates a vector of pseudorandom integers from a logarithmic distribution G05TG nagf_rand_int_multinomial Generates a vector of pseudorandom integers from a multinomial distribution G05TH nagf_rand_int_negbin Generates a vector of pseudorandom integers from a negative binomial distribution G05TJ nagf_rand_int_poisson Generates a vector of pseudorandom integers from a Poisson distribution G05TK nagf_rand_int_poisson_varmean Generates a vector of pseudorandom integers from a Poisson distribution with varying mean G05TL nagf_rand_int_uniform Generates a vector of pseudorandom integers from a uniform distribution G05XA nagf_rand_bb_init Initializes the Brownian bridge generator G05XB nagf_rand_bb Generate paths for a free or non-free Wiener process using the Brownian bridge algorithm G05XC nagf_rand_bb_inc_init Initializes the generator which backs out the increments of sample paths generated by a Brownian bridge algorithm G05XD nagf_rand_bb_inc Backs out the increments from sample paths generated by a Brownian bridge algorithm G05XE nagf_rand_bb_make_bridge_order Creates a Brownian bridge construction order out of a set of input times G05YJ nagf_rand_quasi_normal Generates a Normal quasi-random number sequence G05YK nagf_rand_quasi_lognormal Generates a log-normal quasi-random number sequence G05YL nagf_rand_quasi_init Initializes a quasi-random number generator G05YM nagf_rand_quasi_uniform Generates a uniform quasi-random number sequence G05YN nagf_rand_quasi_init_scrambled Initializes a scrambled quasi-random number generator G05ZM nagf_rand_field_1d_user_setup Setup for simulating one-dimensional random fields, user-defined variogram G05ZN nagf_rand_field_1d_predef_setup Setup for simulating one-dimensional random fields G05ZP nagf_rand_field_1d_generate Generates realizations of a one-dimensional random field G05ZQ nagf_rand_field_2d_user_setup Setup for simulating two-dimensional random fields, user-defined variogram G05ZR nagf_rand_field_2d_predef_setup Setup for simulating two-dimensional random fields, preset variogram G05ZS nagf_rand_field_2d_generate Generates realizations of a two-dimensional random field G05ZT nagf_rand_field_fracbm_generate Generates realizations of fractional Brownian motion

### G07 – Univariate Estimation

Examples of routines and methods in this chapter.

 G07AA nagf_univar_ci_binomial Computes confidence interval for the parameter of a binomial distribution G07AB nagf_univar_ci_poisson Computes confidence interval for the parameter of a Poisson distribution G07BB nagf_univar_estim_normal Computes maximum likelihood estimates for parameters of the Normal distribution from grouped and/or censored data G07BE nagf_univar_estim_weibull Computes maximum likelihood estimates for parameters of the Weibull distribution G07BF nagf_univar_estim_genpareto Estimates parameter values of the generalized Pareto distribution G07CA nagf_univar_ttest_2normal Computes t-test statistic for a difference in means between two Normal populations, confidence interval G07DA nagf_univar_robust_1var_median Robust estimation, median, median absolute deviation, robust standard deviation G07DB nagf_univar_robust_1var_mestim Robust estimation, M-estimates for location and scale parameters, standard weight functions G07DC nagf_univar_robust_1var_mestim_wgt Robust estimation, M-estimates for location and scale parameters, user-defined weight functions G07DD nagf_univar_robust_1var_trimmed Computes a trimmed and winsorized mean of a single sample with estimates of their variance G07EA nagf_univar_robust_1var_ci Robust confidence intervals, one-sample G07EB nagf_univar_robust_2var_ci Robust confidence intervals, two-sample G07GA nagf_univar_outlier_peirce_1var Outlier detection using method of Peirce, raw data or single variance supplied G07GB nagf_univar_outlier_peirce_2var Outlier detection using method of Peirce, two variances supplied

### G08 – Nonparametric Statistics

Examples of routines and methods in this chapter.

 G08AA nagf_nonpar_test_sign Sign test on two paired samples G08AC nagf_nonpar_test_median Median test on two samples of unequal size G08AE nagf_nonpar_test_friedman Friedman two-way analysis of variance on k matched samples G08AF nagf_nonpar_test_kruskal Kruskal–Wallis one-way analysis of variance on k samples of unequal size G08AG nagf_nonpar_test_wilcoxon Performs the Wilcoxon one-sample (matched pairs) signed rank test G08AH nagf_nonpar_test_mwu Performs the Mann–Whitney U test on two independent samples G08AJ nagf_nonpar_prob_mwu_noties Computes the exact probabilities for the Mann–Whitney U statistic, no ties in pooled sample G08AK nagf_nonpar_prob_mwu_ties Computes the exact probabilities for the Mann–Whitney U statistic, ties in pooled sample G08AL nagf_nonpar_test_cochranq Performs the Cochran Q test on cross-classified binary data G08BA nagf_nonpar_test_mooddavid Mood's and David's tests on two samples of unequal size G08CB nagf_nonpar_test_ks_1sample Performs the one-sample Kolmogorov–Smirnov test for standard distributions G08CC nagf_nonpar_test_ks_1sample_user Performs the one-sample Kolmogorov–Smirnov test for a user-supplied distribution G08CD nagf_nonpar_test_ks_2sample Performs the two-sample Kolmogorov–Smirnov test G08CG nagf_nonpar_test_chisq Performs the χ2 goodness-of-fit test, for standard continuous distributions G08CH nagf_nonpar_gofstat_anddar Calculates the Anderson–Darling goodness-of-fit test statistic G08CJ nagf_nonpar_gofstat_anddar_unif Calculates the Anderson–Darling goodness-of-fit test statistic and its probability for the case of uniformly distributed data G08CK nagf_nonpar_gofstat_anddar_normal Calculates the Anderson–Darling goodness-of-fit test statistic and its probability for the case of a fully-unspecified Normal distribution G08CL nagf_nonpar_gofstat_anddar_exp Calculates the Anderson–Darling goodness-of-fit test statistic and its probability for the case of an unspecified exponential distribution G08DA nagf_nonpar_concordance_kendall Kendall's coefficient of concordance G08EA nagf_nonpar_randtest_runs Performs the runs up or runs down test for randomness G08EB nagf_nonpar_randtest_pairs Performs the pairs (serial) test for randomness G08EC nagf_nonpar_randtest_triplets Performs the triplets test for randomness G08ED nagf_nonpar_randtest_gaps Performs the gaps test for randomness G08RA nagf_nonpar_rank_regsn Regression using ranks, uncensored data G08RB nagf_nonpar_rank_regsn_censored Regression using ranks, right-censored data

### G10 – Smoothing in Statistics

Examples of routines and methods in this chapter.

 G10AB nagf_smooth_fit_spline Fit cubic smoothing spline, smoothing parameter given G10AC nagf_smooth_fit_spline_parest Fit cubic smoothing spline, smoothing parameter estimated G10BB nagf_smooth_kerndens_gauss Kernel density estimate using Gaussian kernel (thread safe) G10CA nagf_smooth_data_runningmedian Compute smoothed data sequence using running median smoothers G10ZA nagf_smooth_data_order Reorder data to give ordered distinct observations

### G11 – Contingency Table Analysis

Examples of routines and methods in this chapter.

 G11AA nagf_contab_chisq χ2 statistics for two-way contingency table G11BA nagf_contab_tabulate_stat Computes multiway table from set of classification factors using selected statistic G11BB nagf_contab_tabulate_percentile Computes multiway table from set of classification factors using given percentile/quantile G11BC nagf_contab_tabulate_margin Computes marginal tables for multiway table computed by G11BA or G11BB G11CA nagf_contab_condl_logistic Returns parameter estimates for the conditional analysis of stratified data G11SA nagf_contab_binary Contingency table, latent variable model for binary data G11SB nagf_contab_binary_service Frequency count for G11SA

### G12 – Survival Analysis

Examples of routines and methods in this chapter.

 G12AA nagf_surviv_kaplanmeier Computes Kaplan–Meier (product-limit) estimates of survival probabilities G12AB nagf_surviv_logrank Computes rank statistics for comparing survival curves G12BA nagf_surviv_coxmodel Fits Cox's proportional hazard model G12ZA nagf_surviv_coxmodel_risksets Creates the risk sets associated with the Cox proportional hazards model for fixed covariates

### G13 – Time Series Analysis

Examples of routines and methods in this chapter.

 G13AA nagf_tsa_uni_diff Univariate time series, seasonal and non-seasonal differencing G13AB nagf_tsa_uni_autocorr Univariate time series, sample autocorrelation function G13AC nagf_tsa_uni_autocorr_part Univariate time series, partial autocorrelations from autocorrelations G13AD nagf_tsa_uni_arima_prelim Univariate time series, preliminary estimation, seasonal ARIMA model G13AE nagf_tsa_uni_arima_estim Univariate time series, estimation, seasonal ARIMA model (comprehensive) G13AF nagf_tsa_uni_arima_estim_easy Univariate time series, estimation, seasonal ARIMA model (easy-to-use) G13AG nagf_tsa_uni_arima_update Univariate time series, update state set for forecasting G13AH nagf_tsa_uni_arima_forecast_state Univariate time series, forecasting from state set G13AJ nagf_tsa_uni_arima_forcecast Univariate time series, state set and forecasts, from fully specified seasonal ARIMA model G13AM nagf_tsa_uni_smooth_exp Univariate time series, exponential smoothing G13AS nagf_tsa_uni_arima_resid Univariate time series, diagnostic checking of residuals, following G13AE or G13AF G13AU nagf_tsa_uni_means Computes quantities needed for range-mean or standard deviation-mean plot G13AW nagf_tsa_uni_dickey_fuller_unit Computes (augmented) Dickey–Fuller unit root test statistic G13BA nagf_tsa_multi_filter_arima Multivariate time series, filtering (pre-whitening) by an ARIMA model G13BB nagf_tsa_multi_filter_transf Multivariate time series, filtering by a transfer function model G13BC nagf_tsa_multi_xcorr Multivariate time series, cross-correlations G13BD nagf_tsa_multi_transf_prelim Multivariate time series, preliminary estimation of transfer function model G13BE nagf_tsa_multi_inputmod_estim Multivariate time series, estimation of multi-input model G13BG nagf_tsa_multi_inputmod_update Multivariate time series, update state set for forecasting from multi-input model G13BH nagf_tsa_multi_inputmod_forecast_state Multivariate time series, forecasting from state set of multi-input model G13BJ nagf_tsa_multi_inputmod_forecast Multivariate time series, state set and forecasts from fully specified multi-input model G13CA nagf_tsa_uni_spectrum_lag Univariate time series, smoothed sample spectrum using rectangular, Bartlett, Tukey or Parzen lag window G13CB nagf_tsa_uni_spectrum_daniell Univariate time series, smoothed sample spectrum using spectral smoothing by the trapezium frequency (Daniell) window G13CC nagf_tsa_multi_spectrum_lag Multivariate time series, smoothed sample cross spectrum using rectangular, Bartlett, Tukey or Parzen lag window G13CD nagf_tsa_multi_spectrum_daniell Multivariate time series, smoothed sample cross spectrum using spectral smoothing by the trapezium frequency (Daniell) window G13CE nagf_tsa_multi_spectrum_bivar Multivariate time series, cross amplitude spectrum, squared coherency, bounds, univariate and bivariate (cross) spectra G13CF nagf_tsa_multi_gain_bivar Multivariate time series, gain, phase, bounds, univariate and bivariate (cross) spectra G13CG nagf_tsa_multi_noise_bivar Multivariate time series, noise spectrum, bounds, impulse response function and its standard error G13DB nagf_tsa_multi_autocorr_part Multivariate time series, multiple squared partial autocorrelations G13DD nagf_tsa_multi_varma_estimate Multivariate time series, estimation of VARMA model G13DJ nagf_tsa_multi_varma_forecast Multivariate time series, forecasts and their standard errors G13DK nagf_tsa_multi_varma_update Multivariate time series, updates forecasts and their standard errors G13DL nagf_tsa_multi_diff Multivariate time series, differences and/or transforms G13DM nagf_tsa_multi_corrmat_cross Multivariate time series, sample cross-correlation or cross-covariance matrices G13DN nagf_tsa_multi_corrmat_partlag Multivariate time series, sample partial lag correlation matrices, χ2 statistics and significance levels G13DP nagf_tsa_multi_regmat_partial Multivariate time series, partial autoregression matrices G13DS nagf_tsa_multi_varma_diag Multivariate time series, diagnostic checking of residuals, following G13DD G13DX nagf_tsa_uni_arma_roots Calculates the zeros of a vector autoregressive (or moving average) operator G13EA nagf_tsa_multi_kalman_sqrt_var Combined measurement and time update, one iteration of Kalman filter, time-varying, square root covariance filter G13EB nagf_tsa_multi_kalman_sqrt_invar Combined measurement and time update, one iteration of Kalman filter, time-invariant, square root covariance filter G13EJ nagf_tsa_kalman_unscented_state_revcom Combined time and measurement update, one iteration of the Unscented Kalman Filter for a nonlinear state space model, with additive noise (reverse communication) G13EK nagf_tsa_kalman_unscented_state Combined time and measurement update, one iteration of the Unscented Kalman Filter for a nonlinear state space model, with additive noise G13FA nagf_tsa_uni_garch_asym1_estim Univariate time series, parameter estimation for either a symmetric GARCH process or a GARCH process with asymmetry of the form (εt-1+γ)2 G13FB nagf_tsa_uni_garch_asym1_forecast Univariate time series, forecast function for either a symmetric GARCH process or a GARCH process with asymmetry of the form (εt-1+γ)2 G13FC nagf_tsa_uni_garch_asym2_estim Univariate time series, parameter estimation for a GARCH process with asymmetry of the form (|εt-1|+γ⁢εt-1)2 G13FD nagf_tsa_uni_garch_asym2_forecast Univariate time series, forecast function for a GARCH process with asymmetry of the form (|εt-1|+γ⁢εt-1)2 G13FE nagf_tsa_uni_garch_GJR_estim Univariate time series, parameter estimation for an asymmetric Glosten, Jagannathan and Runkle (GJR) GARCH process G13FF nagf_tsa_uni_garch_GJR_forecast Univariate time series, forecast function for an asymmetric Glosten, Jagannathan and Runkle (GJR) GARCH process G13FG nagf_tsa_uni_garch_exp_estim Univariate time series, parameter estimation for an exponential GARCH (EGARCH) process G13FH nagf_tsa_uni_garch_exp_forecast Univariate time series, forecast function for an exponential GARCH (EGARCH) process G13ME nagf_tsa_inhom_iema Computes the iterated exponential moving average for a univariate inhomogeneous time series G13MF nagf_tsa_inhom_iema_all Computes the iterated exponential moving average for a univariate inhomogeneous time series, intermediate results are also returned G13MG nagf_tsa_inhom_ma Computes the exponential moving average for a univariate inhomogeneous time series G13NA nagf_tsa_cp_pelt Change point detection, using the PELT algorithm G13NB nagf_tsa_cp_pelt_user Change points detection using the PELT algorithm, user supplied cost function G13ND nagf_tsa_cp_binary Change point detection, using binary segmentation G13NE nagf_tsa_cp_binary_user Change point detection, using binary segmentation, user supplied cost function

### G22 – Linear Model Specification

Examples of routines and methods in this chapter.

### H – Operations Research

Examples of routines and methods in this chapter.

 H02BB nagf_mip_ilp_dense Integer LP problem (dense) H02BF nagf_mip_ilp_mpsx Interpret MPSX data file defining IP or LP problem, optimize and print solution H02BU nagf_mip_ilp_mpsx_convert Convert MPSX data file defining IP or LP problem to format required by H02BB or E04MF H02BV nagf_mip_ilp_print Print IP or LP solutions with user-specified names for rows and columns H02BZ nagf_mip_ilp_info Integer programming solution, supplies further information on solution obtained by H02BB H02CB nagf_mip_iqp_dense Integer QP problem (dense) H02CB nagf_mip_iqp_dense_dummy_monit dummy H02CC nagf_mip_iqp_dense_optfile Read optional parameter values for H02CB from external file H02CD nagf_mip_iqp_dense_optstr Supply optional parameter values to H02CB H02CE nagf_mip_iqp_sparse Integer LP or QP problem (sparse), using E04NK H02CE nagf_mip_iqp_sparse_dummy_monit dummy H02CF nagf_mip_iqp_sparse_optfile Read optional parameter values for H02CE from external file H02CG nagf_mip_iqp_sparse_optstr Supply optional parameter values to H02CE H02DA nagf_mip_sqp Mixed integer nonlinear programming H02ZK nagf_mip_optset Option setting routine for H02DA H02ZL nagf_mip_optget Option getting routine for H02DA H03AB nagf_mip_transportation Transportation problem, modified 'stepping stone' method H03AD nagf_mip_shortestpath Shortest path problem, Dijkstra's algorithm H03BB nagf_mip_tsp_simann Travelling Salesman Problem, simulated annealing H05AA nagf_best_subset_given_size_revcomm Best n subsets of size p (reverse communication) H05AB nagf_best_subset_given_size Best n subsets of size p (direct communication)

### J10 –

Examples of routines and methods in this chapter.

### M01 – Sorting and Searching

Examples of routines and methods in this chapter.

 M01CA nagf_sort_realvec_sort Sort a vector, real numbers M01CB nagf_sort_intvec_sort Sort a vector, integer numbers M01CC nagf_sort_charvec_sort Sort a vector, character data M01DA nagf_sort_realvec_rank Rank a vector, real numbers M01DB nagf_sort_intvec_rank Rank a vector, integer numbers M01DC nagf_sort_charvec_rank Rank a vector, character data M01DE nagf_sort_realmat_rank_rows Rank rows of a matrix, real numbers M01DF nagf_sort_intmat_rank_rows Rank rows of a matrix, integer numbers M01DJ nagf_sort_realmat_rank_columns Rank columns of a matrix, real numbers M01DK nagf_sort_intmat_rank_columns Rank columns of a matrix, integer numbers M01DZ nagf_sort_arbitrary_rank Rank arbitrary data M01EA nagf_sort_realvec_rank_rearrange Rearrange a vector according to given ranks, real numbers M01EB nagf_sort_intvec_rank_rearrange Rearrange a vector according to given ranks, integer numbers M01EC nagf_sort_charvec_rank_rearrange Rearrange a vector according to given ranks, character data M01ED nagf_sort_cmplxvec_rank_rearrange Rearrange a vector according to given ranks, complex numbers M01NA nagf_sort_realvec_search Binary search in set of real numbers M01NB nagf_sort_intvec_search Binary search in set of integer numbers M01NC nagf_sort_charvec_search Binary search in set of character data M01ZA nagf_sort_permute_invert Invert a permutation M01ZB nagf_sort_permute_check Check validity of a permutation M01ZC nagf_sort_permute_decompose Decompose a permutation into cycles

### P01 – Error Trapping

Examples of routines and methods in this chapter.

### S – Approximations of Special Functions

Examples of routines and methods in this chapter.

 S01BA nagf_specfun_log_shifted ln (1+x) S01EA nagf_specfun_exp_complex Complex exponential, ez S07AA nagf_specfun_tan tan x S09AA nagf_specfun_arcsin arcsin x S09AB nagf_specfun_arccos arccos x S10AA nagf_specfun_tanh tanh x S10AB nagf_specfun_sinh sinh x S10AC nagf_specfun_cosh cosh x S11AA nagf_specfun_arctanh arctanh x S11AB nagf_specfun_arcsinh arcsinh x S11AC nagf_specfun_arccosh arccosh x S13AA nagf_specfun_integral_exp Exponential integral E1(x) S13AC nagf_specfun_integral_cos Cosine integral Ci (x) S13AD nagf_specfun_integral_sin Sine integral Si (x) S14AA nagf_specfun_gamma Gamma function S14AB nagf_specfun_gamma_log_real Log gamma function, real argument S14AC nagf_specfun_polygamma ψ(x)-ln x S14AD nagf_specfun_polygamma_deriv Scaled derivatives of ψ(x) S14AE nagf_specfun_psi_deriv_real Polygamma function ψ(n)(x) for real x S14AF nagf_specfun_psi_deriv_complex Polygamma function ψ(n)(z) for complex z S14AG nagf_specfun_gamma_log_complex Logarithm of the gamma function ln Γ(z), complex argument S14AH nagf_specfun_gamma_log_scaled_real Scaled log gamma function S14BA nagf_specfun_gamma_incomplete Incomplete gamma functions P(a,x) and Q(a,x) S14CB nagf_specfun_beta_log_real Logarithm of the beta function ln B(a,b) S14CC nagf_specfun_beta_incomplete Incomplete beta function Ix(a,b) and its complement 1-Ix S15AB nagf_specfun_cdf_normal Cumulative Normal distribution function P(x) S15AC nagf_specfun_compcdf_normal Complement of cumulative Normal distribution function Q(x) S15AD nagf_specfun_erfc_real Complement of error function erfc (x) S15AE nagf_specfun_erf_real Error function erf (x) S15AF nagf_specfun_dawson Dawson's integral S15AG nagf_specfun_erfcx_real Scaled complement of error function, erfcx (x) S15DD nagf_specfun_erfc_complex Scaled complex complement of error function, exp (-z2)erfc (-iz) S17AC nagf_specfun_bessel_y0_real Bessel function Y0(x) S17AD nagf_specfun_bessel_y1_real Bessel function Y1(x) S17AE nagf_specfun_bessel_j0_real Bessel function J0(x) S17AF nagf_specfun_bessel_j1_real Bessel function J1(x) S17AG nagf_specfun_airy_ai_real Airy function Ai (x) S17AH nagf_specfun_airy_bi_real Airy function Bi (x) S17AJ nagf_specfun_airy_ai_deriv Airy function Ai′ (x) S17AK nagf_specfun_airy_bi_deriv Airy function Bi′ (x) S17AL nagf_specfun_bessel_zeros Zeros of Bessel functions Jα(x), Jα′(x), Yα(x) or Yα′(x) S17AQ nagf_specfun_bessel_y0_real_vector Bessel function vectorized Y0(x) S17AR nagf_specfun_bessel_y1_real_vector Bessel function vectorized Y1(x) S17AS nagf_specfun_bessel_j0_real_vector Bessel function vectorized J0(x) S17AT nagf_specfun_bessel_j1_real_vector Bessel function vectorized J1(x) S17AU nagf_specfun_airy_ai_real_vector Airy function vectorized Ai (x) S17AV nagf_specfun_airy_bi_real_vector Airy function vectorized Bi (x) S17AW nagf_specfun_airy_ai_deriv_vector Derivatives of the Airy function, vectorized Ai′ (x) S17AX nagf_specfun_airy_bi_deriv_vector Derivatives of the Airy function, vectorized Bi′ (x) S17DC nagf_specfun_bessel_y_complex Bessel functions Yν+a(z), real a≥0, complex z, ν=0,1,2,… S17DE nagf_specfun_bessel_j_complex Bessel functions Jν+a(z), real a≥0, complex z, ν=0,1,2,… S17DG nagf_specfun_airy_ai_complex Airy functions Ai (z) and Ai′ (z), complex z S17DH nagf_specfun_airy_bi_complex Airy functions Bi (z) and Bi′ (z), complex z S17DL nagf_specfun_hankel_complex Hankel functions Hν+a(j)(z), j=1,2, real a≥0, complex z, ν=0,1,2,… S18AC nagf_specfun_bessel_k0_real Modified Bessel function K0(x) S18AD nagf_specfun_bessel_k1_real Modified Bessel function K1(x) S18AE nagf_specfun_bessel_i0_real Modified Bessel function I0(x) S18AF nagf_specfun_bessel_i1_real Modified Bessel function I1(x) S18AQ nagf_specfun_bessel_k0_real_vector Modified Bessel function vectorized K0(x) S18AR nagf_specfun_bessel_k1_real_vector Modified Bessel function vectorized K1(x) S18AS nagf_specfun_bessel_i0_real_vector Modified Bessel function vectorized I0(x) S18AT nagf_specfun_bessel_i1_real_vector Modified Bessel function vectorized I1(x) S18CC nagf_specfun_bessel_k0_scaled Scaled modified Bessel function exK0(x) S18CD nagf_specfun_bessel_k1_scaled Scaled modified Bessel function exK1(x) S18CE nagf_specfun_bessel_i0_scaled Scaled modified Bessel function e-|x|I0(x) S18CF nagf_specfun_bessel_i1_scaled Scaled modified Bessel function e-|x|I1(x) S18CQ nagf_specfun_bessel_k0_scaled_vector Scaled modified Bessel function vectorized exK0(x) S18CR nagf_specfun_bessel_k1_scaled_vector Scaled modified Bessel function vectorized exK1(x) S18CS nagf_specfun_bessel_i0_scaled_vector Scaled modified Bessel function vectorized e-|x|I0(x) S18CT nagf_specfun_bessel_i1_scaled_vector Scaled modified Bessel function vectorized e-|x|I1(x) S18DC nagf_specfun_bessel_k_complex Modified Bessel functions Kν+a(z), real a≥0, complex z, ν=0,1,2,… S18DE nagf_specfun_bessel_i_complex Modified Bessel functions Iν+a(z), real a≥0, complex z, ν=0,1,2,… S18GK nagf_specfun_bessel_j_seq_complex Bessel function of the 1st kind Jα±n(z) S19AA nagf_specfun_kelvin_ber Kelvin function ber x S19AB nagf_specfun_kelvin_bei Kelvin function bei x S19AC nagf_specfun_kelvin_ker Kelvin function ker x S19AD nagf_specfun_kelvin_kei Kelvin function kei x S19AN nagf_specfun_kelvin_ber_vector Kelvin function vectorized ber x S19AP nagf_specfun_kelvin_bei_vector Kelvin function vectorized bei x S19AQ nagf_specfun_kelvin_ker_vector Kelvin function vectorized ker x S19AR nagf_specfun_kelvin_kei_vector Kelvin function vectorized kei x S20AC nagf_specfun_fresnel_s Fresnel integral S(x) S20AD nagf_specfun_fresnel_c Fresnel integral C(x) S20AQ nagf_specfun_fresnel_s_vector Fresnel integral vectorized S(x) S20AR nagf_specfun_fresnel_c_vector Fresnel integral vectorized C(x) S21BA nagf_specfun_ellipint_symm_1_degen Degenerate symmetrised elliptic integral of 1st kind RC(x,y) S21BB nagf_specfun_ellipint_symm_1 Symmetrised elliptic integral of 1st kind RF(x,y,z) S21BC nagf_specfun_ellipint_symm_2 Symmetrised elliptic integral of 2nd kind RD(x,y,z) S21BD nagf_specfun_ellipint_symm_3 Symmetrised elliptic integral of 3rd kind RJ(x,y,z,r) S21BE nagf_specfun_ellipint_legendre_1 Elliptic integral of 1st kind, Legendre form, F(ϕ∣m) S21BF nagf_specfun_ellipint_legendre_2 Elliptic integral of 2nd kind, Legendre form, E(ϕ∣m) S21BG nagf_specfun_ellipint_legendre_3 Elliptic integral of 3rd kind, Legendre form, Π(n;ϕ∣m) S21BH nagf_specfun_ellipint_complete_1 Complete elliptic integral of 1st kind, Legendre form, K(m) S21BJ nagf_specfun_ellipint_complete_2 Complete elliptic integral of 2nd kind, Legendre form, E(m) S21CA nagf_specfun_jacellip_real Jacobian elliptic functions sn, cn and dn of real argument S21CB nagf_specfun_jacellip_complex Jacobian elliptic functions sn, cn and dn of complex argument S21CC nagf_specfun_jactheta_real Jacobian theta functions θk(x,q) of real argument S21DA nagf_specfun_ellipint_general_2 General elliptic integral of 2nd kind F(z,k′,a,b) of complex argument S22AA nagf_specfun_legendre_p Legendre functions of 1st kind Pnm(x) or Pnm-(x) S22BA nagf_specfun_1f1_real Real confluent hypergeometric function 1F1(a;b;x) S22BB nagf_specfun_1f1_real_scaled Real confluent hypergeometric function 1F1(a;b;x) in scaled form S22BE nagf_specfun_2f1_real Real Gauss hypergeometric function 2F1(a,b;c;x) S22BF nagf_specfun_2f1_real_scaled Real Gauss hypergeometric function 2F1(a,b;c;x) in scaled form S30AA nagf_specfun_opt_bsm_price Black–Scholes–Merton option pricing formula S30AB nagf_specfun_opt_bsm_greeks Black–Scholes–Merton option pricing formula with Greeks S30BA nagf_specfun_opt_lookback_fls_price Floating-strike lookback option pricing formula in the Black-Scholes-Merton model S30BB nagf_specfun_opt_lookback_fls_greeks Floating-strike lookback option pricing formula with Greeks in the Black-Scholes-Merton model S30CA nagf_specfun_opt_binary_con_price Binary option, cash-or-nothing pricing formula S30CB nagf_specfun_opt_binary_con_greeks Binary option, cash-or-nothing pricing formula with Greeks S30CC nagf_specfun_opt_binary_aon_price Binary option, asset-or-nothing pricing formula S30CD nagf_specfun_opt_binary_aon_greeks Binary option, asset-or-nothing pricing formula with Greeks S30FA nagf_specfun_opt_barrier_std_price Standard barrier option pricing formula S30JA nagf_specfun_opt_jumpdiff_merton_price Jump-diffusion, Merton's model, option pricing formula S30JB nagf_specfun_opt_jumpdiff_merton_greeks Jump-diffusion, Merton's model, option pricing formula with Greeks S30NA nagf_specfun_opt_heston_price Heston's model option pricing formula S30NB nagf_specfun_opt_heston_greeks Heston's model option pricing formula with Greeks S30NC nagf_specfun_opt_heston_term Heston's model option pricing with term structure S30QC nagf_specfun_opt_amer_bs_price American option, Bjerksund and Stensland pricing formula S30SA nagf_specfun_opt_asian_geom_price Asian option, geometric continuous average rate pricing formula S30SB nagf_specfun_opt_asian_geom_greeks Asian option, geometric continuous average rate pricing formula with Greeks

### X01 – Mathematical Constants

Examples of routines and methods in this chapter.

 X01AA nagf_math_pi Provides the mathematical constant π X01AB nagf_math_euler Provides the mathematical constant γ (Euler's constant)

### X02 – Machine Constants

Examples of routines and methods in this chapter.

 X02AH nagf_machine_sinarg_max The largest permissible argument for sin and cos X02AJ nagf_machine_precision The machine precision X02AK nagf_machine_real_smallest The smallest positive model number X02AL nagf_machine_real_largest The largest positive model number X02AM nagf_machine_real_safe The safe range parameter X02AN nagf_machine_complex_safe The safe range parameter for complex floating-point arithmetic X02BB nagf_machine_integer_max The largest representable integer X02BE nagf_machine_decimal_digits The maximum number of decimal digits that can be represented X02BH nagf_machine_model_base The floating-point model parameter, b X02BJ nagf_machine_model_digits The floating-point model parameter, p X02BK nagf_machine_model_minexp The floating-point model parameter emin X02BL nagf_machine_model_maxexp The floating-point model parameter emax

### X03 – Inner Products

Examples of routines and methods in this chapter.

### X04 – Input/Output Utilities

Examples of routines and methods in this chapter.

 X04AA nagf_file_set_unit_error Return or set unit number for error messages X04AB nagf_file_set_unit_advisory Return or set unit number for advisory messages X04AC nagf_file_open Open unit number for reading, writing or appending, and associate unit with named file X04AD nagf_file_close Close file associated with given unit number X04BA nagf_file_line_write Write formatted record to external file X04BB nagf_file_line_read Read formatted record from external file X04CA nagf_file_print_matrix_real_gen Print real general matrix (easy-to-use) X04CB nagf_file_print_matrix_real_gen_comp Print real general matrix (comprehensive) X04CC nagf_file_print_matrix_real_packed Print real packed triangular matrix (easy-to-use) X04CD nagf_file_print_matrix_real_packed_comp Print real packed triangular matrix (comprehensive) X04CE nagf_file_print_matrix_real_band Print real packed banded matrix (easy-to-use) X04CF nagf_file_print_matrix_real_band_comp Print real packed banded matrix (comprehensive) X04DA nagf_file_print_matrix_complex_gen Print complex general matrix (easy-to-use) X04DB nagf_file_print_matrix_complex_gen_comp Print complex general matrix (comprehensive) X04DC nagf_file_print_matrix_complex_packed Print complex packed triangular matrix (easy-to-use) X04DD nagf_file_print_matrix_complex_packed_comp Print complex packed triangular matrix (comprehensive) X04DE nagf_file_print_matrix_complex_band Print complex packed banded matrix (easy-to-use) X04DF nagf_file_print_matrix_complex_band_comp Print complex packed banded matrix (comprehensive) X04EA nagf_file_print_matrix_integer Print integer matrix (easy-to-use) X04EB nagf_file_print_matrix_integer_comp Print integer matrix (comprehensive)

### X05 – Date and Time Utilities

Examples of routines and methods in this chapter.

 X05AA nagf_time_date_array Return date and time as an array of integers X05AB nagf_time_date_array_string Convert array of integers representing date and time to character string X05AC nagf_time_date_string_compare Compare two character strings representing date and time X05BA nagf_time_cpu Return the CPU time

### X06 – OpenMP Utilities

Examples of routines and methods in this chapter.

 X06AA nagf_omp_set_num_threads Sets the number of threads for OpenMP parallel regions X06AB nagf_omp_get_num_threads The number of OpenMP threads in the current team X06AC nagf_omp_get_max_threads An upper bound on the number of threads in the next parallel region X06AD nagf_omp_get_thread_num The OpenMP thread number of the calling thread X06AF nagf_omp_in_parallel Tests for an active OpenMP parallel region X06AG nagf_omp_set_nested Enables or disables nested OpenMP parallelism X06AH nagf_omp_get_nested Tests the status of nested OpenMP parallelism X06XA nagf_omp_using_threaded_impl Tests whether a threaded NAG Library is being used

### X07 – IEEE Arithmetic

Examples of routines and methods in this chapter.

 X07AA nagf_is_finite Determines whether its argument has a finite value X07AB nagf_is_nan Determines whether its argument is a NaN (Not A Number) X07BA nagf_create_infinity Creates a signed infinite value X07BB nagf_create_nan Creates a NaN (Not A Number) X07CA nagf_get_ieee_exception_mode Gets current behaviour of floating-point exceptions X07CB nagf_set_ieee_exception_mode Sets behaviour of floating-point exceptions