IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.
|
Scalar functions of vector arguments. More...
Public Member Functions | |
void | Evaluate (IScalarFunctionResults data) |
Evaluates whatever needs to be evaluated and stores the results on the specified storage object. | |
double | Value (IVector x) |
Returns the value of this function at the specified parameter. | |
void | GradientPlain (IVector parameters, IVector gradient) |
Calculates first order derivatives (gradient) of this function at the specified parameters. WARNING: Plain function, does not check consistency of arguments. | |
void | Gradient (IVector parameters, ref IVector gradient) |
Calculates first order derivatives (gradient) of this function at the specified parameters. | |
void | HessianPlain (IVector parameters, IMatrix hessian) |
Calculates the second derivative (Hessian matrix) of this function at the specified parameters. WARNING: Plain function, does not check consistency of arguments. | |
void | Hessian (IVector parameters, ref IMatrix hessian) |
Calculates the second derivative (Hessian matrix) of this function at the specified parameters. | |
Properties | |
string | Name [get] |
Returns a short name of the function. | |
string | Description [get] |
Returns a short description of the function. | |
bool | ValueDefined [get] |
Tells whether value of the function is defined by implementation. | |
bool | GradientDefined [get] |
Tells whether the first derivative is defined for this function (by implementation, not mathematically) | |
bool | HessianDefined [get] |
Tells whether the second derivative is defined for this function (by implementation, not mathematically) |
Scalar functions of vector arguments.
$A Igor xx May10;
void IG::Num::IScalarFunctionUntransformed::Evaluate | ( | IScalarFunctionResults | data | ) |
Evaluates whatever needs to be evaluated and stores the results on the specified storage object.
data | Evaluation data object where results of calculation are stored. It also contains flags taht specify what needs to be calculated, and resulting flags specifying what has been calculated. |
Implemented in IG::Num::ScalarFunctionUntransformedBase.
double IG::Num::IScalarFunctionUntransformed::Value | ( | IVector | x | ) |
Returns the value of this function at the specified parameter.
Implemented in IG::Num::ScalarFunctionBase, IG::Num::ScalarFunctionLinear, IG::Num::ScalarFunctionQuadratic, IG::Num::ScalarFunctionRadialUntransformed, IG::Num::ScalarFunctionUntransformedBase, IG::Num::Func2dBase, and IG::Num::Func3dBase.
Calculates first order derivatives (gradient) of this function at the specified parameters. WARNING: Plain function, does not check consistency of arguments.
parameters | Vector of parameters where derivatives are evaluated. |
gradient | Vector where first order derivatives (the gradient) are stored. |
Implemented in IG::Num::ScalarFunctionBase, IG::Num::ScalarFunctionLinear, IG::Num::ScalarFunctionQuadratic, IG::Num::ScalarFunctionRadialUntransformed, IG::Num::ScalarFunctionUntransformedBase, IG::Num::Func2dBase, and IG::Num::Func3dBase.
Calculates first order derivatives (gradient) of this function at the specified parameters.
parameters | Vector of parameters where derivatives are evaluated. |
gradient | Vector where first order derivatives (gradient) are stored. Passed by reference. |
Implemented in IG::Num::ScalarFunctionUntransformedBase.
Calculates the second derivative (Hessian matrix) of this function at the specified parameters. WARNING: Plain function, does not check consistency of arguments.
parameters | Vector of parameters where derivatives are evaluated. |
hessian | Matrix where second derivatives (Hessian matrix) are stored. |
Implemented in IG::Num::ScalarFunctionBase, IG::Num::ScalarFunctionLinear, IG::Num::ScalarFunctionQuadratic, IG::Num::ScalarFunctionRadialUntransformed, IG::Num::ScalarFunctionUntransformedBase, IG::Num::Func2dBase, and IG::Num::Func3dBase.
Calculates the second derivative (Hessian matrix) of this function at the specified parameters.
parameters | Vector of parameters where derivatives are evaluated. |
hessian | Matrix where second derivatives (Hessian matrix) are stored. Passed by reference. |
Implemented in IG::Num::ScalarFunctionUntransformedBase.
string IG::Num::IScalarFunctionUntransformed::Name [get] |
Returns a short name of the function.
Implemented in IG::Lib::LoadableScalarFunctionBase, IG::Num::ScalarFunctionExamples::Rosenbrock, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedAdjacent, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive, IG::Num::ScalarFunctionExamples::ParaboloidSymmetric2D, IG::Num::ScalarFunctionExamples::Quadratic2d, IG::Num::ScalarFunctionExamples::Quadratic3d, IG::Num::ScalarFunctionRadial, IG::Num::ScalarFunctionRadialUntransformed, IG::Num::ScalarFunctionTransformed, and IG::Num::ScalarFunctionUntransformedBase.
string IG::Num::IScalarFunctionUntransformed::Description [get] |
Returns a short description of the function.
Implemented in IG::Lib::LoadableScalarFunctionBase, IG::Num::ScalarFunctionExamples::Rosenbrock, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedAdjacent, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive, IG::Num::ScalarFunctionExamples::ParaboloidSymmetric2D, IG::Num::ScalarFunctionExamples::Quadratic2d, IG::Num::ScalarFunctionExamples::Quadratic3d, IG::Num::ScalarFunctionRadial, IG::Num::ScalarFunctionRadialUntransformed, IG::Num::ScalarFunctionTransformed, and IG::Num::ScalarFunctionUntransformedBase.
bool IG::Num::IScalarFunctionUntransformed::ValueDefined [get] |
Tells whether value of the function is defined by implementation.
Implemented in IG::Lib::LoadableScalarFunctionBase, IG::Num::ScalarFunctionLinear, IG::Num::ScalarFunctionQuadratic, IG::Num::ScalarFunctionExamples::Rosenbrock, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedAdjacent, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive, IG::Num::ScalarFunctionExamples::ParaboloidSymmetric2D, IG::Num::ScalarFunctionExamples::Quadratic2d, IG::Num::ScalarFunctionExamples::Quadratic3d, IG::Num::ScalarFunctionRadial, IG::Num::ScalarFunctionRadialUntransformed, IG::Num::ScalarFunctionTransformed, IG::Num::ScalarFunctionUntransformedBase, IG::Num::Func2dBase, and IG::Num::Func3dBase.
bool IG::Num::IScalarFunctionUntransformed::GradientDefined [get] |
Tells whether the first derivative is defined for this function (by implementation, not mathematically)
Implemented in IG::Lib::LoadableScalarFunctionBase, IG::Num::ScalarFunctionLinear, IG::Num::ScalarFunctionQuadratic, IG::Num::ScalarFunctionExamples::Rosenbrock, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedAdjacent, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive, IG::Num::ScalarFunctionExamples::ParaboloidSymmetric2D, IG::Num::ScalarFunctionExamples::Quadratic2d, IG::Num::ScalarFunctionExamples::Quadratic3d, IG::Num::ScalarFunctionRadial, IG::Num::ScalarFunctionRadialUntransformed, IG::Num::ScalarFunctionTransformed, IG::Num::ScalarFunctionUntransformedBase, IG::Num::Func2dBase, and IG::Num::Func3dBase.
bool IG::Num::IScalarFunctionUntransformed::HessianDefined [get] |
Tells whether the second derivative is defined for this function (by implementation, not mathematically)
Implemented in IG::Lib::LoadableScalarFunctionBase, IG::Num::ScalarFunctionLinear, IG::Num::ScalarFunctionQuadratic, IG::Num::ScalarFunctionExamples::Rosenbrock, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedAdjacent, IG::Num::ScalarFunctionExamples::RosenbrockGeneralizedExhaustive, IG::Num::ScalarFunctionExamples::ParaboloidSymmetric2D, IG::Num::ScalarFunctionExamples::Quadratic2d, IG::Num::ScalarFunctionExamples::Quadratic3d, IG::Num::ScalarFunctionRadial, IG::Num::ScalarFunctionRadialUntransformed, IG::Num::ScalarFunctionTransformed, IG::Num::ScalarFunctionUntransformedBase, IG::Num::Func2dBase, and IG::Num::Func3dBase.