IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.
|
Base class for defining Vector functions whose component-wise evaluation is defined directly. More...
Public Member Functions | |
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. | |
abstract override double | Value (IVectorFunctionResults evaluationData, int which) |
Calculates and returns the particular component of the vector function value. | |
abstract override double | Derivative (IVectorFunctionResults evaluationData, int which, int component) |
Calculates and returns the particular component of the vector function derivative. | |
abstract 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). | |
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. | |
Properties | |
override bool | ComponentWiseEvaluation [get, set] |
Returns true, indicating that individual components of functions and eventually their deirvatives is performed directly. |
Base class for defining Vector functions whose component-wise evaluation is defined directly.
$A Igor xx May09 Dec10; TODO: implement ICloneable
override void IG::Num::VectorFunctionBaseComponentWise::Evaluate | ( | IVectorFunctionResults | evaluationData | ) | [inline, virtual] |
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.
analysisData | Data structure where request parameters are obtained and where results are written. |
Implements IG::Num::VectorFunctionBaseGeneral.
abstract override double IG::Num::VectorFunctionBaseComponentWise::Value | ( | IVectorFunctionResults | evaluationData, |
int | which | ||
) | [pure virtual] |
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. |
Implements IG::Num::VectorFunctionBaseGeneral.
abstract override double IG::Num::VectorFunctionBaseComponentWise::Derivative | ( | IVectorFunctionResults | evaluationData, |
int | which, | ||
int | component | ||
) | [pure virtual] |
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. |
Implements IG::Num::VectorFunctionBaseGeneral.
abstract override double IG::Num::VectorFunctionBaseComponentWise::SecondDerivative | ( | IVectorFunctionResults | evaluationData, |
int | which, | ||
int | rowNum, | ||
int | columnNum | ||
) | [pure virtual] |
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. |
Implements IG::Num::VectorFunctionBaseGeneral.
override void IG::Num::VectorFunctionBaseComponentWise::Evaluate | ( | IVector | parameters, |
ref bool | calculateValues, | ||
ref List< double > | values, | ||
ref bool | calculateGradients, | ||
ref List< IVector > | gradients, | ||
ref bool | calculateHessians, | ||
ref List< IMatrix > | hessians | ||
) | [inline, virtual] |
Calculation of values, gradients, and hessians of the vector function according to request flags. Uses functions for component-wise evaluation to do the job.
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. |
Implements IG::Num::VectorFunctionBaseGeneral.
override bool IG::Num::VectorFunctionBaseComponentWise::ComponentWiseEvaluation [get, set] |
Returns true, indicating that individual components of functions and eventually their deirvatives is performed directly.
Reimplemented from IG::Num::VectorFunctionBaseGeneral.