IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.
|
Base class for 3D vector functions of 2 variables (base for implementation of IFunc3d2d interface). More...
Classes | |
class | ComponentFunction1 |
Class that represents a scalar function of 2 variables that is the first component of the specified 3D vector function of 2 variables. More... | |
class | ComponentFunction2 |
Class that represents a scalar function of 2 variables that is the first component of the specified 3D vector function of 2 variables. More... | |
class | ComponentFunction3 |
Class that represents a scalar function of 2 variables that is the third component of the specified 3D vector function of 2 variables. More... | |
class | ComponentFunctionBase |
Base function for component functions, provides internal variable for vector function. More... | |
Public Member Functions | |
abstract double | Value1 (double x, double y) |
Calculates and returns value of the first component of the current function. | |
abstract double | Value2 (double x, double y) |
Calculates and returns value of the second component of the current function. | |
abstract double | Value3 (double x, double y) |
Calculates and returns value of the third component of the current function. | |
virtual double | Value1 (vec2 parameters) |
Calculates and returns value of the first component of the current function. | |
virtual double | Value2 (vec2 parameters) |
Calculates and returns value of the second component of the current function. | |
virtual double | Value3 (vec2 parameters) |
Calculates and returns value of the third component of the current function. | |
abstract void | Gradient1 (double x, double y, out double gradx, out double grady) |
Calculates gradient of the first component of the current function and returns its components through the specified output variables. | |
abstract void | Gradient2 (double x, double y, out double gradx, out double grady) |
Calculates gradient of the second component of the current function and returns its components through the specified output variables. | |
abstract void | Gradient3 (double x, double y, out double gradx, out double grady) |
Calculates gradient of the third component of the current function and returns its components through the specified output variables. | |
virtual vec2 | Gradient1 (vec2 parameters) |
Calculates and returns gradient of the first component of the current function. | |
virtual vec2 | Gradient2 (vec2 parameters) |
Calculates and returns gradient of the second component of the current function. | |
virtual vec2 | Gradient3 (vec2 parameters) |
Calculates and returns gradient of the third component of the current function. | |
abstract void | Hessian1 (double x, double y, out double dxx, out double dyy, out double dxy) |
Calculates Hessian of the first component of the current function and returns its component through the specified output variables. | |
abstract void | Hessian2 (double x, double y, out double dxx, out double dyy, out double dxy) |
Calculates Hessian of the second component of the current function and returns its component through the specified output variables. | |
abstract void | Hessian3 (double x, double y, out double dxx, out double dyy, out double dxy) |
Calculates Hessian of the third component of the current function and returns its component through the specified output variables. | |
virtual mat2 | Hessian1 (vec2 parameters) |
Calculates and returns Hessian of the first component of the current function and returns it (in the form of a mat2 struct). | |
virtual mat2 | Hessian2 (vec2 parameters) |
Calculates and returns Hessian of the second component of the current function and returns it (in the form of a mat2 struct). | |
virtual mat2 | Hessian3 (vec2 parameters) |
Calculates and returns Hessian of the third component of the current function and returns it (in the form of a mat2 struct). | |
Static Public Member Functions | |
static void | Example () |
Example of use of a 2D function. | |
Protected Member Functions | |
Func3d2dBase () | |
Static Protected Member Functions | |
static void | TestFunction (IFunc2d f) |
Demonstrates use of a 2D function by printing to the console 5 values and gradients of the function on the line connecting the two points (0, 0, 0) and (1, 1, 1). | |
static void | TestFunction (IFunc2d f, double xmin, double xmax, double ymin, double ymax, int numPoints) |
Demonstrates use of a 2D function by printing to the console some values and gradients of the function on the line connecting the two specified points. | |
Properties | |
virtual bool | ValueDefined [get, set] |
Whether calculation of function value is defined. Defaulet is true. | |
virtual bool | GradientDefined [get, set] |
Whether calculation of functio ngradient is defined. Default is false. | |
virtual bool | HessianDefined [get, set] |
Whether calculation of function Hessian is defined. Default is false. | |
int | NumParam [get] |
Gets number of parameters. | |
int | NumValues [get] |
Gets number of components of the current vector function. | |
virtual Func2dBase | Component1 [get] |
Returns the scalar function that represents the first component of the current 3D vector function of 2 variables. | |
virtual Func2dBase | Component2 [get] |
Returns the scalar function that represents the second component of the current 3D vector function of 2 variables. | |
virtual Func2dBase | Component3 [get] |
Returns the scalar function that represents the third component of the current 3D vector function of 2 variables. | |
Private Attributes | |
bool | _valueDefined = true |
bool | _gradientDefined = false |
bool | _hessianDefined = false |
Func2dBase | _comp1 |
Func2dBase | _comp2 |
Func2dBase | _comp3 |
Base class for 3D vector functions of 2 variables (base for implementation of IFunc3d2d interface).
$A Igor Oct09;
IG::Num::Func3d2dBase::Func3d2dBase | ( | ) | [inline, protected] |
abstract double IG::Num::Func3d2dBase::Value1 | ( | double | x, |
double | y | ||
) | [pure virtual] |
Calculates and returns value of the first component of the current function.
x | First parameter. |
y | Second parameter. |
Implements IG::Num::IFunc3d2d.
Implemented in IG::Num::Func3d2dExamples::ParametricSurface.
abstract double IG::Num::Func3d2dBase::Value2 | ( | double | x, |
double | y | ||
) | [pure virtual] |
Calculates and returns value of the second component of the current function.
x | First parameter. |
y | Second parameter. |
Implements IG::Num::IFunc3d2d.
Implemented in IG::Num::Func3d2dExamples::ParametricSurface.
abstract double IG::Num::Func3d2dBase::Value3 | ( | double | x, |
double | y | ||
) | [pure virtual] |
Calculates and returns value of the third component of the current function.
x | First parameter. |
y | Second parameter. |
Implements IG::Num::IFunc3d2d.
Implemented in IG::Num::Func3d2dExamples::ParametricSurface.
virtual double IG::Num::Func3d2dBase::Value1 | ( | vec2 | parameters | ) | [inline, virtual] |
Calculates and returns value of the first component of the current function.
parameters | Vector of function parameters (in form of the Value) struct. |
Implements IG::Num::IFunc3d2d.
virtual double IG::Num::Func3d2dBase::Value2 | ( | vec2 | parameters | ) | [inline, virtual] |
Calculates and returns value of the second component of the current function.
parameters | Vector of function parameters (in form of the Value) struct. |
Implements IG::Num::IFunc3d2d.
virtual double IG::Num::Func3d2dBase::Value3 | ( | vec2 | parameters | ) | [inline, virtual] |
Calculates and returns value of the third component of the current function.
parameters | Vector of function parameters (in form of the Value) struct. |
Implements IG::Num::IFunc3d2d.
abstract void IG::Num::Func3d2dBase::Gradient1 | ( | double | x, |
double | y, | ||
out double | gradx, | ||
out double | grady | ||
) | [pure virtual] |
Calculates gradient of the first component of the current function and returns its components through the specified output variables.
x | First parameter. |
y | Second parameter. |
gradx | First component of the returned gradient. |
grady | Second component of the returned gradient. |
Implements IG::Num::IFunc3d2d.
Implemented in IG::Num::Func3d2dBaseNoGradient.
abstract void IG::Num::Func3d2dBase::Gradient2 | ( | double | x, |
double | y, | ||
out double | gradx, | ||
out double | grady | ||
) | [pure virtual] |
Calculates gradient of the second component of the current function and returns its components through the specified output variables.
x | First parameter. |
y | Second parameter. |
gradx | First component of the returned gradient. |
grady | Second component of the returned gradient. |
Implements IG::Num::IFunc3d2d.
Implemented in IG::Num::Func3d2dBaseNoGradient.
abstract void IG::Num::Func3d2dBase::Gradient3 | ( | double | x, |
double | y, | ||
out double | gradx, | ||
out double | grady | ||
) | [pure virtual] |
Calculates gradient of the third component of the current function and returns its components through the specified output variables.
x | First parameter. |
y | Second parameter. |
gradx | First component of the returned gradient. |
grady | Second component of the returned gradient. |
Implements IG::Num::IFunc3d2d.
Implemented in IG::Num::Func3d2dBaseNoGradient.
Calculates and returns gradient of the first component of the current function.
<returnreturns>Gradient of the current 2D scalar function (in form of the vec2 struct)</returnreturns>
Implements IG::Num::IFunc3d2d.
Calculates and returns gradient of the second component of the current function.
<returnreturns>Gradient of the current 2D scalar function (in form of the vec2 struct)</returnreturns>
Implements IG::Num::IFunc3d2d.
Calculates and returns gradient of the third component of the current function.
<returnreturns>Gradient of the current 2D scalar function (in form of the vec2 struct)</returnreturns>
Implements IG::Num::IFunc3d2d.
abstract void IG::Num::Func3d2dBase::Hessian1 | ( | double | x, |
double | y, | ||
out double | dxx, | ||
out double | dyy, | ||
out double | dxy | ||
) | [pure virtual] |
Calculates Hessian of the first component of the current function and returns its component through the specified output variables.
x | First parameter. |
y | Second parameter. |
dxx | Component 1-1 of the calculated Hessian. |
dyy | Component 2-2 of the calculated Hessian. |
dxy | Component 1-2 of the calculated Hessian. |
Implements IG::Num::IFunc3d2d.
Implemented in IG::Num::Func3d2dBaseNoHessian, and IG::Num::Func3d2dBaseNoGradient.
abstract void IG::Num::Func3d2dBase::Hessian2 | ( | double | x, |
double | y, | ||
out double | dxx, | ||
out double | dyy, | ||
out double | dxy | ||
) | [pure virtual] |
Calculates Hessian of the second component of the current function and returns its component through the specified output variables.
x | First parameter. |
y | Second parameter. |
dxx | Component 1-1 of the calculated Hessian. |
dyy | Component 2-2 of the calculated Hessian. |
dxy | Component 1-2 of the calculated Hessian. |
Implements IG::Num::IFunc3d2d.
Implemented in IG::Num::Func3d2dBaseNoHessian, and IG::Num::Func3d2dBaseNoGradient.
abstract void IG::Num::Func3d2dBase::Hessian3 | ( | double | x, |
double | y, | ||
out double | dxx, | ||
out double | dyy, | ||
out double | dxy | ||
) | [pure virtual] |
Calculates Hessian of the third component of the current function and returns its component through the specified output variables.
x | First parameter. |
y | Second parameter. |
dxx | Component 1-1 of the calculated Hessian. |
dyy | Component 2-2 of the calculated Hessian. |
dxy | Component 1-2 of the calculated Hessian. |
Implements IG::Num::IFunc3d2d.
Implemented in IG::Num::Func3d2dBaseNoHessian, and IG::Num::Func3d2dBaseNoGradient.
Calculates and returns Hessian of the first component of the current function and returns it (in the form of a mat2 struct).
Implements IG::Num::IFunc3d2d.
Calculates and returns Hessian of the second component of the current function and returns it (in the form of a mat2 struct).
Implements IG::Num::IFunc3d2d.
Calculates and returns Hessian of the third component of the current function and returns it (in the form of a mat2 struct).
Implements IG::Num::IFunc3d2d.
static void IG::Num::Func3d2dBase::TestFunction | ( | IFunc2d | f | ) | [inline, static, protected] |
Demonstrates use of a 2D function by printing to the console 5 values and gradients of the function on the line connecting the two points (0, 0, 0) and (1, 1, 1).
f | Function whose values and gradients are evaluated and printed. |
static void IG::Num::Func3d2dBase::TestFunction | ( | IFunc2d | f, |
double | xmin, | ||
double | xmax, | ||
double | ymin, | ||
double | ymax, | ||
int | numPoints | ||
) | [inline, static, protected] |
Demonstrates use of a 2D function by printing to the console some values and gradients of the function on the line connecting the two specified points.
f | Function whose values and gradients are evaluated and printed. |
xmin | Min. x. |
xmax | Max. x. |
ymin | Min. y. |
ymax | Max. y. |
numPoints | Number of points in which function values and gradients are printed. |
static void IG::Num::Func3d2dBase::Example | ( | ) | [inline, static] |
Example of use of a 2D function.
bool IG::Num::Func3d2dBase::_valueDefined = true [private] |
bool IG::Num::Func3d2dBase::_gradientDefined = false [private] |
bool IG::Num::Func3d2dBase::_hessianDefined = false [private] |
Func2dBase IG::Num::Func3d2dBase::_comp1 [private] |
Func2dBase IG::Num::Func3d2dBase::_comp2 [private] |
Func2dBase IG::Num::Func3d2dBase::_comp3 [private] |
virtual bool IG::Num::Func3d2dBase::ValueDefined [get, set] |
Whether calculation of function value is defined. Defaulet is true.
Implements IG::Num::IFunc3d2d.
virtual bool IG::Num::Func3d2dBase::GradientDefined [get, set] |
Whether calculation of functio ngradient is defined. Default is false.
Implements IG::Num::IFunc3d2d.
virtual bool IG::Num::Func3d2dBase::HessianDefined [get, set] |
Whether calculation of function Hessian is defined. Default is false.
Implements IG::Num::IFunc3d2d.
int IG::Num::Func3d2dBase::NumParam [get] |
Gets number of parameters.
int IG::Num::Func3d2dBase::NumValues [get] |
Gets number of components of the current vector function.
virtual Func2dBase IG::Num::Func3d2dBase::Component1 [get] |
Returns the scalar function that represents the first component of the current 3D vector function of 2 variables.
Implements IG::Num::IFunc3d2d.
virtual Func2dBase IG::Num::Func3d2dBase::Component2 [get] |
Returns the scalar function that represents the second component of the current 3D vector function of 2 variables.
Implements IG::Num::IFunc3d2d.
virtual Func2dBase IG::Num::Func3d2dBase::Component3 [get] |
Returns the scalar function that represents the third component of the current 3D vector function of 2 variables.
Implements IG::Num::IFunc3d2d.