Warning

This version of the documentation is NOT an official release. You are looking at ‘latest’, which is in active and ongoing development. You can change versions on the bottom left of the screen.

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).

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

1(1,2)

Izhikevich EM (2003). Simple model of spiking neurons. IEEE Transactions on Neural Networks, 14:1569-1572. DOI: https://doi.org/10.1109/TNN.2003.820440

Sends

SpikeEvent

Receives

SpikeEvent, CurrentEvent, DataLoggingRequest