At Mark 8 of the NAG C Library new functionality has been introduced in addition to improvements in existing areas. The Library
now contains 1006 user-callable routines of which 990 are documented and 146 are new at this mark.

A new chapter on large scale eigenproblems has been introduced, and new algorithms have been included in the areas of optimization,
dense and banded linear algebra, direct solution of large scale linear systems, regression, random numbers, time series and
the NAG interface to BLAS.

The new chapter on Large Scale Eigenproblems (f12) has functions for the solution of symmetric and nonsymmetric standard and generalized large scale eigenvalue problems. Chapter
f11 has been renamed as Large Scale Linear Systems, and new functions for the direct solution of sparse problems have been added.

Chapter e04 (Minimizing or Maximizing a Function) has been updated with new functions for the solution of LP, QP and nonlinear programming problems with sparse linear constraints.

A comprehensive suite of driver functions for the solution of dense and banded linear equations has also been added to Chapter
f04 (Simultaneous Linear Equations).

New functions for stepwise regression and mixed effects regression have been included in Chapter g02 (Correlation and Regression Analysis), and a number of new random number generators, including Copulas and improved quasi-random number generators have been added
to Chapter g05 (Random Number Generators) and Chapter g13 (Time Series Analysis).

Chapter f16 (NAG Interface to BLAS) now covers the full BLAS specification.

The NAG Boolean type has been withdrawn and replaced by **Nag_Boolean** (see Section 2.2.1.1 of the Essential Introduction). The change had to be made in order to avoid a clash of types with those compiler vendors
who also use Boolean.

Individual function documents have been provided at this Mark for Chapter a00 (Library Identification), Chapter a02 (Complex Arithmetic) and Chapter f06 (Linear Algebra Support Functions).

The 146 new user-callable routines included in the C Library at Mark 8 are as follows.

a00acc | nag_check_licensing Check availability of a valid licence key |

e01sgc | nag_2d_shep_interp Interpolating functions, modified Shepard's method, two variables |

e01shc | nag_2d_shep_eval Interpolated values, evaluate interpolant computed by nag_2d_shep_interp (e01sgc), function and first derivatives, two variables |

e01sjc | nag_2d_triang_interp A function to generate a two-dimensional surface interpolating a set of data points, using either the method of Renka and Cline or the modified Shepard's method |

e01skc | nag_2d_triang_eval A function to evaluate, at a set of points, the two-dimensional interpolant function generated by nag_2d_shep_interp (e01sgc) |

e02dac | nag_2d_spline_fit_panel Least-squares surface fit, bicubic splines |

e02zac | nag_2d_panel_sort Sort two-dimensional data into panels for fitting bicubic splines |

e04npc | nag_opt_sparse_convex_qp_init Initialization function for nag_opt_sparse_convex_qp_solve (e04nqc) |

e04nqc | nag_opt_sparse_convex_qp_solve LP or QP problem (suitable for sparse problems) |

e04nrc | nag_opt_sparse_convex_qp_option_set_file Supply optional parameter values for nag_opt_sparse_convex_qp_solve (e04nqc) from external file |

e04nsc | nag_opt_sparse_convex_qp_option_set_string Set a single option for nag_opt_sparse_convex_qp_solve (e04nqc) from a character string |

e04ntc | nag_opt_sparse_convex_qp_option_set_integer Set a single option for nag_opt_sparse_convex_qp_solve (e04nqc) from an Integer argument |

e04nuc | nag_opt_sparse_convex_qp_option_set_double Set a single option for nag_opt_sparse_convex_qp_solve (e04nqc) from a double argument |

e04nxc | nag_opt_sparse_convex_qp_option_get_integer Get the setting of an Integer valued option of nag_opt_sparse_convex_qp_solve (e04nqc) |

e04nyc | nag_opt_sparse_convex_qp_option_get_double Get the setting of a double valued option of nag_opt_sparse_convex_qp_solve (e04nqc) |

e04vgc | nag_opt_sparse_nlp_init Initialization function for nag_opt_sparse_nlp_solve (e04vhc) |

e04vhc | nag_opt_sparse_nlp_solve General sparse nonlinear optimizer |

e04vjc | nag_opt_sparse_nlp_jacobian Determine the pattern of nonzeros in the Jacobian matrix for nag_opt_sparse_nlp_solve (e04vhc) |

e04vkc | nag_opt_sparse_nlp_option_set_file Supply optional parameter values for nag_opt_sparse_nlp_solve (e04vhc) from external file |

e04vlc | nag_opt_sparse_nlp_option_set_string Set a single option for nag_opt_sparse_nlp_solve (e04vhc) from a character string |

e04vmc | nag_opt_sparse_nlp_option_set_integer Set a single option for nag_opt_sparse_nlp_solve (e04vhc) from an Integer argument |

e04vnc | nag_opt_sparse_nlp_option_set_double Set a single option for nag_opt_sparse_nlp_solve (e04vhc) from a double argument |

e04vrc | nag_opt_sparse_nlp_option_get_integer Get the setting of an Integer valued option of nag_opt_sparse_nlp_solve (e04vhc) |

e04vsc | nag_opt_sparse_nlp_option_get_double Get the setting of a double valued option of nag_opt_sparse_nlp_solve (e04vhc) |

e04wcc | nag_opt_nlp_init Initialization function for nag_opt_nlp_solve (e04wdc) |

e04wdc | nag_opt_nlp_solve Solves the nonlinear programming (NP) problem |

e04wec | nag_opt_nlp_option_set_file Supply optional parameter values for nag_opt_nlp_solve (e04wdc) from external file |

e04wfc | nag_opt_nlp_option_set_string Set a single option for nag_opt_nlp_solve (e04wdc) from a character string |

e04wgc | nag_opt_nlp_option_set_integer Set a single option for nag_opt_nlp_solve (e04wdc) from an Integer argument |

e04whc | nag_opt_nlp_option_set_double Set a single option for nag_opt_nlp_solve (e04wdc) from a double argument |

e04wkc | nag_opt_nlp_option_get_integer Get the setting of an Integer valued option of nag_opt_nlp_solve (e04wdc) |

e04wlc | nag_opt_nlp_option_get_double Get the setting of a double valued option of nag_opt_nlp_solve (e04wdc) |

f04bac | nag_real_gen_lin_solve Computes the solution and error-bound to a real system of linear equations |

f04bbc | nag_real_band_lin_solve Computes the solution and error-bound to a real banded system of linear equations |

f04bcc | nag_real_tridiag_lin_solve Computes the solution and error-bound to a real tridiagonal system of linear equations |

f04bdc | nag_real_sym_posdef_lin_solve Computes the solution and error-bound to a real symmetric positive-definite system of linear equations |

f04bec | nag_real_sym_posdef_packed_lin_solve Computes the solution and error-bound to a real symmetric positive-definite system of linear equations, packed storage |

f04bfc | nag_real_sym_posdef_band_lin_solve Computes the solution and error-bound to a real symmetric positive-definite banded system of linear equations |

f04bgc | nag_real_sym_posdef_tridiag_lin_solve Computes the solution and error-bound to a real symmetric positive-definite tridiagonal system of linear equations |

f04bhc | nag_real_sym_lin_solve Computes the solution and error-bound to a real symmetric system of linear equations |

f04bjc | nag_real_sym_packed_lin_solve Computes the solution and error-bound to a real symmetric system of linear equations, packed storage |

f04cac | nag_complex_gen_lin_solve Computes the solution and error-bound to a complex system of linear equations |

f04cbc | nag_complex_band_lin_solve Computes the solution and error-bound to a complex banded system of linear equations |

f04ccc | nag_complex_tridiag_lin_solve Computes the solution and error-bound to a complex tridiagonal system of linear equations |

f04cdc | nag_herm_posdef_lin_solve Computes the solution and error-bound to a complex Hermitian positive-definite system of linear equations |

f04cec | nag_herm_posdef_packed_lin_solve Computes the solution and error-bound to a complex Hermitian positive-definite system of linear equations, packed storage |

f04cfc | nag_herm_posdef_band_lin_solve Computes the solution and error-bound to a complex Hermitian positive-definite banded system of linear equations |

f04cgc | nag_herm_posdef_tridiag_lin_solve Computes the solution and error-bound to a complex Hermitian positive-definite tridiagonal system of linear equations |

f04chc | nag_herm_lin_solve Computes the solution and error-bound to a complex Hermitian system of linear equations |

f04cjc | nag_herm_packed_lin_solve Computes the solution and error-bound to a complex Hermitian system of linear equations, packed storage |

f04dhc | nag_complex_sym_lin_solve Computes the solution and error-bound to a complex symmetric system of linear equations |

f04djc | nag_complex_sym_packed_lin_solve Computes the solution and error-bound to a complex symmetric system of linear equations, packed storage. |

f06fec | nag_drscl Multiply real vector by reciprocal of scalar |

f06kec | nag_zrscl Multiply complex vector by reciprocal of real scalar |

f11mdc | nag_superlu_column_permutation Real sparse nonsymmetric linear systems, setup for nag_superlu_lu_factorize (f11mec) |

f11mec | nag_superlu_lu_factorize LU factorization of real sparse matrix |

f11mfc | nag_superlu_solve_lu Solution of real sparse simultaneous linear equations (coefficient matrix already factorized) |

f11mgc | nag_superlu_condition_number_lu Estimate condition number of real matrix, matrix already factorized by nag_superlu_lu_factorize (f11mec) |

f11mhc | nag_superlu_refine_lu Refined solution with error bounds of real system of linear equations, multiple right-hand sides |

f11mkc | nag_superlu_matrix_product Real sparse nonsymmetric matrix matrix multiply, compressed column storage |

f11mlc | nag_superlu_matrix_norm 1-norm, ∞-norm, largest absolute element, real general matrix |

f11mmc | nag_superlu_diagnostic_lu Real sparse nonsymmetric linear systems, diagnostic for nag_superlu_lu_factorize (f11mec) |

f12aac | nag_real_sparse_eigensystem_init Initialization routine for (nag_real_sparse_eigensystem_iter (f12abc)) computing selected eigenvalues and, optionally, eigenvectors of a real nonsymmetric sparse (standard or generalized) eigenproblem |

f12abc | nag_real_sparse_eigensystem_iter Implements a reverse communication interface for the Implicitly Restarted Arnoldi iteration for computing selected eigenvalues and, optionally, eigenvectors of a real nonsymmetric sparse (standard or generalized) eigenproblem |

f12acc | nag_real_sparse_eigensystem_sol Returns the converged approximations (as determined by nag_real_sparse_eigensystem_iter (f12abc)) to eigenvalues of a real nonsymmetric sparse (standard or generalized) eigenproblem and, optionally, the corresponding approximate eigenvectors and/or an orthonormal basis for the associated approximate invariant subspace |

f12adc | nag_real_sparse_eigensystem_option Set a single option from a string (nag_real_sparse_eigensystem_iter (f12abc)/nag_real_sparse_eigensystem_sol (f12acc)/nag_real_banded_sparse_eigensystem_sol (f12agc)) |

f12aec | nag_real_sparse_eigensystem_monit Provides monitoring information for nag_real_sparse_eigensystem_iter (f12abc) |

f12afc | nag_real_banded_sparse_eigensystem_init Initialization routine for (nag_real_banded_sparse_eigensystem_sol (f12agc)) computing selected eigenvalues and, optionally, eigenvectors of a real nonsymmetric banded (standard or generalized) eigenproblem |

f12agc | nag_real_banded_sparse_eigensystem_sol Computes approximations to selected eigenvalues of a real nonsymmetric banded (standard or generalized) eigenproblem and, optionally, the corresponding approximate eigenvectors and/or an orthonormal basis for the associated approximate invariant subspace |

f12anc | nag_complex_sparse_eigensystem_init Initialization routine for (nag_complex_sparse_eigensystem_iter (f12apc)) computing selected eigenvalues and, optionally, eigenvectors of a complex sparse (standard or generalized) eigenproblem |

f12apc | nag_complex_sparse_eigensystem_iter Implements a reverse communication interface for the Implicitly Restarted Arnoldi iteration for computing selected eigenvalues and, optionally, eigenvectors of a complex sparse (standard or generalized) eigenproblem |

f12aqc | nag_complex_sparse_eigensystem_sol Returns the converged approximations (as determined by nag_real_sparse_eigensystem_iter (f12abc)) to eigenvalues of a complex sparse (standard or generalized) eigenproblem and, optionally, the corresponding approximate eigenvectors and/or an orthonormal basis for the associated approximate invariant subspace |

f12arc | nag_complex_sparse_eigensystem_option Set a single option from a string (nag_complex_sparse_eigensystem_iter (f12apc)/nag_complex_sparse_eigensystem_sol (f12aqc)) |

f12asc | nag_complex_sparse_eigensystem_monit Provides monitoring information for nag_complex_sparse_eigensystem_iter (f12apc) |

f12fac | nag_real_symm_sparse_eigensystem_init Initialization routine for (nag_real_symm_sparse_eigensystem_iter (f12fbc)) computing selected eigenvalues and, optionally, eigenvectors of a real symmetric sparse (standard or generalized) eigenproblem |

f12fbc | nag_real_symm_sparse_eigensystem_iter Implements a reverse communication interface for the Implicitly Restarted Arnoldi iteration for computing selected eigenvalues and, optionally, eigenvectors of a real symmetric sparse (standard or generalized) eigenproblem |

f12fcc | nag_real_symm_sparse_eigensystem_sol Returns the converged approximations (as determined by nag_real_sparse_eigensystem_iter (f12abc)) to eigenvalues of a real symmetric sparse (standard or generalized) eigenproblem and, optionally, the corresponding approximate eigenvectors and/or an orthonormal basis for the associated approximate invariant subspace |

f12fdc | nag_real_symm_sparse_eigensystem_option Set a single option from a string (nag_real_symm_sparse_eigensystem_iter (f12fbc)/nag_real_symm_sparse_eigensystem_sol (f12fcc)/nag_real_symm_banded_sparse_eigensystem_sol (f12fgc)) |

f12fec | nag_real_symm_sparse_eigensystem_monit Provides monitoring information for nag_real_symm_sparse_eigensystem_iter (f12fbc) |

f12ffc | nag_real_symm_banded_sparse_eigensystem_init Initialization routine for (nag_real_symm_banded_sparse_eigensystem_sol (f12fgc)) computing selected eigenvalues and, optionally, eigenvectors of a real symmetric banded (standard or generalized) eigenproblem |

f12fgc | nag_real_symm_banded_sparse_eigensystem_sol Computes approximations to selected eigenvalues of a real symmetric banded (standard or generalized) eigenproblem and, optionally, the corresponding approximate eigenvectors and/or an orthonormal basis for the associated approximate invariant subspace |

f16pac | nag_dgemv Matrix-vector product, real rectangular matrix |

f16pbc | nag_dgbmv Matrix-vector product, real rectangular band matrix |

f16pcc | nag_dsymv Matrix-vector product, real symmetric matrix |

f16pdc | nag_dsbmv Matrix-vector product, real symmetric band matrix |

f16pec | nag_dspmv Matrix-vector product, real symmetric packed matrix |

f16pfc | nag_dtrmv Matrix-vector product, real triangular matrix |

f16pgc | nag_dtbmv Matrix-vector product, real triangular band matrix |

f16phc | nag_dtpmv Matrix-vector product, real triangular packed matrix |

f16pkc | nag_dtbsv System of equations, real triangular band matrix |

f16plc | nag_dtpsv System of equations, real triangular packed matrix |

f16pmc | nag_dger Rank-1 update, real rectangular matrix |

f16ppc | nag_dsyr Rank-1 update, real symmetric matrix |

f16pqc | nag_dspr Rank-1 update, real symmetric packed matrix |

f16prc | nag_dsyr2 Rank-2 update, real symmetric matrix |

f16psc | nag_dspr2 Rank-2 update, real symmetric packed matrix |

f16sac | nag_zgemv Matrix-vector product, complex rectangular matrix |

f16sbc | nag_zgbmv Matrix-vector product, complex rectangular band matrix |

f16scc | nag_zhemv Matrix-vector product, complex Hermitian matrix |

f16sdc | nag_zhbmv Matrix-vector product, complex Hermitian band matrix |

f16sec | nag_zhpmv Matrix-vector product, complex Hermitian packed matrix |

f16sfc | nag_ztrmv Matrix-vector product, complex triangular matrix |

f16sgc | nag_ztbmv Matrix-vector product, complex triangular band matrix |

f16shc | nag_ztpmv Matrix-vector product, complex triangular packed matrix |

f16skc | nag_ztbsv System of equations, complex triangular band matrix |

f16slc | nag_ztpsv System of equations, complex triangular packed matrix |

f16smc | nag_zger Rank-1 update, complex rectangular matrix, unconjugated vector |

f16spc | nag_zher Rank-1 update, complex Hermitian matrix |

f16sqc | nag_zhpr Rank-1 update, complex Hermitian packed matrix |

f16src | nag_zher2 Rank-2 update, complex Hermitian matrix |

f16ssc | nag_zhpr2 Rank-2 update, complex Hermitian packed matrix |

f16tac | nag_zsymv Matrix-vector product, complex symmetric matrix |

f16tcc | nag_zspmv Matrix-vector product, complex symmetric packed matrix |

f16yac | nag_dgemm Matrix-matrix product, two real rectangular matrices |

f16ycc | nag_dsymm Matrix-matrix product, one real symmetric matrix, one real rectangular matrix |

f16yfc | nag_dtrmm Matrix-matrix product, one real triangular matrix, one real rectangular matrix |

f16ypc | nag_dsyrk Rank-k update of a real symmetric matrix |

f16yrc | nag_dsyr2k Rank-2k update of a real symmetric matrix |

f16zac | nag_zgemm Matrix-matrix product, two complex rectangular matrices |

f16zcc | nag_zhemm Matrix-matrix product, one complex Hermitian matrix, one complex rectangular matrix |

f16zfc | nag_ztrmm Matrix-matrix product, one complex triangular matrix, one complex rectangular matrix |

f16zpc | nag_zherk Rank-k update of a complex Hermitian matrix |

f16zrc | nag_zher2k Rank-2k update of a complex Hermitian matrix |

f16ztc | nag_zsymm Matrix-matrix product, one complex symmetric matrix, one complex rectangular matrix |

f16zuc | nag_zsyrk Rank-k update of a complex symmetric matrix |

f16zwc | nag_zsyr2k Rank-2k update of a complex symmetric matrix |

g02efc | nag_full_step_regsn Stepwise linear regression |

g02ewc | nag_full_step_regsn_monit Monitor function for full stepwise regression |

g02jac | nag_reml_mixed_regsn Linear mixed effects regression using Restricted Maximum Likelihood (REML) |

g02jbc | nag_ml_mixed_regsn Linear mixed effects regression using Maximum Likelihood (ML) |

g05lxc | nag_rngs_matrix_multi_students_t Generates a matrix of random numbers from a multivariate Student's t-distribution, seeds and generator passed explicitly |

g05lyc | nag_rgsn_matrix_multi_normal Generates a matrix of random numbers from a multivariate Normal distribution, seeds and generator passed explicitly |

g05rac | nag_rngs_copula_normal Generates a matrix of random numbers from a Gaussian Copula, seeds and generator passed explicitly |

g05rbc | nag_rngs_copula_students_t Generates a matrix of random numbers from a Student's t-Copula, seeds and generator passed explicitly |

g13bgc | nag_tsa_multi_inp_update Multivariate time series, update state set for forecasting from multi-input model |

g13ddc | nag_tsa_varma_estimate Multivariate time series, estimation of VARMA model |

g13djc | nag_tsa_varma_forecast Multivariate time series, forecasts and their standard errors |

g13dkc | nag_tsa_varma_update Multivariate time series, updates forecasts and their standard errors |

g13dsc | nag_tsa_varma_diagnostic Multivariate time series, diagnostic checking of residuals, following nag_tsa_varma_estimate (g13ddc) |

x04acc | nag_open_file Open unit number for reading, writing or appending, and associate unit with named file |

x04adc | nag_close_file Close file associated with given unit number |

x04bac | nag_write_line Write formatted record to external file |

x04bbc | nag_read_line Read formatted record from external file |

x04nac | nag_enum_name_to_value Converts NAG enum member name to value |

x04nbc | nag_enum_value_to_name Converts NAG enum member value to its name |

x04ncc | nag_error_name_to_code Converts NAG error name to its code value |

The routines listed below are scheduled for withdrawal from the C Library, because improved routines have now been included
in the Library. Users are advised to stop using routines which are scheduled for withdrawal immediately and to use recommended
replacement routines 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 routine into a call to its recommended replacement.

The following routines have been superseded, but will not be withdrawn from the Library until Mark 10 at the earliest.

© The Numerical Algorithms Group Ltd, Oxford, UK. 2005