IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.
|
Scalar function that is defined as some reference function evaluated at inverse affine-trasformed parameters. This class is typically used to convert scalar functions without affine transformation of coordinates (interface IScalafunctionUntransformed) to those that support affine transformation of coordinates. More...
Public Member Functions | |
ScalarFunctionTransformed (IScalarFunctionUntransformed referenceFunction, IAffineTransformation transf) | |
Constructor. Creates a new scalar function based on a reference function evaluated at inverse affine transformed parameters. | |
override double | ReferenceValue (IVector parameters) |
Returns the value of this function at the specified parameter in the reference coordinate system. | |
override void | ReferenceGradientPlain (IVector parameters, IVector gradient) |
Calculates the first derivative (gradient) of this function at the specified parameter in the reference coordinate system. | |
override void | ReferenceHessianPlain (IVector parameters, IMatrix hessian) |
Calculates the second derivative (Hessian) of this function at the specified parameters in the reference coordinate system. | |
Protected Member Functions | |
virtual void | SetName (string value) |
Sets name of the function. | |
virtual void | SetDescription (string value) |
Sets a short description of a function. | |
Properties | |
override string | Name [get] |
Gets function name. | |
override string | Description [get] |
Gets a short description of the function. | |
IScalarFunctionUntransformed | ReferenceFunction [get, set] |
Reference function that is used for evaluation of the current scalar function. The current function is defined as this reference function evaluated at inverse Affine transformed coordinates. | |
override bool | ValueDefined [get, set] |
Tells whether the first derivative is defined for this function (by implementation, not mathematically) | |
override bool | GradientDefined [get, set] |
Tells whether the first derivative is defined for this function (by implementation, not mathematically) | |
override bool | HessianDefined [get, set] |
Tells whether the second derivative is defined for this function (by implementation, not mathematically) | |
Private Member Functions | |
ScalarFunctionTransformed () | |
Default constructor disabled. | |
Private Attributes | |
string | _nameDerived |
string | _descriptionDerived |
IScalarFunctionUntransformed | _referenceFunction |
Scalar function that is defined as some reference function evaluated at inverse affine-trasformed parameters. This class is typically used to convert scalar functions without affine transformation of coordinates (interface IScalafunctionUntransformed) to those that support affine transformation of coordinates.
$A Igor xx;
IG::Num::ScalarFunctionTransformed::ScalarFunctionTransformed | ( | ) | [inline, private] |
Default constructor disabled.
IG::Num::ScalarFunctionTransformed::ScalarFunctionTransformed | ( | IScalarFunctionUntransformed | referenceFunction, |
IAffineTransformation | transf | ||
) | [inline] |
Constructor. Creates a new scalar function based on a reference function evaluated at inverse affine transformed parameters.
referenceFunction | The reference function that is used for evaluation of the current function. Value of the current function equals value of the reference function at inverse affine transformed parameters. |
transf |
virtual void IG::Num::ScalarFunctionTransformed::SetName | ( | string | value | ) | [inline, protected, virtual] |
Sets name of the function.
value | Function name to be set. |
virtual void IG::Num::ScalarFunctionTransformed::SetDescription | ( | string | value | ) | [inline, protected, virtual] |
Sets a short description of a function.
value | String to which function description is set. |
override double IG::Num::ScalarFunctionTransformed::ReferenceValue | ( | IVector | parameters | ) | [inline, 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::ScalarFunctionBase.
override void IG::Num::ScalarFunctionTransformed::ReferenceGradientPlain | ( | IVector | parameters, |
IVector | gradient | ||
) | [inline, 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::ScalarFunctionBase.
override void IG::Num::ScalarFunctionTransformed::ReferenceHessianPlain | ( | IVector | parameters, |
IMatrix | hessian | ||
) | [inline, 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::ScalarFunctionBase.
string IG::Num::ScalarFunctionTransformed::_nameDerived [private] |
string IG::Num::ScalarFunctionTransformed::_descriptionDerived [private] |
override string IG::Num::ScalarFunctionTransformed::Name [get] |
Gets function name.
Implements IG::Num::IScalarFunctionUntransformed.
override string IG::Num::ScalarFunctionTransformed::Description [get] |
Gets a short description of the function.
Implements IG::Num::IScalarFunctionUntransformed.
IScalarFunctionUntransformed IG::Num::ScalarFunctionTransformed::ReferenceFunction [get, set] |
Reference function that is used for evaluation of the current scalar function. The current function is defined as this reference function evaluated at inverse Affine transformed coordinates.
override bool IG::Num::ScalarFunctionTransformed::ValueDefined [get, set] |
Tells whether the first derivative is defined for this function (by implementation, not mathematically)
Implements IG::Num::IScalarFunctionUntransformed.
override bool IG::Num::ScalarFunctionTransformed::GradientDefined [get, set] |
Tells whether the first derivative is defined for this function (by implementation, not mathematically)
Implements IG::Num::IScalarFunctionUntransformed.
override bool IG::Num::ScalarFunctionTransformed::HessianDefined [get, set] |
Tells whether the second derivative is defined for this function (by implementation, not mathematically)
Implements IG::Num::IScalarFunctionUntransformed.