aureservoir::SimSquare< T > Class Template Reference

#include <simulate.h>

Inheritance diagram for aureservoir::SimSquare< T >:

Inheritance graph
[legend]
Collaboration diagram for aureservoir::SimSquare< T >:

Collaboration graph
[legend]

Detailed Description

template<typename T>
class aureservoir::SimSquare< T >

Same as SimFilter but with additional squared state updates, which has the sense to get more nonlinearities in the reservoir without a need of a very big reservoir size. Describtion in following paper:
See also:
http://www.faculty.iu-bremen.de/hjaeger/pubs/esn_NIPS02.pdf
Note:
This algorithm uses also filtered neurons as in SimFilter
See also:
SimFilterDS

Public Member Functions

 SimSquare (ESN< T > *esn)
virtual ~SimSquare ()
virtual SimSquare< T > * clone (ESN< T > *esn) const
class SimSquare Implementation
virtual void reallocate ()
virtual void simulate (const typename ESN< T >::DEMatrix &in, typename ESN< T >::DEMatrix &out)
class SimFilterDS Implementation
virtual void initDelayLine (int index, const typename DEVector< T >::Type &initbuf) throw (AUExcept)
virtual DEMatrix< T >
::Type 
getDelays () throw (AUExcept)
virtual DEVector< T >
::Type & 
getDelayBuffer (int output, int nr) throw (AUExcept)
class SimFilter Implementation
virtual void setIIRCoeff (const typename DEMatrix< T >::Type &B, const typename DEMatrix< T >::Type &A, int series=1) throw (AUExcept)
additional interface for filter neurons and delay&sum readout
virtual void setBPCutoffConst (T f1, T f2) throw (AUExcept)
virtual void setBPCutoff (const typename ESN< T >::DEVector &f1, const typename ESN< T >::DEVector &f2) throw (AUExcept)

Data Fields

SerialIIRFilter< T > filter_
ESN< T >::DEMatrix last_out_
ESN< T >::DEVector t_

Protected Attributes

ESN< T >::DEVector t2_
ESN< T >::DEVector insq_
std::vector
< DelayLine< T > > 
dellines_
ESN< T >::DEMatrix intmp_
ESN< T > * esn_

Constructor & Destructor Documentation

template<typename T>
aureservoir::SimSquare< T >::SimSquare ( ESN< T > *  esn  )  [inline]

template<typename T>
virtual aureservoir::SimSquare< T >::~SimSquare (  )  [inline, virtual]


Member Function Documentation

template<typename T>
virtual SimSquare<T>* aureservoir::SimSquare< T >::clone ( ESN< T > *  esn  )  const [inline, virtual]

virtual constructor idiom

Reimplemented from aureservoir::SimFilterDS< T >.

template<typename T>
void aureservoir::SimSquare< T >::reallocate (  )  [inline, virtual]

reallocates data buffers

Reimplemented from aureservoir::SimFilterDS< T >.

template<typename T>
void aureservoir::SimSquare< T >::simulate ( const typename ESN< T >::DEMatrix in,
typename ESN< T >::DEMatrix out 
) [inline, virtual]

implementation of the algorithm

See also:
class SimBase::simulate

Reimplemented from aureservoir::SimFilterDS< T >.

template<typename T>
void aureservoir::SimFilterDS< T >::initDelayLine ( int  index,
const typename DEVector< T >::Type &  initbuf 
) throw (AUExcept) [inline, virtual, inherited]

initializes the delay lines from each neuron+input to all outputs

Parameters:
index which delayline to init, reservoir neurons are first, then inputs, then to all outputs. index starts from 0 !!!
initbuf initial values of the delayline
See also:
class DelayLine

Reimplemented from aureservoir::SimBase< T >.

template<typename T>
DEMatrix< T >::Type aureservoir::SimFilterDS< T >::getDelays (  )  throw (AUExcept) [inline, virtual, inherited]

query the trained delays

Returns:
matrix with delay form neurons+inputs to all outputs size = (output x neurons+inputs)

Reimplemented from aureservoir::SimBase< T >.

template<typename T>
DEVector< T >::Type & aureservoir::SimFilterDS< T >::getDelayBuffer ( int  output,
int  nr 
) throw (AUExcept) [inline, virtual, inherited]

Parameters:
output delayline to this output (starting from 0)
nr which neuron or input (starting from 0)
Returns:
the buffer of the delayline

Reimplemented from aureservoir::SimBase< T >.

template<typename T>
void aureservoir::SimFilter< T >::setIIRCoeff ( const typename DEMatrix< T >::Type &  B,
const typename DEMatrix< T >::Type &  A,
int  series = 1 
) throw (AUExcept) [inline, virtual, inherited]

sets the filter coefficients

Parameters:
B matrix with numerator coefficient vectors (m x nb) m ... nr of parallel filters (neurons) nb ... nr of filter coefficients
A matrix with denominator coefficient vectors (m x na) m ... nr of parallel filters (neurons) na ... nr of filter coefficients
seris nr of serial IIR filters, e.g. if series=2 the coefficients B and A will be divided in its half and calculated with 2 serial IIR filters

Reimplemented from aureservoir::SimBase< T >.

template<typename T>
void aureservoir::SimBase< T >::setBPCutoffConst ( f1,
f2 
) throw (AUExcept) [inline, virtual, inherited]

Reimplemented in aureservoir::SimBP< T >.

template<typename T>
void aureservoir::SimBase< T >::setBPCutoff ( const typename ESN< T >::DEVector f1,
const typename ESN< T >::DEVector f2 
) throw (AUExcept) [inline, virtual, inherited]

Reimplemented in aureservoir::SimBP< T >.


Field Documentation

template<typename T>
ESN<T>::DEVector aureservoir::SimSquare< T >::t2_ [protected]

temporary object needed for algorithm calculation

template<typename T>
ESN<T>::DEVector aureservoir::SimSquare< T >::insq_ [protected]

template<typename T>
std::vector< DelayLine<T> > aureservoir::SimFilterDS< T >::dellines_ [protected, inherited]

vector with delaylines for each neuron+input to output connection

template<typename T>
ESN<T>::DEMatrix aureservoir::SimFilterDS< T >::intmp_ [protected, inherited]

temporary object needed for algorithm calculation

template<typename T>
SerialIIRFilter<T> aureservoir::SimFilter< T >::filter_ [inherited]

the filter object

template<typename T>
ESN<T>::DEMatrix aureservoir::SimBase< T >::last_out_ [inherited]

output from last simulation

template<typename T>
ESN<T>::DEVector aureservoir::SimBase< T >::t_ [inherited]

temporary object needed for algorithm calculation

template<typename T>
ESN<T>* aureservoir::SimBase< T >::esn_ [protected, inherited]

reference to the data of the network


The documentation for this class was generated from the following files:
Generated on Wed Mar 12 21:16:13 2008 for aureservoir by  doxygen 1.5.3