| IGLib 1.5 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
Public Member Functions | Protected Attributes | Properties | Private Attributes | List of all members
IG.Num.VectorApproximatorBase Class Referenceabstract

Base class for vector function approximators. More...

Inheritance diagram for IG.Num.VectorApproximatorBase:
[legend]
Collaboration diagram for IG.Num.VectorApproximatorBase:
[legend]

## Public Member Functions
abstract void | CalculateOutput (IVector input, ref IVector output)
| Calculates and returns the approximated outputs corresponding to the specified inputs, by using the current vector function approximator. More...
virtual double | CalculateOutput (IVector input, int whichElement)
| Calculates and returns the specified output by using the current vector function approximator. More...
virtual void | CalculateOutput (IVector input, int[] indices, ref IVector filteredOutput)
| Calculates and returns the required output values corresponding to the specified inputs, by using the current vector function approximator. More...

## Protected Attributes
IVector | _lastCalculationInputParameters

## Properties
object | Lock`[get]`
| This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock. More...
abstract int | InputLength`[get, set]`
| Gets or sets the number of input parameters. More...
abstract int | OutputLength`[get, set]`
| Gets or sets the number of output values. More...
Properties inherited from IG.Lib.ILockable
object | Lock`[get]`

## Private Attributes
object | _mainLock = new object()
IVector | _lastCalculationOutputValues

## Detailed Description

Base class for vector function approximators.

## Member Function Documentation

abstract void IG.Num.VectorApproximatorBase.CalculateOutput | ( | IVector | input,
|  | ref IVector | output
| ) |  |
| pure virtual

Calculates and returns the approximated outputs corresponding to the specified inputs, by using the current vector function approximator.

Parameters

  input | Input parameters.

Returns
  Vector of output values generated by the approximator.

Currently, only all outputs at once can be calculated. This makes no difference in the arrangement with a single network with multiple outputs, but does when several networks with single output each are used. If the implementation changes in the future then performance configuratins should be taken into account carefully, and tracking input for which input parameters the outputs have been calculated might be necessary.

Implemented in IG.Neural.NeuralApproximatorAforge, and IG.Num.NeuralApproximatorAforgeFake.

virtual double IG.Num.VectorApproximatorBase.CalculateOutput | ( | IVector | input,
|  | int | whichElement
| ) |  |
| inline virtual

Calculates and returns the specified output by using the current vector function approximator.

Reimplemented in IG.Num.NeuralApproximatorBase, and IG.Num.NeuralApproximatorAforgeFake.

References IG.Num.VectorBase.Compare(), and IG.Num.VectorBase.Copy().

virtual void IG.Num.VectorApproximatorBase.CalculateOutput | ( | IVector | input,
|  | int[] | indices,
|  | ref IVector | filteredOutput
| ) |  |
| inline virtual

Calculates and returns the required output values corresponding to the specified inputs, by using the current vector function approximator.

Parameters

  input | Input parameters for which output values are calculated.
  indices | Array of indices of the output values to be returned.
  filteredOutput | Vector where filtered output values are stored.

Reimplemented in IG.Num.NeuralApproximatorBase, and IG.Num.NeuralApproximatorAforgeFake.

References IG.Num.VectorBase.Compare(), IG.Num.VectorBase.Copy(), and IG.Num.VectorBase.Resize().

## Member Data Documentation

object IG.Num.VectorApproximatorBase._mainLock = new object()
| private

IVector IG.Num.VectorApproximatorBase._lastCalculationInputParameters
| protected

IVector IG.Num.VectorApproximatorBase._lastCalculationOutputValues
| private

## Property Documentation

object IG.Num.VectorApproximatorBase.Lock
| get

This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock.

abstract int IG.Num.VectorApproximatorBase.InputLength
| get set

Gets or sets the number of input parameters.

abstract int IG.Num.VectorApproximatorBase.OutputLength
| get set

Gets or sets the number of output values.

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

- igbase/numeric/approximation/VectorApproximatorBase.cs