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