|
IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.
|
RosenBrock function. f(x,y) = (1-x)^2 + 100 * (y-x^2)^2. More...
Inheritance diagram for IG::Num::ScalarFunctionExamples::Rosenbrock:
Collaboration diagram for IG::Num::ScalarFunctionExamples::Rosenbrock: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) | |
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;
| 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.
| 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::Rosenbrock::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::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 | 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 | 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::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.