IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.
|
Base class for scalar functions with affine transformation of co-ordinates. The reference function is defined while the actual function is defined as that reference function of transformed coordinates. If transformation is not specified then function reduces to the reference one. More...
Public Member Functions | |
ScalarFunctionBase (IAffineTransformation transf) | |
Constructs a scalar function that is identical to some reference funciton acting on affine transformed parameters. | |
abstract double | ReferenceValue (IVector parameters) |
Returns the value of this function at the specified parameter in the reference coordinate system. | |
abstract void | ReferenceGradientPlain (IVector parameters, IVector gradient) |
Calculates the first derivative (gradient) of this function at the specified parameter in the reference coordinate system. | |
abstract void | ReferenceHessianPlain (IVector parameters, IMatrix hessian) |
Calculates the second derivative (Hessian) of this function at the specified parameters in the reference coordinate system. | |
override double | Value (IVector x) |
Returns the value of this function at the specified parameter. | |
override void | GradientPlain (IVector x, IVector gradient) |
Returns the first derivative of this function at the specified parameter. | |
override void | HessianPlain (IVector x, IMatrix hessian) |
Returns the second derivative (Hessian) of this function at the specified arameter. | |
Protected Member Functions | |
ScalarFunctionBase () | |
Default constructor for scalar functions of affine transformed parameters. Constructs untransformed reference function. | |
Protected Attributes | |
IVector | _refParam |
IVector | _refGrad |
IMatrix | _refHess |
Properties | |
virtual IAffineTransformation | Transformation [get, set] |
Transformation of parameters. Actual function is evaluated as some reference function evaluated at inverse affine-transformed parameters. | |
Private Attributes | |
IAffineTransformation | _transf |
Base class for scalar functions with affine transformation of co-ordinates. The reference function is defined while the actual function is defined as that reference function of transformed coordinates. If transformation is not specified then function reduces to the reference one.
$A Igor xx May10 Dec10;
IG::Num::ScalarFunctionBase::ScalarFunctionBase | ( | ) | [inline, protected] |
Default constructor for scalar functions of affine transformed parameters. Constructs untransformed reference function.
IG::Num::ScalarFunctionBase::ScalarFunctionBase | ( | IAffineTransformation | transf | ) | [inline] |
Constructs a scalar function that is identical to some reference funciton acting on affine transformed parameters.
transf | Affine transformation of parameters from the reference to the actual coordinate system. If null then parameters are not transformed. |
abstract double IG::Num::ScalarFunctionBase::ReferenceValue | ( | IVector | parameters | ) | [pure virtual] |
Returns the value of this function at the specified parameter in the reference coordinate system.
parameters | Vector of parameters (in the REFERENCE system) where function is evaluated. |
Implements IG::Num::IScalarFunction.
Implemented in IG::Lib::LoadableScalarFunctionBase, IG::Script::ScritpScalarFunctionExample::Container::Function, IG::Num::ScalarFunctionExamples::Rosenbrock, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedAdjacent, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive, IG::Num::ScalarFunctionExamples::ParaboloidSymmetric2D, IG::Num::ScalarFunctionExamples::Quadratic2d, IG::Num::ScalarFunctionExamples::Quadratic3d, IG::Num::ScalarFunctionRadial, and IG::Num::ScalarFunctionTransformed.
abstract void IG::Num::ScalarFunctionBase::ReferenceGradientPlain | ( | IVector | parameters, |
IVector | gradient | ||
) | [pure virtual] |
Calculates the first derivative (gradient) of this function at the specified parameter in the reference coordinate system.
parameters | Vector of parameters (in the REFERENCE system) where derivatives are evaluated. |
gradient | Vector where first derivatives (gradient) are stored. |
Implements IG::Num::IScalarFunction.
Implemented in IG::Lib::LoadableScalarFunctionBase, IG::Script::ScritpScalarFunctionExample::Container::Function, IG::Num::ScalarFunctionExamples::Rosenbrock, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedAdjacent, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive, IG::Num::ScalarFunctionExamples::ParaboloidSymmetric2D, IG::Num::ScalarFunctionExamples::Quadratic2d, IG::Num::ScalarFunctionExamples::Quadratic3d, IG::Num::ScalarFunctionRadial, and IG::Num::ScalarFunctionTransformed.
abstract void IG::Num::ScalarFunctionBase::ReferenceHessianPlain | ( | IVector | parameters, |
IMatrix | hessian | ||
) | [pure virtual] |
Calculates the second derivative (Hessian) of this function at the specified parameters in the reference coordinate system.
parameters | Vector of parameters (in the REFERENCE system) where Hessian is evaluated. |
hessian | Matrix where second derivatives (Hessian) are stored. |
Implements IG::Num::IScalarFunction.
Implemented in IG::Lib::LoadableScalarFunctionBase, IG::Script::ScritpScalarFunctionExample::Container::Function, IG::Num::ScalarFunctionExamples::Rosenbrock, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedAdjacent, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive, IG::Num::ScalarFunctionExamples::ParaboloidSymmetric2D, IG::Num::ScalarFunctionExamples::Quadratic2d, IG::Num::ScalarFunctionExamples::Quadratic3d, IG::Num::ScalarFunctionRadial, and IG::Num::ScalarFunctionTransformed.
override double IG::Num::ScalarFunctionBase::Value | ( | IVector | x | ) | [inline, virtual] |
Returns the value of this function at the specified parameter.
Implements IG::Num::ScalarFunctionUntransformedBase.
override void IG::Num::ScalarFunctionBase::GradientPlain | ( | IVector | x, |
IVector | gradient | ||
) | [inline, virtual] |
Returns the first derivative of this function at the specified parameter.
parameters | Vector of parameters where derivatives are evaluated. |
gradient | Vector where first derivatives (gradient) are stored. |
Implements IG::Num::ScalarFunctionUntransformedBase.
override void IG::Num::ScalarFunctionBase::HessianPlain | ( | IVector | x, |
IMatrix | hessian | ||
) | [inline, virtual] |
Returns the second derivative (Hessian) of this function at the specified arameter.
parameters | Vector of parameters where derivatives are evaluated. |
hessian | Matrix where second derivatives (Hessian) are stored. |
Implements IG::Num::ScalarFunctionUntransformedBase.
IVector IG::Num::ScalarFunctionBase::_refParam [protected] |
IVector IG::Num::ScalarFunctionBase::_refGrad [protected] |
IMatrix IG::Num::ScalarFunctionBase::_refHess [protected] |
virtual IAffineTransformation IG::Num::ScalarFunctionBase::Transformation [get, set] |
Transformation of parameters. Actual function is evaluated as some reference function evaluated at inverse affine-transformed parameters.
Implements IG::Num::IScalarFunction.