Command: iaf_psc_delta_canon


iaf_psc_delta_canon is an implementation of a leaky integrate-and-fire model
where the potential jumps on each spike arrival.

The threshold crossing is followed by an absolute refractory period
during which the membrane potential is clamped to the resting

Spikes arriving while the neuron is refractory are discarded by
default. If the property "refractory_input" is set to true such
spikes are added to the membrane potential at the end of the
refractory period dampened according to the interval between
arrival and end of refractoriness.

The linear subthresold dynamics is integrated by the Exact
Integration scheme [1]. The neuron dynamics are solved exactly in
time. Incoming and outgoing spike times are handled precisely [3].

An additional state variable and the corresponding differential
equation represents a piecewise constant external current.

Spikes can occur either on receipt of an excitatory input spike or
be caused by a depolarizing input current. Spikes evoked by
incoming spikes will occur precisely at the time of spike arrival
since incoming spikes are modeled as instantaneous potential
jumps. Times of spikes caused by current input are determined
exactly by solving the membrane potential equation. Note that in
contrast to the neuron models discussed in [3 4] this model has so
simple dynamics that no interpolation or iterative spike location
technique is required at all.

The general framework for the consistent formulation of systems with
neuron like dynamics interacting by point events is described in
[1]. A flow chart can be found in [2].

Critical tests for the formulation of the neuron model are the
comparisons of simulation results for different computation step
sizes. sli/testsuite/nest contains a number of such tests.

The iaf_psc_delta_canon is the standard model used to check the consistency
of the nest simulation kernel because it is at the same time complex
enough to exhibit non-trivial dynamics and simple enough compute
relevant measures analytically.


The following parameters can be set in the status dictionary.

V_m double - Membrane potential in mV
E_L double - Resting membrane potential in mV.
C_m double - Capacitance of the membrane in pF
tau_m double - Membrane time constant in ms.
t_ref double - Duration of refractory period in ms.
V_th double - Spike threshold in mV.
V_reset double - Reset potential of the membrane in mV.
I_e double - Constant input current in pA.
V_min double - Absolute lower value for the membrane potential in mV.

refractory_input bool - If true do not discard input during
refractory period. Default: false.

May 2006 Plesser; based on work by Diesmann Gewaltig Morrison Straube Eppler

SpikeEvent CurrentEvent DataLoggingRequest


[1] Rotter S & Diesmann M (1999) Exact simulation of time-invariant linear
systems with applications to neuronal modeling. Biologial Cybernetics
[2] Diesmann M Gewaltig M-O Rotter S & Aertsen A (2001) State space
analysis of synchronous spiking in cortical neural networks.
Neurocomputing 38-40:565-571.
[3] Morrison A Straube S Plesser H E & Diesmann M (2006) Exact Subthreshold
Integration with Continuous Spike Times in Discrete Time Neural Network
Simulations. To appear in Neural Computation.
[4] Hanuschkin A Kunkel S Helias M Morrison A & Diesmann M (2010)
A general and efficient method for incorporating exact spike times in
globally time-driven simulations Front Neuroinformatics 4:113


The iaf_psc_delta_canon neuron accepts CurrentEvent connections.
However the present method for transmitting CurrentEvents in
NEST (sending the current to be applied) is not compatible with off-grid
currents if more than one CurrentEvent-connection exists. Once CurrentEvents
are changed to transmit change-of-current-strength this problem will
disappear and the canonical neuron will also be able to handle CurrentEvents.

The present implementation uses individual variables for the
components of the state vector and the non-zero matrix elements of
the propagator. Because the propagator is a lower triangular matrix
no full matrix multiplication needs to be carried out and the
computation can be done "in place" i.e. no temporary state vector
object is required.

The template support of recent C++ compilers enables a more succinct
formulation without loss of runtime performance already at minimal
optimization levels. A future version of iaf_psc_delta_canon will probably
address the problem of efficient usage of appropriate vector and
matrix objects.

Please note that this node is capable of sending precise spike times
to target nodes (on-grid spike time plus offset). If this node is
connected to a spike_detector the property "precise_times" of the
spike_detector has to be set to true in order to record the offsets
in addition to the on-grid spike times.