izhikevich – Izhikevich neuron model

Description

Implementation of the simple spiking neuron model introduced by Izhikevich [1]. The dynamics are given by:

\[dV_m/dt &= 0.04 V_m^2 + 5 V_m + 140 - u + I du/dt &= a (b V_m - u)\]
\[\begin{split}&\text{if}\;\;\; V_m \geq V_{th}:\\ &\;\;\;\; V_m \text{ is set to } c\\ &\;\;\;\; u \text{ is incremented by } d\\ & \, \\ &v \text{ jumps on each spike arrival by the weight of the spike}\end{split}\]

As published in [1], the numerics differs from the standard forward Euler technique in two ways:

  1. the new value of \(u\) is calculated based on the new value of \(V_m\), rather than the previous value

  2. the variable \(V_m\) is updated using a time step half the size of that used to update variable \(u\).

This model offers both forms of integration, they can be selected using the boolean parameter consistent_integration. To reproduce some results published on the basis of this model, it is necessary to use the published form of the dynamics. In this case, consistent_integration must be set to false. For all other purposes, it is recommended to use the standard technique for forward Euler integration. In this case, consistent_integration must be set to true (default).

For a detailed analysis and discussion of the numerical issues in the original publication, see [2].

Parameters

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

U_m

mV

Membrane potential recovery variable

V_th

mV

Spike threshold

I_e

pA

Constant input current (R=1)

V_min

mV

Absolute lower value for the membrane potential

a

real

Describes time scale of recovery variable

b

real

Sensitivity of recovery variable

c

mV

After-spike reset value of V_m

d

mV

After-spike reset value of U_m

consistent_integration

boolean

Use standard integration technique

References

Sends

SpikeEvent

Receives

SpikeEvent, CurrentEvent, DataLoggingRequest

See also

Neuron, Integrate-And-Fire