|
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...
Inheritance diagram for IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedAdjacent:
Collaboration diagram for IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedAdjacent:Public Member Functions | |
| RosenbrockGeneralizedAdjacent () | |
| Creates a new untransformed Rosenbrock's function. | |
| RosenbrockGeneralizedAdjacent (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::RosenbrockGeneralizedAdjacent::RosenbrockGeneralizedAdjacent | ( | ) | [inline] |
Creates a new untransformed Rosenbrock's function.
| IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedAdjacent::RosenbrockGeneralizedAdjacent | ( | 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::RosenbrockGeneralizedAdjacent::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::RosenbrockGeneralizedAdjacent::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::RosenbrockGeneralizedAdjacent::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::RosenbrockGeneralizedAdjacent::Name [get] |
Returns a short name of the function.
Implements IG::Num::IScalarFunctionUntransformed.
override string IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedAdjacent::Description [get] |
Returns a short description of the function.
Implements IG::Num::IScalarFunctionUntransformed.
override bool IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedAdjacent::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::RosenbrockGeneralizedAdjacent::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::RosenbrockGeneralizedAdjacent::HessianDefined [get, set] |
Tells whether the second derivative is defined for this function (by implementation, not mathematically)
Implements IG::Num::IScalarFunctionUntransformed.