ca.nengo.model.impl
Class PlasticEnsembleTermination

java.lang.Object
  extended by ca.nengo.model.impl.EnsembleTermination
      extended by ca.nengo.model.impl.PlasticEnsembleTermination
All Implemented Interfaces:
PlasticTermination, Resettable, Termination, java.io.Serializable, java.lang.Cloneable

public class PlasticEnsembleTermination
extends EnsembleTermination
implements PlasticTermination

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

Author:
Trevor Bekolay
See Also:
Serialized Form

Field Summary
 
Fields inherited from class ca.nengo.model.impl.EnsembleTermination
myNodeTerminations
 
Constructor Summary
PlasticEnsembleTermination(Node node, java.lang.String name, LinearExponentialTermination[] nodeTerminations)
           
 
Method Summary
 PlasticTermination clone()
           
 float[] getCurrents()
           
 InstantaneousOutput getInput()
           
 float[][] getTransform()
           
 void saveTransform()
          Save the current transformation, for resetting purposes.
 void setTransform(float[][] transform)
           
 
Methods inherited from class ca.nengo.model.impl.EnsembleTermination
getDimensions, getModulatory, getName, getNode, getTau, reset, setModulatory, setTau, setValues
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface ca.nengo.model.Termination
getDimensions, getModulatory, getName, getNode, getTau, setModulatory, setTau, setValues
 
Methods inherited from interface ca.nengo.model.Resettable
reset
 

Constructor Detail

PlasticEnsembleTermination

public PlasticEnsembleTermination(Node node,
                                  java.lang.String name,
                                  LinearExponentialTermination[] 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

getTransform

public float[][] getTransform()
Specified by:
getTransform in interface PlasticTermination
Returns:
The connection weight matrix relating input from the pre-population to the output produced by the post-population.
See Also:
PlasticTermination.getTransform()

setTransform

public void setTransform(float[][] transform)
Specified by:
setTransform in interface PlasticTermination
Parameters:
transform - The new connection weight matrix relating input from the pre-population to the output produced by the post-population.
See Also:
PlasticTermination.setTransform(float[][] transform)

getInput

public InstantaneousOutput getInput()
Specified by:
getInput in interface PlasticTermination
Returns:
The input coming from the pre-population. Needed to run plasticity rules.
See Also:
PlasticTermination.getInput()

getCurrents

public float[] getCurrents()
Specified by:
getCurrents in interface PlasticTermination
Returns:
The currents currently output from the terminations in the population.
See Also:
PlasticTermination.getInput()

saveTransform

public void saveTransform()
Description copied from interface: PlasticTermination
Save the current transformation, for resetting purposes.

Specified by:
saveTransform in interface PlasticTermination
See Also:
PlasticTermination.saveTransform()

clone

public PlasticTermination clone()
                         throws java.lang.CloneNotSupportedException
Specified by:
clone in interface PlasticTermination
Specified by:
clone in interface Termination
Overrides:
clone in class EnsembleTermination
Throws:
java.lang.CloneNotSupportedException