IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.
|
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...
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) |
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;
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.
transf | Affine transformation that is applied on parameters. If null then the fuction is identical to the untransformed Rosenbrock function. |
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 | Vector 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 | 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::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 | Vector of parameters (in the REFERENCE system) where Hessian is evaluated. |
hessian | Matrix where second derivatives (Hessian) are stored. |
Implements IG::Num::ScalarFunctionBase.
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.