|
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...
Inheritance diagram for IG::Num::VectorFunctionBaseComponentWise:
Collaboration diagram for IG::Num::VectorFunctionBaseComponentWise: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.