At Mark 22 of the NAG Toolbox new functionality has been introduced in addition to improvements in existing areas. The Toolbox
now contains 1415 user-callable functions, all of which are documented, of which 128 are new at this mark.
A number of routines have had their interfaces improved, typically to make parameters optional or to
remove them altogether. Details of the changes are listed in the individual
routine documents, or can be found in
Interface Changes. In addition, the product now includes a number of demos which
can be accessed from the demos tab in the help window.

Three new chapters have been introduced on wavelets, global optimization, further linear algebra support routines; a new sub-chapter
has also been introduced on option pricing formulae; and extensions have been included in the areas of statistics, optimization,
linear algebra, ordinary differential equations, regression, random numbers, searching, and special functions.

The new
Chapter C09 (
Wavelet Transforms) has routines for performing one-dimensional discrete, single level and multi-level, wavelet transforms and their inverses.

The new
Chapter E05 (
Global Optimization of a Function) has a routine for performing global optimization on a problem with simple bounds using a multi-level co-ordinate search,
which is complemented by a number of support routines for initializing the data and setting optional parameters.

The new
Chapter F16 (
Further Linear Algebra Support Routines) contains various useful level-1 routines from the BLAS Technical Forum (BLAST).

Chapter C05 (
Roots of One or More Transcendental Equations) has a new routine to evaluate real values of Lambert's
W
function.

Chapter D02 (
Ordinary Differential Equations) has extended its functionality to include routines that use the integration method of DASSL; thus, implicit differential
algebraic equations of index 2 can now be solved.

Chapter E04 (
Minimizing or Maximizing a Function) has added a replacement routine for applying the simplex algorithm which should perform significantly faster than the original.

Chapter F01 (
Matrix Operations, Including Inversion) contains a new routine for computing the matrix exponential of a real-valued matrix.

Chapter F02 (
Eigenvalues and Eigenvectors) contains a new routine for obtaining leading terms in the singular value decomposition of a real general matrix.

Chapter G01 (
Simple Calculations on Statistical Data) contains a new routine for finding quantiles of an unordered vector.

Chapter G02 (
Correlation and Regression Analysis) contains new routines for: computing the nearest correlation matrix to a real square matrix; computing predicted value and
error from a generalized linear model; ridge regression; and partial least squares.

Chapter G03 (
Multivariate Methods) contains a new routine for performing ProMax rotations.

Chapter G05 (
Random Number Generators) has been over-hauled to provide a consistent set of routines for: initializing pseudo-random, quasi-random and scrambled
quasi-random base generators; generating vectors from distributions; generating matrices from Copula and multivariate distributions;
and generating realizations from (V)ARMA models and GARCH processes. The base generators now include the Mersenne Twister
and ACORN generators.

Chapter G13 (
Time Series Analysis) contains new routines for exponential smoothing of a univariate time series, and fitting a VARMA model to a multivariate
time series.

Chapter M01 (
Sorting and Searching) is renamed from ‘Sorting’ and contains routines for searching arrays of real-valued, integer or character data.

Chapter S (
Approximations of Special Functions) now includes a suite of routines for evaluating various option pricing formulae. This chapter also contains new routines
for computing the scaled complement of the error function (erfcx), and computing elliptic integrals in the classical Legendre
form.

Plots of example program results have been added to many function documents. In some cases the example program has been modified
slightly to produce a larger set of results giving a more representative plot of the solution profile produced.