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

- Main Page
- Namespaces
- Classes
- Files
- Directories

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

Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Properties | Private Attributes

# IG::Num::Func3d2dBase Class Reference

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]

List of all members.

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

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

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.

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.

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.

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.

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.

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

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

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::Func3d2dBaseNoHessian, and IG::Num::Func3d2dBaseNoGradient.

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.

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.

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.

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.

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

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

- Function3d2d.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events