IGLib  1.5
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
IG.Num.VectorApproximatorBase Class Referenceabstract

Base class for vector function approximators. More...

+ Inheritance diagram for IG.Num.VectorApproximatorBase:
+ Collaboration diagram for IG.Num.VectorApproximatorBase:

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
inputInput 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 
)
inlinevirtual

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 
)
inlinevirtual

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

Parameters
inputInput parameters for which output values are calculated.
indicesArray of indices of the output values to be returned.
filteredOutputVector 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
getset

Gets or sets the number of input parameters.

abstract int IG.Num.VectorApproximatorBase.OutputLength
getset

Gets or sets the number of output values.


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