| 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::VectorFunctionBaseComponentWise Class Reference

Base class for defining Vector functions whose component-wise evaluation is defined directly. More...

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

List of all members.

## Public Member Functions
override void | Evaluate (IVectorFunctionResults evaluationData)
| Performs evaluation of requwester function results and writes them to the provided data structure. Uses Evaluate(IVector, ref bool, ref List<double>, ref bool, ref List<IVector>, ref bool, ref List<IMatrix>) to do the job.
abstract override double | Value (IVectorFunctionResults evaluationData, int which)
| Calculates and returns the particular component of the vector function value.
abstract override double | Derivative (IVectorFunctionResults evaluationData, int which, int component)
| Calculates and returns the particular component of the vector function derivative.
abstract 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. Uses functions for component-wise evaluation to do the job.
## 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 component-wise evaluation is defined directly.

$A Igor xx May09 Dec10; TODO: implement ICloneable

## Member Function Documentation

override void IG::Num::VectorFunctionBaseComponentWise::Evaluate | ( | IVectorFunctionResults | evaluationData | ) | `[inline, virtual]`

Performs evaluation of requwester function results and writes them to the provided data structure. Uses Evaluate(IVector, ref bool, ref List<double>, ref bool, ref List<IVector>, ref bool, ref List<IMatrix>) to do the job.

Parameters:

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

Implements IG::Num::VectorFunctionBaseGeneral.

abstract override double IG::Num::VectorFunctionBaseComponentWise::Value | ( | IVectorFunctionResults | evaluationData,
|  | int | which
| ) |  | `[pure 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.

abstract override double IG::Num::VectorFunctionBaseComponentWise::Derivative | ( | IVectorFunctionResults | evaluationData,
|  | int | which,
|  | int | component
| ) |  | `[pure 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.

abstract override double IG::Num::VectorFunctionBaseComponentWise::SecondDerivative | ( | IVectorFunctionResults | evaluationData,
|  | int | which,
|  | int | rowNum,
|  | int | columnNum
| ) |  | `[pure 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::VectorFunctionBaseComponentWise::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. Uses functions for component-wise evaluation to do the job.

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