| IGLib 1.7.2 The IGLib base library for development of numerical, technical and business applications.

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
Public Member Functions | Static Public Member Functions | List of all members
IG.Num.QuadraticBasisSafer Class Reference

The same as QuadraticBasis, just that it has more meaningful exceptions. More...

Inheritance diagram for IG.Num.QuadraticBasisSafer:
[legend]
Collaboration diagram for IG.Num.QuadraticBasisSafer:
[legend]

## Public Member Functions
| QuadraticBasisSafer (int dimension)
override double | Value (IVectorFunctionResults evaluationData, int which)
| Calculates and returns the particular component of the vector function value. More...
override double | Derivative (IVectorFunctionResults evaluationData, int which, int component)
| Calculates and returns the particular component of the vector function's derivative. More...
override double | SecondDerivative (IVectorFunctionResults evaluationData, int which, int rowNum, int columnNum)
| Calculates and returns the particular component of the vector function's second derivative (Hessian). More...
Public Member Functions inherited from IG.Num.QuadraticBasis
| QuadraticBasis (int dimension)
| Constructs a vector function containing quadratic basis for the specified dimension. Composed of (n+1)*(n+2)/2 functions: 1, x_1, ..., x_n, 0.5*x_1^2, 0.5*x_2^2, ..., 0.5*x_n^2, x_1*x_2, x_1*x_3, ..., x_1*x_n, ..., x_2*x_3, ..., x_2*x_n, ..., ..., x_n-1*x_n. More...
int[] | GetFunctionDefinition (int which)
| Returns a table of indices defining the specified function of the quadratic basis. Table contains up to two indices of variables whose product represents the specific basis function. [] (empty array) means constant term, [1] means x1, [2] means x2, [1,1] means x1^2, [2,2] means x2^2, [1,2] means x1*x2, [3,5] means x4*x5, etc. More...
void | GetFunctionDefinition (int which, out int numTerms, out int firstVariableIndex, out int secondVariableIndex)
| Returns data about the specific function of this vector function containing quadratic basis. Examples: numTerms = 0: constant (1) numTerms = 1: linear terms, firstVariableIndex is index of the variable. numTerms = 2: quadratic terms, firstVariableIndex and secondVariableIndex are indices of variables whose product gives this basis function. More...
Public Member Functions inherited from IG.Num.VectorFunctionBaseComponentWise
override void | Evaluate (IVectorFunctionResults evaluationData)
| Performs evaluation of requwester function results and writes them to the provided data structure. Uses Evaluate(IVector, ref bool, ref List{double}, ref bool, ref List{IVector}, ref bool, ref List{IMatrix}) to do the job. More...
override void | Evaluate (IVector parameters, ref bool calculateValues, ref List< double > values, ref bool calculateGradients, ref List< IVector > gradients, ref bool calculateHessians, ref List< IMatrix > hessians)
| Calculation of values, gradients, and hessians of the vector function according to request flags. Uses functions for component-wise evaluation to do the job. More...
Public Member Functions inherited from IG.Num.VectorFunctionBaseGeneral
| VectorFunctionBaseGeneral ()
void | SetNumParameters (int num)
| Sets number of parameters of the current vector function to the specified value. More...
void | SetNumValues (int num)
| Sets number of values of the vector function to the specified value. More...
virtual double | Value (IVector parameters, int which)
| Calculates and returns the particular component of the vector function value. More...
virtual double | Derivative (IVector parameters, int which, int component)
| Calculates and returns the particular component of the vector function derivative. More...
virtual double | SecondDerivative (IVector parameters, int which, int rowNum, int columnNum)
| Calculates and returns the particular component of the vector function's second derivative (Hessian). More...
void | Value (IVector parameters, ref List< double > values)
| Returns the value of vector function at the specified parameter. More...
void | Derivative (IVector parameters, ref List< IVector > gradients)
| Returns the first derivative of this function at the specified parameter. More...
void | SecondDerivative (IVector parameters, ref List< IMatrix > hessians)
| Returns the second derivative (Hessian) of this function at the specified arameter. More...
double | LinearCombinationValue (IVectorFunctionResults evaluationData, IVector coefficients)
| Returns value of linear combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
void | LinearCombinationDerivative (IVectorFunctionResults evaluationData, IVector coefficients, ref IVector res)
| Returns gradient of linear combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
double | LinearCombinationDerivative (IVectorFunctionResults evaluationData, IVector coefficients, int component)
| Returns the specified component of gradient of combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
void | LinearCombinationSecondDerivative (IVectorFunctionResults evaluationData, IVector coefficients, ref IMatrix res)
double | LinearCombinationSecondDerivative (IVectorFunctionResults evaluationData, IVector coefficients, int rowNum, int columnNum)
| Returns the specified component of Hessian of combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
double | LinearCombinationValue (IVector parameters, IVector coefficients)
| Returns value of linear combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
void | LinearCombinationDerivative (IVector parameters, IVector coefficients, ref IVector res)
| Returns gradient of linear combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
double | LinearCombinationDerivative (IVector parameters, IVector coefficients, int component)
| Returns the specified component of gradient of combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
void | LinearCombinationSecondDerivative (IVector parameters, IVector coefficients, ref IMatrix res)
| Calculates second derivatives of the linear combination of components of vector functions and stores them to the specified matrix. More...
double | LinearCombinationSecondDerivative (IVector parameters, IVector coefficients, int rowNum, int columnNum)
| Returns the specified component of Hessian of combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
virtual void | NumericalDerivative (IVector x, IVector stepSize, ref List< IVector > derivative)
| Calculates numerical derivative of this function. Central difference formula is used. More...
virtual void | NumericalSecondDerivative (IVector x, IVector stepsizes, ref List< IVector > secondDerivatives)
| Calculates numerical second order derivative of this function. Central difference formula is used. More...

## Static Public Member Functions
static new void | Example ()
| Example for this class, just runs examples form the LinearBasis class. More...
Static Public Member Functions inherited from IG.Num.QuadraticBasis
static int | NumQuadraticBasisFunctions (int dimension)
| Returns number of basis functions in quadratic polynomial basis of the specified dimenson. This is a helper method. More...
static void | Example ()
| Example for this class, just runs examples form the LinearBasis class. More...

## Additional Inherited Members
Protected Attributes inherited from IG.Num.QuadraticBasis
int[][] | functionDefinitions
| Definitions of basis functions. Each definition is an array of at most 2 indices specifying the product of which variables (zero-base) is a specific function. At index 0, length of array is 0. At indices 1 through n+1 it is 1 (linear terms), and at remaining indices it is 2. More...
int[,] | quatraticTerms
| 2D table of indices specifying for each quadratic term which function it corresponds to (since up to quadratic terms this is trivial). More...
Protected Attributes inherited from IG.Num.VectorFunctionBaseGeneral
object | _lock = new object()
string | _name
string | _description
int | _numParameters = -1
int | _numValues = -1
bool | _valuesDefined = true
bool | _derivativeDefined = false
bool | _secondDerivativeDefined = false
bool | _componentEvaluation = false
Properties inherited from IG.Num.VectorFunctionBaseComponentWise
override bool | ComponentWiseEvaluation`[get, protected set]`
| Returns true, indicating that individual components of functions and eventually their deirvatives is performed directly. More...
Properties inherited from IG.Num.VectorFunctionBaseGeneral
object | Lock`[get]`
virtual string | Name`[get, set]`
| Returns a short name of the function. More...
virtual string | Description`[get, set]`
| Returns a short description of the function. More...
virtual int | NumParameters`[get, protected set]`
| Gets number of parameters of the current vector function (-1 for not defined, in case that function works with different numbers of parameters). More...
virtual int | NumValues`[get, protected set]`
| Gets number of values of the current vector function (-1 for not defined, e.g. in case that function works with different numbers of parameters and number of functions depends on number of parameters). More...
virtual bool | ComponentWiseEvaluation`[get, protected set]`
| Tells whether the function supports evaluation of individual components. If not then evaluation is performed through the Evaluate function. More...
virtual bool | ValueDefined`[get, protected set]`
| Tells whether value of the function is defined by implementation. More...
virtual bool | DerivativeDefined`[get, protected set]`
| Tells whether the first derivative is defined for this function (by implementation, not mathematically) More...
virtual bool | SecondDerivativeDefined`[get, protected set]`
| Tells whether the second derivative is defined for this function (by implementation, not mathematically) More...
IVectorFunctionResults | AuxResults`[get]`
VectorFunctionBase.ObjectStoreResults | ResultsStore`[get]`
| Store of result objects for reuse. More...
Properties inherited from IG.Num.IVectorFunction
string | Name`[get]`
| Returns a short name of the function. More...
string | Description`[get]`
| Returns a short description of the function. More...
int | NumParameters`[get]`
| Gets number of parameters of the current vector function (-1 for not defined, in case that function works with different numbers of parameters). More...
int | NumValues`[get]`
| Gets number of values of the current vector function (-1 for not defined, e.g. in case that function works with different numbers of parameters and number of functions depends on number of parameters). More...
bool | ValueDefined`[get]`
| Tells whether value of the function is defined by implementation. More...
bool | DerivativeDefined`[get]`
| Tells whether the first derivative is defined for this function (by implementation, not mathematically) More...
bool | SecondDerivativeDefined`[get]`
| Tells whether the second derivative is defined for this function (by implementation, not mathematically) More...
bool | ComponentWiseEvaluation`[get]`
| Tells whether the function supports evaluation of individual components. If not then evaluation is performed through the Evaluate function. More...
Properties inherited from IG.Lib.ILockable
object | Lock`[get]`

## Detailed Description

The same as QuadraticBasis, just that it has more meaningful exceptions.

$A Igor xx Apr10;

## Constructor & Destructor Documentation

IG.Num.QuadraticBasisSafer.QuadraticBasisSafer | ( | int | dimension | ) |
| inline

## Member Function Documentation

override double IG.Num.QuadraticBasisSafer.Value | ( | IVectorFunctionResults | evaluationData,
|  | int | which
| ) |  |
| inline virtual

Calculates and returns the particular component of the vector function value.

Parameters

  evaluationData | Evaluation data that contains function parameters and can store function resuts. If the function does not support component-wise evaluation then results will be stored to this structure and returned from it. This makes reuse possible - when different components are evaluated subsequently with the same parameters, results are calculated only for the first time.
  which | Specifies which function to evaluate.

Reimplemented from IG.Num.QuadraticBasis.

References IG.Num.IVectorFunctionResults.Parameters.

override double IG.Num.QuadraticBasisSafer.Derivative | ( | IVectorFunctionResults | evaluationData,
|  | int | which,
|  | int | component
| ) |  |
| inline virtual

Calculates and returns the particular component of the vector function's derivative.

Parameters

  evaluationData | Evaluation data that contains function parameters and can store function resuts. Not used in this class, can be null.
  which | Specifies which function to take.
  component | Specifies which compoonent of the gradient should be returned.

Reimplemented from IG.Num.QuadraticBasis.

References IG.Num.IVectorFunctionResults.Parameters.

override double IG.Num.QuadraticBasisSafer.SecondDerivative | ( | IVectorFunctionResults | evaluationData,
|  | int | which,
|  | int | rowNum,
|  | int | columnNum
| ) |  |
| inline virtual

Calculates and returns the particular component of the vector function's second derivative (Hessian).

Parameters

  evaluationData | Evaluation data that contains function parameters and can store function resuts. Not used in this class, can be null.
  which | Specifies which function to take.
  rowNum | Specifies which row of the Hessian (matrix of second derivatives) should be returned.
  columnNum | Specifies which column of the Hessian (matrix of second derivatives) should be returned.

Reimplemented from IG.Num.QuadraticBasis.

References IG.Num.IVectorFunctionResults.Parameters.

static new void IG.Num.QuadraticBasisSafer.Example | ( |  | ) |
| inline static

Example for this class, just runs examples form the LinearBasis class.

References IG.Num.LinearBasis.Example().

The documentation for this class was generated from the following file:

- igbase/numeric/approximation/linear/ApproxBasis.cs