| IGLib 1.7.2 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 Macros
Public Member Functions | Protected Member Functions | Properties | Private Attributes | List of all members
IG.Num.VectorFunctionFromScalar Class Reference
Inheritance diagram for IG.Num.VectorFunctionFromScalar:
[legend]
Collaboration diagram for IG.Num.VectorFunctionFromScalar:
[legend]

## Public Member Functions
| VectorFunctionFromScalar (params IScalarFunction[] functions)
override double | Value (IVectorFunctionResults evaluationData, int which)
| Calculates and returns the particular component of the vector function value. More...
override double | Derivative (IVectorFunctionResults evaluationData, int which, int component)
| Calculates and returns the particular component of the vector function derivative. More...
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). More...
Public Member Functions inherited from IG.Num.VectorFunctionBaseComponentWise
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. More...
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. More...
Public Member Functions inherited from IG.Num.VectorFunctionBaseGeneral
| VectorFunctionBaseGeneral ()
void | SetNumParameters (int num)
| Sets number of parameters of the current vector function to the specified value. More...
void | SetNumValues (int num)
| Sets number of values of the vector function to the specified value. More...
virtual double | Value (IVector parameters, int which)
| Calculates and returns the particular component of the vector function value. More...
virtual double | Derivative (IVector parameters, int which, int component)
| Calculates and returns the particular component of the vector function derivative. More...
virtual double | SecondDerivative (IVector parameters, int which, int rowNum, int columnNum)
| Calculates and returns the particular component of the vector function's second derivative (Hessian). More...
void | Value (IVector parameters, ref List< double > values)
| Returns the value of vector function at the specified parameter. More...
void | Derivative (IVector parameters, ref List< IVector > gradients)
| Returns the first derivative of this function at the specified parameter. More...
void | SecondDerivative (IVector parameters, ref List< IMatrix > hessians)
| Returns the second derivative (Hessian) of this function at the specified arameter. More...
double | LinearCombinationValue (IVectorFunctionResults evaluationData, IVector coefficients)
| Returns value of linear combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
void | LinearCombinationDerivative (IVectorFunctionResults evaluationData, IVector coefficients, ref IVector res)
| Returns gradient of linear combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
double | LinearCombinationDerivative (IVectorFunctionResults evaluationData, IVector coefficients, int component)
| Returns the specified component of gradient of combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
void | LinearCombinationSecondDerivative (IVectorFunctionResults evaluationData, IVector coefficients, ref IMatrix res)
double | LinearCombinationSecondDerivative (IVectorFunctionResults evaluationData, IVector coefficients, int rowNum, int columnNum)
| Returns the specified component of Hessian of combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
double | LinearCombinationValue (IVector parameters, IVector coefficients)
| Returns value of linear combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
void | LinearCombinationDerivative (IVector parameters, IVector coefficients, ref IVector res)
| Returns gradient of linear combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
double | LinearCombinationDerivative (IVector parameters, IVector coefficients, int component)
| Returns the specified component of gradient of combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
void | LinearCombinationSecondDerivative (IVector parameters, IVector coefficients, ref IMatrix res)
| Calculates second derivatives of the linear combination of components of vector functions and stores them to the specified matrix. More...
double | LinearCombinationSecondDerivative (IVector parameters, IVector coefficients, int rowNum, int columnNum)
| Returns the specified component of Hessian of combination of functions contained in this vector function, with specified coefficients at specified parameters. More...
virtual void | NumericalDerivative (IVector x, IVector stepSize, ref List< IVector > derivative)
| Calculates numerical derivative of this function. Central difference formula is used. More...
virtual void | NumericalSecondDerivative (IVector x, IVector stepsizes, ref List< IVector > secondDerivatives)
| Calculates numerical second order derivative of this function. Central difference formula is used. More...

## Protected Member Functions
| VectorFunctionFromScalar ()

## Properties
List< IScalarFunction > | ScalarFunctions`[get]`
override int | NumValues`[get, protected set]`
| Returns number of values, i.e. dimension of function codomain. More...
override bool | ValueDefined`[get, protected set]`
override bool | DerivativeDefined`[get, protected set]`
override bool | SecondDerivativeDefined`[get, protected set]`
Properties inherited from IG.Num.VectorFunctionBaseComponentWise
override bool | ComponentWiseEvaluation`[get, protected set]`
| Returns true, indicating that individual components of functions and eventually their deirvatives is performed directly. More...
Properties inherited from IG.Num.VectorFunctionBaseGeneral
object | Lock`[get]`
virtual string | Name`[get, set]`
| Returns a short name of the function. More...
virtual string | Description`[get, set]`
| Returns a short description of the function. More...
virtual int | NumParameters`[get, protected set]`
| Gets number of parameters of the current vector function (-1 for not defined, in case that function works with different numbers of parameters). More...
virtual int | NumValues`[get, protected set]`
| Gets number of values of the current vector function (-1 for not defined, e.g. in case that function works with different numbers of parameters and number of functions depends on number of parameters). More...
virtual bool | ComponentWiseEvaluation`[get, protected set]`
| Tells whether the function supports evaluation of individual components. If not then evaluation is performed through the Evaluate function. More...
virtual bool | ValueDefined`[get, protected set]`
| Tells whether value of the function is defined by implementation. More...
virtual bool | DerivativeDefined`[get, protected set]`
| Tells whether the first derivative is defined for this function (by implementation, not mathematically) More...
virtual bool | SecondDerivativeDefined`[get, protected set]`
| Tells whether the second derivative is defined for this function (by implementation, not mathematically) More...
IVectorFunctionResults | AuxResults`[get]`
VectorFunctionBase.ObjectStoreResults | ResultsStore`[get]`
| Store of result objects for reuse. More...
Properties inherited from IG.Num.IVectorFunction
string | Name`[get]`
| Returns a short name of the function. More...
string | Description`[get]`
| Returns a short description of the function. More...
int | NumParameters`[get]`
| Gets number of parameters of the current vector function (-1 for not defined, in case that function works with different numbers of parameters). More...
int | NumValues`[get]`
| Gets number of values of the current vector function (-1 for not defined, e.g. in case that function works with different numbers of parameters and number of functions depends on number of parameters). More...
bool | ValueDefined`[get]`
| Tells whether value of the function is defined by implementation. More...
bool | DerivativeDefined`[get]`
| Tells whether the first derivative is defined for this function (by implementation, not mathematically) More...
bool | SecondDerivativeDefined`[get]`
| Tells whether the second derivative is defined for this function (by implementation, not mathematically) More...
bool | ComponentWiseEvaluation`[get]`
| Tells whether the function supports evaluation of individual components. If not then evaluation is performed through the Evaluate function. More...
Properties inherited from IG.Lib.ILockable
object | Lock`[get]`

## Private Attributes
List< IScalarFunction > | _scalarFunctions = new List<IScalarFunction>()

## Additional Inherited Members
Protected Attributes inherited from IG.Num.VectorFunctionBaseGeneral
object | _lock = new object()
string | _name
string | _description
int | _numParameters = -1
int | _numValues = -1
bool | _valuesDefined = true
bool | _derivativeDefined = false
bool | _secondDerivativeDefined = false
bool | _componentEvaluation = false

## Constructor & Destructor Documentation

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

IG.Num.VectorFunctionFromScalar.VectorFunctionFromScalar | ( | params IScalarFunction[] | functions | ) |
| inline

## Member Function Documentation

override double IG.Num.VectorFunctionFromScalar.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.VectorFunctionBaseComponentWise.

References IG.Num.IVectorFunctionResults.Parameters, and IG.Num.IVectorFunctionResults.SetValue().

override double IG.Num.VectorFunctionFromScalar.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.VectorFunctionBaseComponentWise.

References IG.Num.IVectorFunctionResults.Parameters, and IG.Num.IVectorFunctionResults.SetGradient().

override double IG.Num.VectorFunctionFromScalar.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.VectorFunctionBaseComponentWise.

References IG.Num.IVectorFunctionResults.Parameters, and IG.Num.IVectorFunctionResults.SetHessian().

## Member Data Documentation

List<IScalarFunction> IG.Num.VectorFunctionFromScalar._scalarFunctions = new List<IScalarFunction>()
| private

## Property Documentation

List<IScalarFunction> IG.Num.VectorFunctionFromScalar.ScalarFunctions
| get protected

override int IG.Num.VectorFunctionFromScalar.NumValues
| get protected set

Returns number of values, i.e. dimension of function codomain.

override bool IG.Num.VectorFunctionFromScalar.ValueDefined
| get protected set

override bool IG.Num.VectorFunctionFromScalar.DerivativeDefined
| get protected set

override bool IG.Num.VectorFunctionFromScalar.SecondDerivativeDefined
| get protected set

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

- igbase/numeric/FunctionVectorFromScalar.cs