NAG Library - New Content

The NAG Library contains hundreds of algorithms which are powerful, reliable, flexible and ready for use from a wide range of operating systems, languages, environments and packages including Excel, Java, .NET, C#, VB and many more. We have selected key highlights from the NAG Library and show in more detail how a particular function or set of functions can be used. A full comprehensive overview of what is in the NAG Library can be found in the online documentation.

A User's View - Global Optimization Techniques

"In my work on financial optimization I was researching a problem in portfolio selection which turned out to have multiple solutions. The model I was using was not continuously differentiable and so I needed a direct search (non-gradient) solution method. Neumaier's Multi-level Coordinate Splitting technique seemed a suitable choice and I was able to obtain a copy of the beta-test version of the NAG implementation of this approach. I am pleased to say that it yielded satisfactory solutions to my problem. More important, from my research and development point of view, the software offers a user plenty of choice and control over the way the calculation is performed, the accuracy of the search and the final stopping criteria. This flexibility is very valuable when one is working with a new and untried optimization model."

Dr Michael Bartholomew-Biggs
Head of Numerical Optimization Centre and School of Physics Astronomy and Mathematics, University of Hertford

Numerical and Statistical Facilities

The new functionality further enhances the comprehensive collection of numerical and statistical techniques offered by the Library:

Numerical facilities

• Optimization, including linear, quadratic, integer and nonlinear programming, least squares problems and semi-definite programming
• Ordinary and partial differential equations, and mesh generation
• Numerical integration and integral equations
• Roots of nonlinear equations (including polynomials)
• Solution of dense, banded and sparse linear equations and eigenvalue problems
• Solution of linear and nonlinear least squares problems
• Special functions
• Curve and surface fitting and interpolation

Statistical facilities

• Random number generation
• Simple calculations on statistical data
• Nearest correlation matrix
• Correlation and regression analysis
• Multivariate methods
• Analysis of variance and contingency table analysis
• Time series analysis
• Nonparametric statistics

Portfolio Optimization - An Example of Portfolio Optimization

A User's View - Option Pricing Formulae

"We use NAG at the Manchester Business School, first and foremost, because we trust its accuracy. The introduction of NAG option pricing routines accessible from MATLAB and Excel-VBA has greatly expanded its clientele from a small group of hard core Fortran and C/C++ programmers to large population of PhD Finance, MSc Quantitative Finance, MSc Mathematical Finance, and finance specialist undergraduate students. NAG has made complex derivative models accessible to a much wider audience whose primary goal is to understand the models instead of being bogged down by the nuts-and-bolts of coding. Even for the hard core option pricing experts, now that they do not have to reinvent the wheel all the times, they can concentrate on advancing the models. The MATLAB and Excel-VBA interface allows the experienced hard Quant to build up prototype models quickly."

Dr Ser-Huang Poon
Professor of Finance, Manchester Business School, University of Manchester

New Functionality at Mark 26 and Mark 26.1

At Mark 26 and Mark 26.1 of the NAG Library new functionality has been introduced in addition to improvements in existing areas.

Chapter c05 (Roots of One or More Transcendental Equations) has a new function that finds a solution of a system of nonlinear equations using Anderson acceleration.

Chapter c06 (Fourier Transforms) has a new function that calculates the fast Gauss transform approximation to the discrete Gauss transform.

Chapter d01 (Quadrature) has two new functions to calculate weights and abscissae for use in Gaussian quadrature and a new function to solve a specific Gaussian quadrature problem.

Chapter e04 (Minimizing or Maximizing a Function) has a new suite of functions, NAG Modelling Optimization Suite for quadratic programming (QP), linear semidefinite programming (SDP), semidefinite programming with bilinear matrix inequalities (BMI-SDP), and general nonlinear programming (NLP). This suite can, for example, solve the nearest correlation matrix problem with individually weighted elements or minimize the maximum eigenvalue of a matrix. The suite introduces a novel interface, allowing the gradual build up of a problem definition and avoiding the long parameter lists of earlier interfaces. The SDP solver is based upon a generalized augmented Lagrangian method and as such complements existing solvers in the optimization chapters. The QP/NLP solver of this suite is based upon IPOPT, an interior-point method optimization package, suitable for large-scale problems, that complements the active-set sequential quadratic programming (SQP) solvers already present.

At Mark 26.1, two new solvers are added to the NAG Modelling Optimization Suite. The first one is a derivative free solver for nonlinear least squares subject to bound constraints. It is aimed at small to medium sized data fitting or calibration problems (~100 variables) and is particularly suitable when the objective function is noisy or expensive to evaluate. The second one is a new interior point method for large scale linear programming problems (LP) that should offer significant speed-ups compared to the existing LP solvers in the NAG Library.

Chapter f08 (Least Squares and Eigenvalue Problems (LAPACK)) has additional blocked (BLAS-3) variants of functions for computing the generalized SVD, or generalized eigenvalues of real or complex matrix pairs.

Chapter g02 (Correlation and Regression Analysis) has a new nearest correlation function that, using a shrinking method, allows the fixing of arbitrary elements in the input matrix.

Chapter g04 (Analysis of Variance) has a new function for calculating the intraclass correlation (ICC) for a number of different rater reliability study designs.

Chapter g22 (Linear Model Specification) contains utility functions for aiding in the construction of design matrices for use when fitting linear regression models.

Chapter s (Approximations of Special Functions) contains a new set of functions to evaluate Struve functions H0, H1, L0 and L1.

Chapter x06 (OpenMP Utilities) has a new function to identify, at runtime, whether you are using a threaded Library or not.

At this release we have made changes to the introductory documentation supporting the Library. The document previously called the 'Essential Introduction' has been revised so that relevant information and advice on how to use the Library and its documentation can be found quickly. The document has been renamed to How to Use the NAG Library and its Documentation.

You will also notice that on every HTML page there is now a Keyword Search box.