| IGLib 1.5 The IGLib base library for development of numerical, technical and business applications.

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Properties | Private Attributes | List of all members
IG.Num.Func3d2dBase Class Referenceabstract

Base class for 3D vector functions of 2 variables (base for implementation of IFunc3d2d interface). More...

Inheritance diagram for IG.Num.Func3d2dBase:
[legend]
Collaboration diagram for IG.Num.Func3d2dBase:
[legend]

## 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

## Detailed Description

Base class for 3D vector functions of 2 variables (base for implementation of IFunc3d2d interface).

$A Igor Oct09;

## Constructor & Destructor Documentation

IG.Num.Func3d2dBase.Func3d2dBase | ( |  | ) |
| inline protected

## Member Function Documentation

abstract double IG.Num.Func3d2dBase.Value1 | ( | double | x,
|  | double | y
| ) |  |
| pure virtual

Calculates and returns value of the first component of the current function.

Parameters

  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.

Parameters

  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.

Parameters

  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

  parameters | Vector of function parameters (in form of the Value) struct.

Returns
  Function value.

Implements IG.Num.IFunc3d2d.

References IG.Num.vec2.x, and IG.Num.vec2.y.

virtual double IG.Num.Func3d2dBase.Value2 | ( | vec2 | parameters | ) |
| inline virtual

Calculates and returns value of the second component of the current function.

Parameters

  parameters | Vector of function parameters (in form of the Value) struct.

Returns
  Function value.

Implements IG.Num.IFunc3d2d.

References IG.Num.vec2.x, and IG.Num.vec2.y.

virtual double IG.Num.Func3d2dBase.Value3 | ( | vec2 | parameters | ) |
| inline virtual

Calculates and returns value of the third component of the current function.

Parameters

  parameters | Vector of function parameters (in form of the Value) struct.

Returns
  Function value.

Implements IG.Num.IFunc3d2d.

References IG.Num.vec2.x, and IG.Num.vec2.y.

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.

Parameters

  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.

Parameters

  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.

Parameters

  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.

virtual vec2 IG.Num.Func3d2dBase.Gradient1 | ( | vec2 | parameters | ) |
| inline virtual

Calculates and returns gradient of the first component of the current function.

Parameters

  parameters | Vector of parameters (in form of the vec2 struct)

<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.

virtual vec2 IG.Num.Func3d2dBase.Gradient2 | ( | vec2 | parameters | ) |
| inline virtual

Calculates and returns gradient of the second component of the current function.

Parameters

  parameters | Vector of parameters (in form of the vec2 struct)

<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.

virtual vec2 IG.Num.Func3d2dBase.Gradient3 | ( | vec2 | parameters | ) |
| inline virtual

Calculates and returns gradient of the third component of the current function.

Parameters

  parameters | Vector of parameters (in form of the vec2 struct)

<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.

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.

Parameters

  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.

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.

Parameters

  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.

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.

Parameters

  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.

virtual mat2 IG.Num.Func3d2dBase.Hessian1 | ( | vec2 | parameters | ) |
| inline virtual

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.

virtual mat2 IG.Num.Func3d2dBase.Hessian2 | ( | vec2 | parameters | ) |
| inline virtual

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.

virtual mat2 IG.Num.Func3d2dBase.Hessian3 | ( | vec2 | parameters | ) |
| inline virtual

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.

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).

Parameters

  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.

Parameters

  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.

static void IG.Num.Func3d2dBase.Example | ( |  | ) |
| inline static

Example of use of a 2D function.

## Member Data Documentation

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

## Property Documentation

virtual bool IG.Num.Func3d2dBase.ValueDefined
| get protected set

Whether calculation of function value is defined. Defaulet is true.

virtual bool IG.Num.Func3d2dBase.GradientDefined
| get protected set

Whether calculation of functio ngradient is defined. Default is false.

virtual bool IG.Num.Func3d2dBase.HessianDefined
| get protected set

Whether calculation of function Hessian is defined. Default is false.

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.

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.

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.

The documentation for this class was generated from the following file:

- igbase/numeric/geometry/Function3d2d.cs