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

IG::Num::ScalarFunctionTransformed Class Reference

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:

List of all members.

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

Detailed Description

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;


Constructor & Destructor Documentation

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.

Parameters:
referenceFunctionThe 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

Member Function Documentation

virtual void IG::Num::ScalarFunctionTransformed::SetName ( string  value) [inline, protected, virtual]

Sets name of the function.

Parameters:
valueFunction name to be set.
virtual void IG::Num::ScalarFunctionTransformed::SetDescription ( string  value) [inline, protected, virtual]

Sets a short description of a function.

Parameters:
valueString 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:
parametersVector 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:
parametersVector of parameters (in the REFERENCE system) where derivatives are evaluated.
gradientVector 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:
parametersVector of parameters (in the REFERENCE system) where Hessian is evaluated.
hessianMatrix where second derivatives (Hessian) are stored.

Implements IG::Num::ScalarFunctionBase.


Member Data Documentation


Property Documentation

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.


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