|
IGLib
1.7.2
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...
Inheritance diagram for IG.Num.Func3d2dBase:
Collaboration diagram for IG.Num.Func3d2dBase: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. More... | |
| abstract double | Value2 (double x, double y) |
| Calculates and returns value of the second component of the current function. More... | |
| abstract double | Value3 (double x, double y) |
| Calculates and returns value of the third component of the current function. More... | |
| virtual double | Value1 (vec2 parameters) |
| Calculates and returns value of the first component of the current function. More... | |
| virtual double | Value2 (vec2 parameters) |
| Calculates and returns value of the second component of the current function. More... | |
| virtual double | Value3 (vec2 parameters) |
| Calculates and returns value of the third component of the current function. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| virtual vec2 | Gradient1 (vec2 parameters) |
| Calculates and returns gradient of the first component of the current function. More... | |
| virtual vec2 | Gradient2 (vec2 parameters) |
| Calculates and returns gradient of the second component of the current function. More... | |
| virtual vec2 | Gradient3 (vec2 parameters) |
| Calculates and returns gradient of the third component of the current function. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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). More... | |
| 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). More... | |
| 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). More... | |
Static Public Member Functions | |
| static void | Example () |
| Example of use of a 2D function. More... | |
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). More... | |
| 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. More... | |
Properties | |
| virtual bool | ValueDefined [get, protected set] |
| Whether calculation of function value is defined. Defaulet is true. More... | |
| virtual bool | GradientDefined [get, protected set] |
| Whether calculation of functio ngradient is defined. Default is false. More... | |
| virtual bool | HessianDefined [get, protected set] |
| Whether calculation of function Hessian is defined. Default is false. More... | |
| int | NumParam [get] |
| Gets number of parameters. More... | |
| int | NumValues [get] |
| Gets number of components of the current vector function. More... | |
| virtual Func2dBase | Component1 [get] |
| Returns the scalar function that represents the first component of the current 3D vector function of 2 variables. More... | |
| virtual Func2dBase | Component2 [get] |
| Returns the scalar function that represents the second component of the current 3D vector function of 2 variables. More... | |
| virtual Func2dBase | Component3 [get] |
| Returns the scalar function that represents the third component of the current 3D vector function of 2 variables. More... | |
Properties inherited from IG.Num.IFunc3d2d | |
| bool | ValueDefined [get] |
| Whether calculation of function value is defined. More... | |
| bool | GradientDefined [get] |
| Whether calculation of function ngradient is defined. More... | |
| bool | HessianDefined [get] |
| Whether calculation of function Hessian is defined. More... | |
| Func2dBase | Component1 [get] |
| Returns the scalar function that represents the first component of the current 3D vector function of 2 variables. More... | |
| Func2dBase | Component2 [get] |
| Returns the scalar function that represents the second component of the current 3D vector function of 2 variables. More... | |
| Func2dBase | Component3 [get] |
| Returns the scalar function that represents the third component of the current 3D vector function of 2 variables. More... | |
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;
|
inlineprotected |
|
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.
|
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.
|
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.
|
inlinevirtual |
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.
References IG.Num.vec2.x, and IG.Num.vec2.y.
|
inlinevirtual |
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.
References IG.Num.vec2.x, and IG.Num.vec2.y.
|
inlinevirtual |
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.
References IG.Num.vec2.x, and IG.Num.vec2.y.
|
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.
|
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.
|
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.
References IG.Num.vec2.x, and IG.Num.vec2.y.
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.
References IG.Num.vec2.x, and IG.Num.vec2.y.
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.
References IG.Num.vec2.x, and IG.Num.vec2.y.
|
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.Func3d2dBaseNoGradient, and IG.Num.Func3d2dBaseNoHessian.
|
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.Func3d2dBaseNoGradient, and IG.Num.Func3d2dBaseNoHessian.
|
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.Func3d2dBaseNoGradient, and IG.Num.Func3d2dBaseNoHessian.
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.
References IG.Num.vec2.x, and IG.Num.vec2.y.
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.
References IG.Num.vec2.x, and IG.Num.vec2.y.
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.
References IG.Num.vec2.x, and IG.Num.vec2.y.
|
inlinestaticprotected |
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. |
|
inlinestaticprotected |
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. |
References IG.Num.IFunc2d.Gradient(), IG.Num.IFunc2d.GradientDefined, IG.Num.IFunc2d.Value(), and IG.Num.IFunc2d.ValueDefined.
|
inlinestatic |
Example of use of a 2D function.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
getprotected set |
Whether calculation of function value is defined. Defaulet is true.
|
getprotected set |
Whether calculation of functio ngradient is defined. Default is false.
|
getprotected set |
Whether calculation of function Hessian is defined. Default is false.
|
get |
Gets number of parameters.
|
get |
Gets number of components of the current vector function.
|
get |
Returns the scalar function that represents the first component of the current 3D vector function of 2 variables.
|
get |
Returns the scalar function that represents the second component of the current 3D vector function of 2 variables.
|
get |
Returns the scalar function that represents the third component of the current 3D vector function of 2 variables.