izhikevich – Izhikevich neuron model
====================================
Description
+++++++++++
Implementation of the simple spiking neuron model introduced by Izhikevich
[1]_. The dynamics are given by:
.. math::
dV_m/dt &= 0.04 V_m^2 + 5 V_m + 140 - u + I
du/dt &= a (b V_m - u)
.. math::
&\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}
As published in [1]_, the numerics differs from the standard forward Euler
technique in two ways:
1) the new value of :math:`u` is calculated based on the new value of
:math:`V_m`, rather than the previous value
2) the variable :math:`V_m` is updated using a time step half the size of that
used to update variable :math:`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
++++++++++
.. [1] 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
.. [2] Pauli R, Weidel P, Kunkel S, Morrison A (2018). Reproducing polychronization: A guide to maximizing
the reproducibility of spiking network models. Frontiers in Neuroinformatics, 12.
DOI: https://www.frontiersin.org/article/10.3389/fninf.2018.00046
Sends
+++++
SpikeEvent
Receives
++++++++
SpikeEvent, CurrentEvent, DataLoggingRequest
See also
++++++++
:doc:`Neuron `, :doc:`Integrate-And-Fire `