NAG C Library News, Mark 23 (PDF version)
NAG C Library Manual

# NAG LibraryNAG C Library News, Mark 23

## 1  Introduction

This new release of the NAG C Library has been given the designation Mark 23 whereas the previous release was called Mark 9. This non-sequential numbering reflects the fact that, with the inclusion of this substantial update, the functionality provided in this release of the library is broadly comparable with that available in other NAG Libraries at that Mark.
At Mark 23 of the NAG C Library new functionality has been introduced in addition to improvements in existing areas. The Library now contains 1452 user-callable functions, all of which are documented, of which 345 are new at this mark.
Two new chapters have been introduced and there have been extensions in functionality included in the areas of statistics, nonlinear equations, wavelets, ordinary differential equations, interpolation, surface fitting, optimization, matrix operations, linear algebra, large scale linear systems, and special functions.
Chapter c05 (Roots of One or More Transcendental Equations) has a new function for solving sparse nonlinear systems and a new function for determining values of the complex Lambert–W function. Additionally, some functions have been added to provide more breadth to zero finding and solving dense nonlinear systems.
Chapter c06 (Fourier Transforms) has a function for summing a Chebyshev series at a vector of points.
Chapter c09 (Wavelet Transforms) has added one-dimensional continuous and two-dimensional discrete wavelet transform functions.
Chapter d01 (Quadrature) has additional functions for multidimensional integrals, which include integration over the $n$-hypersphere, a number theoretic method and Gaussian rules.
Chapter d02 (Ordinary Differential Equations) has a new suite of functions for solving boundary-value problems by an implementation of the Chebyshev pseudospectral method.
A new Chapter d04 chapter (Numerical Differentiation) provides functions to enable you to estimate derivatives of order up to $14$.
Linear non-singular Fredholm integral equations of the second kind may now be solved using functions from the new Chapter d05 (Integral Equations). In addition the chapter contains functions for second kind, nonlinear Volterra convolution equations and both first and second kind, weakly singular, nonlinear convolution Volterra–Abel equations.
Chapter e01 (Interpolation) adds a modified Shepard's method for multivariate scattered data in four and five dimensions. It also includes the one-dimensional methods of Aitken and Everett.
Chapter e02 (Curve and Surface Fitting) has evaluation of the derivatives of spline surfaces.
Chapter e04 (Minimizing or Maximizing a Function) has a new function to minimize an arbitrary smooth function subject to constraints (which may include simple bounds on the variables, linear constraints and smooth nonlinear constraints) using a sequential quadratic programming (SQP) method using reverse communication. A function to minimize a smooth function and several variables subject to upper and lower bounds on the variable, using methods of quadratic approximation based on BOBYQA has also been introduced.
Chapter e05 (Global Optimization of a Function) has new functions implementing Particle Swarm Optimization and multi-start Sequential Quadratic Programming. The existing function for multi-level coordinate search now allows equality bound constraints.
Chapter f01 (Matrix Operations, Including Inversion) has new routines for functions of real and complex matrices, including matrix log and exponentials, functions of symmetric/Hermitian matrices and functions of general matrices using user-supplied derivatives.
Chapter f07 (Linear Equations (LAPACK)) has LAPACK 3.2 simple and expert drivers for the solution systems of linear equations, where the system is general (full, banded or tridiagonal), symmetric/Hermitian positive definite (full with full or packed storage, banded or tridiagonal), and symmetric/Hermitian (full or packed storage). Additionally there are equilibration functions for various system types and support routines for tridiagonal systems.
Chapter f08 (Least Squares and Eigenvalue Problems (LAPACK)) has LAPACK functions for: solving under and over-determined systems of linear equations; obtaining minimum-norm solutions by SVD or divide-and-conquer algorithms; computing the QR, QL, RQ, RZ factorizations of real and complex matrices (and subsequently forming or applying Q or Z); find some or all eigenvalues/vectors of symmetric/Hermitian matrices (full, packed, banded or tridiagonal); computing the SVD of general matrices using the QR or divide-and-conquer algorithms; computing the Schur form for square matrices. Additionally, for matrix pairs, there are functions for computing the generalized eigenvalues, generalized SVD and Schur forms, and generalized QR and RQ factorizations.
Chapter f11 (Large Scale Eigenproblems) has new suites of reverse communication functions for the iterative solution of sparse symmetric/Hermitian and nonsymmetric/non-Hermitian systems of linear equations; black-box routines for solving sparse Hermitian/non-Hermitian complex systems employing a variety of methods and preconditioners; and some sparse matrix utility functions.
Chapter g01 (Simple Calculations on Statistical Data) has new functions for quantiles of streamed data, bivariate Student's $t$-distribution and two probability density functions.
Chapter g02 (Correlation and Regression Analysis) has new functions for nearest correlation matrices, hierarchical mixed effects regression, and quantile regression.
Chapter g05 (Random Number Generators) has a new function for skip-ahead by powers of $2$ and weighted sampling without replacement. In addition, the suite of base generators has been extended to include the L'Ecuyer MRG32k3a generator. Skip-ahead for the Mersenne Twister base generator is also now available.
Chapter g07 (Univariate Estimation) has new functions for Pareto distribution parameter estimation and outlier detection by the method of Peirce.
Chapter g08 (Nonparametric Statistics) has routines for the Anderson–Darling goodness-of-fit test.
Chapter g12 (Survival Analysis) has a new function for computing rank statistics when comparing survival curves.
Chapter s (Approximations of Special Functions) has new beta and incomplete beta functions and the S30 sub-chapter has a new function for computing Greeks for Heston's model option pricing formula.
In addition there have been a number of enhancements included in Chapters g01 and s. These do not provide new functionality but instead focus on usability. Typically simple functions in these chapters return a single numeric value; a number of these have now been complemented by equivalent functions that conveniently return an array of such values via a single call.

## 2  New Functions

The 345 new user-callable functions included in the NAG C Library at Mark 23 are as follows.
 FunctionName Purpose c05auc Zero of continuous function, Brent algorithm, from a given starting value, binary search for interval c05awc Zero of continuous function, continuation method, from a given starting value c05ayc Zero of continuous function in a given interval, Brent algorithm c05bbc Values of Lambert's $W$ function, $W\left(z\right)$ c05qbc Solution of a system of nonlinear equations using function values only (easy-to-use) c05qcc Solution of a system of nonlinear equations using function values only (comprehensive) c05qdc Solution of a system of nonlinear equations using function values only (reverse communication) c05qsc Solution of a sparse system of nonlinear equations using function values only (easy-to-use) c05rbc Solution of a system of nonlinear equations using first derivatives (easy-to-use) c05rcc Solution of a system of nonlinear equations using first derivatives (comprehensive) c05rdc Solution of a system of nonlinear equations using first derivatives (reverse communication) c05zdc Check user's function for calculating first derivatives of a set of nonlinear functions of several variables c06dcc Sum of a Chebyshev series at a set of points c09abc Two-dimensional wavelet filter initialization c09bac One-dimensional real continuous wavelet transform c09eac Two-dimensional discrete wavelet transform c09ebc Two-dimensional inverse discrete wavelet transform c09ecc Two-dimensional multi-level discrete wavelet transform c09edc Two-dimensional inverse multi-level discrete wavelet transform d01bdc One-dimensional quadrature, non-adaptive, finite interval d01dac Two-dimensional quadrature, finite region d01fbc Multidimensional Gaussian quadrature over hyper-rectangle d01fdc Multidimensional quadrature, Sag–Szekeres method, general product region or $n$-sphere d01gdc Multidimensional quadrature, general product region, number-theoretic method d01gyc Korobov optimal coefficients for use in nag_quad_md_numth_vec (d01gdc), when number of points is prime d01gzc Korobov optimal coefficients for use in nag_quad_md_numth_vec (d01gdc), when number of points is product of two primes d01pac Multidimensional quadrature over an $n$-simplex d01tbc Pre-computed weights and abscissae for Gaussian quadrature rules, restricted choice of rule d01tcc Calculation of weights and abscissae for Gaussian quadrature rules, general choice of rule d02uac Coefficients of Chebyshev interpolating polynomial from function values on Chebyshev grid d02ubc Function or low-order-derivative values on Chebyshev grid from coefficients of Chebyshev interpolating polynomial d02ucc Chebyshev Gauss–Lobatto grid generation d02udc Differentiate a function by the FFT using function values on Chebyshev grid d02uec Solve linear constant coefficient boundary value problem on Chebyshev grid, Integral formulation d02uwc Interpolate a function from Chebyshev grid to uniform grid using barycentric Lagrange interpolation d02uyc Clenshaw–Curtis quadrature weights for integration using computed Chebyshev coefficients d02uzc Chebyshev polynomial evaluation, ${T}_{k}\left(x\right)$ d04aac Numerical differentiation, derivatives up to order 14, function of one real variable d04bac Numerical differentiation, user-supplied function values, derivatives up to order $14$, derivatives with respect to one real variable d04bbc Generates sample points for function evaluations by nag_numdiff_1d_real_eval (d04bac) d05aac Linear non-singular Fredholm integral equation, second kind, split kernel d05abc Linear non-singular Fredholm integral equation, second kind, smooth kernel d05bac Nonlinear Volterra convolution equation, second kind d05bdc Nonlinear convolution Volterra–Abel equation, second kind, weakly singular d05bec Nonlinear convolution Volterra–Abel equation, first kind, weakly singular d05bwc Generate weights for use in solving Volterra equations d05byc Generate weights for use in solving weakly singular Abel-type equations e01aac Interpolated values, Aitken's technique, unequally spaced data, one variable e01abc Interpolated values, Everett's formula, equally spaced data, one variable e01tkc Interpolating functions, modified Shepard's method, four variables e01tlc Interpolated values, evaluate interpolant computed by nag_4d_shep_interp (e01tkc), function and first derivatives, four variables e01tmc Interpolating functions, modified Shepard's method, five variables e01tnc Interpolated values, evaluate interpolant computed by nag_5d_shep_interp (e01tmc), function and first derivatives, five variables e02dhc Evaluation of spline surface at mesh of points with derivatives e04jcc Minimum by quadratic approximation, function of several variables, simple bounds, using function values only e04udc Supply optional argument values for nag_opt_nlp (e04ucc) or nag_opt_nlp_revcomm (e04ufc) from external file e04uec Supply optional argument values to nag_opt_nlp (e04ucc) or nag_opt_nlp_revcomm (e04ufc) e04ufc Minimum, function of several variables, sequential QP method, nonlinear constraints, using function values and optionally first derivatives (reverse communication, comprehensive) e04wbc Initialization function for nag_opt_nlp_revcomm (e04ufc) e05sac Global optimization using particle swarm algorithm (PSO), bound constraints only e05sbc Global optimization using particle swarm algorithm (PSO), comprehensive e05ucc Global optimization using multi-start, nonlinear constraints e05zkc Option setting routine for nag_glopt_bnd_pso (e05sac), nag_glopt_nlp_pso (e05sbc) and nag_glopt_nlp_multistart_sqp (e05ucc) e05zlc Option getting routine for nag_glopt_bnd_pso (e05sac), nag_glopt_nlp_pso (e05sbc) and nag_glopt_nlp_multistart_sqp (e05ucc) f01efc Function of a real symmetric matrix f01ejc Real matrix logarithm f01ekc Exponential, sine, cosine, sinh or cosh of a real matrix (Schur–Parlett algorithm) f01emc Function of a real matrix (using user-supplied derivatives) f01fcc Complex matrix exponential f01fdc Complex Hermitian matrix exponential f01ffc Function of a complex Hermitian matrix f01fjc Complex matrix logarithm f01fkc Exponential, sine, cosine, sinh or cosh of a complex matrix (Schur–Parlett algorithm) f01fmc Function of a complex matrix (using user-supplied derivatives) f03bac $LU$ factorization and determinant of real matrix f03bfc $L{L}^{\mathrm{T}}$ factorization and determinant of real symmetric positive definite matrix f03bhc Determinant of real symmetric positive definite banded matrix f03bnc Determinant of complex matrix f07aac Computes the solution to a real system of linear equations f07abc Uses the $LU$ factorization to compute the solution, error-bound and condition estimate for a real system of linear equations f07acc Mixed precision real system solver f07afc Computes row and column scalings intended to equilibrate a general real matrix and reduce its condition number f07anc Computes the solution to a complex system of linear equations f07apc Uses the $LU$ factorization to compute the solution, error-bound and condition estimate for a complex system of linear equations f07aqc Mixed precision complex system solver f07atc Computes row and column scalings intended to equilibrate a general complex matrix and reduce its condition number f07bac Computes the solution to a real banded system of linear equations f07bbc Uses the $LU$ factorization to compute the solution, error-bound and condition estimate for a real banded system of linear equations f07bfc Computes row and column scalings intended to equilibrate a real banded matrix and reduce its condition number f07bnc Computes the solution to a complex banded system of linear equations f07bpc Uses the $LU$ factorization to compute the solution, error-bound and condition estimate for a complex banded system of linear equations f07btc Computes row and column scalings intended to equilibrate a complex banded matrix and reduce its condition number f07cac Computes the solution to a real tridiagonal system of linear equations f07cbc Uses the $LU$ factorization to compute the solution, error-bound and condition estimate for a real tridiagonal system of linear equations f07cdc $LU$ factorization of real tridiagonal matrix f07cec Solves a real tridiagonal system of linear equations using the $LU$ factorization computed by nag_dgttrf (f07cdc) f07cgc Estimates the reciprocal of the condition number of a real tridiagonal matrix using the $LU$ factorization computed by nag_dgttrf (f07cdc) f07chc Refined solution with error bounds of real tridiagonal system of linear equations, multiple right-hand sides f07cnc Computes the solution to a complex tridiagonal system of linear equations f07cpc Uses the $LU$ factorization to compute the solution, error-bound and condition estimate for a complex tridiagonal system of linear equations f07crc $LU$ factorization of complex tridiagonal matrix f07csc Solves a complex tridiagonal system of linear equations using the $LU$ factorization computed by nag_dgttrf (f07cdc) f07cuc Estimates the reciprocal of the condition number of a complex tridiagonal matrix using the $LU$ factorization computed by nag_dgttrf (f07cdc) f07cvc Refined solution with error bounds of complex tridiagonal system of linear equations, multiple right-hand sides f07fac Computes the solution to a real symmetric positive definite system of linear equations f07fbc Uses the Cholesky factorization to compute the solution, error-bound and condition estimate for a real symmetric positive definite system of linear equations f07ffc Computes row and column scalings intended to equilibrate a real symmetric positive definite matrix and reduce its condition number f07fnc Computes the solution to a complex Hermitian positive definite system of linear equations f07fpc Uses the Cholesky factorization to compute the solution, error-bound and condition estimate for a complex Hermitian positive definite system of linear equations f07ftc Computes row and column scalings intended to equilibrate a complex Hermitian positive definite matrix and reduce its condition number f07gac Computes the solution to a real symmetric positive definite system of linear equations, packed storage f07gbc Uses the Cholesky factorization to compute the solution, error-bound and condition estimate for a real symmetric positive definite system of linear equations, packed storage f07gfc Computes row and column scalings intended to equilibrate a real symmetric positive definite matrix and reduce its condition number, packed storage f07gnc Computes the solution to a complex Hermitian positive definite system of linear equations, packed storage f07gpc Uses the Cholesky factorization to compute the solution, error-bound and condition estimate for a complex Hermitian positive definite system of linear equations, packed storage f07gtc Computes row and column scalings intended to equilibrate a complex Hermitian positive definite matrix and reduce its condition number, packed storage f07hac Computes the solution to a real symmetric positive definite banded system of linear equations f07hbc Uses the Cholesky factorization to compute the solution, error-bound and condition estimate for a real symmetric positive definite banded system of linear equations f07hfc Computes row and column scalings intended to equilibrate a real symmetric positive definite banded matrix and reduce its condition number f07hnc Computes the solution to a complex Hermitian positive definite banded system of linear equations f07hpc Uses the Cholesky factorization to compute the solution, error-bound and condition estimate for a complex Hermitian positive definite banded system of linear equations f07htc Computes row and column scalings intended to equilibrate a complex Hermitian positive definite banded matrix and reduce its condition number f07jac Computes the solution to a real symmetric positive definite tridiagonal system of linear equations f07jbc Uses the modified Cholesky factorization to compute the solution, error-bound and condition estimate for a real symmetric positive definite tridiagonal system of linear equations f07jdc Computes the modified Cholesky factorization of a real symmetric positive definite tridiagonal matrix f07jec Solves a real symmetric positive definite tridiagonal system using the modified Cholesky factorization computed by nag_dpttrf (f07jdc) f07jgc Computes the reciprocal of the condition number of a real symmetric positive definite tridiagonal system using the modified Cholesky factorization computed by nag_dpttrf (f07jdc) f07jhc Refined solution with error bounds of real symmetric positive definite tridiagonal system of linear equations, multiple right-hand sides f07jnc Computes the solution to a complex Hermitian positive definite tridiagonal system of linear equations f07jpc Uses the modified Cholesky factorization to compute the solution, error-bound and condition estimate for a complex Hermitian positive definite tridiagonal system of linear equations f07jrc Computes the modified Cholesky factorization of a complex Hermitian positive definite tridiagonal matrix f07jsc Solves a complex Hermitian positive definite tridiagonal system using the modified Cholesky factorization computed by nag_zpttrf (f07jrc) f07juc Computes the reciprocal of the condition number of a complex Hermitian positive definite tridiagonal system using the modified Cholesky factorization computed by nag_zpttrf (f07jrc) f07jvc Refined solution with error bounds of complex Hermitian positive definite tridiagonal system of linear equations, multiple right-hand sides f07mac Computes the solution to a real symmetric system of linear equations f07mbc Uses the diagonal pivoting factorization to compute the solution to a real symmetric system of linear equations f07mnc Computes the solution to a complex Hermitian system of linear equations f07mpc Uses the diagonal pivoting factorization to compute the solution to a complex Hermitian system of linear equations f07nnc Computes the solution to a complex symmetric system of linear equations f07npc Uses the diagonal pivoting factorization to compute the solution to a complex symmetric system of linear equations f07pac Computes the solution to a real symmetric system of linear equations, packed storage f07pbc Uses the diagonal pivoting factorization to compute the solution to a real symmetric system of linear equations, packed storage f07pnc Computes the solution to a complex Hermitian system of linear equations, packed storage f07ppc Uses the diagonal pivoting factorization to compute the solution to a complex Hermitian system of linear equations, packed storage f07qnc Computes the solution to a complex symmetric system of linear equations, packed storage f07qpc Uses the diagonal pivoting factorization to compute the solution to a complex symmetric system of linear equations, packed storage f08aac Solves an overdetermined or underdetermined real linear system f08anc Solves an overdetermined or underdetermined complex linear system f08bac Computes the minimum-norm solution to a real linear least squares problem f08bfc $QR$ factorization of real general rectangular matrix with column pivoting, using BLAS-3 f08bhc Reduces a real upper trapezoidal matrix to upper triangular form f08bkc Apply orthogonal transformation determined by nag_dtzrzf (f08bhc) f08bnc Computes the minimum-norm solution to a complex linear least squares problem f08btc $QR$ factorization of complex general rectangular matrix with column pivoting, using BLAS-3 f08bvc Reduces a complex upper trapezoidal matrix to upper triangular form f08bxc Apply unitary transformation determined by nag_ztzrzf (f08bvc) f08cec $QL$ factorization of real general rectangular matrix f08cfc Form all or part of orthogonal $Q$ from $QL$ factorization determined by nag_dgeqlf (f08cec) f08cgc Apply orthogonal transformation determined by nag_dgeqlf (f08cec) f08chc $RQ$ factorization of real general rectangular matrix f08cjc Form all or part of orthogonal $Q$ from $RQ$ factorization determined by nag_dgerqf (f08chc) f08ckc Apply orthogonal transformation determined by nag_dgerqf (f08chc) f08csc $QL$ factorization of complex general rectangular matrix f08ctc Form all or part of orthogonal $Q$ from $QL$ factorization determined by nag_zgeqlf (f08csc) f08cuc Apply unitary transformation determined by nag_zgeqlf (f08csc) f08cvc $RQ$ factorization of complex general rectangular matrix f08cwc Form all or part of orthogonal $Q$ from $RQ$ factorization determined by nag_zgerqf (f08cvc) f08cxc Apply unitary transformation determined by nag_zgerqf (f08cvc) f08fac Computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix f08fbc Computes selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix f08fdc Computes selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix (Relatively Robust Representations) f08flc 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 f08fnc Computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix f08fpc Computes selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix f08frc Computes selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix (Relatively Robust Representations) f08gac Computes all eigenvalues and, optionally, eigenvectors of a real symmetric matrix, packed storage f08gbc Computes selected eigenvalues and, optionally, eigenvectors of a real symmetric matrix, packed storage f08gnc Computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix, packed storage f08gpc Computes selected eigenvalues and, optionally, eigenvectors of a complex Hermitian matrix, packed storage f08hac Computes all eigenvalues and, optionally, eigenvectors of a real symmetric band matrix f08hbc Computes selected eigenvalues and, optionally, eigenvectors of a real symmetric band matrix f08hnc Computes all eigenvalues and, optionally, eigenvectors of a complex Hermitian band matrix f08hpc Computes selected eigenvalues and, optionally, eigenvectors of a complex Hermitian band matrix f08jac Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix f08jbc Computes selected eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix f08jdc Computes selected eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix (Relatively Robust Representations) f08jhc Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix or a matrix reduced to this form (divide-and-conquer) f08jlc Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix or a symmetric matrix reduced to this form (Relatively Robust Representations) f08jvc Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix or a complex Hermitian matrix reduced to this form (divide-and-conquer) f08jyc Computes all eigenvalues and, optionally, eigenvectors of a real symmetric tridiagonal matrix or a complex Hermitian matrix reduced to this form (Relatively Robust Representations) f08kac Computes the minimum-norm solution to a real linear least squares problem using singular value decomposition f08kbc Computes the singular value decomposition of a real matrix, optionally computing the left and/or right singular vectors f08kcc Computes the minimum-norm solution to a real linear least squares problem using singular value decomposition (divide-and-conquer) f08kdc Computes the singular value decomposition of a real matrix, optionally computing the left and/or right singular vectors (divide-and-conquer) f08khc Computes the singular value decomposition of a real matrix, optionally computing the left and/or right singular vectors (preconditioned Jacobi) f08kjc Computes the singular value decomposition of a real matrix, optionally computing the left and/or right singular vectors (fast Jacobi) f08knc Computes the minimum-norm solution to a complex linear least squares problem using singular value decomposition f08kpc Computes the singular value decomposition of a complex matrix, optionally computing the left and/or right singular vectors f08kqc Computes the minimum-norm solution to a complex linear least squares problem using singular value decomposition (divide-and-conquer) f08krc Computes the singular value decomposition of a complex matrix, optionally computing the left and/or right singular vectors (divide-and-conquer) f08mdc Computes the singular value decomposition of a real bidiagonal matrix, optionally computing the singular vectors (divide-and-conquer) f08nac Computes all eigenvalues and, optionally, left and/or right eigenvectors of a real nonsymmetric matrix f08nbc 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 f08nnc Computes all eigenvalues and, optionally, left and/or right eigenvectors of a complex nonsymmetric matrix f08npc 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 f08pac Computes for real square nonsymmetric matrix, the eigenvalues, the real Schur form, and, optionally, the matrix of Schur vectors f08pbc 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 f08pnc Computes for complex square nonsymmetric matrix, the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors f08ppc Computes for real square nonsymmetric matrix, the eigenvalues, the Schur form, and, optionally, the matrix of Schur vectors; also, optionally, computes reciprocal condition numbers for selected eigenvalues f08sac Computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem f08sbc Computes selected eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem f08scc Computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem (divide-and-conquer) f08snc Computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem f08spc Computes selected eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem f08sqc Computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem (divide-and-conquer) f08tac Computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, packed storage f08tbc Computes selected eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, packed storage f08tcc Computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, packed storage (divide-and-conquer) f08tnc Computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, packed storage f08tpc Computes selected eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, packed storage f08tqc Computes selected eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, packed storage (divide-and-conquer) f08uac Computes all the eigenvalues, and optionally, the eigenvectors of a real banded generalized symmetric-definite eigenproblem f08ubc Computes selected eigenvalues, and optionally, the eigenvectors of a real banded generalized symmetric-definite eigenproblem f08ucc Computes all the eigenvalues, and optionally, the eigenvectors of a real banded generalized symmetric-definite eigenproblem (divide-and-conquer) f08unc Computes all the eigenvalues, and optionally, the eigenvectors of a complex banded generalized Hermitian-definite eigenproblem f08upc Computes selected eigenvalues, and optionally, the eigenvectors of a complex banded generalized Hermitian-definite eigenproblem f08uqc Computes all the eigenvalues, and optionally, the eigenvectors of a complex banded generalized Hermitian-definite eigenproblem (divide-and-conquer) f08vec Computes orthogonal matrices as processing steps for computing the generalized singular value decomposition of a real matrix pair f08vsc Computes orthogonal matrices as processing steps for computing the generalized singular value decomposition of a complex matrix pair f08wac Computes, for a real nonsymmetric matrix pair, the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors f08wbc 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 f08wnc Computes, for a complex nonsymmetric matrix pair, the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors f08wpc 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 f08xac 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 f08xbc 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 f08xnc 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 f08xpc 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 f08yec Computes the generalized singular value decomposition of a real upper triangular (or trapezoidal) matrix pair f08yfc Reorders the generalized real Schur decomposition of a real matrix pair using an orthogonal equivalence transformation f08ygc 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 f08yhc Solves the real-valued generalized Sylvester equation f08ylc Estimates reciprocal condition numbers for specified eigenvalues and/or eigenvectors of a real matrix pair in generalized real Schur canonical form f08ysc Computes the generalized singular value decomposition of a complex upper triangular (or trapezoidal) matrix pair f08ytc Reorders the generalized Schur decomposition of a complex matrix pair using an unitary equivalence transformation f08yuc 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 f08yvc Solves the complex generalized Sylvester equation f08yyc Estimates reciprocal condition numbers for specified eigenvalues and/or eigenvectors of a complex matrix pair in generalized Schur canonical form f08zec Computes a generalized $QR$ factorization of a real matrix pair f08zfc Computes a generalized $RQ$ factorization of a real matrix pair f08zsc Computes a generalized $QR$ factorization of a complex matrix pair f08ztc Computes a generalized $RQ$ factorization of a complex matrix pair f11bdc Real sparse nonsymmetric linear systems, setup for nag_sparse_nsym_basic_solver (f11bec) f11bec Real sparse nonsymmetric linear systems, preconditioned RGMRES, CGS, Bi-CGSTAB or TFQMR method f11bfc Real sparse nonsymmetric linear systems, diagnostic for nag_sparse_nsym_basic_solver (f11bec) f11brc Complex sparse non-Hermitian linear systems, setup for nag_sparse_nherm_basic_solver (f11bsc) f11bsc Complex sparse non-Hermitian linear systems, preconditioned RGMRES, CGS, Bi-CGSTAB or TFQMR method f11btc Complex sparse non-Hermitian linear systems, diagnostic for nag_sparse_nherm_basic_solver (f11bsc) f11dbc Solution of linear system involving incomplete $LU$ preconditioning matrix generated by nag_sparse_nsym_fac (f11dac) f11ddc Solution of linear system involving preconditioning matrix generated by applying SSOR to real sparse nonsymmetric matrix f11dkc Real sparse nonsymmetric linear systems, line Jacobi preconditioner f11dnc Complex sparse non-Hermitian linear systems, incomplete $LU$ factorization f11dpc Solution of complex linear system involving incomplete $LU$ preconditioning matrix generated by nag_sparse_nherm_fac (f11dnc) f11dqc Solution of complex sparse non-Hermitian linear system, RGMRES, CGS, Bi-CGSTAB or TFQMR method, preconditioner computed by nag_sparse_nherm_fac (f11dnc) (Black Box) f11drc Solution of linear system involving preconditioning matrix generated by applying SSOR to complex sparse non-Hermitian matrix f11dsc Solution of complex sparse non-Hermitian linear system, RGMRES, CGS, Bi-CGSTAB or TFQMR method, Jacobi or SSOR preconditioner Black Box f11dxc Complex sparse nonsymmetric linear systems, line Jacobi preconditioner f11gdc Real sparse symmetric linear systems, setup for nag_sparse_sym_basic_solver (f11gec) f11gec Real sparse symmetric linear systems, preconditioned conjugate gradient or Lanczos method or the MINRES algorithm f11gfc Real sparse symmetric linear systems, diagnostic for nag_sparse_sym_basic_solver (f11gec) f11grc Complex sparse Hermitian linear systems, setup for nag_sparse_herm_basic_solver (f11gsc) f11gsc Complex sparse Hermitian linear systems, preconditioned conjugate gradient or Lanczos f11gtc Complex sparse Hermitian linear systems, diagnostic for nag_sparse_herm_basic_solver (f11gsc) f11jbc Solution of linear system involving incomplete Cholesky preconditioning matrix generated by nag_sparse_sym_chol_fac (f11jac) f11jdc Solution of linear system involving preconditioning matrix generated by applying SSOR to real sparse symmetric matrix f11jnc Complex sparse Hermitian matrix, incomplete Cholesky factorization f11jpc Solution of complex linear system involving incomplete Cholesky preconditioning matrix generated by nag_sparse_herm_chol_fac (f11jnc) f11jqc Solution of complex sparse Hermitian linear system, conjugate gradient/Lanczos method, preconditioner computed by nag_sparse_herm_chol_fac (f11jnc) (Black Box) f11jrc Solution of linear system involving preconditioning matrix generated by applying SSOR to complex sparse Hermitian matrix f11jsc Solution of complex sparse Hermitian linear system, conjugate gradient/Lanczos method, Jacobi or SSOR preconditioner (Black Box) f11xac Real sparse nonsymmetric matrix vector multiply f11xec Real sparse symmetric matrix vector multiply f11xnc Complex sparse non-Hermitian matrix vector multiply f11xsc Complex sparse Hermitian matrix vector multiply f11znc Complex sparse non-Hermitian matrix reorder function f11zpc Complex sparse Hermitian matrix reorder function g01anc Calculates approximate quantiles from a data stream of known size g01apc Calculates approximate quantiles from a data stream of unknown size g01hcc Computes probabilities for the bivariate Student's $t$-distribution g01kkc Calculates a vector of values for the probability density function of the gamma distribution at chosen points g01kqc Calculates a vector of values for the probability density function of the Normal distribution at chosen points g01sac Computes a vector of probabilities for the standard Normal distribution g01sbc Computes a vector of probabilities for Student's $t$-distribution g01scc Computes a vector of probabilities for ${\chi }^{2}$ distribution g01sdc Computes a vector of probabilities for $F$-distribution g01sec Computes a vector of probabilities for the beta distribution g01sfc Computes a vector of probabilities for the gamma distribution g01sjc Computes a vector of the binomial distribution g01skc Computes a vector of the Poisson distribution g01slc Computes a vector of the hypergeometeric distribution g01tac Computes a vector of deviates for the standard Normal distribution g01tbc Computes a vector of deviates for Student's $t$-distribution g01tcc Computes a vector of deviates for ${\chi }^{2}$ distribution g01tdc Computes deviates for $F$-distribution g01tec Computes a vector of deviates for the beta distribution g01tfc Computes a vector of deviates for the gamma distribution g02abc Computes the nearest correlation matrix to a real square matrix, augmented nag_nearest_correlation (g02aac) to incorporate weights and bounds g02aec Computes the nearest correlation matrix with $k$-factor structure to a real square matrix g02qfc Quantile linear regression, simple interface, independent, identically distributed (IID) errors g02qgc Quantile linear regression, comprehensive interface g02zkc Option setting function for nag_regsn_quant_linear (g02qgc) g02zlc Option getting function for nag_regsn_quant_linear (g02qgc) g05kkc Primes a pseudorandom number generator for generating multiple streams using skip-ahead, skipping ahead a power of $2$ g05nec Pseudorandom sample, without replacement, unequal weights g07gac Outlier detection using method of Peirce, raw data or single variance supplied g07gbc Outlier detection using method of Peirce, two variances supplied g08chc Calculates the Anderson–Darling goodness-of-fit test statistic g08cjc Calculates the Anderson–Darling goodness-of-fit test statistic and its probability for the case of uniformly distributed data g08ckc Calculates the Anderson–Darling goodness-of-fit test statistic and its probability for the case of a fully-unspecified Normal distribution g08clc Calculates the Anderson–Darling goodness-of-fit test statistic and its probability for the case of an unspecified exponential distribution g12abc Computes rank statistics for comparing survival curves s14cbc Logarithm of the beta function $\mathrm{ln}\left(B,a,b\right)$ s14ccc Incomplete beta function ${I}_{x}\left(a,b\right)$ and its complement $1-{I}_{x}$ s17aqc Bessel function vectorized ${Y}_{0}\left(x\right)$ s17arc Bessel function vectorized ${Y}_{1}\left(x\right)$ s17asc Bessel function vectorized ${J}_{0}\left(x\right)$ s17atc Bessel function vectorized ${J}_{1}\left(x\right)$ s17auc Airy function vectorized $\mathrm{Ai}\left(x\right)$ s17avc Airy function vectorized $\mathrm{Bi}\left(x\right)$ s17awc Airy function vectorized ${\mathrm{Ai}}^{\prime }\left(x\right)$ s17axc Airy function vectorized ${\mathrm{Bi}}^{\prime }\left(x\right)$ s18aqc Modified Bessel function vectorized ${K}_{0}\left(x\right)$ s18arc Modified Bessel function vectorized ${K}_{1}\left(x\right)$ s18asc Modified Bessel function vectorized ${I}_{0}\left(x\right)$ s18atc Modified Bessel function vectorized ${I}_{1}\left(x\right)$ s18cqc Scaled modified Bessel function vectorized ${e}^{x}{K}_{0}\left(x\right)$ s18crc Scaled modified Bessel function vectorized ${e}^{x}{K}_{1}\left(x\right)$ s18csc Scaled modified Bessel function vectorized ${e}^{-\left|x\right|}{I}_{0}\left(x\right)$ s18ctc Scaled modified Bessel function vectorized ${e}^{-\left|x\right|}{I}_{1}\left(x\right)$ s19anc Kelvin function vectorized $\mathrm{ber}x$ s19apc Kelvin function vectorized $\mathrm{bei}x$ s19aqc Kelvin function vectorized $\mathrm{ker}x$ s19arc Kelvin function vectorized $\mathrm{kei}x$ s20aqc Fresnel integral vectorized $S\left(x\right)$ s20arc Fresnel integral vectorized $C\left(x\right)$ s30nbc Heston's model option pricing formula with Greeks

## 3  Withdrawn Functions

The following functions have been withdrawn from the NAG C Library at Mark 23. Warning of their withdrawal was included in the NAG C Library Manual at Mark 9, together with advice on which functions to use instead. See the document ‘Advice on Replacement Calls for Withdrawn/Superseded Functions’ for more detailed guidance.

## 4  Functions Scheduled for Withdrawal

The functions listed below are scheduled for withdrawal from the NAG C Library, because improved functions have now been included in the Library. You are advised to stop using functions which are scheduled for withdrawal and to use recommended replacement functions instead. See the document ‘Advice on Replacement Calls for Withdrawn/Superseded Functions’ for more detailed guidance, including advice on how to change a call to the old function into a call to its recommended replacement.
The following functions will be withdrawn at Mark 24.
The following functions have been superseded, but will not be withdrawn from the Library until Mark 25 at the earliest.

NAG C Library News, Mark 23 (PDF version)
NAG C Library Manual