|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectca.nengo.model.impl.LinearExponentialTermination
public class LinearExponentialTermination
A Termination at which incoming spikes induce exponentially decaying post-synaptic currents that are combined linearly. Real-valued spike rate inputs have approximately the same effect over time as actual (boolean) spike inputs at the same rate.
Each input is weighted (weights specified in the constructor) so that the time integral of the post-synaptic current arising from one spike equals the weight. The time integral of post-synaptic current arising from real-valued input of 1 over a period of 1s also equals the weight. This means that spike input and spike-rate input have roughly the same effects.
Constructor Summary | |
---|---|
LinearExponentialTermination(Node node,
java.lang.String name,
float[] weights,
float tauPSC)
|
Method Summary | |
---|---|
Termination |
clone()
|
int |
getDimensions()
|
InstantaneousOutput |
getInput()
|
boolean |
getModulatory()
|
java.lang.String |
getName()
|
Node |
getNode()
|
float |
getOutput()
|
float |
getTau()
|
float[] |
getWeights()
|
void |
reset(boolean randomize)
Resets current to 0 (randomize arg is ignored). |
void |
saveWeights()
|
void |
setModulatory(boolean modulatory)
|
void |
setNode(Node node)
|
void |
setTau(float tau)
|
void |
setValues(InstantaneousOutput values)
|
void |
setWeights(float[] weights)
|
float |
updateCurrent(boolean applySpikes,
float integrationTime,
float decayTime)
Updates net post-synaptic current for this Termination according to new inputs and exponential dynamics applied to previous inputs. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public LinearExponentialTermination(Node node, java.lang.String name, float[] weights, float tauPSC)
node
- The parent Nodename
- Name of the Termination (must be unique within the Neuron or Ensemble to
which it is attached)weights
- Ordered list of synaptic weights of each input channeltauPSC
- Time constant of exponential post-synaptic current decayMethod Detail |
---|
public void reset(boolean randomize)
reset
in interface Resettable
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.Resettable.reset(boolean)
public void saveWeights()
public java.lang.String getName()
getName
in interface Termination
Termination.getName()
public int getDimensions()
getDimensions
in interface Termination
Termination.getDimensions()
public float[] getWeights()
public void setWeights(float[] weights)
weights
- The new synaptic weights for each input channelpublic InstantaneousOutput getInput()
public float getOutput()
public void setValues(InstantaneousOutput values) throws SimulationException
setValues
in interface Termination
values
- Can be either SpikeOutput or RealOutput
SimulationException
- if the given values have the wrong dimensionTermination.setValues(ca.nengo.model.InstantaneousOutput)
public float updateCurrent(boolean applySpikes, float integrationTime, float decayTime)
The essential points are that spikes are only applied once during a network time step, and that the total integration and decay times over a network time step both equal the length of the network time step.
applySpikes
- True if spike inputs are to be appliedintegrationTime
- Time over which real-valued inputs are to be integrateddecayTime
- Time over which post-synaptic currents are to decay
public Node getNode()
getNode
in interface Termination
Termination.getNode()
public void setNode(Node node)
node
- public boolean getModulatory()
getModulatory
in interface Termination
Termination.getModulatory()
public float getTau()
getTau
in interface Termination
Termination.getTau()
public void setModulatory(boolean modulatory)
setModulatory
in interface Termination
modulatory
- True if the Termination is to be modulatoryTermination.setModulatory(boolean)
public void setTau(float tau) throws StructuralException
setTau
in interface Termination
tau
- Time constant of dominant dynamics
StructuralException
- if the time constant cannot be changedTermination.setTau(float)
public Termination clone() throws java.lang.CloneNotSupportedException
clone
in interface Termination
clone
in class java.lang.Object
java.lang.CloneNotSupportedException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |