engine.neuron.spiking.IZ

Izhikevich neuron model (IZ).

These neurons, while computationally efficient, also exhibit nontrivial dynamics resembling recorded electrophysiological data (e.g., subthreshold oscillations).

Warning

The results of the original Izhikevich simple model rely on DT being set to 1.0 ms. At finer temporal resolutions, weaker synchronization with a dominant frequency of ~25 Hz is observed.

See also

class engine.neuron.spiking.IZ.IZNeuron(a=0.02, b=0.2, c=-65.0, d=2.0, u_curr=-14.0, volt_peak=35.0, **kwargs)

Base class for the Izhikevich neuron model.

Extends SpikingNeuron by adding necessary parameters and implementing the IZ forward method efficiently for 1D tensors of arbitrary size.

User may implement subclasses to differentiate IZ model variants along additional dimensions (e.g., parameterizing ODE scalars as well).

IZ units own the following attributes on top of those inherited from SpikingNeuron:

Parameters:
  • volt_peak (float or Tensor) – Spike peak voltage, defaults to 35.0.

  • u_curr (float or Tensor) – Recovery variable, defaults to -14.0.

  • a (float or Tensor) – Timescale of the recovery variable u_curr, smaller is slower, defaults to 0.02.

  • b (float or Tensor) – Sensitivity of the recovery variable u_curr to subthreshold fluctuations in membrane potential, defaults to 0.2. Higher values couple u_curr and voltage more strongly, resulting in subthreshold oscillations and/or LTS-like dynamics.

  • c (float or Tensor) – Post-spike reset value of the membrane potential, defaults to -65.0.

  • d (float or Tensor) – Post-spike reset of the recovery variable u_curr, defaults to 2.0.

Note

Parameters are named a, b, c, and d in the original publication (Izhikevich, 2003).

_config_props_: tuple[str] = ('a', 'b', 'c', 'd', 'volt_peak')

A list of configurable property names of the class that is set/read by the configuration API.

Each sub/super-class can define this and the properties are accumulated across all the sub/super-classes.

forward(data: Tensor) dict

Izhikevich forward method, to be used by ensemble or singleton 1D tensors.

Parameters:

data (Tensor) – External input to be processed by this Izhikevich unit.

Returns:

Dictionary containing the tensors voltage, spiked, and input.

Return type:

dict

integrate(variable: str, **kwargs) Tensor

Handles the multi-function integration necessary for IZ neurons (u_curr and voltage).