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

- Main Page
- Namespaces
- Classes
- Files
- Directories

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | Properties | Private Attributes

# IG::Num::ScalarFunctionBase Class Reference

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...

Inheritance diagram for IG::Num::ScalarFunctionBase:
[legend]
Collaboration diagram for IG::Num::ScalarFunctionBase:
[legend]

List of all members.

## 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

## Detailed Description

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;

## Constructor & Destructor Documentation

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.

Parameters:

  transf | Affine transformation of parameters from the reference to the actual coordinate system. If null then parameters are not transformed.

## Member Function Documentation

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:

  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:

  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:

  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:

  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:

  parameters | Vector of parameters where derivatives are evaluated.
  hessian | Matrix where second derivatives (Hessian) are stored.

Implements IG::Num::ScalarFunctionUntransformedBase.

## Member Data Documentation

IVector IG::Num::ScalarFunctionBase::_refParam`[protected]`

IVector IG::Num::ScalarFunctionBase::_refGrad`[protected]`

IMatrix IG::Num::ScalarFunctionBase::_refHess`[protected]`

IAffineTransformation IG::Num::ScalarFunctionBase::_transf`[private]`

## Property Documentation

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.

The documentation for this class was generated from the following file:

- FunctionScalarBase.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events