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

# IG::Num::ScalarFunctionExamples::Rosenbrock Class Reference

RosenBrock function. f(x,y) = (1-x)^2 + 100 * (y-x^2)^2. More...

Inheritance diagram for IG::Num::ScalarFunctionExamples::Rosenbrock:
[legend]
Collaboration diagram for IG::Num::ScalarFunctionExamples::Rosenbrock:
[legend]

List of all members.

## Public Member Functions
| Rosenbrock ()
| Creates a new untransformed Rosenbrock's function.
| Rosenbrock (IAffineTransformation transf)
| Creates a new transformed Rosenbrock's function.
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.
## Properties
override string | Name`[get]`
| Returns a short name of the function.
override string | Description`[get]`
| Returns a short description of the function.
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)

## Detailed Description

RosenBrock function. f(x,y) = (1-x)^2 + 100 * (y-x^2)^2.

This function is often used for testing optimization algorithms. It has unique minimum at (1, 1) where the value is 0.

See also:

On Wikipedia: http://en.wikipedia.org/wiki/Rosenbrock_function

$A Igor xx Dec10;

## Constructor & Destructor Documentation

IG::Num::ScalarFunctionExamples::Rosenbrock::Rosenbrock | ( |  | ) | `[inline]`

Creates a new untransformed Rosenbrock's function.

IG::Num::ScalarFunctionExamples::Rosenbrock::Rosenbrock | ( | IAffineTransformation | transf | ) | `[inline]`

Creates a new transformed Rosenbrock's function.

Parameters:

  transf | Affine transformation that is applied on parameters. If null then the fuction is identical to the untransformed Rosenbrock function.

## Member Function Documentation

override double IG::Num::ScalarFunctionExamples::Rosenbrock::ReferenceValue | ( | IVector | parameters | ) | `[inline, 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::ScalarFunctionBase.

override void IG::Num::ScalarFunctionExamples::Rosenbrock::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:

  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::ScalarFunctionExamples::Rosenbrock::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:

  parameters | Vector of parameters (in the REFERENCE system) where Hessian is evaluated.
  hessian | Matrix where second derivatives (Hessian) are stored.

Implements IG::Num::ScalarFunctionBase.

## Property Documentation

override string IG::Num::ScalarFunctionExamples::Rosenbrock::Name`[get]`

Returns a short name of the function.

Implements IG::Num::IScalarFunctionUntransformed.

override string IG::Num::ScalarFunctionExamples::Rosenbrock::Description`[get]`

Returns a short description of the function.

Implements IG::Num::IScalarFunctionUntransformed.

override bool IG::Num::ScalarFunctionExamples::Rosenbrock::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::ScalarFunctionExamples::Rosenbrock::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::ScalarFunctionExamples::Rosenbrock::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:

- FunctionScalarExamples.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events