IGLib
1.5
The IGLib base library for development of numerical, technical and business applications.
|
Vector function of a vector argument. More...
Public Member Functions | |
void | Evaluate (IVectorFunctionResults evaluationData) |
Performs evaluation of requested vector function results and writes them to the provided data structure. More... | |
double | Value (IVectorFunctionResults evaluationData, int which) |
Calculates and returns the particular component of the vector function value. More... | |
double | Derivative (IVectorFunctionResults evaluationData, int which, int component) |
Calculates and returns the particular component of the vector function derivative. More... | |
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... | |
double | Value (IVector parameters, int which) |
Calculates and returns the particular component of the vector function value. More... | |
double | Derivative (IVector parameters, int which, int component) |
Calculates and returns the particular component of the vector function derivative. More... | |
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 x, ref List< double > value) |
Returns the value of this function at the specified parameter. More... | |
void | Derivative (IVector x, ref List< IVector > derivative) |
Returns the first derivative of this function at the specified parameter. More... | |
void | SecondDerivative (IVector x, ref List< IMatrix > secondDerivative) |
Returns the second derivative (Hessian) of this function at the specified arameter. More... | |
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. More... | |
Properties | |
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... | |
![]() | |
object | Lock [get] |
Vector function of a vector argument.
$A Igor xx May10 Dec10;
void IG.Num.IVectorFunction.Evaluate | ( | IVectorFunctionResults | evaluationData | ) |
Performs evaluation of requested vector function results and writes them to the provided data structure.
evaluationData | Data structure where request parameters are obtained and where results are written. |
Implemented in IG.Num.VectorFunctionBaseComponentWise, IG.Num.VectorFunctionBaseGeneral, IG.Num.VectorFunctionExamples.RosenBrockAndCircle, and IG.Num.VectorFunctionBase.
Referenced by IG.Num.LinearBasis.Example().
double IG.Num.IVectorFunction.Value | ( | IVectorFunctionResults | evaluationData, |
int | which | ||
) |
Calculates and returns the particular component of the vector function value.
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. |
Implemented in IG.Num.QuadraticBasisSafer, IG.Num.QuadraticBasis, IG.Num.VectorFunctionBaseComponentWise, IG.Num.LinearBasisSafer, IG.Num.VectorFunctionBaseGeneral, IG.Num.VectorFunctionBase, and IG.Num.LinearBasis.
double IG.Num.IVectorFunction.Derivative | ( | IVectorFunctionResults | evaluationData, |
int | which, | ||
int | component | ||
) |
Calculates and returns the particular component of the vector function derivative.
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 take. |
component | Specifies which compoonent of the gradient should be returned. |
Implemented in IG.Num.QuadraticBasisSafer, IG.Num.QuadraticBasis, IG.Num.VectorFunctionBaseComponentWise, IG.Num.LinearBasisSafer, IG.Num.VectorFunctionBaseGeneral, IG.Num.VectorFunctionBase, and IG.Num.LinearBasis.
double IG.Num.IVectorFunction.SecondDerivative | ( | IVectorFunctionResults | evaluationData, |
int | which, | ||
int | rowNum, | ||
int | columnNum | ||
) |
Calculates and returns the particular component of the vector function's second derivative (Hessian).
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 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. |
Implemented in IG.Num.QuadraticBasisSafer, IG.Num.QuadraticBasis, IG.Num.VectorFunctionBaseComponentWise, IG.Num.LinearBasisSafer, IG.Num.VectorFunctionBaseGeneral, IG.Num.VectorFunctionBase, and IG.Num.LinearBasis.
double IG.Num.IVectorFunction.Value | ( | IVector | parameters, |
int | which | ||
) |
Calculates and returns the particular component of the vector function value.
parameters | Parameters for which value of the specified component is calculated. |
which | Specifies which function to evaluate. |
Implemented in IG.Num.VectorFunctionBaseGeneral.
double IG.Num.IVectorFunction.Derivative | ( | IVector | parameters, |
int | which, | ||
int | component | ||
) |
Calculates and returns the particular component of the vector function derivative.
parameters | Parameters for which derivative of the specified component is calculated. |
which | Specifies which function to take. |
component | Specifies which compoonent of the gradient should be returned. |
Implemented in IG.Num.VectorFunctionBaseGeneral.
double IG.Num.IVectorFunction.SecondDerivative | ( | IVector | parameters, |
int | which, | ||
int | rowNum, | ||
int | columnNum | ||
) |
Calculates and returns the particular component of the vector function's second derivative (Hessian).
parameters | Parameters for which the specified second derivative of the specified component is calculated. |
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. |
Implemented in IG.Num.VectorFunctionBaseGeneral.
void IG.Num.IVectorFunction.Value | ( | IVector | x, |
ref List< double > | value | ||
) |
Returns the value of this function at the specified parameter.
Implemented in IG.Num.VectorFunctionBaseGeneral.
Returns the first derivative of this function at the specified parameter.
Implemented in IG.Num.VectorFunctionBaseGeneral.
Returns the second derivative (Hessian) of this function at the specified arameter.
Implemented in IG.Num.VectorFunctionBaseGeneral.
void IG.Num.IVectorFunction.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.
parameters | Parameters at which evaluation takes place. |
calculateValues | Flag for calculation of function values, input/output. |
values | Function values, output. |
calculateGradients | Flag for calculation of functions gradients, input/output. |
gradients | Gradients, output. |
calculateHessians | Flag for calculation of Hessians, input/output. |
hessians | Functions' hessians, output. |
Implemented in IG.Num.VectorFunctionBaseComponentWise, IG.Num.VectorFunctionBaseGeneral, and IG.Num.VectorFunctionBase.
|
get |
Returns a short name of the function.
|
get |
Returns a short description of the function.
|
get |
Gets number of parameters of the current vector function (-1 for not defined, in case that function works with different numbers of parameters).
Referenced by IG.Num.VectorFunctionBaseGeneral.ObjectStoreResults.TryGetNew().
|
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).
Referenced by IG.Num.VectorFunctionBaseGeneral.ObjectStoreResults.TryGetNew().
|
get |
Tells whether value of the function is defined by implementation.
|
get |
Tells whether the first derivative is defined for this function (by implementation, not mathematically)
|
get |
Tells whether the second derivative is defined for this function (by implementation, not mathematically)
|
get |
Tells whether the function supports evaluation of individual components. If not then evaluation is performed through the Evaluate function.