IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.
|
Example quadratic polynomial in 3D. f(x,y,z) = x*x + 2*y*y + 4*z*z + x*y + 2*y*z + 4*z*x + x + y + z + 10. More...
Public Member Functions | |
Quadratic3d () | |
Creates a new untransformed example quadratic polynomial in 3D. | |
Quadratic3d (IAffineTransformation transf) | |
Creates a new transformed example quadratic polynomial in 3D. Actual function is identical to the reference function applied to inverse transformed parameters. | |
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) |
Example quadratic polynomial in 3D. f(x,y,z) = x*x + 2*y*y + 4*z*z + x*y + 2*y*z + 4*z*x + x + y + z + 10.
$A Igor Dec10;
IG::Num::ScalarFunctionExamples::Quadratic3d::Quadratic3d | ( | ) | [inline] |
Creates a new untransformed example quadratic polynomial in 3D.
IG::Num::ScalarFunctionExamples::Quadratic3d::Quadratic3d | ( | IAffineTransformation | transf | ) | [inline] |
Creates a new transformed example quadratic polynomial in 3D. Actual function is identical to the reference function applied to inverse transformed parameters.
transf | Affine transformation that is applied to parameters. If null then the fuction is identical to the untransformed reference function. |
override double IG::Num::ScalarFunctionExamples::Quadratic3d::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::Quadratic3d::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::Quadratic3d::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::Quadratic3d::Name [get] |
Returns a short name of the function.
Implements IG::Num::IScalarFunctionUntransformed.
override string IG::Num::ScalarFunctionExamples::Quadratic3d::Description [get] |
Returns a short description of the function.
Implements IG::Num::IScalarFunctionUntransformed.
override bool IG::Num::ScalarFunctionExamples::Quadratic3d::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::Quadratic3d::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::Quadratic3d::HessianDefined [get, set] |
Tells whether the second derivative is defined for this function (by implementation, not mathematically)
Implements IG::Num::IScalarFunctionUntransformed.