Nengo.ca

ca.nengo.model.plasticity.impl
Class ModulatedPlasticEnsembleTermination

java.lang.Object
  extended by ca.nengo.model.impl.EnsembleTermination
      extended by ca.nengo.model.plasticity.impl.PlasticEnsembleTermination
          extended by ca.nengo.model.plasticity.impl.ModulatedPlasticEnsembleTermination
All Implemented Interfaces:
Resettable, Termination, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
PESTermination, PreLearnTermination

public abstract class ModulatedPlasticEnsembleTermination
extends PlasticEnsembleTermination

A Termination that is composed of Terminations onto multiple Nodes. The dimensions of the Terminations onto each Node must be the same.

Physiologically, this might correspond to a set of n axons passing into a neuron pool. Each neuron in the pool receives synaptic connections from as many as n of these axons (zero weight is equivalent to no connection). Sometimes we deal with this set of axons only in terms of the branches they send to one specific Neuron (a Node-level Termination) but here we deal with all branches (an Ensemble-level Termination). In either case the spikes transmitted by the axons are the same.

TODO: test

See Also:
Serialized Form

Field Summary
protected  float[] myModInput
           
protected  java.lang.String myModTermName
           
 
Fields inherited from class ca.nengo.model.plasticity.impl.PlasticEnsembleTermination
myLearning, myLearningRate, myOriginName, myOutput
 
Constructor Summary
ModulatedPlasticEnsembleTermination(Node node, java.lang.String name, PlasticNodeTermination[] nodeTerminations)
           
 
Method Summary
 ModulatedPlasticEnsembleTermination clone(Node node)
          Clone method that changes necessary parameters to point to a new parent, for use in cloning ensembles, etc.
 java.lang.String getModTermName()
           
 void reset(boolean randomize)
           
 void setModTerminationState(java.lang.String name, InstantaneousOutput state, float time)
           
 void setModTermName(java.lang.String name)
           
 
Methods inherited from class ca.nengo.model.plasticity.impl.PlasticEnsembleTermination
getInput, getLearning, getLearningRate, getOriginName, getOutputs, getTransform, saveTransform, setLearning, setLearningRate, setOriginName, setOriginState, setTransform, updateTransform
 
Methods inherited from class ca.nengo.model.impl.EnsembleTermination
clone, getDimensions, getModulatory, getName, getNode, getNodeTerminations, getTau, setModulatory, setTau, setValues
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myModTermName

protected java.lang.String myModTermName

myModInput

protected float[] myModInput
Constructor Detail

ModulatedPlasticEnsembleTermination

public ModulatedPlasticEnsembleTermination(Node node,
                                           java.lang.String name,
                                           PlasticNodeTermination[] nodeTerminations)
                                    throws StructuralException
Parameters:
node - The parent Node
name - Name of this Termination
nodeTerminations - Node-level Terminations that make up this Termination. Must be all LinearExponentialTerminations
Throws:
StructuralException - If dimensions of different terminations are not all the same
Method Detail

getModTermName

public java.lang.String getModTermName()
Returns:
Name of the Termination from which modulatory input is drawn (can be null if not used)

setModTermName

public void setModTermName(java.lang.String name)
Parameters:
name - Name of the Termination from which modulatory input is drawn (can be null if not used)

reset

public void reset(boolean randomize)
Specified by:
reset in interface Resettable
Overrides:
reset in class PlasticEnsembleTermination
Parameters:
randomize - True indicates that the object should be reset to a randomly selected initial state (the object must be aware of the distribution from which to draw from). False indicates that the object should be reset to a fixed initial state (which it must also know). Some objects may not support randomization of the initial state, in which case a fixed state will be used in either case.
See Also:
Resettable.reset(boolean)

setModTerminationState

public void setModTerminationState(java.lang.String name,
                                   InstantaneousOutput state,
                                   float time)
                            throws StructuralException
Parameters:
name - Name of the termination from which modulatory input is drawn
state - The state to set
time - Current time
Throws:
StructuralException - if modulatory termination does not exist

clone

public ModulatedPlasticEnsembleTermination clone(Node node)
                                          throws java.lang.CloneNotSupportedException
Description copied from interface: Termination
Clone method that changes necessary parameters to point to a new parent, for use in cloning ensembles, etc.

Specified by:
clone in interface Termination
Overrides:
clone in class PlasticEnsembleTermination
Parameters:
node - New parent node
Returns:
A clone of the termination for the new parent ensemble
Throws:
java.lang.CloneNotSupportedException - if clone cannot be made

Nengo.ca