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

# IG::Num::VectorFunctionBase Class Reference

Base class for defining Vector functions whose evaluation is defined in bulk, and evaluation of individual components can not be performed directly. For these functioons, individual values and individual gradient or vector components are evaluated in such a way thet the function is first evaluated as whole, storing its results to an object implementing IVectorFunctionResults. More...

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

List of all members.

## Public Member Functions
abstract override void | Evaluate (IVectorFunctionResults evaluationData)
| Performs evaluation of requwester function results and writes them to the provided data structure.
override double | Value (IVectorFunctionResults evaluationData, int which)
| Calculates and returns the particular component of the vector function value.
override double | Derivative (IVectorFunctionResults evaluationData, int which, int component)
| Calculates and returns the particular component of the vector function derivative.
override double | SecondDerivative (IVectorFunctionResults evaluationData, int which, int rowNum, int columnNum)
| Calculates and returns the particular component of the vector function's second derivative (Hessian).
override void | Evaluate (IVector parameters, ref bool calculateValues, ref List< double > values, ref bool calculateGradients, ref List< IVector > gradients, ref bool calculateHessians, ref List< IMatrix > hessians)
| Calculation of values, gradients, and hessians of the vector function according to request flags. Calculated by using Evaluate(IVectorFunctionResults) in this class.
## Properties
override bool | ComponentWiseEvaluation`[get, set]`
| Returns true, indicating that individual components of functions and eventually their deirvatives is performed directly.

## Detailed Description

Base class for defining Vector functions whose evaluation is defined in bulk, and evaluation of individual components can not be performed directly. For these functioons, individual values and individual gradient or vector components are evaluated in such a way thet the function is first evaluated as whole, storing its results to an object implementing IVectorFunctionResults.

$A Igor xx May10 Dec10; TODO: implement ICloneable

## Member Function Documentation

abstract override void IG::Num::VectorFunctionBase::Evaluate | ( | IVectorFunctionResults | evaluationData | ) | `[pure virtual]`

Performs evaluation of requwester function results and writes them to the provided data structure.

Parameters:

  analysisData | Data structure where request parameters are obtained and where results are written.

Implements IG::Num::VectorFunctionBaseGeneral.

Implemented in IG::Num::VectorFunctionExamples::RosenBrockAndCircle.

override double IG::Num::VectorFunctionBase::Value | ( | IVectorFunctionResults | evaluationData,
|  | int | which
| ) |  | `[inline, virtual]`

Calculates and returns the particular component of the vector function value.

Parameters:

  evaluationData | Evaluation data that contains function parameters and can store function resuts. If the function does not support component-wise evaluation then results will be stored to this structure and returned from it. This makes reuse possible - when different components are evaluated subsequently with the same parameters, results are calculated only for the first time.
  which | Specifies which function to evaluate.

Implements IG::Num::VectorFunctionBaseGeneral.

override double IG::Num::VectorFunctionBase::Derivative | ( | IVectorFunctionResults | evaluationData,
|  | int | which,
|  | int | component
| ) |  | `[inline, virtual]`

Calculates and returns the particular component of the vector function derivative.

Parameters:

  evaluationData | Evaluation data that contains function parameters and can store function resuts. If the function does not support component-wise evaluation then results will be stored to this structure and returned from it. This makes reuse possible - when different components are evaluated subsequently with the same parameters, results are calculated only for the first time.
  which | Specifies which function to take.
  component | Specifies which compoonent of the gradient should be returned.

Implements IG::Num::VectorFunctionBaseGeneral.

override double IG::Num::VectorFunctionBase::SecondDerivative | ( | IVectorFunctionResults | evaluationData,
|  | int | which,
|  | int | rowNum,
|  | int | columnNum
| ) |  | `[inline, virtual]`

Calculates and returns the particular component of the vector function's second derivative (Hessian).

Parameters:

  evaluationData | Evaluation data that contains function parameters and can store function resuts. If the function does not support component-wise evaluation then results will be stored to this structure and returned from it. This makes reuse possible - when different components are evaluated subsequently with the same parameters, results are calculated only for the first time.
  which | Specifies which function to take.
  rowNum | Specifies which row of the Hessian (matrix of second derivatives) should be returned.
  columnNum | Specifies which column of the Hessian (matrix of second derivatives) should be returned.

Implements IG::Num::VectorFunctionBaseGeneral.

override void IG::Num::VectorFunctionBase::Evaluate | ( | IVector | parameters,
|  | ref bool | calculateValues,
|  | ref List< double > | values,
|  | ref bool | calculateGradients,
|  | ref List< IVector > | gradients,
|  | ref bool | calculateHessians,
|  | ref List< IMatrix > | hessians
| ) |  | `[inline, virtual]`

Calculation of values, gradients, and hessians of the vector function according to request flags. Calculated by using Evaluate(IVectorFunctionResults) in this class.

Parameters:

  parameters | Parameters at which evaluation takes place.
  calculateValues | Flag for calculation of function values, input/output.
  values | Function values, output.
  calculateGradients | Flag for calculation of functions gradients, input/output.
  gradients | Gradients, output.
  calculateHessians | Flag for calculation of Hessians, input/output.
  hessians | Functions' hessians, output.

Returns:

Implements IG::Num::VectorFunctionBaseGeneral.

## Property Documentation

override bool IG::Num::VectorFunctionBase::ComponentWiseEvaluation`[get, set]`

Returns true, indicating that individual components of functions and eventually their deirvatives is performed directly.

Reimplemented from IG::Num::VectorFunctionBaseGeneral.

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

- FunctionVectorBase.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events