| 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

Public Member Functions | Protected Member Functions

# IG::Num::Func3dVectorFormBase Class Reference

Base class for scalar functions of 3 variables (base for implementation of IFunc3d interface). Derive from this class when your basic implementations of evaluation methods are in vector form (parameters as vec3 struct).Beside the IFunc3d interface, this class also implements the IScalarFunction interface. This does not affect efficiency but adds the functionality for using objects as general (untransformed) scalar functions. More...

Inheritance diagram for IG::Num::Func3dVectorFormBase:
[legend]
Collaboration diagram for IG::Num::Func3dVectorFormBase:
[legend]

List of all members.

## Public Member Functions
override double | Value (vec3 parameters)
| Calculates and returns value of the current 3D scalar function. This method must be overridden in derives classes.
override vec3 | Gradient (vec3 parameters)
| Calculates and returns gradient of the current 3D scalar function. This method must be overridden in derives classes where calculation of function gradient is implemented.
override mat3 | Hessian (vec3 parameters)
| Calculates and returns Hessian of the current 3D scalar function and returns it (in the form of a mat3 struct). This method must be overridden in derives classes where calculation of function Hessian is implemented.
sealed override double | Value (double x, double y, double z)
| Calculates and returns value of the current 3D scalar function.
sealed override void | Gradient (double x, double y, double z, out double gradx, out double grady, out double gradz)
| Calculates gradient of the current 3D scalar function and returns its components through the specified output variables.
sealed override void | Hessian (double x, double y, double z, out double dxx, out double dyy, out double dzz, out double dxy, out double dxz, out double dyz)
| Calculates Hessian of the current 3D scalar function and returns its component through the specified output variables.
## Protected Member Functions
| Func3dVectorFormBase ()
| Constructor.

## Detailed Description

Base class for scalar functions of 3 variables (base for implementation of IFunc3d interface).

Derive from this class when your basic implementations of evaluation methods are in vector form (parameters as vec3 struct).

Beside the IFunc3d interface, this class also implements the IScalarFunction interface. This does not affect efficiency but adds the functionality for using objects as general (untransformed) scalar functions.

$A Igor Aug09;

## Constructor & Destructor Documentation

IG::Num::Func3dVectorFormBase::Func3dVectorFormBase | ( |  | ) | `[inline, protected]`

Constructor.

## Member Function Documentation

override double IG::Num::Func3dVectorFormBase::Value | ( | vec3 | parameters | ) | `[inline]`

Calculates and returns value of the current 3D scalar function. This method must be overridden in derives classes.

Parameters:

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

Returns:
  Function value.

Implements IG::Num::IFunc3d.

Reimplemented in IG::Num::Func3dLinear, and IG::Num::Func3dQuadratic.

override vec3 IG::Num::Func3dVectorFormBase::Gradient | ( | vec3 | parameters | ) | `[inline]`

Calculates and returns gradient of the current 3D scalar function. This method must be overridden in derives classes where calculation of function gradient is implemented.

Parameters:

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

<returnreturns>Gradient of the current 3D scalar function (in form of the vec3 struct)</returnreturns>

Implements IG::Num::IFunc3d.

Reimplemented in IG::Num::Func3dLinear, and IG::Num::Func3dQuadratic.

override mat3 IG::Num::Func3dVectorFormBase::Hessian | ( | vec3 | parameters | ) | `[inline]`

Calculates and returns Hessian of the current 3D scalar function and returns it (in the form of a mat3 struct). This method must be overridden in derives classes where calculation of function Hessian is implemented.

Implements IG::Num::IFunc3d.

Reimplemented in IG::Num::Func3dLinear, and IG::Num::Func3dQuadratic.

sealed override double IG::Num::Func3dVectorFormBase::Value | ( | double | x,
|  | double | y,
|  | double | z
| ) |  | `[inline]`

Calculates and returns value of the current 3D scalar function.

Parameters:

  x | First parameter.
  y | Second parameter.
  z | Third parameter.

Implements IG::Num::IFunc3d.

sealed override void IG::Num::Func3dVectorFormBase::Gradient | ( | double | x,
|  | double | y,
|  | double | z,
|  | out double | gradx,
|  | out double | grady,
|  | out double | gradz
| ) |  | `[inline]`

Calculates gradient of the current 3D scalar function and returns its components through the specified output variables.

Parameters:

  x | First parameter.
  y | Second parameter.
  z | Third parameter.
  gradx | First component of the returned gradient.
  grady | Second component of the returned gradient.
  gradz | Third component of the returned gradient.

Implements IG::Num::IFunc3d.

sealed override void IG::Num::Func3dVectorFormBase::Hessian | ( | double | x,
|  | double | y,
|  | double | z,
|  | out double | dxx,
|  | out double | dyy,
|  | out double | dzz,
|  | out double | dxy,
|  | out double | dxz,
|  | out double | dyz
| ) |  | `[inline]`

Calculates Hessian of the current 3D scalar function and returns its component through the specified output variables.

Parameters:

  x | First parameter.
  y | Second parameter.
  z | Third parameter.
  dxx | Component 1-1 of the calculated Hessian.
  dyy | Component 2-2 of the calculated Hessian.
  dzz | Component 3-3 of the calculated Hessian.
  dxy | Component 1-2 of the calculated Hessian.
  dxz | Component 1-3 of the calculated Hessian.
  dyz | Component 2-3 of the calculated Hessian.

Implements IG::Num::IFunc3d.

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

- Function3d.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events