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

java.lang.Object
  extended by ca.nengo.model.plasticity.impl.CompositePlasticityRule.NullRule
All Implemented Interfaces:
PlasticityRule, Resettable, 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 reset(boolean randomize)
           
 void setModTerminationState(java.lang.String name, InstantaneousOutput state, float time)
          Does nothing.
 void setOriginState(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)

reset

public void reset(boolean randomize)
Specified by:
reset in interface Resettable
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)

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)

setModTerminationState

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

Specified by:
setModTerminationState 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:
ca.nengo.model.plasticity.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