Namespace for all classes in the NAG Library for .NET.
Classes
Class  Description  

A00  The methods in this chapter provide information about the NAG Library. a00aa enables you to determine the precise Mark and maintenance level of the NAG Library which is being used, and also details of the implementation. a00ac enables you to check if a valid key is available for the library licence management system.
 
C05  This chapter is concerned with the calculation of real zeros of continuous real functions of one or more variables. (Complex equations must be expressed in terms of the equivalent larger system of real equations.)
 
C05..::.c05ndCommunications  Communications Class for c05nd.
See the examples in the Library Introduction.  
C05..::.c05pdCommunications  Communications Class for c05pd.
See the examples in the Library Introduction.  
C06  This chapter is concerned with the following tasks.
 
C09  This chapter is concerned with the analysis of datasets (or functions or operators) in terms of frequency and scale components using wavelet transforms. Wavelet transforms have been applied in many fields from time series analysis to image processing and the localisation in either frequency or scale that they provide is useful for data compression or denoising. In general the standard wavelet transform uses dilation and scaling of a chosen function, The discrete wavelet transform (DWT) at a single level together with its inverse and the multilevel DWT with inverse are provided. The choice of wavelets includes the orthogonal wavelets of Daubechies and a selection of biorthogonal wavelets.
 
C09..::.C09Communications  Communications class for C09.
See the examples in the Library Introduction.  
D01  This chapter provides methods for the numerical evaluation of definite integrals in one or more dimensions and for evaluating weights and abscissae of integration rules.
 
DataReader  DataReader Class, IO stream for reading NAG Data files  
E01  This chapter is concerned with the interpolation of a function of one, two or three variables. When provided with the value of the function (and possibly one or more of its lowestorder derivatives) at each of a number of values of the variable(s), the methods provide either an interpolating function or an interpolated value. For some of the interpolating functions, there are supporting methods to evaluate, differentiate or integrate them.
 
E02  The main aim of this chapter is to assist you in finding a function which approximates a set of data points. Typically the data contain random errors, as of experimental measurement, which need to be smoothed out. To seek an approximation to the data, it is first necessary to specify for the approximating function a mathematical form (a polynomial, for example) which contains a number of unspecified coefficients: the appropriate fitting method then derives for the coefficients the values which provide the best fit of that particular form. The chapter deals mainly with curve and surface fitting (i.e., fitting with functions of one and of two variables) when a polynomial or a cubic spline is used as the fitting function, since these cover the most common needs. However, fitting with other functions and/or more variables can be undertaken by means of general linear or nonlinear methods (some of which are contained in other chapters) depending on whether the coefficients in the function occur linearly or nonlinearly. Cases where a graph rather than a set of data points is given can be treated simply by first reading a suitable set of points from the graph. The chapter also contains methods for evaluating, differentiating and integrating polynomial and spline curves and surfaces, once the numerical values of their coefficients have been determined. There is, too, a method for computing a Padé approximant of a mathematical function (see [Padé Approximants] and [Padé Approximants]).
 
E04  An optimization problem involves minimizing a function (called the
objective function) of several variables, possibly subject to
restrictions on the values of the variables defined by a set of
constraint functions. Most methods in the Library are
concerned with function minimization only, since the problem of
maximizing a given objective function F(x) is equivalent to
minimizing
In general methods in this chapter find a local minimum of a function The E05 class contains methods to find the global minima of a function The H (not in this release) contains methods typically regarded as belonging to the field of operations research. This introduction is only a brief guide to the subject of optimization designed for the casual user. Anyone with a difficult or protracted problem to solve will find it beneficial to consult a more detailed text, such as Gill et al. (1981) or Fletcher (1987). If you are unfamiliar with the mathematics of the subject you may find some sections difficult at first reading; if so, you should concentrate on [Types of Optimization Problems], [Geometric Representation and Terminology], [Scaling], [Analysis of Computed Results] and [Recommendations on Choice and Use of Available Methods].
 
E04..::.e04dgOptions  Options Class for e04dg
See the examples in the Library Introduction.  
E04..::.e04mfOptions  Options Class for e04mf
See the examples in the Library Introduction.  
E04..::.e04ncOptions  Options Class for e04nc
See the examples in the Library Introduction.  
E04..::.e04nkOptions  Options Class for e04nk
See the examples in the Library Introduction.  
E04..::.e04nqOptions  Options Class for e04nq
See the examples in the Library Introduction.  
E04..::.e04ucOptions  Options Class for e04uc
See the examples in the Library Introduction.  
E04..::.e04ufOptions  Options Class for e04uf
See the examples in the Library Introduction.  
E04..::.e04ugOptions  Options Class for e04ug
See the examples in the Library Introduction.  
E04..::.e04usOptions  Options Class for e04us
See the examples in the Library Introduction.  
E04..::.e04vhOptions  Options Class for e04vh
See the examples in the Library Introduction.  
E04..::.e04wdOptions  Options Class for e04wd
See the examples in the Library Introduction.  
E05  Global optimization involves finding the absolute maximum or minimum value of a function (the objective function) of several variables, possibly subject to restrictions (defined by a set of bounds or constraint functions) on the values of the variables. Such problems can be much harder to solve than local optimization problems (which are discussed in E04 class) because it is difficult to determine whether a potential optimum found is global, and because of the nonlocal methods required to avoid becoming trapped near local optima. Most optimization methods in the NAG Library are concerned with function minimization only, since the problem of maximizing a given objective function This introduction is a brief guide to the subject of global optimization, designed for the casual user. For further details you may find it beneficial to consult a more detailed text, such as Neumaier (2004). Furthermore, much of the material in the E04 class is relevant in this context also. In particular, it is strongly recommended that you read [Section Scaling] in the E04 class Chapter Introduction.
 
E05..::.e05jbOptions  Options Class for e05jb
See the examples in the Library Introduction.  
F06  This chapter is concerned with basic linear algebra methods which perform elementary algebraic operations involving scalars, vectors and matrices. It includes methods which conform to the specifications of the BLAS (Basic Linear Algebra Subprograms).
 
F07  This chapter provides methods for the solution of systems of simultaneous linear equations, and associated computations. It provides methods for
The methods in this chapter (F07 class) handle only dense and band matrices (not matrices with more specialized structures, or general sparse matrices). The methods in this chapter have all been derived from the LAPACK project (see Anderson et al. (1999)). They have been designed to be efficient on a wide range of highperformance computers, without compromising efficiency on conventional serial machines.
 
F08  This chapter provides methods for the solution of linear leastsquares problems, eigenvalue problems and singular value problems, as well as associated computations. It provides methods for:
The methods in this chapter (F08 class) handle only dense, band, tridiagonal and Hessenberg matrices (not matrices with more specialized structures, or general sparse matrices). The methods in this chapter have all been derived from the LAPACK project (see Anderson et al. (1999)). They have been designed to be efficient on a wide range of highperformance computers, without compromising efficiency on conventional serial machines. It is not expected that you will need to read all of the following sections, but rather you will pick out those sections relevant to your particular problem.
 
G01  This chapter covers three topics:
 
G02  This chapter is concerned with two techniques – correlation analysis and regression modelling – both of which are concerned with determining the interrelationships among two or more variables. Other chapters of the NAG Library which cover similar problems are E02 class and E04 class. E02 class methods may be used to fit linear models by criteria other than leastsquares, and also for polynomial regression; E04 class methods may be used to fit nonlinear models and linearly constrained linear models.
 
G03  This chapter is concerned with methods for studying multivariate data. A multivariate dataset consists of several variables recorded on a number of objects or individuals. Multivariate methods can be classified as those that seek to examine the relationships between the variables (e.g., principal components), known as variabledirected methods, and those that seek to examine the relationships between the objects (e.g., cluster analysis), known as individualdirected methods. Multiple regression is not included in this chapter as it involves the relationship of a single variable, known as the response variable, to the other variables in the dataset, the explanatory variables. Routines for multiple regression are provided in G02 class.
 
G05  This chapter is concerned with the generation of sequences of independent pseudorandom and quasirandom numbers from various distributions, and the generation of pseudorandom time series from specified time series models.
 
G05..::.G05State  Class holding the state for methods in G05.
See the examples in the Library Introduction.  
G13  This chapter provides facilities for investigating and modelling the statistical structure of series of observations collected at equally spaced points in time. The models may then be used to forecast the series. The chapter covers the following models and approaches.
 
PrintManager 
Utility class to control the output of error messages and monitoring information.
See the examples in the Library Introduction.
 
S  This chapter is concerned with the provision of some commonly occurring physical and mathematical functions.
 
X01  This chapter is concerned with the provision of mathematical constants required by other methods within the Library.
 
X02  This chapter is concerned with parameters which characterise certain aspects of the computing environment in which the NAG Library is implemented. They relate primarily to floatingpoint arithmetic, but also to integer arithmetic, the elementary functions and exception handling. The values of the parameters vary from one implementation of the Library to another, but within the context of a single implementation they are constants. The parameters are intended for use primarily by other methods in the Library, but users of the Library may sometimes need to refer to them directly.
 
X04  This chapter contains matrix printing utility methods.

Structures
Structure  Description  

Complex  Struct to denote a complex value as two doubles. 
Delegates
Delegate  Description  

C05..::.C05AD_F  f must evaluate the function
 
C05..::.C05AG_F  f must evaluate the function
 
C05..::.C05AJ_F  f must evaluate the function
 
C05..::.C05NB_FCN  
C05..::.C05NC_FCN  
C05..::.C05PB_FCN  
C05..::.C05PC_FCN  
D01..::.D01AH_F  f must return the value of the integrand
 
D01..::.D01AJ_F  f must return the value of the integrand
 
D01..::.D01AK_F  f must return the value of the integrand
 
D01..::.D01AL_F  f must return the value of the integrand
 
D01..::.D01AM_F  f must return the value of the integrand
 
D01..::.D01AN_G  
D01..::.D01AP_G  
D01..::.D01AQ_G  
D01..::.D01AR_FUN  fun must return the value of the integrand
 
D01..::.D01AS_G  
D01..::.D01BD_F  f must return the value of the integrand
 
D01..::.D01DA_F  f must return the value of the integrand
 
D01..::.D01DA_PHI1  phi1 must return the lower limit of the inner integral for a given value of
 
D01..::.D01DA_PHI2  phi2 must return the upper limit of the inner integral for a given value of
 
D01..::.D01FC_FUNCTN  functn must return the value of the integrand
 
D01..::.D01GD_VECFUN  vecfun must evaluate the integrand at a specified set of points.
 
D01..::.D01GD_VECREG  vecreg must evaluate the limits of integration in any dimension for a set of points.
 
D01..::.D01JA_F  f must return the value of the integrand
 
D01..::.D01PA_FUNCTN  functn must return the value of the integrand
 
E04..::.E04AB_FUNCT  You must supply this method to calculate the value of the function
 
E04..::.E04BB_FUNCT  You must supply this method to calculate the values of
It should be tested separately before being used in conjunction with e04bb.
 
E04..::.E04CB_FUNCT  
E04..::.E04CB_MONIT  
E04..::.E04DG_OBJFUN  objfun must calculate the objective function
 
E04..::.E04FC_LSQFUN  
E04..::.E04FC_LSQMON  
E04..::.E04FY_LSFUN1  
E04..::.E04GD_LSQFUN  
E04..::.E04GD_LSQMON  
E04..::.E04GY_LSFUN2  
E04..::.E04GZ_LSFUN2  You must supply this method to calculate the vector of values
 
E04..::.E04HC_FUNCT  funct must evaluate the function and its first derivatives at a given point. (The minimization methods mentioned in [Description] gives you the option of resetting parameters of funct to cause the minimization process to terminate immediately. e04hc will also terminate immediately, without finishing the checking process, if the parameter in question is reset.)
 
E04..::.E04HD_FUNCT  funct must evaluate the function and its first derivatives at a given point. (e04lb gives you the option of resetting parameters of funct to cause the minimization process to terminate immediately. e04hd will also terminate immediately, without finishing the checking process, if the parameter in question is reset.)
 
E04..::.E04HD_H  
E04..::.E04HE_LSQFUN  
E04..::.E04HE_LSQHES  
E04..::.E04HE_LSQMON  
E04..::.E04HY_LSFUN2  
E04..::.E04HY_LSHES2  
E04..::.E04JY_FUNCT1  
E04..::.E04KD_FUNCT  
E04..::.E04KD_MONIT  
E04..::.E04KY_FUNCT2  
E04..::.E04KZ_FUNCT2  
E04..::.E04LB_FUNCT  
E04..::.E04LB_H  
E04..::.E04LB_MONIT  
E04..::.E04LY_FUNCT2  
E04..::.E04LY_HESS2  
E04..::.E04NK_QPHX  For QP problems, you must supply a version of qphx to compute the matrix product
 
E04..::.E04NQ_QPHX  For QP problems, you must supply a version of qphx to compute the matrix product
 
E04..::.E04UC_CONFUN  confun must calculate the vector
 
E04..::.E04UC_OBJFUN  objfun must calculate the objective function
 
E04..::.E04UG_CONFUN  confun must calculate the vector
 
E04..::.E04UG_OBJFUN  objfun must calculate the nonlinear part of the objective function
 
E04..::.E04US_CONFUN 
confun must calculate the vector
 
E04..::.E04US_OBJFUN  objfun must calculate either the
 
E04..::.E04VH_USRFUN  usrfun must define the nonlinear portion
In general, usrfun should return all function and gradient values on every entry except perhaps the last. This provides maximum reliability and corresponds to the default option setting,
The elements of
In practice it is often convenient not to code gradients. e04vh is able to estimate them by finite differences, using a call to usrfun for each variable
As a compromise, e04vh allows you to code as many gradients as you like. This option is implemented as follows. Just before usrfun is called, each element of the derivative array g is initialized to a specific value. On exit, any element retaining that value must be estimated by finite differences.
Some rules of thumb follow:
 
E04..::.E04VJ_USRFUN  
E04..::.E04WD_CONFUN  confun must calculate the vector
If all constraint gradients (Jacobian elements) are known (i.e.,
It must be emphasised that, if
 
E04..::.E04WD_OBJFUN  objfun must calculate the objective function
 
E04..::.E04XA_OBJFUN  
E04..::.E04YA_LSQFUN  lsqfun must calculate the vector of values
 
E04..::.E04YB_LSQFUN  lsqfun must calculate the vector of values
 
E04..::.E04YB_LSQHES  
E04..::.E04ZC_CONFUN  confun must calculate the vector
 
E04..::.E04ZC_OBJFUN  objfun must calculate the objective function
 
E05..::.E05JB_MONIT  
E05..::.E05JB_OBJFUN  
G02..::.G02EF_MONFUN  You may define your own function or specify the NAG defined default function (g02efh not in this release).
 
G02..::.G02HB_UCV  ucv must return the value of the function
 
G02..::.G02HD_CHI  If
 
G02..::.G02HD_PSI  psi must return the value of the weight function
 
G02..::.G02HF_PSI  psi must return the value of the
 
G02..::.G02HF_PSP  psp must return the value of
 
G02..::.G02HL_UCV  ucv must return the values of the functions
 
G02..::.G02HM_UCV  
PrintManager..::.MessageLogger 
Delegate type to use for messages.
