ca.nengo.model.plasticity.impl
Class CompositePlasticityRule.NullRule

java.lang.Object
  extended by ca.nengo.model.plasticity.impl.CompositePlasticityRule.NullRule
All Implemented Interfaces:
PlasticityRule, java.io.Serializable, java.lang.Cloneable
Enclosing class:
CompositePlasticityRule

public static class CompositePlasticityRule.NullRule
extends java.lang.Object
implements PlasticityRule

A null plasticity rule that always returns zeros from getDerivative(). This can be used within a composite rule if learning is to occur only in spiking modes, or only in rate modes.

Author:
Bryan Tripp
See Also:
Serialized Form

Constructor Summary
CompositePlasticityRule.NullRule()
           
 
Method Summary
 PlasticityRule clone()
           
 float[][] getDerivative(float[][] transform, InstantaneousOutput input, float time)
           
 void setOriginState(java.lang.String name, InstantaneousOutput state, float time)
          Does nothing.
 void setTerminationState(java.lang.String name, InstantaneousOutput state, float time)
          Does nothing.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompositePlasticityRule.NullRule

public CompositePlasticityRule.NullRule()
Method Detail

getDerivative

public float[][] getDerivative(float[][] transform,
                               InstantaneousOutput input,
                               float time)
Specified by:
getDerivative in interface PlasticityRule
Parameters:
transform - The present transformation matrix of a Termination
input - The present input to the Termination
time - Simulation time at which input arrives at site of plasticity
Returns:
A zero matrix the same size as the given transform
See Also:
PlasticityRule.getDerivative(float[][], ca.nengo.model.InstantaneousOutput, float)

setOriginState

public void setOriginState(java.lang.String name,
                           InstantaneousOutput state,
                           float time)
Does nothing.

Specified by:
setOriginState in interface PlasticityRule
Parameters:
name - The name of a DecodedOrigin from the ensemble
state - The present value of output from the named Origin
time - Simulation time at which state arrives at site of plasticity
See Also:
PlasticityRule.setOriginState(java.lang.String, ca.nengo.model.InstantaneousOutput, float)

setTerminationState

public void setTerminationState(java.lang.String name,
                                InstantaneousOutput state,
                                float time)
Does nothing.

Specified by:
setTerminationState in interface PlasticityRule
Parameters:
name - The name of a DecodedTermination onto the ensemble
state - The present value of output from the named Termination (may differ from its input in terms of dynamics and dimension)
time - Simulation time at which state arrives at site of plasticity
See Also:
PlasticityRule.setTerminationState(java.lang.String, ca.nengo.model.InstantaneousOutput, float)

clone

public PlasticityRule clone()
                     throws java.lang.CloneNotSupportedException
Specified by:
clone in interface PlasticityRule
Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException