Neuron update algorithms¶
General steps for the neuron update¶
Updating the state of a neuron from time t to some later time \(t+\Delta{t}\) generally involves a number of distinct steps.
The autonomous dynamics describe the neuron behavior in the absence of stimulation or in the presence of constant inputs, and exclude all interaction events such as spikes from other neurons or devices. We choose an appropriate numerical solver for the dynamics, and in the case of linear differential equations, we use exact integration.
Events mimic time dependent inputs such as spikes, changing currents etc.
Inspect the state to check if conditions have changed (e.g., is the neuron still refractory or has the threshold been crossed?).
Increment state variables associated with the post-spike dynamics (such as refractoriness timers or adaptation variables), and send events (e.g. spike).
Note
The exact order of the steps for the neuron update represented here depends on the neuron model, and in NEST, we optimize the steps to minimize computational costs.
Example of flowchart and algorithm for iaf_psc_alpha
¶
Here we expand the general steps described above to explain the update steps in the
neuron model iaf_psc_alpha
.
Model Equations
Spike emission at time \(t_{i}\) if \(V(t_{i})\geq\theta\)
For \(t\in(t_{i},t_{i}+\tau_{\text{r}}]\): \(V(t)=V_{\text{reset}}\)
Model Parameters
\(\tau_{\text{m}}\) |
membrane time constant |
\(C\) |
membrane capacitance |
\(\hat{\iota}_{\text{k}}\) |
synaptic weight of presynaptic neuron k |
\(I_{\text{ext}}(t)\) |
external current |
\(\tau_{\text{syn}}\) |
synaptic time constant |
\(V_{\text{reset}}\) |
reset potential |
\(\tau_{\text{r}}\) |
refractoriness duration |
\(t\) |
time |
\(\Delta t\) |
time resolution |
\(\theta\) |
spike generation threshold |
State variables
\(V\) |
membrane potential |
\(I\) |
Synaptic input currents |
\(\dot{I}\) |
temporal derivative of current |
\(r\) |
refractoriness timer |
Propagators for solution with exact integration
Propagators (P_) result from the exact integration scheme explained here: Integrating neural models using exact integration.
This flowchart and associated algorithms can be applied to other models as well, with only slight modifications. You can find descriptions of all the neuron types available in NEST here: Types of neurons.