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.