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

IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive Class Reference

Generalzed multivariate RosenBrock function for Dim >= 2. f(x,y) = Sum[i=0...N-2]{(1-x_{i})^2 + 100 * (x_{i+1}-x_{i}^2)^2} More...

Inheritance diagram for IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive:
Collaboration diagram for IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive:

List of all members.

Public Member Functions

 RosenbrockGeneralizedExhaustive ()
 Creates a new untransformed Rosenbrock's function.
 RosenbrockGeneralizedExhaustive (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

Generalzed multivariate RosenBrock function for Dim >= 2.

f(x,y) = Sum[i=0...N-2]{(1-x_{i})^2 + 100 * (x_{i+1}-x_{i}^2)^2}

This is one of the generalizations of the 2D Rosenbrock function.

Moved from stand-alone class, now nested in the ScalarFunctionExamples class.

See also:

I. Grešovnik: Test functions for Unconstrained Minimization, Igor's internal report.

Definition at AlgLib page: http://www.alglib.net/optimization/lbfgsandcg.php#header4

Definition at Wikipedia: http://en.wikipedia.org/wiki/Rosenbrock_function#Multidimensional_generalisations

$A Igor Nov08 Dec10;


Constructor & Destructor Documentation

IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive::RosenbrockGeneralizedExhaustive ( ) [inline]

Creates a new untransformed Rosenbrock's function.

IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive::RosenbrockGeneralizedExhaustive ( IAffineTransformation  transf) [inline]

Creates a new transformed Rosenbrock's function.

Parameters:
transfAffine 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::RosenbrockGeneralizedExhaustive::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::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive::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::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive::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.


Property Documentation

override string IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive::Name [get]

Returns a short name of the function.

Implements IG::Num::IScalarFunctionUntransformed.

override string IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive::Description [get]

Returns a short description of the function.

Implements IG::Num::IScalarFunctionUntransformed.

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