All neuron models

Back to model directory

class aeif_cond_alpha : public Archiving_Node
#include <aeif_cond_alpha.h>

Name: aeif_cond_alpha - Conductance based exponential integrate-and-fire neuron model according to Brette and Gerstner (2005). Description:

aeif_cond_alpha is the adaptive exponential integrate and fire neuron according to Brette and Gerstner (2005). Synaptic conductances are modelled as alpha-functions.

This implementation uses the embedded 4th order Runge-Kutta-Fehlberg solver with adaptive step size to integrate the differential equation.

The membrane potential is given by the following differential equation:

\[\begin{split} C_m \frac{dV}{dt} = -g_L(V-E_L)+g_L\Delta_T\exp\left(\frac{V-V_{th}}{\Delta_T}\right) - g_e(t)(V-E_e) \\ -g_i(t)(V-E_i)-w +I_e \end{split}\]

and

\[ \tau_w \frac{dw}{dt} = a(V-E_L) - w \]

Parameters:

The following parameters can be set in the status dictionary.

Dynamic state variables:

V_m

mV

Membrane potential

g_ex

nS

Excitatory synaptic conductance

dg_ex

nS/ms

First derivative of g_ex

g_in

nS

Inhibitory synaptic conductance

dg_in

nS/ms

First derivative of g_in

w

pA

Spike-adaptation current

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

Spike adaptation parameters

a

ns

Subthreshold adaptation

b

pA

Spike-triggered adaptation

Delta_T

mV

Slope factor

tau_w

ms

Adaptation time constant

V_th

mV

Spike initiation threshold

V_peak

mV

Spike detection threshold

Synaptic parameters

E_ex

mV

Excitatory reversal potential

tau_syn_ex

ms

Rise time of excitatory synaptic conductance (alpha function)

E_in

mV

Inhibitory reversal potential

tau_syn_in

ms

Rise time of the inhibitory synaptic conductance (alpha function)

Integration parameters

gsl_error_tol

real

This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities.

Authors: Marc-Oliver Gewaltig; full revision by Tanguy Fardet on December 2016

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

References:

1

Brette R and Gerstner W (2005). Adaptive Exponential Integrate-and-Fire Model as an Effective Description of Neuronal Activity. J Neurophysiol 94:3637-3642 DOI: https://doi.org/10.1152/jn.00686.2005

SeeAlso: iaf_cond_alpha, aeif_cond_exp

class aeif_cond_alpha_multisynapse : public Archiving_Node
#include <aeif_cond_alpha_multisynapse.h>

Name: aeif_cond_alpha_multisynapse - Conductance based adaptive exponential integrate-and-fire neuron model according to Brette and Gerstner (2005) with multiple synaptic rise time and decay time constants, and synaptic conductance modeled by an alpha function.

Description:

aeif_cond_alpha_multisynapse is a conductance-based adaptive exponential integrate-and-fire neuron model. It allows an arbitrary number of synaptic time constants. Synaptic conductance is modeled by an alpha function, as described by A. Roth and M.C.W. van Rossum in Computational Modeling Methods for Neuroscientists, MIT Press 2013, Chapter 6.

The time constants are supplied by an array, “tau_syn”, and the pertaining synaptic reversal potentials are supplied by the array “E_rev”. Port numbers are automatically assigned in the range from 1 to n_receptors. During connection, the ports are selected with the property “receptor_type”.

The membrane potential is given by the following differential equation:

\[ C dV/dt = -g_L(V-E_L) + g_L*\Delta_T*\exp((V-V_T)/\Delta_T) + I_{syn_{tot}}(V, t)- w + I_e \]
where

\[ I_{syn_{tot}}(V,t) = \sum_i g_i(t) (V - E_{rev,i}) , \]

the synapse i is excitatory or inhibitory depending on the value of \( E_{rev,i}\) and the differential equation for the spike-adaptation current w is:

\[ \tau_w * dw/dt = a(V - E_L) - w \]

When the neuron fires a spike, the adaptation current w <- w + b.

Parameters:

The following parameters can be set in the status dictionary.

Dynamic state variables:

V_m

mV

Membrane potential

w

pA

Spike-adaptation current

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

Delta_T

mV

Slope factor

V_th

mV

Spike initiation threshold

V_peak

mV

Spike detection threshold

Spike adaptation parameters

a

ns

Subthreshold adaptation

b

pA

Spike-triggered adaptation

tau_w

ms

Adaptation time constant

Synaptic parameters

E_rev

list of mV

Reversal potential

tau_syn

list of ms

Time constant of synaptic conductance

Integration parameters

gsl_error_tol

real

This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities.

Examples:

import nest
import numpy as np

neuron = nest.Create('aeif_cond_alpha_multisynapse')
nest.SetStatus(neuron, {"V_peak": 0.0, "a": 4.0, "b":80.5})
nest.SetStatus(neuron, {'E_rev':[0.0, 0.0, 0.0, -85.0],
                        'tau_syn':[1.0, 5.0, 10.0, 8.0]})

spike = nest.Create('spike_generator', params = {'spike_times':
                                                np.array([10.0])})

voltmeter = nest.Create('voltmeter', 1, {'withgid': True})

delays=[1.0, 300.0, 500.0, 700.0]
w=[1.0, 1.0, 1.0, 1.0]
for syn in range(4):
    nest.Connect(spike, neuron, syn_spec={'model': 'static_synapse',
                                          'receptor_type': 1 + syn,
                                          'weight': w[syn],
                                          'delay': delays[syn]})

nest.Connect(voltmeter, neuron)

nest.Simulate(1000.0)
dmm = nest.GetStatus(voltmeter)[0]
Vms = dmm["events"]["V_m"]
ts = dmm["events"]["times"]
import pylab
pylab.figure(2)
pylab.plot(ts, Vms)
pylab.show()

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: Hans Ekkehard Plesser, based on aeif_cond_beta_multisynapse

SeeAlso: aeif_cond_alpha_multisynapse

class aeif_cond_alpha_RK5 : public Archiving_Node
#include <aeif_cond_alpha_RK5.h>

Name: aeif_cond_alpha_RK5 - Conductance based exponential integrate-and-fire neuron model according to Brette and Gerstner (2005)

Description:

aeif_cond_alpha_RK5 is the adaptive exponential integrate and fire neuron according to Brette and Gerstner (2005). Synaptic conductances are modelled as alpha-functions.

This implementation uses a 5th order Runge-Kutta solver with adaptive stepsize to integrate the differential equation (see Numerical Recipes 3rd Edition, Press et al. 2007, Ch. 17.2).

The membrane potential is given by the following differential equation:

\[\begin{split} C dV/dt= -g_L(V-E_L)+g_L*\Delta_T*\exp((V-V_T)/\Delta_T)-g_e(t)(V-E_e) \\ -g_i(t)(V-E_i)-w +I_e \end{split}\]
and

\[ \tau_w * dw/dt= a(V-E_L) -w \]

Parameters:

The following parameters can be set in the status dictionary.

Dynamic state variables:

V_m

mV

Membrane potential

g_ex

nS

Excitatory synaptic conductance

dg_ex

nS/ms

First derivative of g_ex

g_in

nS

Inhibitory synaptic conductance

dg_in

nS/ms

First derivative of g_in

w

pA

Spike-adaptation current

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

Spike adaptation parameters

a

ns

Subthreshold adaptation

b

pA

Spike-triggered adaptation

Delta_T

mV

Slope factor

tau_w

ms

Adaptation time constant

V_th

mV

Spike initiation threshold

V_peak

mV

Spike detection threshold

Synaptic parameters

E_ex

mV

Excitatory reversal potential

tau_syn_ex

ms

Rise time of excitatory synaptic conductance (alpha function)

E_in

mV

Inhibitory reversal potential

tau_syn_in

ms

Rise time of the inhibitory synaptic conductance (alpha function)

Numerical integration parameters

HMIN

ms

Minimal stepsize for numerical integration (default 0.001ms)

MAXERR

mV

Error estimate tolerance for adaptive stepsize control (steps accepted if err<=MAXERR). Note that the error refers to the difference between the 4th and 5th order RK terms. Default 1e-10 mV.

  • Authors: Stefan Bucher, Marc-Oliver Gewaltig.

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

1

Brette R and Gerstner W (2005). Adaptive Exponential Integrate-and-Fire Model as an Effective Description of Neuronal Activity. J Neurophysiol 94:3637-3642. DOI: https://doi.org/10.1152/jn.00686.2005

SeeAlso: iaf_cond_alpha, aeif_cond_exp, aeif_cond_alpha

class aeif_cond_beta_multisynapse : public Archiving_Node
#include <aeif_cond_beta_multisynapse.h>

Name: aeif_cond_beta_multisynapse - Conductance based adaptive exponential integrate-and-fire neuron model according to Brette and Gerstner (2005) with multiple synaptic rise time and decay time constants, and synaptic conductance modeled by a beta function.

Description:

aeif_cond_beta_multisynapse is a conductance-based adaptive exponential integrate-and-fire neuron model. It allows an arbitrary number of synaptic rise time and decay time constants. Synaptic conductance is modeled by a beta function, as described by A. Roth and M.C.W. van Rossum in Computational Modeling Methods for Neuroscientists, MIT Press 2013, Chapter 6.

The time constants are supplied by two arrays, “tau_rise” and “tau_decay” for the synaptic rise time and decay time, respectively. The synaptic reversal potentials are supplied by the array “E_rev”. The port numbers are automatically assigned in the range from 1 to n_receptors. During connection, the ports are selected with the property “receptor_type”.

The membrane potential is given by the following differential equation:

\[ C dV/dt = -g_L(V-E_L) + g_L*\Delta_T*\exp((V-V_T)/\Delta_T) + I_{syn_{tot}}(V, t) - w + I_e \]

where:

\[ I_{syn_{tot}}(V,t) = \sum_i g_i(t) (V - E_{rev,i}) , \]

the synapse i is excitatory or inhibitory depending on the value of \( E_{rev,i} \) and the differential equation for the spike-adaptation current w is:

\[ \tau_w * dw/dt = a(V - E_L) - w \]

When the neuron fires a spike, the adaptation current w <- w + b.

Parameters: The following parameters can be set in the status dictionary.

Dynamic state variables:

V_m

mV

Membrane potential

w

pA

Spike-adaptation current

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

Delta_T

mV

Slope factor

V_th

mV

Spike initiation threshold

V_peak

mV

Spike detection threshold

Spike adaptation parameters

a

ns

Subthreshold adaptation

b

pA

Spike-triggered adaptation

tau_w

ms

Adaptation time constant

Synaptic parameters

E_rev

list of mV

Reversal potential

tau_syn

list of ms

Time constant of synaptic conductance

Integration parameters

gsl_error_tol

real

This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities.

Examples:

import nest
import numpy as np

neuron = nest.Create('aeif_cond_beta_multisynapse')
nest.SetStatus(neuron, {"V_peak": 0.0, "a": 4.0, "b":80.5})
nest.SetStatus(neuron, {'E_rev':[0.0,0.0,0.0,-85.0],
                        'tau_decay':[50.0,20.0,20.0,20.0],
                        'tau_rise':[10.0,10.0,1.0,1.0]})

spike = nest.Create('spike_generator', params = {'spike_times':
                                                np.array([10.0])})

voltmeter = nest.Create('voltmeter', 1, {'withgid': True})

delays=[1.0, 300.0, 500.0, 700.0]
w=[1.0, 1.0, 1.0, 1.0]
for syn in range(4):
    nest.Connect(spike, neuron, syn_spec={'model': 'static_synapse',
                                          'receptor_type': 1 + syn,
                                          'weight': w[syn],
                                          'delay': delays[syn]})

nest.Connect(voltmeter, neuron)

nest.Simulate(1000.0)
dmm = nest.GetStatus(voltmeter)[0]
Vms = dmm["events"]["V_m"]
ts = dmm["events"]["times"]
import pylab
pylab.figure(2)
pylab.plot(ts, Vms)
pylab.show()

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: Bruno Golosio 07/10/2016

SeeAlso: aeif_cond_alpha_multisynapse

class aeif_cond_exp : public Archiving_Node
#include <aeif_cond_exp.h>

Name: aeif_cond_exp - Conductance based exponential integrate-and-fire neuron model according to Brette and Gerstner (2005).

Description:

aeif_cond_exp is the adaptive exponential integrate and fire neuron according to Brette and Gerstner (2005), with post-synaptic conductances in the form of truncated exponentials.

This implementation uses the embedded 4th order Runge-Kutta-Fehlberg solver with adaptive stepsize to integrate the differential equation.

The membrane potential is given by the following differential equation:

\[\begin{split} C dV/dt= -g_L(V-E_L)+g_L*\Delta_T*\exp((V-V_T)/\Delta_T)-g_e(t)(V-E_e) \\ -g_i(t)(V-E_i)-w +I_e \end{split}\]

and

\[ \tau_w * dw/dt= a(V-E_L) -W \]

Note that the spike detection threshold V_peak is automatically set to \( V_th+10 mV \) to avoid numerical instabilites that may result from setting V_peak too high.

Parameters: The following parameters can be set in the status dictionary.

Dynamic state variables:

V_m

mV

Membrane potential

g_ex

nS

Excitatory synaptic conductance

g_in

nS

Inhibitory synaptic conductance

w

pA

Spike-adaptation current

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

Spike adaptation parameters

a

nS

Subthreshold adaptation

b

pA

Spike-triggered adaptation

Delta_T

mV

Slope factor

tau_w

ms

Adaptation time constant

V_th

mV

Spike initiation threshold

V_peak

mV

Spike detection threshold

Synaptic parameters

E_ex

mV

Excitatory reversal potential

tau_syn_ex

ms

Rise time of excitatory synaptic conductance (alpha function)

E_in

mV

Inhibitory reversal potential

tau_syn_in

ms

Rise time of the inhibitory synaptic conductance (alpha function)

Integration parameters

gsl_error_tol

real

This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities.

Author: Adapted from aeif_cond_alpha by Lyle Muller; full revision by Tanguy Fardet on December 2016

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

1

Brette R and Gerstner W (2005). Adaptive Exponential Integrate-and-Fire Model as an Effective Description of Neuronal Activity. J Neurophysiol 94:3637-3642. DOI: https://doi.org/10.1152/jn.00686.2005

SeeAlso: iaf_cond_exp, aeif_cond_alpha

class aeif_psc_alpha : public Archiving_Node
#include <aeif_psc_alpha.h>

Name: aeif_psc_alpha - Current-based exponential integrate-and-fire neuron model according to Brette and Gerstner (2005).

Description:

aeif_psc_alpha is the adaptive exponential integrate and fire neuron according to Brette and Gerstner (2005). Synaptic currents are modelled as alpha-functions.

This implementation uses the embedded 4th order Runge-Kutta-Fehlberg solver with adaptive step size to integrate the differential equation.

The membrane potential is given by the following differential equation:

\[\begin{split} C dV/dt= -g_L(V-E_L)+g_L*\Delta_T*\exp((V-V_T)/\Delta_T)-g_e(t)(V-E_e) \\ -g_i(t)(V-E_i)-w +I_e \end{split}\]

and

\[ \tau_w * dw/dt= a(V-E_L) -W \]

Parameters:

The following parameters can be set in the status dictionary.

Dynamic state variables:

V_m

mV

Membrane potential

I_ex

pA

Excitatory synaptic current

dI_ex

pA/ms

First derivative of I_ex

I_in

pA

Inhibitory synaptic current

dI_in

pA/ms

First derivative of I_in

w

pA

Spike-adaptation current

g

pa

Spike-adaptation current

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

Spike adaptation parameters

a

ns

Subthreshold adaptation

b

pA

Spike-triggered adaptation

Delta_T

mV

Slope factor

tau_w

ms

Adaptation time constant

V_th

mV

Spike initiation threshold

V_peak

mV

Spike detection threshold

Synaptic parameters

tau_syn_ex

ms

Rise time of excitatory synaptic conductance (alpha function)

tau_syn_in

ms

Rise time of the inhibitory synaptic conductance (alpha function)

Integration parameters

gsl_error_tol

real

This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities

Author: Tanguy Fardet

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

References:

1

Brette R and Gerstner W (2005). Adaptive Exponential Integrate-and-Fire Model as an Effective Description of Neuronal Activity. J Neurophysiol 94:3637-3642. DOI: https://doi.org/10.1152/jn.00686.2005

SeeAlso: iaf_psc_alpha, aeif_cond_exp

class aeif_psc_delta : public Archiving_Node
#include <aeif_psc_delta.h>

Name: aeif_psc_delta - Current-based adaptive exponential integrate-and-fire neuron model according to Brette and Gerstner (2005) with delta synapse.

Description:

aeif_psc_delta is the adaptive exponential integrate and fire neuron according to Brette and Gerstner (2005), with post-synaptic currents in the form of delta spikes.

This implementation uses the embedded 4th order Runge-Kutta-Fehlberg solver with adaptive stepsize to integrate the differential equation.

The membrane potential is given by the following differential equation:

\[\begin{split} C dV/dt= -g_L(V-E_L)+g_L*\Delta_T*\exp((V-V_T)/\Delta_T)-g_e(t)(V-E_e) \\ -g_i(t)(V-E_i)-w +I_e \end{split}\]

and

\[ \tau_w * dw/dt= a(V-E_L) -W \]

\[ I(t) = J \sum_k \delta(t - t^k). \]

Here delta is the dirac delta function and k indexes incoming spikes. This is implemented such that V_m will be incremented/decremented by the value of J after a spike.

Parameters:

The following parameters can be set in the status dictionary.

Dynamic state variables

V_m

mV

Membrane potential

w

pA

Spike-adaptation current

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

Spike adaptation parameters

a

ns

Subthreshold adaptation

b

pA

Spike-triggered adaptation

tau_w

ms

Adaptation time constant

Delta_T

mV

Slope factor

tau_w

ms

Adaptation time constant

V_th

mV

Spike initiation threshold

V_peak

mV

Spike detection threshold

Integration parameters

gsl_error_tol

real

This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities.

Author: Mikkel Elle Lepperød adapted from aeif_psc_exp and iaf_psc_delta

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

References:

1

Brette R and Gerstner W (2005). Adaptive Exponential Integrate-and-Fire Model as an Effective Description of Neuronal Activity. J Neurophysiol 94:3637-3642. DOI: https://doi.org/10.1152/jn.00686.2005

SeeAlso: iaf_psc_delta, aeif_cond_exp, aeif_psc_exp

class aeif_psc_delta_clopath : public Clopath_Archiving_Node
#include <aeif_psc_delta_clopath.h>

Name: aeif_psc_delta_clopath - Exponential integrate-and-fire neuron model according to Clopath et al. (2010).

Description:

aeif_psc_delta_clopath is an implementation of the neuron model as it is used in [1]. It is an extension of the aeif_psc_delta model and capable of connecting to a Clopath synapse.

Note that there are two points that are not mentioned in the paper but present in a MATLAB implementation by Claudia Clopath [3]. The first one is the clamping of the membrane potential to a fixed value after a spike occured to mimik a real spike and not just the upswing. This is important since the finite duration of the spike influences the evolution of the convolved versions (u_bar_[plus/minus]) of the membrane potential and thus the change of the synaptic weight. Secondly, there is a delay with which u_bar_[plus/minus] are used to compute the change of the synaptic weight.

Parameters:

The following parameters can be set in the status dictionary.

Dynamic state variables

V_m

mV

Membrane potential

w

pA

Spike-adaptation current

z

pA

Spike-adaptation current

V_th

mV

Adaptive spike initiation threshold

u_bar_plus

mV

Low-pass filtered Membrane potential

u_bar_minus

mV

Low-pass filtered Membrane potential

u_bar_bar

mV

Low-pass filtered u_bar_minus

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

tau_plus

ms

Time constant of u_bar_plus

tau_minus

ms

Time constant of u_bar_minus

tau_bar_bar

ms

Time constant of u_bar_bar

Spike adaptation parameters

a

nS

Subthreshold adaptation

b

pA

Spike-triggered adaptation

Delta_T

mV

Slope factor

tau_w

ms

Adaptation time constant

V_peak

mV

Spike detection threshold

V_th_max

mV

Value of V_th afer a spike

V_th_rest

mV

Resting value of V_th

Clopath rule parameters

A_LTD

1/mV

Amplitude of depression

A_LTP

1/mV^2

Amplitude of facilitation

theta_plus

mV

Threshold for u

theta_minus

mV

Threshold for u_bar_[plus/minus]

A_LTD_const

boolean

Flag that indicates whether A_LTD_ should be constant (true, default) or multiplied by u_bar_bar^2 / u_ref_squared (false).

delay_u_bars

real

Delay with which u_bar_[plus/minus] are processed to compute the synaptic weights.

U_ref_squared

real

Reference value for u_bar_bar_^2.

Other parameters

t_clamp

ms

Duration of clamping of Membrane potential after a spike

V_clamp

mV

Value to which the Membrane potential is clamped

Integration parameters

gsl_error_tol

real

This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities.

Note:

Neither the clamping nor the delayed processing of u_bar_[plus/minus] are mentioned in [1]. However, they are part of an reference implementation by Claudia Clopath et al. that can be found on ModelDB [3]. The clamping is important to mimic a spike which is otherwise not described by the aeif neuron model.

Author: Jonas Stapmanns, David Dahmen, Jan Hahne

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

References:

1

Clopath et al. (2010). Connectivity reflects coding: a model of voltage-based STDP with homeostasis. Nature Neuroscience 13(3):344-352. DOI: https://doi.org/10.1038/nn.2479

2

Clopath and Gerstner (2010). Voltage and spike timing interact in STDP – a unified model. Frontiers in Synaptic Neuroscience. 2:25 DOI: https://doi.org/10.3389/fnsyn.2010.00025

3

Voltage-based STDP synapse (Clopath et al. 2010) on ModelDB https://senselab.med.yale.edu/ModelDB/showmodel.cshtml?model=144566&file=%2f modeldb_package%2fVoTriCode%2faEIF.m

SeeAlso: aeif_psc_delta, clopath_synapse, hh_psc_alpha_clopath

class aeif_psc_exp : public Archiving_Node
#include <aeif_psc_exp.h>

Name: aeif_psc_exp - Current-based exponential integrate-and-fire neuron model according to Brette and Gerstner (2005).

Description:

aeif_psc_exp is the adaptive exponential integrate and fire neuron according to Brette and Gerstner (2005), with post-synaptic currents in the form of truncated exponentials.

This implementation uses the embedded 4th order Runge-Kutta-Fehlberg solver with adaptive stepsize to integrate the differential equation.

The membrane potential is given by the following differential equation:

\[\begin{split} C dV/dt= -g_L(V-E_L)+g_L*\Delta_T*\exp((V-V_T)/\Delta_T)-g_e(t)(V-E_e) \\ -g_i(t)(V-E_i)-w +I_e \end{split}\]

and

\[ \tau_w * dw/dt= a(V-E_L) -W \]

Note that the spike detection threshold V_peak is automatically set to \( V_th+10 \) mV to avoid numerical instabilites that may result from setting V_peak too high.

Parameters:

The following parameters can be set in the status dictionary.

Dynamic state variables:

V_m

mV

Membrane potential

I_ex

pA

Excitatory synaptic current

I_in

pA

Inhibitory synaptic current

w

pA

Spike-adaptation current

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

Spike adaptation parameters

a

ns

Subthreshold adaptation

b

pA

Spike-triggered adaptation

Delta_T

mV

Slope factor

tau_w

ms

Adaptation time constant

V_t

mV

Spike initiation threshold

V_peak

mV

Spike detection threshold

Synaptic parameters

tau_syn_ex

ms

Rise time of excitatory synaptic conductance (alpha function)

tau_syn_in

ms

Rise time of the inhibitory synaptic conductance (alpha function)

Integration parameters

gsl_error_tol

real

This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities

Author: Tanguy Fardet

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

References:

1

Brette R and Gerstner W (2005). Adaptive Exponential Integrate-and-Fire Model as an Effective Description of Neuronal Activity. J Neurophysiol 94:3637-3642. DOI: https://doi.org/10.1152/jn.00686.2005

SeeAlso: iaf_psc_exp, aeif_cond_exp

class amat2_psc_exp : public Archiving_Node
#include <amat2_psc_exp.h>

Name: amat2_psc_exp - Non-resetting leaky integrate-and-fire neuron model with exponential PSCs and adaptive threshold.

Description:

amat2_psc_exp is an implementation of a leaky integrate-and-fire model with exponential shaped postsynaptic currents (PSCs). Thus, postsynaptic currents have an infinitely short rise time.

The threshold is lifted when the neuron is fired and then decreases in a fixed time scale toward a fixed level [3].

The threshold crossing is followed by a total refractory period during which the neuron is not allowed to fire, even if the membrane potential exceeds the threshold. The membrane potential is NOT reset, but continuously integrated.

The linear subthresold dynamics is integrated by the Exact Integration scheme [1]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.

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

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

Remarks:

  • The default parameter values for this model are different from the corresponding parameter values for mat2_psc_exp.

  • If identical parameters are used, and beta==0, then this model shall behave exactly as mat2_psc_exp.

  • The time constants in the model must fullfill the following conditions:

    • \( \tau_m != {\tau_{syn_{ex}}, \tau_{syn_{in}}} \)

    • \( \tau_v != {\tau_{syn_{ex}}, \tau_{syn_{in}}} \)

    • \( \tau_m != \tau_v \) This is required to avoid singularities in the numerics. This is a problem of implementation only, not a principal problem of the model.

  • Expect unstable numerics if time constants that are required to be different are very close.

Parameters:

The following parameters can be set in the status dictionary:

C_m

pF

Capacity of the membrane

E_L

mV

Resting potential

tau_m

ms

Membrane time constant

tau_syn_ex

ms

Time constant of postsynaptic excitatory currents

tau_syn_in

ms

Time constant of postsynaptic inhibitory currents

t_ref

ms

Duration of absolute refractory period (no spiking)

V_m

mV

Membrane potential

I_e

pA

Constant input current

t_spike

ms

Point in time of last spike

tau_1

ms

Short time constant of adaptive threshold [3, eqs 2-3]

tau_2

ms

Long time constant of adaptive threshold [3, eqs 2-3]

alpha_1

mV

Amplitude of short time threshold adaption [3, eqs 2-3]

alpha_2

mV

Amplitude of long time threshold adaption [3, eqs 2-3]

tau_v

ms

Time constant of kernel for voltage-dependent threshold component [3, eqs 16-17]

beta

1/ms

Scaling coefficient for voltage-dependent threshold component [3, eqs 16-17]

omega

mV

Resting spike threshold (absolute value, not relative to E_L as in [3])

State variables that can be read out with the multimeter device

V_m

mV

Non-resetting membrane potential

V_th

mV

Two-timescale adaptive threshold

Remarks:

\( \tau_m != \tau_{syn_{ex,in}} \) is required by the current implementation to avoid a degenerate case of the ODE describing the model [1]. For very similar values, numerics will be unstable.

References:

1

Rotter S, Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570

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. DOI: https://doi.org/10.1016/S0925-2312(01)00409-X

3

Kobayashi R, Tsubo Y and Shinomoto S (2009). Made-to-order spiking neuron model equipped with a multi-timescale adaptive threshold. Frontiers in Computational Neuroscience, 3:9. DOI: https://dx.doi.org/10.3389%2Fneuro.10.009.2009

4

Yamauchi S, Kim H, Shinomoto S (2011). Elemental spiking neuron model for reproducing diverse firing patterns and predicting precise firing times. Frontiers in Computational Neuroscience, 5:42. DOI: https://doi.org/10.3389/fncom.2011.00042

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

FirstVersion: April 2013

Author: Thomas Heiberg & Hans E. Plesser (modified mat2_psc_exp model of Thomas Pfeil)

class gainfunction_erfc
#include <erfc_neuron.h>

Name: erfc_neuron - Binary stochastic neuron with complementary error function as activation function.

Description:

The erfc_neuron is an implementation of a binary neuron that is irregularly updated at Poisson time points. At each update point the total synaptic input h into the neuron is summed up, passed through a gain function g whose output is interpreted as the probability of the neuron to be in the active (1) state.

The gain function g used here is

\[ g(h) = 0.5 * erfc (( h - \theta ) / ( \sqrt( 2. ) * \sigma)). \]

This corresponds to a McCulloch-Pitts neuron receiving additional Gaussian noise with mean 0 and standard deviation sigma. The time constant tau_m is defined as the mean of the inter-update-interval that is drawn from an exponential distribution with this parameter. Using this neuron to reproduce simulations with asynchronous update (similar to [1,2]), the time constant needs to be chosen as tau_m = dt*N, where dt is the simulation time step and N the number of neurons in the original simulation with asynchronous update. This ensures that a neuron is updated on average every tau_m ms. Since in the original papers [1,2] neurons are coupled with zero delay, this implementation follows that definition. It uses the update scheme described in [3] to maintain causality: The incoming events in time step t_i are taken into account at the beginning of the time step to calculate the gain function and to decide upon a transition. In order to obtain delayed coupling with delay d, the user has to specify the delay d+h upon connection, where h is the simulation time step.

Remarks:

This neuron has a special use for spike events to convey the binary state of the neuron to the target. The neuron model only sends a spike if a transition of its state occurs. If the state makes an up-transition it sends a spike with multiplicity 2, if a down transition occurs, it sends a spike with multiplicity 1. The decoding scheme relies on the feature that spikes with multiplicity larger 1 are delivered consecutively, also in a parallel setting. The creation of double connections between binary neurons will destroy the decoding scheme, as this effectively duplicates every event. Using random connection routines it is therefore advisable to set the property ‘multapses’ to false. The neuron accepts several sources of currents, e.g. from a noise_generator.

Parameters:

tau_m

ms

Membrane time constant (mean inter-update-interval)

theta

mV

threshold for sigmoidal activation function

sigma

mV

1/sqrt(2pi) x inverse of maximal slope

References:

1

Ginzburg I, Sompolinsky H (1994). Theory of correlations in stochastic neural networks. PRE 50(4) p. 3171 DOI: https://doi.org/10.1103/PhysRevE.50.3171

2

McCulloch W, Pitts W (1943). A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 5:115-133. DOI: https://doi.org/10.1007/BF02478259

3

Morrison A, Diesmann M (2007). Maintaining causality in discrete time neuronal simulations. In: Lectures in Supercomputational Neuroscience, p. 267. Peter beim Graben, Changsong Zhou, Marco Thiel, Juergen Kurths (Eds.), Springer. DOI: https://doi.org/10.1007/978-3-540-73159-7_10

Sends: SpikeEvent

Receives: SpikeEvent, PotentialRequest

FirstVersion: May 2016

Authors: Jakob Jordan, Tobias Kuehn

SeeAlso: mcculloch_pitts_neuron, ginzburg_neuron

class nonlinearities_gauss_rate
#include <gauss_rate.h>

Name: gauss_rate - rate model with Gaussian gain function

Description:

gauss_rate is an implementation of a nonlinear rate model with input function

\[ input(h) = g * \exp( -( x - \mu )^2 / ( 2 * \sigma^2 ) ) \]
. Input transformation can either be applied to individual inputs or to the sum of all inputs.

The model supports connections to other rate models with either zero or non-zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

real

Rate (unitless)

tau

ms

Time constant of rate dynamics

mu

real

Mean input

sigma

real

Noise parameter

g

real

Gain parameter

mu

real

Mean of the Gaussian gain function

sigma

real

Standard deviation of Gaussian gain function

linear_summation

boolean

Specifies type of non-linearity (see above)

rectify_output

boolean

Switch to restrict rate to values >= 0

Note:

The boolean parameter linear_summation determines whether the input from different presynaptic neurons is first summed linearly and then transformed by a nonlinearity (true), or if the input from individual presynaptic neurons is first nonlinearly transformed and then summed up (false). Default is true.

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M. (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

2

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann Mi (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent, DataLoggingRequest

Author: Mario Senden, Jan Hahne, Jannis Schuecker

SeeAlso: rate_connection_instantaneous, rate_connection_delayed

class gif_cond_exp : public Archiving_Node
#include <gif_cond_exp.h>

Name: gif_cond_exp - Conductance-based generalized integrate-and-fire neuron model according to Mensi et al. (2012) and Pozzorini et al. (2015).

Description:

gif_psc_exp is the generalized integrate-and-fire neuron according to Mensi et al. (2012) and Pozzorini et al. (2015), with post-synaptic conductances in the form of truncated exponentials.

This model features both an adaptation current and a dynamic threshold for spike-frequency adaptation. The membrane potential (V) is described by the differential equation:

\[ C*dV(t)/dt = -g_L*(V(t)-E_L) - \eta_1(t) - \eta_2(t) - \ldots - \eta_n(t) + I(t) \]

where each \( \eta_i \) is a spike-triggered current (stc), and the neuron model can have arbitrary number of them. Dynamic of each \( \eta_i \) is described by:

\[ \tau_\eta{_i}*d{\eta_i}/dt = -\eta_i \]

and in case of spike emission, its value increased by a constant (which can be positive or negative):

\[ \eta_i = \eta_i + q_{\eta_i} \text{ (in case of spike emission).} \]

Neuron produces spikes STOCHASTICALLY according to a point process with the firing intensity:

\[ \lambda(t) = \lambda_0 * \exp (V(t)-V_T(t)) / \Delta_V \]

where \( V_T(t) \) is a time-dependent firing threshold:

\[ V_T(t) = V_{T_star} + \gamma_1(t) + \gamma_2(t) + \ldots + \gamma_m(t) \]

where \( \gamma_i \) is a kernel of spike-frequency adaptation (sfa), and the neuron model can have arbitrary number of them. Dynamic of each \( \gamma_i \) is described by:

\[ \tau_{\gamma_i}*d\gamma_i/dt = -\gamma_i \]
and in case of spike emission, its value increased by a constant (which can be positive or negative):
\[ \gamma_i = \gamma_i + q_{\gamma_i} \text{ (in case of spike emission).} \]

Note:

In the current implementation of the model (as described in [1] and [2]), the values of \( \eta_i \) and \( \gamma_i \) are affected immediately after spike emission. However, GIF toolbox (http://wiki.epfl.ch/giftoolbox) which fits the model using experimental data, requires a different set of \( \eta_i \) and \( \gamma_i\) . It applies the jump of \( \eta_i \) and \( \gamma_i \) after the refractory period. One can easily convert between \( q_\eta/\gamma \) of these two approaches: \( q{_\eta}_{giftoolbox} = q_{\eta_{NEST}} * (1 - \exp( -\tau_{ref} / \tau_\eta )) \) The same formula applies for \( q_{\gamma} \).

The shape of synaptic conductance is exponential.

Parameters:

The following parameters can be set in the status dictionary.

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

Spike adaptation and firing intensity parameters

q_stc

list of nA

Values added to spike-triggered currents (stc) after each spike emission

tau_stc

list of ms

Time constants of stc variables

q_sfa

list of mV

Values added to spike-frequency adaptation (sfa) after each spike emission

tau_sfa

list of ms

Time constants of sfa variables

Delta_V

mV

Stochasticity level

lambda_0

real

Stochastic intensity at firing threshold V_T i n 1/s.

V_T_star

mV

Base threshold

Synaptic parameters

E_ex

mV

Excitatory reversal potential

tau_syn_ex

ms

Decay time of excitatory synaptic conductance

E_in

mV

Inhibitory reversal potential

tau_syn_in

ms

Decay time of the inhibitory synaptic conductance

Integration parameters

gsl_error_tol

real

This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities.

References:

1

Mensi S, Naud R, Pozzorini C, Avermann M, Petersen CC, Gerstner W (2012) Parameter extraction and classification of three cortical neuron types reveals two distinct adaptation mechanisms. Journal of Neurophysiology, 107(6):1756-1775. DOI: https://doi.org/10.1152/jn.00408.2011

2

Pozzorini C, Mensi S, Hagens O, Naud R, Koch C, Gerstner W (2015). Automated high-throughput characterization of single neurons by means of simplified spiking models. PLoS Computational Biology, 11(6), e1004275. DOI: https://doi.org/10.1371/journal.pcbi.1004275

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: March 2016, Setareh

SeeAlso: pp_psc_delta, gif_cond_exp_multisynapse, gif_psc_exp, gif_psc_exp_multisynapse

class gainfunction_ginzburg
#include <ginzburg_neuron.h>

Name: ginzburg_neuron - Binary stochastic neuron with sigmoidal activation function.

Description:

The ginzburg_neuron is an implementation of a binary neuron that is irregularly updated as Poisson time points. At each update point the total synaptic input h into the neuron is summed up, passed through a gain function g whose output is interpreted as the probability of the neuron to be in the active (1) state.

The gain function g used here is \( g(h) = c1*h + c2 * 0.5*(1 + \tanh(c3*(h-\theta))) \) (output clipped to [0,1]). This allows to obtain affin-linear (c1!=0, c2!=0, c3=0) or sigmoidal (c1=0, c2=1, c3!=0) shaped gain functions. The latter choice corresponds to the definition in [1], giving the name to this neuron model. The choice c1=0, c2=1, c3=beta/2 corresponds to the Glauber dynamics [2], \( g(h) = 1 / (1 + \exp(-\beta (h-\theta))) \). The time constant \( \tau_m \) is defined as the mean inter-update-interval that is drawn from an exponential distribution with this parameter. Using this neuron to reprodce simulations with asynchronous update [1], the time constant needs to be chosen as \( \tau_m = dt*N \), where dt is the simulation time step and N the number of neurons in the original simulation with asynchronous update. This ensures that a neuron is updated on average every \( \tau_m \) ms. Since in the original paper [1] neurons are coupled with zero delay, this implementation follows this definition. It uses the update scheme described in [3] to maintain causality: The incoming events in time step \( t_i \) are taken into account at the beginning of the time step to calculate the gain function and to decide upon a transition. In order to obtain delayed coupling with delay d, the user has to specify the delay d+h upon connection, where h is the simulation time step.

Remarks:

This neuron has a special use for spike events to convey the binary state of the neuron to the target. The neuron model only sends a spike if a transition of its state occurs. If the state makes an up-transition it sends a spike with multiplicity 2, if a down transition occurs, it sends a spike with multiplicity 1. The decoding scheme relies on the feature that spikes with multiplicity larger 1 are delivered consecutively, also in a parallel setting. The creation of double connections between binary neurons will destroy the deconding scheme, as this effectively duplicates every event. Using random connection routines it is therefore advisable to set the property ‘multapses’ to false. The neuron accepts several sources of currents, e.g. from a noise_generator.

Parameters:

tau_m

ms

Membrane time constant (mean inter-update-interval)

theta

mV

Threshold for sigmoidal activation function

c1

probability/ mV

Linear gain factor

c2

probability

Prefactor of sigmoidal gain

c3

1/mV

Slope factor of sigmoidal gain

References:

1

Ginzburg I, Sompolinsky H (1994). Theory of correlations in stochastic neural networks. PRE 50(4) p. 3171 DOI: https://doi.org/10.1103/PhysRevE.50.3171

2

Hertz J, Krogh A, Palmer R (1991). Introduction to the theory of neural computation. Addison-Wesley Publishing Conmpany.

3

Morrison A, Diesmann M (2007). Maintaining causality in discrete time neuronal simulations. In: Lectures in Supercomputational Neuroscience, p. 267. Peter beim Graben, Changsong Zhou, Marco Thiel, Juergen Kurths (Eds.), Springer. DOI: https://doi.org/10.1007/978-3-540-73159-7_10

Sends: SpikeEvent

Receives: SpikeEvent, PotentialRequest

FirstVersion: February 2010

Author: Moritz Helias

SeeAlso: pp_psc_delta

class hh_cond_beta_gap_traub : public Archiving_Node
#include <hh_cond_beta_gap_traub.h>

Name: hh_cond_beta_gap_traub - modified Hodgkin-Huxley neuron as featured in Brette et al (2007) review with added gap junction support and beta function synaptic conductance.

Description:

hh_cond_beta_gap_traub is an implementation of a modified Hodgkin-Huxley model that also supports gap junctions.

This model was specifically developed for a major review of simulators [1], based on a model of hippocampal pyramidal cells by Traub and Miles[2]. The key differences between the current model and the model in [2] are:

  • This model is a point neuron, not a compartmental model.

  • This model includes only I_Na and I_K, with simpler I_K dynamics than in [2], so it has only three instead of eight gating variables; in particular, all Ca dynamics have been removed.

  • Incoming spikes induce an instantaneous conductance change followed by exponential decay instead of activation over time.

This model is primarily provided as reference implementation for hh_coba example of the Brette et al (2007) review. Default parameter values are chosen to match those used with NEST 1.9.10 when preparing data for [1]. Code for all simulators covered is available from ModelDB [3].

Note: In this model, a spike is emitted if

\[ V_m >= V_T + 30 mV and V_m has fallen during the current time step \]

To avoid that this leads to multiple spikes during the falling flank of a spike, it is essential to chose a sufficiently long refractory period. Traub and Miles used \( t_ref = 3 ms \) [2, p 118], while we used \( t_ref = 2 ms \) in [2].

Post-synaptic currents Incoming spike events induce a post-synaptic change of conductance modelled by a beta function as outlined in [4,5]. The beta function is normalised such that an event of weight 1.0 results in a peak current of 1 nS at \( t = tau_rise_xx \) where xx is ex or in.

Spike Detection Spike detection is done by a combined threshold-and-local-maximum search: if there is a local maximum above a certain threshold of the membrane potential, it is considered a spike.

Gap Junctions Gap Junctions are implemented by a gap current of the form \( g_ij( V_i - V_j) \).

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

V_T

mV

Voltage offset that controls dynamics. For default parameters, V_T = -63mV results in a threshold around -50mV

E_L

mV

Leak reversal potential

C_m

pF

Capacity of the membrane

g_L

nS

Leak conductance

tau_rise_ex

ms

Excitatory synaptic beta function rise time

tau_decay_ex

ms

Excitatory synaptic beta function decay time

tau_rise_in

ms

Inhibitory synaptic beta function rise time

tau_decay_in

ms

Inhibitory synaptic beta function decay time

t_ref

ms

Duration of refractory period (see Note)

E_ex

mV

Excitatory synaptic reversal potential

E_in

mV

Inhibitory synaptic reversal potential

E_Na

mV

Sodium reversal potential

g_Na

nS

Sodium peak conductance

E_K

mV

Potassium reversal potential

g_K

nS

Potassium peak conductance

I_e

pA

External input current

References:

1

Brette R et al (2007). Simulation of networks of spiking neurons: A review of tools and strategies. Journal of Computational Neuroscience 23:349-98. DOI: https://doi.org/10.1007/s10827-007-0038-6

2

Traub RD and Miles R (1991). Neuronal Networks of the Hippocampus. Cambridge University Press, Cambridge UK.

3

http://modeldb.yale.edu/83319

4

Rotter S and Diesmann M (1999). Exact digital simulation of time-invariant linear systems with applications to neuronal modeling. Biological Cybernetics 81:381 DOI: https://doi.org/10.1007/s004220050570

5

Roth A and van Rossum M (2010). Chapter 6: Modeling synapses. in De Schutter, Computational Modeling Methods for Neuroscientists, MIT Press.

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: Daniel Naoumenko (modified hh_cond_exp_traub by Schrader and hh_psc_alpha_gap by Jan Hahne, Moritz Helias and Susanne Kunkel)

SeeAlso: hh_psc_alpha_gap, hh_cond_exp_traub, gap_junction, iaf_cond_beta

class hh_psc_alpha : public Archiving_Node
#include <hh_psc_alpha.h>

Name: hh_psc_alpha - Hodgkin-Huxley neuron model.

Description:

hh_psc_alpha is an implementation of a spiking neuron using the Hodgkin-Huxley formalism.

  1. Post-synaptic currents Incoming spike events induce a post-synaptic change of current modelled by an alpha function. The alpha function is normalised such that an event of weight 1.0 results in a peak current of 1 pA.

  2. Spike Detection Spike detection is done by a combined threshold-and-local-maximum search: if there is a local maximum above a certain threshold of the membrane potential, it is considered a spike.

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

E_L

mV

Leak reversal potential

C_m

pF

Capacity of the membrane

g_L

nS

Leak conductance

tau_ex

ms

Rise time of the excitatory synaptic alpha function

tau_in

ms

Rise time of the inhibitory synaptic alpha function

E_Na

mV

Sodium reversal potential

g_Na

nS

Sodium peak conductance

E_K

mV

Potassium reversal potential

g_K

nS

Potassium peak conductance

Act_m

real

Activation variable m

Act_h

real

Activation variable h

Inact_n

real

Inactivation variable n

I_e

pA

External input current

Problems/Todo:

better spike detection initial wavelet/spike at simulation onset

References:

1

Gerstner W, Kistler W (2002). Spiking neuron models: Single neurons, populations, plasticity. New York: Cambridge University Press

2

Dayan P, Abbott LF (2001). Theoretical neuroscience: Computational and mathematical modeling of neural systems. Cambridge, MA: MIT Press. https://pure.mpg.de/pubman/faces/ViewItemOverviewPage.jsp?itemId=item_3006127>

3

Hodgkin AL and Huxley A F (1952). A quantitative description of membrane current and its application to conduction and excitation in nerve. The Journal of Physiology 117. DOI: https://doi.org/10.1113/jphysiol.1952.sp004764

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Authors: Schrader

SeeAlso: hh_cond_exp_traub

class hh_psc_alpha_clopath : public Clopath_Archiving_Node
#include <hh_psc_alpha_clopath.h>

Name: hh_psc_alpha_clopath - Hodgkin-Huxley neuron model with support for the Clopath synapse.

Description:

hh_psc_alpha_clopath is an implementation of a spiking neuron using the Hodgkin-Huxley formalism and that is capable of connecting to a Clopath synapse.

(1) Post-synaptic currents Incoming spike events induce a post-synaptic change of current modelled by an alpha function. The alpha function is normalised such that an event of weight 1.0 results in a peak current of 1 pA.

(2) Spike Detection Spike detection is done by a combined threshold-and-local-maximum search: if there is a local maximum above a certain threshold of the membrane potential, it is considered a spike.

Parameters:

The following parameters can be set in the status dictionary.

Dynamic state variables

V_m

mV

Membrane potential

u_bar_plus

mV

Low-pass filtered Membrane potential

u_bar_minus

mV

Low-pass filtered Membrane potential

u_bar_bar

mV

Low-pass filtered u_bar_minus

Membrane Parameters

E_L

mV

Leak reversal potential

C_m

pF

Capacity of the membrane

g_L

nS

Leak conductance

tau_ex

ms

Rise time of the excitatory synaptic alpha function

tau_in

ms

Rise time of the inhibitory synaptic alpha function

E_Na

mV

Sodium reversal potential

g_Na

nS

Sodium peak conductance

E_K

mV

Potassium reversal potential

g_K

nS

Potassium peak conductance

Act_m

real

Activation variable m

Act_h

real

Activation variable h

Inact_n

real

Inactivation variable n

I_e

pA

External input current

Clopath rule parameters

A_LTD

1/mV

Amplitude of depression

A_LTP

1/mV^2

Amplitude of facilitation

theta_plus

mV

Threshold for u

theta_minus

mV

Threshold for u_bar_[plus/minus]

A_LTD_const

boolean

Flag that indicates whether A_LTD_ should be constant (true, default) or multiplied by u_bar_bar^2 / u_ref_squared (false).

delay_u_bars

real

Delay with which u_bar_[plus/minus] are processed to compute the synaptic weights.

U_ref_squared

real

Reference value for u_bar_bar_^2.

Problems/Todo:

better spike detection initial wavelet/spike at simulation onset

References:

1

Gerstner W and Kistler WM (2002). Spiking neuron models: Single neurons, populations, plasticity. New York: Cambridge university press.

2

Dayan P and Abbott L (2001). Theoretical Neuroscience: Computational and Mathematical Modeling of Neural Systems. Cambridge, MA: MIT Press. https://pure.mpg.de/pubman/faces/ViewItemOverviewPage.jsp?itemId=item_3006127

3

Hodgkin AL and Huxley A F (1952). A quantitative description of membrane current and its application to conduction and excitation in nerve. The Journal of Physiology 117. DOI: https://doi.org/10.1113/jphysiol.1952.sp004764

4

Clopath et al. (2010). Connectivity reflects coding: a model of voltage-based STDP with homeostasis. Nature Neuroscience 13(3):344-352. DOI: https://doi.org/10.1038/nn.2479

5

Clopath and Gerstner (2010). Voltage and spike timing interact in STDP – a unified model. Frontiers in Synaptic Neuroscience. 2:25 DOI: https://doi.org/10.3389/fnsyn.2010.00025

6

Voltage-based STDP synapse (Clopath et al. 2010) connected to a Hodgkin-Huxley neuron on ModelDB: https://senselab.med.yale.edu/ModelDB/showmodel.cshtml?model=144566&file =%2fmodeldb_package%2fstdp_cc.mod

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: Jonas Stapmanns, David Dahmen, Jan Hahne (adapted from hh_psc_alpha by Schrader)

SeeAlso: hh_psc_alpha, clopath_synapse, aeif_psc_delta_clopath

class hh_psc_alpha_gap : public Archiving_Node
#include <hh_psc_alpha_gap.h>

Name: hh_psc_alpha_gap - Hodgkin-Huxley neuron model with gap-junction support.

Description:

hh_psc_alpha_gap is an implementation of a spiking neuron using the Hodgkin-Huxley formalism. In contrast to hh_psc_alpha the implementation additionally supports gap junctions.

  1. Post-synaptic currents Incoming spike events induce a post-synaptic change of current modelled by an alpha function. The alpha function is normalised such that an event of weight 1.0 results in a peak current of 1 pA.

  2. Spike Detection Spike detection is done by a combined threshold-and-local-maximum search: if there is a local maximum above a certain threshold of the membrane potential, it is considered a spike.

  3. Gap Junctions Gap Junctions are implemented by a gap current of the form \( g_ij( V_i - V_j) \).

Parameters:

The following parameters can be set in the status dictionary.

tau_ex

ms

Rise time of the excitatory synaptic alpha function

tau_in

ms

Rise time of the inhibitory synaptic alpha function

g_K

nS

Potassium peak conductance

V_m

mV

Membrane potential

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

C_m

pF

Capacity of the membrane

tau_syn_ex

ms

Rise time of the excitatory synaptic alpha function

tau_syn_in

ms

Rise time of the inhibitory synaptic alpha function

E_Na

mV

Sodium reversal potential

g_Na

nS

Sodium peak conductance

E_K

mV

Potassium reversal potential

g_Kv1

nS

Potassium peak conductance

g_Kv3

nS

Potassium peak conductance

Act_m

real

Activation variable m

Act_h

real

Activation variable h

Inact_n

real

Inactivation variable n

I_e

pA

External input current

References:

1

Gerstner W, Kistler W. Spiking neuron models: Single neurons, populations, plasticity. Cambridge University Press

2

Mancilla JG, Lewis TG, Pinto DJ, Rinzel J, Connors BW (2007). Synchronization of electrically coupled pairs of inhibitory interneurons in neocortex, Journal of Neurosciece, 27:2058-2073 DOI: https://doi.org/10.1523/JNEUROSCI.2715-06.2007 (parameters taken from here)

3

Hodgkin AL and Huxley A F (1952). A quantitative description of membrane current and its application to conduction and excitation in nerve. The Journal of Physiology 117. DOI: https://doi.org/10.1113/jphysiol.1952.sp004764

4

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal netowrk simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: SpikeEvent, GapJunctionEvent

Receives: SpikeEvent, GapJunctionEvent, CurrentEvent, DataLoggingRequest

Author: Jan Hahne, Moritz Helias, Susanne Kunkel

SeeAlso: hh_psc_alpha, hh_cond_exp_traub, gap_junction

class ht_neuron : public Archiving_Node
#include <ht_neuron.h>

Name: ht_neuron - Neuron model after Hill & Tononi (2005).

Description:

This model neuron implements a slightly modified version of the neuron model described in [1]. The most important properties are:

  • Integrate-and-fire with threshold adaptive threshold.

  • Repolarizing potassium current instead of hard reset.

  • AMPA, NMDA, GABA_A, and GABA_B conductance-based synapses with beta-function (difference of exponentials) time course.

  • Voltage-dependent NMDA with instantaneous or two-stage unblocking [1, 2].

  • Intrinsic currents I_h, I_T, I_Na(p), and I_KNa.

  • Synaptic “minis” are not implemented.

Documentation and Examples:

  • docs/model_details/HillTononiModels.ipynb

  • pynest/examples/intrinsic_currents_spiking.py

  • pynest/examples/intrinsic_currents_subthreshold.py

Parameters:

V_m

mV

Membrane potential

tau_m

ms

Membrane time constant applying to all currents except repolarizing K-current (see [1], p 1677)

t_ref

ms

Refractory time and duration of post-spike repolarizing potassium current (t_spike in [1])

tau_spike

ms

Membrane time constant for post-spike repolarizing potassium current

voltage_clamp

boolean

If true, clamp voltage to value at beginning of simulation (default: false, mainly for testing)

theta

mV

Threshold

theta_eq

mV

Equilibrium value

tau_theta

ms

Time constant

g_KL

nS

Conductance for potassium leak current

E_K

mV

Reversal potential for potassium leak currents

g_NaL

nS

Conductance for sodium leak currents

E_Na

mV

Reversal potential for Na leak currents

tau_D_KNa

ms

Relaxation time constant for I_KNa

receptor_types

Dictionary mapping synapse names to ports on neuron model

recordables

List of recordable quantities

{E_rev,g_peak,tau_rise,tau_decay}_{AMPA,NMDA,GABA_A,GABA_B}

Reversal potentials, peak conductances and time constants for synapses (tau_rise/tau_decay correspond to tau_1/tau_2 in the paper)

V_act_NMDA, S_act_NMDA, tau_Mg_{fast, slow}_NMDA

Parameters for voltage dependence of NMDA- conductance, see above

nstant_unblock_NMDA

Instantaneous NMDA unblocking (default: false)

{E_rev,g_peak}_{h,T,NaP,KNa}

Reversal potential and peak conductance for intrinsic currents

equilibrate

If given and true, time-dependent activation and inactivation state variables (h, m) of intrinsic currents and NMDA channels are set to their equilibrium values during this SetStatus call; otherwise they retain their present values.

Conductances are unitless in this model and currents are in mV.

Author: Hans Ekkehard Plesser

Sends: SpikeEvent Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

FirstVersion: October 2009; full revision November 2016

References:

1

Hill S, Tononi G (2005). Modeling sleep and wakefulness in the thalamocortical system. Journal of Neurophysiology. 93:1671-1698. DOI: https://doi.org/10.1152/jn.00915.2004

2

Vargas-Caballero M, Robinson HPC (2003). A slow fraction of Mg2+ unblock of NMDA receptors limits their contribution to spike generation in cortical pyramidal neurons. Journal of Neurophysiology 89:2778-2783. DOI: https://doi.org/10.1152/jn.01038.2002

SeeAlso: ht_connection

class iaf_chs_2007 : public Archiving_Node
#include <iaf_chs_2007.h>

Name: iaf_chs_2007 - Spike-response model used in Carandini et al 2007.

Description:

The membrane potential is the sum of stereotyped events: the postsynaptic potentials (V_syn), waveforms that include a spike and the subsequent after-hyperpolarization (V_spike) and Gaussian-distributed white noise.

The postsynaptic potential is described by alpha function where U_epsp is the maximal amplitude of the EPSP and tau_epsp is the time to peak of the EPSP.

The spike waveform is described as a delta peak followed by a membrane potential reset and exponential decay. U_reset is the magnitude of the reset/after-hyperpolarization and tau_reset is the time constant of recovery from this hyperpolarization.

The linear subthresold dynamics is integrated by the Exact Integration scheme [1]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.

Remarks: The way the noise term was implemented in the original model makes it unsuitable for simulation in NEST. The workaround was to prepare the noise signal externally prior to simulation. The noise signal, if present, has to be at least as long as the simulation.

Parameters:

The following parameters can be set in the status dictionary.

tau_epsp

ms

Membrane time constant

tau_reset

ms

Refractory time constant

U_epsp

real

Maximum amplitude of the EPSP, normalized

U_reset

real

Reset value of the membrane potential, normalized

U_noise

real

Noise scale, normalized

noise

list of real

Noise signal

References:

1

Carandini M, Horton JC, Sincich LC (2007). Thalamic filtering of retinal spike trains by postsynaptic summation. Journal of Vision 7(14):20,1-11. DOI: https://doi.org/10.1167/7.14.20

2

Rotter S, Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570

Sends: SpikeEvent

Receives: SpikeEvent, DataLoggingRequest

FirstVersion: May 2012

Author: Thomas Heiberg, Birgit Kriener

class iaf_chxk_2008 : public Archiving_Node
#include <iaf_chxk_2008.h>

Name: iaf_chxk_2008 - Conductance based leaky integrate-and-fire neuron model used in Casti et al 2008.

Description:

iaf_chxk_2008 is an implementation of a spiking neuron using IAF dynamics with conductance-based synapses [1]. It is modeled after iaf_cond_alpha with the addition of after hyper-polarization current instead of a membrane potential reset. Incoming spike events induce a post-synaptic change of conductance modeled by an alpha function. The alpha function is normalized such that an event of weight 1.0 results in a peak current of 1 nS at \( t = tau_{syn} \).

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

E_L

mV

Leak reversal potential

C_m

pF

Capacity of the membrane

V_th

mV

Spike threshold

E_ex

mV

Excitatory reversal potential

E_in

mV

Inhibitory reversal potential

g_L

nS

Leak conductance

tau_ex

ms

Rise time of the excitatory synaptic alpha function

tau_in

ms

Rise time of the inhibitory synaptic alpha function

I_e

pA

Constant input current

tau_ahp

ms

Afterhyperpolarization (AHP) time constant

E_ahp

mV

AHP potential

g_ahp

nS

AHP conductance

ahp_bug

boolean

Defaults to false. If true, behaves like original model implementation

References:

1

Casti A, Hayot F, Xiao Y, Kaplan E (2008) A simple model of retina-LGN transmission. Journal of Computational Neuroscience 24:235-252. DOI: https://doi.org/10.1007/s10827-007-0053-7

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent

Author: Heiberg

SeeAlso: iaf_cond_alpha

class iaf_cond_alpha : public Archiving_Node
#include <iaf_cond_alpha.h>

Name: iaf_cond_alpha - Simple conductance based leaky integrate-and-fire neuron model.

Description:

iaf_cond_alpha is an implementation of a spiking neuron using IAF dynamics with conductance-based synapses. Incoming spike events induce a post-synaptic change of conductance modelled by an alpha function. The alpha function is normalised such that an event of weight 1.0 results in a peak current of 1 nS at \( t = tau_{syn} \).

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

E_L

mV

Leak reversal potential

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_th

mV

Spike threshold

V_reset

mV

Reset potential of the membrane

E_ex

mV

Excitatory reversal potential

E_in

mV

Inhibitory reversal potential

g_L

nS

Leak conductance

tau_syn_ex

ms

Rise time of the excitatory synaptic alpha function

tau_syn_in

ms

Rise time of the inhibitory synaptic alpha function

I_e

pA

Constant input current

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Remarks:

References:

Note

Per 2009-04-17, this class has been revised to our newest insights into class design. Please use THIS CLASS as a reference when designing your own models with nonlinear dynamics. One weakness of this class is that it distinguishes between inputs to the two synapses by the sign of the synaptic weight. It would be better to use receptor_types, cf iaf_cond_alpha_mc.

1

Meffin H, Burkitt AN, Grayden DB (2004). An analytical model for the large, fluctuating synaptic conductance state typical of neocortical neurons in vivo. Journal of Computational Neuroscience, 16:159-175. DOI: https://doi.org/10.1023/B:JCNS.0000014108.03012.81

2

Bernander O, Douglas RJ, Martin KAC, Koch C (1991). Synaptic background activity influences spatiotemporal integration in single pyramidal cells. Proceedings of the National Academy of Science USA, 88(24):11569-11573. DOI: https://doi.org/10.1073/pnas.88.24.11569

3

Kuhn A, Rotter S (2004) Neuronal integration of synaptic input in the fluctuation- driven regime. Journal of Neuroscience, 24(10):2345-2356 DOI: https://doi.org/10.1523/JNEUROSCI.3349-03.2004

Author: Schrader, Plesser

SeeAlso: iaf_cond_exp, iaf_cond_alpha_mc

class iaf_cond_alpha_mc : public Archiving_Node
#include <iaf_cond_alpha_mc.h>

Name: iaf_cond_alpha_mc - PROTOTYPE Multi-compartment conductance-based leaky integrate-and-fire neuron model.

Description:

THIS MODEL IS A PROTOTYPE FOR ILLUSTRATION PURPOSES. IT IS NOT YET FULLY TESTED. USE AT YOUR OWN PERIL!

iaf_cond_alpha_mc is an implementation of a multi-compartment spiking neuron using IAF dynamics with conductance-based synapses. It serves mainly to illustrate the implementation of multicompartment models in NEST.

The model has three compartments: soma, proximal and distal dendrite, labeled as s, p, and d, respectively. Compartments are connected through passive conductances as follows

\[\begin{split} C_{m.s} d/dt V_{m.s} = \ldots - g_{sp} ( V_{m.s} - V_{m.p} ) \\ C_{m.p} d/dt V_{m.p} = \ldots - g_{sp} ( V_{m.p} - V_{m.s} ) - g_{pd} ( V_{m.p} - V_{m.d} ) \\ C_{m.d} d/dt V_{m.d} = \ldots \qquad - g_{pd} ( V_{m.d} - V_{m.p} ) \end{split}\]
A spike is fired when the somatic membrane potential exceeds threshold, \( V_{m.s} >= V_{th} \). After a spike, somatic membrane potential is clamped to a reset potential, \( V_{m.s} == V_{reset} \), for the refractory period. Dendritic membrane potentials are not manipulated after a spike.

There is one excitatory and one inhibitory conductance-based synapse onto each compartment, with alpha-function time course. The alpha function is normalised such that an event of weight 1.0 results in a peak current of 1 nS at t = tau_syn. Each compartment can also receive current input from a current generator, and an external (rheobase) current can be set for each compartment.

Synapses, including those for injection external currents, are addressed through the receptor types given in the receptor_types entry of the state dictionary. Note that in contrast to the single-compartment iaf_cond_alpha model, all synaptic weights must be positive numbers!

Parameters:

The following parameters can be set in the status dictionary. Parameters for each compartment are collected in a sub-dictionary; these sub-dictionaries are called “soma”, “proximal”, and “distal”, respectively. In the list below, these parameters are marked with an asterisk.

V_m*

mV

Membrane potential

E_L*

mV

Leak reversal potential

C_m*

pF

Capacity of the membrane

E_ex*

mV

Excitatory reversal potential

E_in*

mV

Inhibitory reversal potential

g_L*

nS

Leak conductance

tau_syn_ex*

ms

Rise time of the excitatory synaptic alpha function

tau_syn_in*

ms

Rise time of the inhibitory synaptic alpha function

I_e*

pA

Constant input current

g_sp

nS

Conductance connecting soma and proximal dendrite

g_pd

nS

Conductance connecting proximal and distal dendrite

t_ref

ms

Duration of refractory period

V_th

mV

Spike threshold in mV

V_reset

mV

Reset potential of the membrane

Example: See pynest/examples/mc_neuron.py.

Remarks:

This is a prototype for illustration which has undergone only limited testing. Details of the implementation and user-interface will likely change. USE AT YOUR OWN PERIL!

Sends: SpikeEvent

Note

All parameters that occur for both compartments and dendrite are stored as C arrays, with index 0 being soma.

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

References:

1

Meffin H, Burkitt AN, Grayden DB (2004). An analytical model for the large, fluctuating synaptic conductance state typical of neocortical neurons in vivo. Journal of Computational Neuroscience, 16:159-175. DOI: https://doi.org/10.1023/B:JCNS.0000014108.03012.81

2

Bernander O, Douglas RJ, Martin KAC, Koch C (1991). Synaptic background activity influences spatiotemporal integration in single pyramidal cells. Proceedings of the National Academy of Science USA, 88(24):11569-11573. DOI: https://doi.org/10.1073/pnas.88.24.11569

Author: Plesser

SeeAlso: iaf_cond_alpha

class iaf_cond_beta : public Archiving_Node
#include <iaf_cond_beta.h>

Name: iaf_cond_beta - Simple conductance based leaky integrate-and-fire neuron model.

Description:

iaf_cond_beta is an implementation of a spiking neuron using IAF dynamics with conductance-based synapses. Incoming spike events induce a post-synaptic change of conductance modelled by an beta function. The beta function is normalised such that an event of weight 1.0 results in a peak current of 1 nS at t = tau_rise_[ex|in].

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

E_L

mV

Leak reversal potential

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_th

mV

Spike threshold

V_reset

mV

Reset potential of the membrane

E_ex

mV

Excitatory reversal potential

E_in

mV

Inhibitory reversal potential

g_L

nS

Leak conductance

tau_syn_ex

ms

Rise time of the excitatory synaptic alpha function

tau_decay_ex

ms

Rise time of the excitatory synaptic beta function

tau_syn_in

ms

Rise time of the inhibitory synaptic alpha function

tau_decay_in

ms

Rise time of the inhibitory synaptic beta function

I_e

pA

Constant input current

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Remarks:

References:

Note

Per 2009-04-17, this class has been revised to our newest insights into class design. Please use THIS CLASS as a reference when designing your own models with nonlinear dynamics. One weakness of this class is that it distinguishes between inputs to the two synapses by the sign of the synaptic weight. It would be better to use receptor_types, cf iaf_cond_alpha_mc.

1

Meffin H, Burkitt AN, Grayden DB (2004). An analytical model for the large, fluctuating synaptic conductance state typical of neocortical neurons in vivo. Journal of Computational Neuroscience, 16:159-175. DOI: https://doi.org/10.1023/B:JCNS.0000014108.03012.81

2

Bernander O, Douglas RJ, Martin KAC, Koch C (1991). Synaptic background activity influences spatiotemporal integration in single pyramidal cells. Proceedings of the National Academy of Science USA, 88(24):11569-11573. DOI: https://doi.org/10.1073/pnas.88.24.11569

3

Kuhn A, Rotter S (2004) Neuronal integration of synaptic input in the fluctuation- driven regime. Journal of Neuroscience, 24(10):2345-2356 DOI: https://doi.org/10.1523/JNEUROSCI.3349-03.2004

4

Rotter S, Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570

5

Roth A and van Rossum M (2010). Chapter 6: Modeling synapses. in De Schutter, Computational Modeling Methods for Neuroscientists, MIT Press.

Author: Daniel Naoumenko (modified iaf_cond_alpha by Schrader, Plesser)

SeeAlso: iaf_cond_exp, iaf_cond_alpha, iaf_cond_alpha_mc

class iaf_cond_exp : public Archiving_Node
#include <iaf_cond_exp.h>

Name: iaf_cond_exp - Simple conductance based leaky integrate-and-fire neuron model.

Description:

iaf_cond_exp is an implementation of a spiking neuron using IAF dynamics with conductance-based synapses. Incoming spike events induce a post-synaptic change of conductance modelled by an exponential function. The exponential function is normalised such that an event of weight 1.0 results in a peak conductance of 1 nS.

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

E_L

mV

Leak reversal potential

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_th

mV

Spike threshold

V_reset

mV

Reset potential of the membrane

E_ex

mV

Excitatory reversal potential

E_in

mV

Inhibitory reversal potential

g_L

nS

Leak conductance

tau_syn_ex

ms

Rise time of the excitatory synaptic alpha function

tau_syn_in

ms

Rise time of the inhibitory synaptic alpha function

I_e

pA

Constant input current

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

References:

1

Meffin H, Burkitt AN, Grayden DB (2004). An analytical model for the large, fluctuating synaptic conductance state typical of neocortical neurons in vivo. Journal of Computational Neuroscience, 16:159-175. DOI: https://doi.org/10.1023/B:JCNS.0000014108.03012.81

Author: Sven Schrader

SeeAlso: iaf_psc_delta, iaf_psc_exp, iaf_cond_exp

class iaf_cond_exp_sfa_rr : public Archiving_Node
#include <iaf_cond_exp_sfa_rr.h>

Name: iaf_cond_exp_sfa_rr - Simple conductance based leaky integrate-and-fire neuron model.

Description:

iaf_cond_exp_sfa_rr is an iaf_cond_exp_sfa_rr i.e. an implementation of a spiking neuron using IAF dynamics with conductance-based synapses, with additional spike-frequency adaptation and relative refractory mechanisms as described in Dayan+Abbott, 2001, page 166.

As for the iaf_cond_exp_sfa_rr, Incoming spike events induce a post-synaptic change of conductance modelled by an exponential function. The exponential function is normalised such that an event of weight 1.0 results in a peak current of 1 nS.

Outgoing spike events induce a change of the adaptation and relative refractory conductances by q_sfa and q_rr, respectively. Otherwise these conductances decay exponentially with time constants tau_sfa and tau_rr, respectively.

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

E_L

mV

Leak reversal potential

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_th

mV

Spike threshold

V_reset

mV

Reset potential of the membrane

E_ex

mV

Excitatory reversal potential

E_in

mV

Inhibitory reversal potential

g_L

nS

Leak conductance

tau_syn_ex

ms

Rise time of the excitatory synaptic alpha function

tau_syn_in

ms

Rise time of the inhibitory synaptic alpha function

q_sfa

nS

Outgoing spike activated quantal spike-frequency adaptation conductance increase in nS

q_rr

nS

Outgoing spike activated quantal relative refractory conductance increase in nS

tau_sfa

ms

Time constant of spike-frequency adaptation in ms

tau_rr

ms

Time constant of the relative refractory mechanism in ms

E_sfa

mV

Spike-frequency adaptation conductance reversal potential in mV

E_rr

mV

Relative refractory mechanism conductance reversal potential in mV

I_e

pA

Constant input current

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

References:

1

Meffin H, Burkitt AN, Grayden DB (2004). An analytical model for the large, fluctuating synaptic conductance state typical of neocortical neurons in vivo. Journal of Computational Neuroscience, 16:159-175. DOI: https://doi.org/10.1023/B:JCNS.0000014108.03012.81

2

Dayan P, Abbott LF (2001). Theoretical neuroscience: Computational and mathematical modeling of neural systems. Cambridge, MA: MIT Press. https://pure.mpg.de/pubman/faces/ViewItemOverviewPage.jsp?itemId=

item_3006127

Author: Sven Schrader, Eilif Muller

SeeAlso: iaf_cond_exp_sfa_rr, aeif_cond_alpha, iaf_psc_delta, iaf_psc_exp, iaf_cond_alpha

class iaf_psc_alpha : public Archiving_Node
#include <iaf_psc_alpha.h>

Name: iaf_psc_alpha - Leaky integrate-and-fire neuron model.

Description:

iaf_psc_alpha is an implementation of a leaky integrate-and-fire model with alpha-function shaped synaptic currents. Thus, synaptic currents and the resulting post-synaptic potentials have a finite rise time.

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

The linear subthresold dynamics is integrated by the Exact Integration scheme [][1]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.

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

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

Remarks:

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_alpha will probably address the problem of efficient usage of appropriate vector and matrix objects.

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

E_L

mV

Resting membrane potenial

C_m

pF

Capacity of the membrane

tau_m

ms

Membrane time constant

t_ref

ms

Duration of refractory period

V_th

mV

Spike threshold

V_reset

mV

Reset potential of the membrane

tau_syn_ex

ms

Rise time of the excitatory synaptic alpha function

tau_syn_in

ms

Rise time of the inhibitory synaptic alpha function

I_e

pA

Constant input current

V_min

mV

Absolute lower value for the membrane potenial

Remarks:

If tau_m is very close to tau_syn_ex or tau_syn_in, the model will numerically behave as if tau_m is equal to tau_syn_ex or tau_syn_in, respectively, to avoid numerical instabilities. For details, please see IAF_neurons_singularity.ipynb in the NEST source code (docs/model_details).

References:

1

Rotter S, Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570

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. DOI: https://doi.org/10.1016/S0925-2312(01)00409-X

3

Morrison A, Straube S, Plesser H E, Diesmann M (2006). Exact subthreshold integration with continuous spike times in discrete time neural network simulations. Neural Computation, in press DOI: https://doi.org/10.1162/neco.2007.19.1.47

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

FirstVersion: September 1999

Author: Diesmann, Gewaltig

SeeAlso: iaf_psc_delta, iaf_psc_exp, iaf_cond_exp

class iaf_psc_alpha_multisynapse : public Archiving_Node
#include <iaf_psc_alpha_multisynapse.h>

Name: iaf_psc_alpha_multisynapse - Leaky integrate-and-fire neuron model with multiple ports.

Description:

iaf_psc_alpha_multisynapse is a direct extension of iaf_psc_alpha. On the postsynapic side, there can be arbitrarily many synaptic time constants (iaf_psc_alpha has exactly two: tau_syn_ex and tau_syn_in).

This can be reached by specifying separate receptor ports, each for a different time constant. The port number has to match the respective “receptor_type” in the connectors.

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: Schrader, adapted from iaf_psc_alpha

SeeAlso: iaf_psc_alpha, iaf_psc_delta, iaf_psc_exp, iaf_cond_exp, iaf_psc_exp_multisynapse

class iaf_psc_delta : public Archiving_Node
#include <iaf_psc_delta.h>

Name: iaf_psc_delta - Leaky integrate-and-fire neuron model.

Description:

iaf_psc_delta 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 potential.

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 is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.

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

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

Remarks:

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 will probably address the problem of efficient usage of appropriate vector and matrix objects.

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

E_L

mV

Resting membrane potential

C_m

pF

Capacity of the membrane

tau_m

ms

Membrane time constant

t_ref

ms

Duration of refractory period

V_th

mV

Spike threshold

V_reset

mV

Reset potential of the membrane

I_e

pA

Constant input current

V_min

mV

Absolute lower value for the membrane potenial

refractory_input

boolean

If true, do not discard input during refractory period. Default: false

References:

1

Rotter S, Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570

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. DOI: https://doi.org/10.1016/S0925-2312(01)00409-X

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: September 1999, Diesmann, Gewaltig

SeeAlso: iaf_psc_alpha, iaf_psc_exp, iaf_psc_delta_ps

class iaf_psc_exp : public Archiving_Node
#include <iaf_psc_exp.h>

Name: iaf_psc_exp - Leaky integrate-and-fire neuron model with exponential PSCs.

Description:

iaf_psc_exp is an implementation of a leaky integrate-and-fire model with exponential shaped postsynaptic currents (PSCs) according to [1]. Thus, postsynaptic currents have an infinitely short rise time.

The threshold crossing is followed by an absolute refractory period (t_ref) during which the membrane potential is clamped to the resting potential and spiking is prohibited.

The linear subthresold dynamics is integrated by the Exact Integration scheme [2]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.

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

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

Spiking in this model can be either deterministic (delta=0) or stochastic (delta model with escape noise [4, 5].

Remarks:

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_exp will probably address the problem of efficient usage of appropriate vector and matrix objects.

Parameters:

The following parameters can be set in the status dictionary.

E_L

mV

Resting membrane potential

C_m

pF

Capacity of the membrane

tau_m

ms

Membrane time constant

tau_syn_ex

ms

Time constant of postsynaptic excitatory currents

tau_syn_in

ms

Time constant of postsynaptic inhibitory currents

t_ref

ms

Duration of refractory period (V_m = V_reset)

V_m

mV

Membrane potential in mV

V_th

mV

Spike threshold in mV

V_reset

mV

Reset membrane potential after a spike

I_e

pA

Constant input current

t_spike

ms

Point in time of last spike

Remarks:

If tau_m is very close to tau_syn_ex or tau_syn_in, the model will numerically behave as if tau_m is equal to tau_syn_ex or tau_syn_in, respectively, to avoid numerical instabilities. For details, please see IAF_neurons_singularity.ipynb in the NEST source code (docs/model_details).

iaf_psc_exp can handle current input in two ways: Current input through receptor_type 0 are handled as stepwise constant current input as in other iaf models, i.e., this current directly enters the membrane potential equation. Current input through receptor_type 1, in contrast, is filtered through an exponential kernel with the time constant of the excitatory synapse, tau_syn_ex. For an example application, see [6].

References:

1

Tsodyks M, Uziel A, Markram H (2000). Synchrony generation in recurrent networks with frequency-dependent synapses. The Journal of Neuroscience, 20,RC50:1-5. URL: https://infoscience.epfl.ch/record/183402

2

Rotter S, Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570

3

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. DOI: https://doi.org/10.1016/S0925-2312(01)00409-X

4

Schuecker J, Diesmann M, Helias M (2015). Modulated escape from a metastable state driven by colored noise. Physical Review E 92:052119 DOI: https://doi.org/10.1103/PhysRevE.92.052119

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

SeeAlso: iaf_psc_exp_ps

FirstVersion: March 2006

Author: Moritz Helias

class iaf_psc_exp_multisynapse : public Archiving_Node
#include <iaf_psc_exp_multisynapse.h>

psc

Name: iaf_psc_exp_multisynapse - Leaky integrate-and-fire neuron model with multiple ports.

Description:

iaf_psc_exp_multisynapse is a direct extension of iaf_psc_exp. On the postsynapic side, there can be arbitrarily many synaptic time constants (iaf_psc_exp has exactly two: tau_syn_ex and tau_syn_in).

This can be reached by specifying separate receptor ports, each for a different time constant. The port number has to match the respective “receptor_type” in the connectors.

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: Plesser, adapted from iaf_psc_alpha_multisynapse

SeeAlso: iaf_psc_alpha, iaf_psc_delta, iaf_psc_exp, iaf_cond_exp, iaf_psc_alpha_multisynapse

class iaf_tum_2000 : public Archiving_Node
#include <iaf_tum_2000.h>

Name: iaf_tum_2000 - Leaky integrate-and-fire neuron model with exponential PSCs.

Description:

iaf_tum_2000 is an implementation of a leaky integrate-and-fire model with exponential shaped postsynaptic currents (PSCs) according to [1]. The postsynaptic currents have an infinitely short rise time. In particular, this model allows setting an absolute and relative refractory time separately, as required by [1].

The threshold crossing is followed by an absolute refractory period (t_ref_abs) during which the membrane potential is clamped to the resting potential. During the total refractory period (t_ref_tot), the membrane potential evolves, but the neuron will not emit a spike, even if the membrane potential reaches threshold. The total refractory time must be larger or equal to the absolute refractory time. If equal, the refractoriness of the model if equivalent to the other models of NEST.

The linear subthreshold dynamics is integrated by the Exact Integration scheme [2]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.

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

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

Remarks:

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_tum_2000 will probably address the problem of efficient usage of appropriate vector and matrix objects.

Parameters:

The following parameters can be set in the status dictionary.

E_L

mV

Resting membrane potenial

C_m

pF

Capacity of the membrane

tau_m

ms

Membrane time constant

tau_syn_ex

ms

Time constant of postsynaptic excitatory currents

tau_syn_in

ms

Time constant of postsynaptic inhibitory currents

t_ref_abs

ms

Duration of absolute refractory period (V_m = V_reset)

t_ref_tot

ms

Duration of total refractory period (no spiking)

V_m

mV

Membrane potential

V_th

mV

Spike threshold

V_reset

mV

Reset membrane potential after a spike

I_e

pA

Constant input current

t_spike

ms

Point in time of last spike

Remarks:

If tau_m is very close to tau_syn_ex or tau_syn_in, the model will numerically behave as if tau_m is equal to tau_syn_ex or tau_syn_in, respectively, to avoid numerical instabilities. For details, please see IAF_neurons_singularity.ipynb in the NEST source code (docs/model_details).

References:

1

Tsodyks M, Uziel A, Markram H (2000). Synchrony generation in recurrent networks with frequency-dependent synapses. The Journal of Neuroscience, 20,RC50:1-5. URL: https://infoscience.epfl.ch/record/183402

2

Rotter S, Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570

3

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. DOI: https://doi.org/10.1016/S0925-2312(01)00409-X

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

FirstVersion: March 2006

Author: Moritz Helias

class izhikevich : public Archiving_Node
#include <izhikevich.h>

Name: izhikevich - Izhikevich neuron model

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

\[\begin{split} dv/dt = 0.04*v^2 + 5*v + 140 - u + I \\ du/dt = a*(b*v - u)] \end{split}\]

if \( v >= V_{th} \): v is set to c u is incremented by d

v 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 u is calculated based on the new value of v, rather than the previous value 2) the variable v 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

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

FirstVersion: 2009

Author: Hanuschkin, Morrison, Kunkel

SeeAlso: iaf_psc_delta, mat2_psc_exp

class nonlinearities_lin_rate
#include <lin_rate.h>

Name: lin_rate - Linear rate model

Description:

lin_rate is an implementation of a linear rate model with input function \( input(h) = g * h \). The model supports multiplicative coupling which can be switched on and off via the boolean parameter mult_coupling (default=false). In case multiplicative coupling is actived the excitatory input of the model is multiplied with the function \( mult\_coupling\_ex(rate) = g_{ex} * ( \theta_{ex} - rate ) \) and the inhibitory input is multiplied with the function \( mult\_coupling\_in(rate) = g_{in} * ( \theta_{in} + rate ) \).

The model supports connections to other rate models with either zero or non-zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

real

Rate (unitless)

tau

ms

Time constant of rate dynamics

lambda

real

Passive decay rate

mu

real

Mean input

sigma

real

Noise parameter

g

real

Gain parameter

mult_coupling

boolean

Switch to enable/disable multiplicative coupling

g_ex

real

Linear factor in multiplicative coupling

g_in

real

Linear factor in multiplicative coupling

theta_ex

real

Shift in multiplicative coupling

theta_in

real

Shift in multiplicative coupling

rectify_output

boolean

Switch to restrict rate to values >= 0

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

2

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent, DataLoggingRequest

Author: David Dahmen, Jan Hahne, Jannis Schuecker

SeeAlso: rate_connection_instantaneous, rate_connection_delayed

class mat2_psc_exp : public Archiving_Node
#include <mat2_psc_exp.h>

Name: mat2_psc_exp - Non-resetting leaky integrate-and-fire neuron model with exponential PSCs and adaptive threshold.

Description:

mat2_psc_exp is an implementation of a leaky integrate-and-fire model with exponential shaped postsynaptic currents (PSCs). Thus, postsynaptic currents have an infinitely short rise time.

The threshold is lifted when the neuron is fired and then decreases in a fixed time scale toward a fixed level [3].

The threshold crossing is followed by a total refractory period during which the neuron is not allowed to fire, even if the membrane potential exceeds the threshold. The membrane potential is NOT reset, but continuously integrated.

The linear subthresold dynamics is integrated by the Exact Integration scheme [1]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.

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

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

Remarks:

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.

Parameters:

The following parameters can be set in the status dictionary:

C_m

pF

Capacity of the membrane

E_L

mV

Resting potential

tau_m

ms

Membrane time constant

tau_syn_ex

ms

Time constant of postsynaptic excitatory currents

tau_syn_in

ms

Time constant of postsynaptic inhibitory currents

t_ref

ms

Duration of absolute refractory period (no spiking)

V_m

mV

Membrane potential

I_e

pA

Constant input current

t_spike

ms

Point in time of last spike

tau_1

ms

Short time constant of adaptive threshold

tau_2

ms

Long time constant of adaptive threshold

alpha_1

mV

Amplitude of short time threshold adaption [3]

alpha_2

mV

Amplitude of long time threshold adaption [3]

omega

mV

Resting spike threshold (absolute value, not relative to E_L as in [3])

The following state variables can be read out with the multimeter device:

V_m

mV

Non-resetting membrane potential

V_th

mV

Two-timescale adaptive threshold

Remarks:

tau_m != tau_syn_{ex,in} is required by the current implementation to avoid a degenerate case of the ODE describing the model [1]. For very similar values, numerics will be unstable.

References:

1

Rotter S and Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570

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. DOI:https://doi.org/10.1016/S0925-2312(01)00409-X

3

Kobayashi R, Tsubo Y and Shinomoto S (2009). Made-to-order spiking neuron model equipped with a multi-timescale adaptive threshold. Frontiers in Computuational Neuroscience 3:9. DOI: https://doi.org/10.3389/neuro.10.009.2009

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

FirstVersion: Mai 2009

Author: Thomas Pfeil (modified iaf_psc_exp model of Moritz Helias)

class gainfunction_mcculloch_pitts
#include <mcculloch_pitts_neuron.h>

Name: mcculloch_pitts_neuron - Binary deterministic neuron with Heaviside activation function.

Description:

The mcculloch_pitts_neuron is an implementation of a binary neuron that is irregularly updated as Poisson time points [1]. At each update point the total synaptic input h into the neuron is summed up, passed through a Heaviside gain function g(h) = H(h-theta), whose output is either 1 (if input is above) or 0 (if input is below threshold theta). The time constant tau_m is defined as the mean inter-update-interval that is drawn from an exponential distribution with this parameter. Using this neuron to reprodce simulations with asynchronous update [1], the time constant needs to be chosen as tau_m = dt*N, where dt is the simulation time step and N the number of neurons in the original simulation with asynchronous update. This ensures that a neuron is updated on average every tau_m ms. Since in the original paper [1] neurons are coupled with zero delay, this implementation follows this definition. It uses the update scheme described in [3] to maintain causality: The incoming events in time step t_i are taken into account at the beginning of the time step to calculate the gain function and to decide upon a transition. In order to obtain delayed coupling with delay d, the user has to specify the delay d+h upon connection, where h is the simulation time step.

Remarks:

This neuron has a special use for spike events to convey the binary state of the neuron to the target. The neuron model only sends a spike if a transition of its state occurs. If the state makes an up-transition it sends a spike with multiplicity 2, if a down transition occurs, it sends a spike with multiplicity 1. The decoding scheme relies on the feature that spikes with multiplicity larger 1 are delivered consecutively, also in a parallel setting. The creation of double connections between binary neurons will destroy the decoding scheme, as this effectively duplicates every event. Using random connection routines it is therefore advisable to set the property ‘multapses’ to false. The neuron accepts several sources of currents, e.g. from a noise_generator.

Parameters:

tau_m

ms

Membrane time constant (mean inter-update-interval)

theta

mV

Threshold for sigmoidal activation function

References:

1

McCulloch W, Pitts W (1943). A logical calculus of the ideas immanent in nervous activity. Bulletin of Mathematical Biophysics, 5:115-133. DOI: https://doi.org/10.1007/BF02478259

2

Hertz J, Krogh A, Palmer R (1991). Introduction to the theory of neural computation. Addison-Wesley Publishing Conmpany.

3

Morrison A, Diesmann M (2007). Maintaining causality in discrete time neuronal simulations. In: Lectures in Supercomputational Neuroscience, p. 267. Peter beim Graben, Changsong Zhou, Marco Thiel, Juergen Kurths (Eds.), Springer. DOI: https://doi.org/10.1007/978-3-540-73159-7_10

Sends: SpikeEvent

Receives: SpikeEvent, PotentialRequest

FirstVersion: February 2013

Author: Moritz Helias

SeeAlso: pp_psc_delta

class parrot_neuron : public Archiving_Node
#include <parrot_neuron.h>

Name: parrot_neuron - Neuron that repeats incoming spikes.

Description:

The parrot neuron simply emits one spike for every incoming spike. An important application is to provide identical poisson spike trains to a group of neurons. The poisson_generator sends a different spike train to each of its target neurons. By connecting one poisson_generator to a parrot_neuron and then that parrot_neuron to a group of neurons, all target neurons will receive the same poisson spike train.

Remarks:

  • Weights on connection to the parrot_neuron are ignored.

  • Weights on connections from the parrot_neuron are handled as usual.

  • Delays are honored on incoming and outgoing connections.

  • Multiplicity may be used to indicate number of spikes in a single time step. Instead of the accumulated weigths of the incoming spikes, the number of the spikes is stored within a ring buffer.

Only spikes arriving on connections to port 0 will be repeated. Connections onto port 1 will be accepted, but spikes incoming through port 1 will be ignored. This allows setting exact pre- and post-synaptic spike times for STDP protocols by connecting two parrot neurons spiking at desired times by, e.g., a stdp_synapse onto port 1 on the post-synaptic parrot neuron.

Receives: SpikeEvent

Sends: SpikeEvent

Parameters:

No parameters to be set in the status dictionary.

Author: David Reichert, Abigail Morrison, Alexander Seeholzer, Hans Ekkehard Plesser

FirstVersion: May 2006

class pp_pop_psc_delta : public Node
#include <pp_pop_psc_delta.h>

Name: pp_pop_psc_delta - Population of point process neurons with leaky integration of delta-shaped PSCs.

Description:

pp_pop_psc_delta is an effective model of a population of neurons. The N component neurons are assumed to be spike response models with escape noise, also known as generalized linear models. We follow closely the nomenclature of [1]. The component neurons are a special case of pp_psc_delta (with purely exponential rate function, no reset and no random dead_time). All neurons in the population share the inputs that it receives, and the output is the pooled spike train.

The instantaneous firing rate of the N component neurons is defined as

\[ rate(t) = \rho_0 * \exp( (h(t) - \eta(t))/\delta_u ), \]

where h(t) is the input potential (synaptic delta currents convolved with an exponential kernel with time constant tau_m), eta(t) models the effect of refractoriness and adaptation (the neuron’s own spike train convolved with a sum of exponential kernels with time constants tau_eta), and delta_u sets the scale of the voltages.

To represent a (homogeneous) population of N inhomogeneous renewal process neurons, we can keep track of the numbers of neurons that fired a certain number of time steps in the past. These neurons will have the same value of the hazard function (instantaneous rate), and we draw a binomial random number for each of these groups. This algorithm is thus very similar to ppd_sup_generator and gamma_sup_generator, see also [2].

However, the adapting threshold eta(t) of the neurons generally makes the neurons non-renewal processes. We employ the quasi-renewal approximation [1], to be able to use the above algorithm. For the extension of [1] to coupled populations see [3].

In effect, in each simulation time step, a binomial random number for each of the groups of neurons has to be drawn, independent of the number of represented neurons. For large N, it should be much more efficient than simulating N individual pp_psc_delta models.

pp_pop_psc_delta emits spike events like other neuron models, but no more than one per time step. If several component neurons spike in the time step, the multiplicity of the spike event is set accordingly. Thus, to monitor its output, the multiplicity of the spike events has to be taken into account. Alternatively, the internal variable n_events gives the number of spikes emitted in a time step, and can be monitored using a multimeter.

EDIT Nov 2016: pp_pop_psc_delta is now deprecated, because a new and presumably much faster population model implementation is now available, see gif_pop_psc_exp.

Parameters:

The following parameters can be set in the status dictionary.

N

integer

Number of represented neurons

tau_m

ms

Membrane time constant

C_m

pF

Capacitance of the membrane

rho_0

1/s

Base firing rate

delta_u

mV

Voltage scale parameter

I_e

pA

Constant input current

tau_eta

list of ms

Time constants of post-spike kernel

val_eta

list of mV

Amplitudes of exponentials in post-spike-kernel

len_kernel

real

Post-spike kernel eta is truncated after max(tau_eta) * len_kernel

The parameters correspond to the ones of pp_psc_delta as follows.

c_1

0.0

c_2

rho_0

c_3

1/delta_u

q_sfa

val_eta

tau_sfa

tau_eta

I_e

I_e

dead_time

simulation resolution

dead_time_random

False

with_reset

False

t_ref_remaining

0.0

References:

1

Naud R, Gerstner W (2012). Coding and decoding with adapting neurons: a population approach to the peri-stimulus time histogram. PLoS Compututational Biology 8: e1002711. DOI: https://doi.org/10.1371/journal.pcbi.1002711

2

Deger M, Helias M, Boucsein C, Rotter S (2012). Statistical properties of superimposed stationary spike trains. Journal of Computational Neuroscience 32:3, 443-463. DOI: https://doi.org/10.1007/s10827-011-0362-8

3

Deger M, Schwalger T, Naud R, Gerstner W (2014). Fluctuations and information filtering in coupled populations of spiking neurons with adaptation. Physical Review E 90:6, 062704. DOI: https://doi.org/10.1103/PhysRevE.90.062704

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: May 2014, Setareh, Deger

SeeAlso: gif_pop_psc_exp, pp_psc_delta, ppd_sup_generator, gamma_sup_generator

class pp_psc_delta : public Archiving_Node
#include <pp_psc_delta.h>

Name: pp_psc_delta - Point process neuron with leaky integration of delta-shaped PSCs.

Description:

pp_psc_delta is an implementation of a leaky integrator, where the potential jumps on each spike arrival. It produces spike stochastically, and supports spike-frequency adaptation, and other optional features.

Spikes are generated randomly according to the current value of the transfer function which operates on the membrane potential. Spike generation is followed by an optional dead time. Setting with_reset to true will reset the membrane potential after each spike.

The transfer function can be chosen to be linear, exponential or a sum of both by adjusting three parameters:

\[ rate = Rect[ c_1 * V' + c_2 * \exp(c_3 * V') ], \]

where the effective potential \( V' = V_m - E_{sfa} \) and \( E_{sfa} \) is called the adaptive threshold. Here Rect means rectifier: \( Rect(x) = {x \text{ if } x>=0, 0 \text{ else}} \) (this is necessary because negative rates are not possible).

By setting c_3 = 0, c_2 can be used as an offset spike rate for an otherwise linear rate model.

The dead time enables to include refractoriness. If dead time is 0, the number of spikes in one time step might exceed one and is drawn from the Poisson distribution accordingly. Otherwise, the probability for a spike is given by \( 1 - \exp(-rate*h) \), where h is the simulation time step. If dead_time is smaller than the simulation resolution (time step), it is internally set to the resolution.

Note that, even if non-refractory neurons are to be modeled, a small value of dead_time, like dead_time=1e-8, might be the value of choice since it uses faster uniform random numbers than dead_time=0, which draws Poisson numbers. Only for very large spike rates (> 1 spike/time_step) this will cause errors.

The model can optionally include an adaptive firing threshold. If the neuron spikes, the threshold increases and the membrane potential will take longer to reach it. Here this is implemented by subtracting the value of the adaptive threshold E_sfa from the membrane potential V_m before passing the potential to the transfer function, see also above. E_sfa jumps by q_sfa when the neuron fires a spike, and decays exponentially with the time constant tau_sfa after (see [2] or [3]). Thus, the E_sfa corresponds to the convolution of the neuron’s spike train with an exponential kernel. This adaptation kernel may also be chosen as the sum of n exponential kernels. To use this feature, q_sfa and tau_sfa have to be given as a list of n values each.

The firing of pp_psc_delta is usually not a renewal process. For example, its firing may depend on its past spikes if it has non-zero adaptation terms (q_sfa). But if so, it will depend on all its previous spikes, not just the last one so it is not a renewal process model. However, if “with_reset” is True, and all adaptation terms (q_sfa) are 0, then it will reset (“forget”) its membrane potential each time a spike is emitted, which makes it a renewal process model (where “rate” above is its hazard function, also known as conditional intensity).

pp_psc_delta may also be called a spike-response model with escape-noise [6] (for vanishing, non-random dead_time). If c_1>0 and c_2==0, the rate is a convolution of the inputs with exponential filters which is a model known as a Hawkes point process (see [4]). If instead c_1==0, then pp_psc_delta is a point process generalized linear model (with the canonical link function, and exponential input filters) (see [5,6]).

This model has been adapted from iaf_psc_delta. The default parameters are set to the mean values given in [2], which have been matched to spike-train recordings. Due to the many features of pp_psc_delta and its versatility, parameters should be set carefully and conciously.

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

C_m

pF

Capacitance of the membrane

tau_m

ms

Membrane time constant

q_sfa

mV

Adaptive threshold jump

tau_sfa

ms

Adaptive threshold time constant

dead_time

ms

Duration of the dead time

dead_time_random

boolean

Should a random dead time be drawn after each spike?

dead_time_shape

integer

Shape parameter of dead time gamma distribution

t_ref_remaining

ms

Remaining dead time at simulation start

with_reset

boolean

Should the membrane potential be reset after a spike?

I_e

pA

Constant input current

c_1

Hz/mV

Slope of linear part of transfer function in Hz/mV

c_2

Hz

Prefactor of exponential part of transfer function

c_3

1/mV

Coefficient of exponential non-linearity of transfer function

References:

1

Cardanobile S, Rotter S (2010). Multiplicatively interacting point processes and applications to neural modeling. Journal of Computational Neuroscience 28(2):267-284 DOI: https://doi.org/10.1007/s10827-009-0204-0

2

Jolivet R, Rauch A, Luescher H-R, Gerstner W. (2006). Predicting spike timing of neocortical pyramidal neurons by simple threshold models. Journal of Computational Neuroscience 21:35-49. DOI: https://doi.org/10.1007/s10827-006-7074-5

3

Pozzorini C, Naud R, Mensi S, Gerstner W (2013). Temporal whitening by power-law adaptation in neocortical neurons. Nature Neuroscience 16:942-948. (Uses a similar model of multi-timescale adaptation) DOI: https://doi.org/10.1038/nn.3431

4

Grytskyy D, Tetzlaff T, Diesmann M, Helias M (2013). A unified view on weakly correlated recurrent networks. Frontiers in Computational Neuroscience, 7:131. DOI: https://doi.org/10.3389/fncom.2013.00131

5

Deger M, Schwalger T, Naud R, Gerstner W (2014). Fluctuations and information filtering in coupled populations of spiking neurons with adaptation. Physical Review E 90:6, 062704. DOI: https://doi.org/10.1103/PhysRevE.90.062704

6

Gerstner W, Kistler WM, Naud R, Paninski L (2014). Neuronal Dynamics: From single neurons to networks and models of cognition. Cambridge University Press

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: July 2009, Deger, Helias; January 2011, Zaytsev; May 2014, Setareh

SeeAlso: pp_pop_psc_delta, iaf_psc_delta, iaf_psc_alpha, iaf_psc_exp, iaf_psc_delta_ps

template<class TNonlinearities>
class rate_neuron_ipn : public Archiving_Node
#include <rate_neuron_ipn.h>

Name: rate_neuron_ipn - Base class for rate model with input noise.

Description:

Base class for rate model with input noise of the form

\[ \tau dX_i(t) = [ - \lambda X_i(t) + \mu + \phi( \sum w_{ij} \cdot \psi( X_j(t-d_{ij}) ) ) ] dt + [ \sqrt{\tau} \cdot \sigma ] dW_{i}(t) \]
or
\[\begin{split} \tau dX_i(t) = [ - \lambda X_i(t) + \mu + \text{mult_coupling_ex}( X_i(t) ) \cdot \\ \phi( \sum w^{ > 0 }_{ij} \cdot \psi( X_j(t-d_{ij}) ) ) \\ + \text{mult_coupling_in}( X_i(t) ) \cdot \\ \phi( \sum w^{ < 0 }_{ij} \cdot \psi( X_j(t-d_{ij}) ) ) ] dt \\ + [ \sqrt{\tau} \cdot \sigma ] dW_{i}(t) \end{split}\]
This template class needs to be instantiated with a class containing the following functions:
  • input (nonlinearity that is applied to the input, either psi or phi)

  • mult_coupling_ex (factor of multiplicative coupling for excitatory input)

  • mult_coupling_in (factor of multiplicative coupling for inhibitory input)

The boolean parameter linear_summation determines whether the input function is applied to the summed up incoming connections (True, default value, input represents phi) or to each input individually (False, input represents psi). In case of multiplicative coupling the nonlinearity is applied separately to the summed excitatory and inhibitory inputs if linear_summation=True.

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

Author: David Dahmen, Jan Hahne, Jannis Schuecker

SeeAlso: lin_rate, tanh_rate, threshold_lin_rate

template<class TNonlinearities>
class rate_neuron_opn : public Archiving_Node
#include <rate_neuron_opn.h>

Name: rate_neuron_opn - Base class for rate model with output noise.

Description:

Base class for rate model with output noise of the form

\[ \tau dX_i(t) / dt = - X_i(t) + \mu + \phi( \sum w_{ij} \cdot \psi( X_j(t-d_{ij}) + \sqrt{\tau} \cdot \sigma \cdot \xi_j(t) ) ) \]
or
\[\begin{split} \tau dX_i(t) / dt = - X_i(t) + \mu + \text{mult_coupling_ex}( X_i(t) ) \cdot \\ \phi( \sum w^{ > 0 }_{ij} \cdot \psi( X_j(t-d_{ij}) \\ + \sqrt{\tau} \cdot \sigma \cdot \xi_j(t) ) ) \\ + \text{mult_coupling_in}( X_i(t) ) \cdot \\ \phi( \sum w^{ < 0 }_{ij} \cdot \psi( X_j(t-d_{ij}) \\ + \sqrt{\tau} \cdot \sigma \cdot \xi_j(t) ) ) \end{split}\]

Here \( xi_j(t) \) denotes a Gaussian white noise.

This template class needs to be instantiated with a class containing the following functions:

  • input (nonlinearity that is applied to the input, either psi or phi)

  • mult_coupling_ex (factor of multiplicative coupling for excitatory input)

  • mult_coupling_in (factor of multiplicative coupling for inhibitory input)

The boolean parameter linear_summation determines whether the input function is applied to the summed up incoming connections (True, default value, input represents phi) or to each input individually (False, input represents psi). In case of multiplicative coupling the nonlinearity is applied separately to the summed excitatory and inhibitory inputs if linear_summation=True.

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org./10.3389/fninf.2017.00034

Author: David Dahmen, Jan Hahne, Jannis Schuecker

SeeAlso: lin_rate, tanh_rate, threshold_lin_rate

template<class TNonlinearities>
class rate_transformer_node : public Archiving_Node
#include <rate_transformer_node.h>

Name: rate_transformer_node - Rate neuron that sums up incoming rates and applies a nonlinearity specified via the template.

Description:

The rate transformer node simply applies the nonlinearity specified in the input-function of the template class to all incoming inputs. The boolean parameter linear_summation determines whether the input function is applied to the summed up incoming connections (True, default value) or to each input individually (False). An important application is to provide the possibility to apply different nonlinearities to different incoming connections of the same rate neuron by connecting the sending rate neurons to the rate transformer node and connecting the rate transformer node to the receiving rate neuron instead of using a direct connection. Please note that for instantaneous rate connections the rate arrives one time step later at the receiving rate neurons as with a direct connection.

Remarks:

  • Weights on connections from and to the rate_transformer_node are handled as usual.

  • Delays are honored on incoming and outgoing connections.

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Parameters:

Only the parameter

  • linear_summation and the parameters from the class Nonlinearities can be set in the status dictionary.

Author: Mario Senden, Jan Hahne, Jannis Schuecker

FirstVersion: November 2017

class siegert_neuron : public Archiving_Node
#include <siegert_neuron.h>

Name: siegert_neuron

Description:

siegert_neuron is an implementation of a rate model with the non-linearity given by the gain function of the leaky-integrate-and-fire neuron with delta or exponentially decaying synapses [2] and [3, their eq. 25]. The model can be used for a mean-field analysis of spiking networks.

The model supports connections to other rate models with zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

1/s

Rate (1/s)

tau

ms

Time constant

mean

real

Additional constant input

The following parameters can be set in the status directory and are used in the evaluation of the gain function. Parameters as in iaf_psc_exp/delta.

tau_m

ms

Membrane time constant

tau_syn

ms

Time constant of postsynaptic currents

t_ref

ms

Duration of refractory period

theta

mV

Threshold relative to resting potential

V_reset

mV

Reset relative to resting membrane potential

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

2

Fourcaud N, Brunel N (2002). Dynamics of the firing probability of noisy integrate-and-fire neurons, Neural Computation, 14(9):2057-2110 DOI: https://doi.org/10.1162/089976602320264015

3

Schuecker J, Diesmann M, Helias M (2015). Modulated escape from a metastable state driven by colored noise. Physical Review E 92:052119 DOI: https://doi.org/10.1103/PhysRevE.92.052119

4

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: DiffusionConnectionEvent

Receives: DiffusionConnectionEvent, DataLoggingRequest

Author: Jannis Schuecker, David Dahmen, Jan Hahne

SeeAlso: diffusion_connection

class nonlinearities_sigmoid_rate
#include <sigmoid_rate.h>

Name: sigmoid_rate - rate model with sigmoidal gain function

Description:

sigmoid_rate is an implementation of a nonlinear rate model with input function \( input(h) = g / ( 1. + \exp( -\beta * ( h - \theta ) ) ) \). Input transformation can either be applied to individual inputs or to the sum of all inputs.

The model supports connections to other rate models with either zero or non-zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

real

Rate (unitless)

tau

ms

Time constant of rate dynamics

mu

real

Mean input

sigma

real

Noise parameter

g

real

Gain parameter

beta

real

Slope parameter

theta

real

Threshold

linear_summation

boolean

Specifies type of non-linearity (see above)

rectify_output

boolean

Switch to restrict rate to values >= 0

Note:

The boolean parameter linear_summation determines whether the input from different presynaptic neurons is first summed linearly and then transformed by a nonlinearity (true), or if the input from individual presynaptic neurons is first nonlinearly transformed and then summed up (false). Default is true.

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

2

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent, DataLoggingRequest

Author: Mario Senden, Jan Hahne, Jannis Schuecker

SeeAlso: rate_connection_instantaneous, rate_connection_delayed

class nonlinearities_sigmoid_rate_gg_1998
#include <sigmoid_rate_gg_1998.h>

Name: sigmoid_rate_gg_1998 - rate model with sigmoidal gain function as defined in [1].

Description:

sigmoid_rate_gg_1998 is an implementation of a nonlinear rate model with input function \( input(h) = ( g * h )^4 / ( .1^4 + ( g * h )^4 ) \). Input transformation can either be applied to individual inputs or to the sum of all inputs.

The model supports connections to other rate models with either zero or non-zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

real

Rate (unitless)

tau

ms

Time constant of rate dynamics

mu

real

Mean input

sigma

real

Noise parameter

g

real

Gain parameter

linear_summation

boolean

Specifies type of non-linearity (see above)

rectify_output

boolean

Switch to restrict rate to values >= 0

-Note:

The boolean parameter linear_summation determines whether the input from different presynaptic neurons is first summed linearly and then transformed by a nonlinearity (true), or if the input from individual presynaptic neurons is first nonlinearly transformed and then summed up (false). Default is true.

References:

1

Gancarz G, Grossberg S (1998). A neural model of the saccade generator in the reticular formation. Neural Networks, 11(7):1159–1174. DOI: https://doi.org/10.1016/S0893-6080(98)00096-3

2

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

3

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi/org/10.3389/fninf.2015.00022

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent, DataLoggingRequest

Author: Mario Senden, Jan Hahne, Jannis Schuecker

SeeAlso: rate_connection_instantaneous, rate_connection_delayed

class nonlinearities_tanh_rate
#include <tanh_rate.h>

Name: tanh_rate - rate model with hyperbolic tangent non-linearity

Description:

tanh_rate is an implementation of a nonlinear rate model with input function \( input(h) = \tanh(g * (h-\theta)) \). Input transformation can either be applied to individual inputs or to the sum of all inputs.

The model supports connections to other rate models with either zero or non-zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

real

Rate (unitless)

tau

ms

Time constant of rate dynamics

mu

real

Mean input

sigma

real

Noise parameter

g

real

Gain parameter

theta

real

Threshold

linear_summation

boolean

Specifies type of non-linearity (see above)

rectify_output

boolean

Switch to restrict rate to values >= 0

Note:

The boolean parameter linear_summation determines whether the input from different presynaptic neurons is first summed linearly and then transformed by a nonlinearity (true), or if the input from individual presynaptic neurons is first nonlinearly transformed and then summed up (false). Default is true.

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

2

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent, DataLoggingRequest

Author: David Dahmen, Jan Hahne, Jannis Schuecker

SeeAlso: rate_connection_instantaneous, rate_connection_delayed

class nonlinearities_threshold_lin_rate
#include <threshold_lin_rate.h>

Name: threshold_lin_rate - rate model with threshold-linear gain function

Description:

threshold_lin_rate is an implementation of a nonlinear rate model with input function \( input(h) = min( max( g * ( h - \theta ), 0 ), \alpha ) \). Input transformation can either be applied to individual inputs or to the sum of all inputs.

The model supports connections to other rate models with either zero or non-zero delay, and uses the secondary_event concept introduced with the gap-junction framework.

Parameters:

The following parameters can be set in the status dictionary.

rate

real

Rate (unitless)

tau

ms

Time constant of rate dynamics

mu

real

Mean input

sigma

real

Noise parameter

g

real

Gain parameter

alpha

real

Second Threshold

theta

real

Threshold

linear_summation

boolean

Specifies type of non-linearity (see above)

rectify_output

boolean

Switch to restrict rate to values >= 0

Note: The boolean parameter linear_summation determines whether the input from different presynaptic neurons is first summed linearly and then transformed by a nonlinearity (true), or if the input from individual presynaptic neurons is first nonlinearly transformed and then summed up (false). Default is true.

References:

1

Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuous-time dynamics in a spiking neural network simulator. Frontiers in Neuroinformatics, 11:34. DOI: https://doi.org/10.3389/fninf.2017.00034

2

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal network simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent

Receives: InstantaneousRateConnectionEvent, DelayedRateConnectionEvent, DataLoggingRequest

Author: David Dahmen, Jan Hahne, Jannis Schuecker SeeAlso: rate_connection_instantaneous, rate_connection_delayed