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 multi-level 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 lowest-order 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 high-performance computers, without compromising efficiency on conventional serial machines.
| ||||||||||
![]() | F08 | This chapter provides methods for the solution of linear least-squares 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 high-performance 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 inter-relationships 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 least-squares, 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 variable-directed methods, and those that seek to examine the relationships between the objects (e.g., cluster analysis), known as individual-directed 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 quasi-random 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 floating-point 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.
|