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

IG::Num::VectorFunctionBaseComponentWise Class Reference

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:

List of all members.

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.

Detailed Description

Base class for defining Vector functions whose component-wise evaluation is defined directly.

$A Igor xx May09 Dec10; TODO: implement ICloneable


Member Function Documentation

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.

Parameters:
analysisDataData 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.

Parameters:
evaluationDataEvaluation 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.
whichSpecifies 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.

Parameters:
evaluationDataEvaluation 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.
whichSpecifies which function to take.
componentSpecifies 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).

Parameters:
evaluationDataEvaluation 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.
whichSpecifies which function to take.
rowNumSpecifies which row of the Hessian (matrix of second derivatives) should be returned.
columnNumSpecifies 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:
parametersParameters at which evaluation takes place.
calculateValuesFlag for calculation of function values, input/output.
valuesFunction values, output.
calculateGradientsFlag for calculation of functions gradients, input/output.
gradientsGradients, output.
calculateHessiansFlag for calculation of Hessians, input/output.
hessiansFunctions' hessians, output.
Returns:

Implements IG::Num::VectorFunctionBaseGeneral.


Property Documentation

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.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties Events