The NAG Library contains over 1,600 algorithms which are powerful, reliable and flexible. The Library is organised into Chapters, with each Chapter concentrating on a particular area of numerical mathematics.

# About the NAG Library for .NET

The NAG Library for .NET, provides Microsoft .NET users with access to NAG's comprehensive set of optimization and statistical algorithms, together with a representative sample of algorithms from other Chapters of the Library. This Library includes algorithms from the following Chapters: Library Identification (A00), Roots of Equations (C05), Summation of Series (C06), Wavelet Transforms (C09), Quadrature (D01), Interpolation (E01), Curve and Surface Fitting (E02), Optimization (E04), Global Optimization (E05), Linear Algebra (F01, F06, F07, F08), Statistics (G01, G02, G03, G05, G13), Operations Research (H), Special functions (S), Constant and Utility functions (X01, X02, X04).

Note that in many cases not all the algorithms in a Chapter are provided at this time, however the class documentation, derived from the NAG Fortran Library Chapter Introductions, may still refer to algorithms not currently provided in the NAG Library for .NET. The tables of contents and tabulated lists of methods in each class do however accurately reflect the methods provided in this release.

# Key features

The NAG Library for .NET has two main components: a .NET assembly of managed code (NagLibrary32.dll, NagLibrary64.dll) and a shared library of unmanaged Code (DTW3207DA.dll or DTW6407DA.dll). The .NET managed assembly consists of a set of classes with static methods with relatively simple interfaces based on the NAG Fortran Library. These interfaces make calls to the NAG Library routines in (DTW3207DA.dll or DTW6407DA.dll). Note that these unmanaged libraries do include all the functionality of Mark 24 of the NAG Fortran library, example C# declarations giving access to these interfaces are included in the distribution. Further details on calling the unmanaged library from .NET are available from the NAG website

Help is provided in the form of Visual Studio Intellisense, and an HTML help file (NagLibrary.chm) together with online documentation at www.nag.co.uk/DT. Note that the Visual studio context sensitive HTML help is not supplied with this release.

Also provided with the NAG Library for .NET are example classes, data and results for each of the static methods in the managed assemblies (NagLibrary32.dll, NagLibrary64.dll). Every example class has a Main method, hence each of the example classes can be used as a self contained class within a console project or via the command line. These examples can be used as templates for your own applications.

A NAG Library for .NET application is also included which can be executed from the Start Menu (Start->NAG->NAG Library for .NET Version 2->NAG Library for .NET Example Application). This application provides a GUI that enables any subset of example programs to be conveniently executed.

# Changes since Version 1

The underlying computational code has been updated to Mark 24 of the NAG Fortran Library. Several new methods have been added as detailed below.

## New Methods in this Version

**c05au**- Zero of continuous function, Brent algorithm, from a given starting value, binary search for interval
**c05aw**- Zero of continuous function, continuation method, from a given starting value
**c05ay**- Zero of continuous function in a given interval, Brent algorithm
**c05qb**- Solution of a system of nonlinear equations using function values only (easy-to-use)
**c05qd**- Solution of a system of nonlinear equations using function values only (reverse communication)
**c05qc**- Solution of a system of nonlinear equations using function values only (comprehensive)
**c05rb**- Solution of a system of nonlinear equations using first derivatives (easy-to-use)
**c05rc**- Solution of a system of nonlinear equations using first derivatives (comprehensive)
**c05rd**- Solution of a system of nonlinear equations using first derivatives (reverse communication)
**c05zd**- Check user's function for calculating first derivatives of a set of nonlinear functions of several variables
**e04jc**- Minimum by quadratic approximation, function of several variables, simple bounds, using function values only
**e04pc**- 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
**e04nf**- QP problem (dense)
**e05uc**- Global optimization using multi-start, nonlinear constraints
**e05us**- Global optimization of a sum of squares problem using multi-start, nonlinear constraints
**f01ed**- Real symmetric matrix exponential
**f01ef**- Function of a real symmetric matrix
**f01fc**- Complex matrix exponential
**f01fd**- Complex Hermitian matrix exponential
**f01ff**- Function of a complex Hermitian matrix
**f01va**- Copies a real triangular matrix from full format to packed format scheme
**f01vb**- Copies a complex triangular matrix from full format to packed format scheme
**f01vc**- Copies a real triangular matrix from packed format to full format scheme
**f01vd**- Copies a complex triangular matrix from packed format to full format scheme
**f01ve**- Copies a real triangular matrix from full format to Rectangular Full Packed format scheme
**f01vf**- Copies a complex triangular matrix from full format to Rectangular Full Packed format scheme
**f01vg**- Copies a real triangular matrix from Rectangular Full Packed format to full format scheme
**f01vh**- Copies a complex triangular matrix from Rectangular Full Packed format to full format scheme
**f01vj**- Copies a real triangular matrix from packed format to Rectangular Full Packed format scheme
**f01vk**- Copies a complex triangular matrix from packed format to Rectangular Full Packed format scheme
**f01vl**- Copies a real triangular matrix from Rectangular Full Packed format to packed format scheme
**f01vm**- Copies a complex triangular matrix from Rectangular Full Packed format to packed format scheme
**f06qf**- Matrix copy, real rectangular or trapezoidal matrix
**f07te**- Solution of real triangular system of linear equations, multiple right-hand sides
**f07th**- Error bounds for solution of real triangular system of linear equations, multiple right-hand sides
**g02ab**- Computes the nearest correlation matrix to a real square matrix, augmented g02aa to incorporate weights and bounds
**g02ae**- Computes the nearest correlation matrix with k-factor structure to a real square matrix
**g02qf**- Linear quantile regression, simple interface, independent, identically distributed (IID) errors
**g02qg**- Linear quantile regression, comprehensive interface
**g05kk**- Primes a pseudorandom number generator for generating multiple streams using skip-ahead, skipping ahead a power of 2
**g07ga**- Outlier detection using method of Peirce, raw data or single variance supplied
**g07gb**- Outlier detection using method of Peirce, two variances supplied
**h02bb**- Integer LP problem (dense)
**h02cb**- Integer QP problem (dense)
**h02ce**- Integer LP or QP problem (sparse), using e04nk
**x04cb**- Print real general matrix (comprehensive)
**x04db**- Print complex general matrix (comprehensive)

## Widthdrawn Methods

**c05ad**- See: c05ay
**c05ag**- See: c05au
**c05aj**- See: c05aw
**c05nb**- See: c05qb
**c05nc**- See: c05qc
**c05nd**- See: c05qd
**c05pb**- See: c05rb
**c05pc**- See: c05rc
**c05pd**- See: c05rd
**c05za**- See: c05zd
**e04zc**- No longer required
**g13dc**- See: g13dd

# Product Installation and Activation

The NAG Library for .NET is a fully license managed product. To use the product you will need to obtain a license key. This can be obtained by following the instructions after clicking 'Request or install license key' found in the Start menu(Start->NAG->NAG Library for .NET Version 2). To ensure that the license has been installed correctly please run the NAG Library for .NET Example Application (described in the previous section) and execute one of the example programs.

For more complex licensing situations, or if you encounter problems with the installation or use of this software, please contact the NAG Technical Support Service at support@nag.co.uk.