All synapse models¶
Back to model directory

template<typename
targetidentifierT
>
classBernoulliConnection
: public Connection<targetidentifierT>  #include <bernoulli_connection.h>
Name: bernoulli_synapse  Static synapse with stochastic transmission.
Description:
Spikes are transmitted by bernoulli_synapse following a Bernoulli trial with success probability p_transmit. This synaptic mechanism was inspired by the results described in [1] of greater transmission probability for stronger excitatory connections and it was previously applied in [2] and [3].
bernoulli_synapse does not support any kind of plasticity. It simply stores the parameters target, weight, transmission probability, delay and receiver port for each connection.
Parameters:
p_transmit
real
Transmission probability, must be between 0 and 1
FirstVersion: June 2017
Author: Susanne Kunkel, Maximilian Schmidt, Milena Menezes Carvalho
Transmits: SpikeEvent, RateEvent, CurrentEvent, ConductanceEvent, DoubleDataEvent, DataLoggingRequest
SeeAlso: synapsedict, static_synapse, static_synapse_hom_w
References:
 1
Lefort S, Tomm C, Sarria JC F, Petersen CCH (2009). The excitatory neuronal network of the C2 barrel column in mouse primary somatosensory cortex. Neuron, 61(2):301316. DOI: https://doi.org/10.1016/j.neuron.2008.12.020.
 2
Teramae J, Tsubo Y, Fukai T (2012). Optimal spikebased communication in excitable networks with strongsparse and weakdense links, Scientific Reports 2,485. DOI: https://doi.org/10.1038/srep00485
 3
Omura Y, Carvalho MM, Inokuchi K, Fukai T (2015). A lognormal recurrent network model for burst generation during hippocampal sharp waves. Journal of Neuroscience, 35(43):1458514601. DOI: https://doi.org/10.1523/JNEUROSCI.494414.2015

template<typename
targetidentifierT
>
classClopathConnection
: public Connection<targetidentifierT>  #include <clopath_connection.h>
Name: clopath_synapse  Synapse type for voltagebased STDP after Clopath.
Description:
clopath_synapse is a connector to create Clopath synapses as defined in [1]. In contrast to usual STDP, the change of the synaptic weight does not only depend on the pre and postsynaptic spike timing but also on the postsynaptic membrane potential.
Clopath synapses require archiving of continuous quantities. Therefore Clopath synapses can only be connected to neuron models that are capable of doing this archiving. So far, compatible models are aeif_psc_delta_clopath and hh_psc_alpha_clopath.
Parameters:
tau_x
ms
Time constant of the trace of the presynaptic spike train
Wmax
real
Maximum allowed weight
Wmin
real
Minimum allowed weight
Other parameters like the amplitudes for longterm potentiation (LTP) and depression (LTD) are stored in in the neuron models that are compatible with the Clopath synapse.
Transmits: SpikeEvent
References:
 1
Clopath et al. (2010). Connectivity reflects coding: a model of voltagebased 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
Voltagebased STDP synapse (Clopath et al. 2010) on ModelDB https://senselab.med.yale.edu/ModelDB/showmodel.cshtml?model=144566
SeeAlso: stdp_synapse, aeif_psc_delta_clopath, hh_psc_alpha_clopath

template<typename
targetidentifierT
>
classContDelayConnection
: public Connection<targetidentifierT>  #include <cont_delay_connection.h>
Name: cont_delay_synapse  Synapse type for continuous delays
Description:
cont_delay_synapse relaxes the condition that NEST only implements delays which are an integer multiple of the time step h. A continuous delay is decomposed into an integer part (delay_) and a double (delay_offset_) so that the actual delay is given by delay_*h  delay_offset_. This can be combined with offgrid spike times.
Example:
SLI 0 << /resolution 1.0 >> SetStatus /sg /spike_generator << /precise_times true /spike_times [ 2.0 5.5 ] >> Create def /n /iaf_psc_delta_ps Create def /sd /spike_detector << /precise_times true /record_to [ /memory ] >> Create def /cont_delay_synapse << /weight 100. /delay 1.7 >> SetDefaults sg n /cont_delay_synapse Connect n sd Connect 10 Simulate sd GetStatus /events/times :: == % > <. 3.7 7.2 .>
Remarks:
All delays set by the normal NEST Connect function will be rounded, even when using cont_delay_connection. To set nongrid delays, you must either
1) set the delay as synapse default, as in the example above 2) set the delay for each synapse after the connections have been created, e.g.,
sg n 100. 1.0 /cont_delay_synapse Connect << /source [ sg ] /synapse_model /cont_delay_synapse >> GetConnections { << /delay 1.7 >> SetStatus } forall
Alternative 1) is much more efficient, but all synapses then will have the same delay. Alternative 2) is slower, but allows individual delay values.
Continuous delays cannot be shorter than the simulation resolution.
Transmits: SpikeEvent, RateEvent, CurrentEvent, ConductanceEvent, DoubleDataEvent
FirstVersion: June 2007
Author: Abigail Morrison
SeeAlso: synapsedict, static_synapse, iaf_psc_alpha_ps

template<typename
targetidentifierT
>
classDiffusionConnection
: public Connection<targetidentifierT>  #include <diffusion_connection.h>
Name: diffusion_connection  Synapse type for instantaneous rate connections between neurons of type siegert_neuron.
Description:
diffusion_connection is a connector to create instantaneous connections between neurons of type siegert_neuron. The connection type is identical to type rate_connection_instantaneous for instantaneous rate connections except for the two parameters drift_factor and diffusion_factor substituting the parameter weight.
These two factor origin from the meanfield reduction of networks of leakyintegrateandfire neurons. In this reduction the input to the neurons is characterized by its mean and its variance. The mean is obtained by a sum over presynaptic activities (e.g as in eq.28 in [1]), where each term of the sum consists of the presynaptic activity multiplied with the drift_factor. Similarly, the variance is obtained by a sum over presynaptic activities (e.g as in eq.29 in [1]), where each term of the sum consists of the presynaptic activity multiplied with the diffusion_factor. Note that in general the drift and diffusion factors might differ from the ones given in eq. 28 and 29., for example in case of a reduction on the single neuron level or in case of distributed indegrees (see discussion in chapter 5.2 of [1])
The values of the parameters delay and weight are ignored for connections of this type.
Transmits: DiffusionConnectionEvent
References:
 1
Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann, M. (2017). Integration of continuoustime 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: siegert_neuron, rate_connection_instantaneous

template<typename
targetidentifierT
>
classGapJunction
: public Connection<targetidentifierT>  #include <gap_junction.h>
Name: gap_junction  Synapse type for gapjunction connections.
Description:
gap_junction is a connector to create gap junctions between pairs of neurons. Gap junctions are bidirectional connections. In order to create one accurate gapjunction connection between neurons i and j two NEST connections are required: For each created connection a second connection with the exact same parameters in the opposite direction is required. NEST provides the possibility to create both connections with a single call to Connect via the make_symmetric flag:
i j << /rule /one_to_one /make_symmetric true >> /gap_junction Connect
The value of the parameter “delay” is ignored for connections of type gap_junction.
Transmits: GapJunctionEvent
References:
 1
Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann, M (2015). A unified framework for spiking and gapjunction interactions in distributed neuronal network simulations. Frontiers in Neuroinformatics 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022
 2
Mancilla JG, Lewis,TJ, Pinto DJ, Rinzel J, Connors BW (2007). Synchronization of electrically coupled pairs of inhibitory interneurons in neocortex. Journal of Neuroscience 27:20582073. DOI: https://doi.org/10.1523/JNEUROSCI.271506.2007
Author: Jan Hahne, Moritz Helias, Susanne Kunkel
SeeAlso: synapsedict, hh_psc_alpha_gap

template<typename
targetidentifierT
>
classHTConnection
: public Connection<targetidentifierT>  #include <ht_connection.h>
Name: ht_synapse  Synapse with depression after Hill & Tononi (2005).
Description:
This synapse implements the depression model described in [1, p 1678]. See docs/model_details/HillTononi.ipynb for details.
Synaptic dynamics are given by
\[\begin{split} P'(t) = ( 1  P ) / \tau_P P(T+) = (1  \delta_P) P(T) \text{ for T : time of a spike } \\ P(t=0) = 1 \end{split}\]\[ w(t) = w_{max} * P(t) \]is the resulting synaptic weightParameters:
The following parameters can be set in the status dictionary:
tau_P
ms
Synaptic vesicle pool recovery time constant
delta_P
real
Fractional change in vesicle pool on incoming spikes (unitless)
P
real
Current size of the vesicle pool [unitless, 0 <= P <= 1]
References:
 1
Hill S, Tononi G (2005). Modeling sleep and wakefulness in the thalamocortical system. Journal of Neurophysiology. 93:16711698. DOI: https://doi.org/10.1152/jn.00915.2004
Sends: SpikeEvent
FirstVersion: March 2009
Author: Hans Ekkehard Plesser, based on markram_synapse
SeeAlso: ht_neuron, tsodyks_synapse, stdp_synapse, static_synapse

template<typename
targetidentifierT
>
classQuantal_StpConnection
: public Connection<targetidentifierT>  #include <quantal_stp_connection.h>
Name: quantal_stp_synapse  Probabilistic synapse model with short term plasticity.
Description:
This synapse model implements synaptic shortterm depression and shortterm facilitation according to the quantal release model described by Fuhrmann et al. [1] and Loebel et al. [2].
Each presynaptic spike will stochastically activate a fraction of the available release sites. This fraction is binomialy distributed and the release probability per site is governed by the Fuhrmann et al. (2002) model. The solution of the differential equations is taken from Maass and Markram 2002 [3].
The connection weight is interpreted as the maximal weight that can be obtained if all n release sites are activated.
Parameters:
The following parameters can be set in the status dictionary:
U
real
Maximal fraction of available resources [0,1], default=0.5
u
real
Available fraction of resources [0,1], default=0.5
p
real
Probability that a vesicle is available, default = 1.0
n
integer
Total number of release sites, default = 1
a
integer
Number of available release sites, default = n
tau_rec
ms
Time constant for depression, default=800 ms
tau_rec
ms
Time constant for facilitation, default=0 (off)
References:
 1
Fuhrmann G, Segev I, Markram H, Tsodyks MV (2002). Coding of temporal information by activitydependent synapses. Journal of neurophysiology, 87(1):1408. DOI: https://doi.org/10.1152/jn.00258.2001
 2
Loebel A, Silberberg G, Helbig D, Markram H, Tsodyks MV, Richardson MJE (2009). Multiquantal release underlies the distribution of synaptic efficacies in the neocortex. Frontiers in Computational Neuroscience, 3, 27. DOI: https://doi.org/10.3389/neuro.10.027.2009
 3
Maass W, Markram H (2002). Synapses as dynamic memory buffers. Neural Networks, 15(2):155161. DOI: https://doi.org/10.1016/S08936080(01)001447
Transmits: SpikeEvent
FirstVersion: December 2013
Author: MarcOliver Gewaltig, based on tsodyks2_synapse
SeeAlso: tsodyks2_synapse, synapsedict, stdp_synapse, static_synapse

template<typename
targetidentifierT
>
classRateConnectionDelayed
: public Connection<targetidentifierT>  #include <rate_connection_delayed.h>
Name: rate_connection_delayed  Synapse type for rate connections with delay.
Description:
rate_connection_delayed is a connector to create connections with delay between rate model neurons.
To create instantaneous rate connections please use the synapse type rate_connection_instantaneous.
Transmits: DelayedRateConnectionEvent
References:
 1
Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuoustime 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: rate_connection_instantaneous, rate_neuron_ipn, rate_neuron_opn Class representing a delayed rate connection. A rate_connection_delayed has the properties weight, delay and receiver port.

template<typename
targetidentifierT
>
classRateConnectionInstantaneous
: public Connection<targetidentifierT>  #include <rate_connection_instantaneous.h>
Name: rate_connection_instantaneous  Synapse type for instantaneous rate connections.
Description:
rate_connection_instantaneous is a connector to create instantaneous connections between rate model neurons.
The value of the parameter delay is ignored for connections of this type. To create rate connections with delay please use the synapse type rate_connection_delayed.
Transmits: InstantaneousRateConnectionEvent
References:
 1
Hahne J, Dahmen D, Schuecker J, Frommer A, Bolten M, Helias M, Diesmann M (2017). Integration of continuoustime 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: rate_connection_delayed, rate_neuron_ipn, rate_neuron_opn Class representing a rate connection. A rate connection has the properties weight and receiver port.

template<typename
targetidentifierT
>
classStaticConnection
: public Connection<targetidentifierT>  #include <static_connection.h>
Name: static_synapse  Synapse type for static connections.
Description:
static_synapse does not support any kind of plasticity. It simply stores the parameters target, weight, delay and receiver port for each connection.
FirstVersion: October 2005
Author: Jochen Martin Eppler, Moritz Helias
Transmits: SpikeEvent, RateEvent, CurrentEvent, ConductanceEvent, DoubleDataEvent, DataLoggingRequest
Remarks: Refactored for new connection system design, March 2007
SeeAlso: synapsedict, tsodyks_synapse, stdp_synapse

template<typename
targetidentifierT
>
classStaticConnectionHomW
: public Connection<targetidentifierT>  #include <static_connection_hom_w.h>
Name: static_synapse_hom_w  Synapse type for static connections with homogeneous weight.
Description:
static_synapse_hom_w does not support any kind of plasticity. It simply stores the parameters delay, target, and receiver port for each connection and uses a common weight for all connections.
Remarks:
The common weight for all connections of this model must be set by SetDefaults on the model. If you create copies of this model using CopyModel, each derived model can have a different weight.
Transmits: SpikeEvent, RateEvent, CurrentEvent, ConductanceEvent, DataLoggingRequest, DoubleDataEvent
FirstVersion: April 2008
Author: Susanne Kunkel, Moritz Helias
SeeAlso: synapsedict, static_synapse

template<typename
targetidentifierT
>
classSTDPConnection
: public Connection<targetidentifierT>  #include <stdp_connection.h>
Name: stdp_synapse  Synapse type for spiketiming dependent plasticity.
Description:
stdp_synapse is a connector to create synapses with spike time dependent plasticity (as defined in [1]). Here the weight dependence exponent can be set separately for potentiation and depression.
Examples:
multiplicative STDP [2] mu_plus = mu_minus = 1.0 additive STDP [3] mu_plus = mu_minus = 0.0 Guetig STDP [1] mu_plus = mu_minus = [0.0,1.0] van Rossum STDP [4] mu_plus = 0.0 mu_minus = 1.0
Parameters:
tau_plus
ms
Time constant of STDP window, potentiation (tau_minus defined in postsynaptic neuron)
lambda
real
Step size
alpha
real
Asymmetry parameter (scales depressing increments as alpha*lambda)
mu_plus
real
Weight dependence exponent, potentiation
mu_minus
real
Weight dependence exponent, depression
Wmax
real
Maximum allowed weight
Transmits: SpikeEvent
References:
 1
Guetig et al. (2003). Learning input correlations through nonlinear temporally asymmetric hebbian plasticity. Journal of Neuroscience, 23:36973714 DOI: https://doi.org/10.1523/JNEUROSCI.230903697.2003
 2
Rubin J, Lee D, Sompolinsky H (2001). Equilibrium properties of temporally asymmetric Hebbian plasticity. Physical Review Letters, 86:364367. DOI: https://doi.org/10.1103/PhysRevLett.86.364
 3
Song S, Miller KD, Abbott LF (2000). Competitive Hebbian learning through spiketimingdependent synaptic plasticity. Nature Neuroscience 3(9):919926. DOI: https://doi.org/10.1038/78829
 4
van Rossum MCW, Bi GQ, Turrigiano GG (2000). Stable Hebbian learning from spike timingdependent plasticity. Journal of Neuroscience, 20(23):88128821. DOI: https://doi.org/10.1523/JNEUROSCI.202308812.2000
FirstVersion: March 2006
Author: Moritz Helias, Abigail Morrison
Adapted by: Philipp Weidel
SeeAlso: synapsedict, tsodyks_synapse, static_synapse

template<typename
targetidentifierT
>
classSTDPFACETSHWConnectionHom
: public Connection<targetidentifierT>  #include <stdp_connection_facetshw_hom.h>
Name: stdp_facetshw_synapse_hom  Synapse type for spiketiming dependent plasticity using homogeneous parameters, i.e. all synapses have the same parameters.
Description:
stdp_facetshw_synapse is a connector to create synapses with spiketiming dependent plasticity (as defined in [1]). This connector is a modified version of stdp_synapse. It includes constraints of the hardware developed in the FACETS (BrainScaleS) project [2,3], as e.g. 4bit weight resolution, sequential updates of groups of synapses and reduced symmetric nearestneighbor spike pairing scheme. For details see [3]. The modified spike pairing scheme requires the calculation of tau_minus_ within this synapse and not at the neuron site via Kplus_ like in stdp_connection_hom.
Parameters:
Common properties
tau_plus
ms
Time constant of STDP window, causal branch
tau_minus_stdp
ms
Time constant of STDP window, anticausal branch
Wmax
real
Maximum allowed weight
no_synapses
integer
Total number of synapses
synapses_per_driver
integer
Number of synapses updated at once
driver_readout_time
real
Time for processing of one synapse row (synapse line driver)
readout_cycle_duration
real
Duration between two subsequent updates of same synapse (synapse line driver)
lookuptable_0
list of integers
Three lookup tables (LUT)
lookuptable_1
list of integers
lookuptable_2
list of integers
configbit_0
list of integers
Configuration bits for evaluation function. For details see code in function eval_function_ and [4] (configbit[0]=e_cc, ..[1]=e_ca, ..[2]=e_ac, ..[3]=e_aa). Depending on these two sets of configuration bits weights are updated according LUTs (out of three: (1,0), (0,1), (1,1)). For (0,0) continue without reset.
configbit_1
list of integers
reset_pattern
list of integers
Configuration bits for reset behavior. Two bits for each LUT (reset causal and acausal). In hardware only (all false; never reset) or (all true; always reset) is allowed.
Individual properties
a_causal
real
Causal and anticausal spike pair accumulations
a_acausal
real
a_thresh_th
real
Two thresholds used in evaluation function No common property, because variation of analog synapse circuitry can be applied here
a_thresh_tl
real
synapse_id
integer
Synapse ID, used to assign synapses to groups (synapse drivers)
Remarks:
The synapse IDs are assigned to each synapse in an ascending order (0,1,2, …) according their first presynaptic activity and is used to group synapses that are updated at once. It is possible to avoid activity dependent synapse ID assignments by manually setting the no_synapses and the synapse_id(s) before running the simulation. The weights will be discretized after the first presynaptic activity at a synapse.
Common properties can only be set on the synapse model using SetDefaults.
Transmits: SpikeEvent
References:
 1
Morrison A, Diesmann M, Gerstner W (2008). Phenomenological models of synaptic plasticity based on spiketiming. Biological Cybernetics, 98:459478. DOI: https://doi.org/10.1007/s0042200802331
 2
Schemmel J, Gruebl A, Meier K, Mueller E (2006). Implementing synaptic plasticity in a VLSI spiking neural network model. In Proceedings of the 2006 International Joint Conference on Neural Networks, pp.1–6, IEEE Press. DOI: https://doi.org/10.1109/IJCNN.2006.246651
 3
Pfeil T, Potjans TC, Schrader S, Potjans W, Schemmel J, Diesmann M, Meier K (2012). Is a 4bit synaptic weight resolution enough?  constraints on enabling spiketiming dependent plasticity in neuromorphic hardware. Frontiers in Neuroscience 6(90). DOI: https://doi.org/10.3389/fnins.2012.00090
 4
Friedmann, S. in preparation
FirstVersion: July 2011
Author: Thomas Pfeil (TP), Moritz Helias, Abigail Morrison
SeeAlso: stdp_synapse, synapsedict, tsodyks_synapse, static_synapse
Class representing an STDP connection with homogeneous parameters, i.e. parameters are the same for all synapses.

class
STDPHomCommonProperties
: public CommonSynapseProperties  #include <stdp_connection_hom.h>
Name: stdp_synapse_hom  Synapse type for spiketiming dependent plasticity using homogeneous parameters.
Description:
stdp_synapse_hom is a connector to create synapses with spike time dependent plasticity (as defined in [1]). Here the weight dependence exponent can be set separately for potentiation and depression.
Parameters controlling plasticity are identical for all synapses of the model, reducing the memory required per synapse considerably.
Examples:
multiplicative STDP [2] mu_plus = mu_minus = 1.0 additive STDP [3] mu_plus = mu_minus = 0.0 Guetig STDP [1] mu_plus = mu_minus = [0.0,1.0] van Rossum STDP [4] mu_plus = 0.0 mu_minus = 1.0
Parameters:
tau_plus
ms
Time constant of STDP window, potentiation (tau_minus defined in postsynaptic neuron)
lambda
real
Step size
alpha
real
Asymmetry parameter (scales depressing increments as alpha*lambda)
mu_plus
real
Weight dependence exponent, potentiation
mu_minus
real
Weight dependence exponent, depression
Wmax
real
Maximum allowed weight
Remarks:
The parameters are common to all synapses of the model and must be set using SetDefaults on the synapse model.
Transmits: SpikeEvent
References:
 1
Guetig et al. (2003). Learning input correlations through nonlinear temporally asymmetric hebbian plasticity. Journal of Neuroscience, 23:36973714 DOI: https://doi.org/10.1523/JNEUROSCI.230903697.2003
 2
Rubin J, Lee D, Sompolinsky H (2001). Equilibrium properties of temporally asymmetric Hebbian plasticity. Physical Review Letters, 86:364367. DOI: https://doi.org/10.1103/PhysRevLett.86.364
 3
Song S, Miller KD, Abbott LF (2000). Competitive Hebbian learning through spiketimingdependent synaptic plasticity. Nature Neuroscience 3(9):919926. DOI: https://doi.org/10.1038/78829
 4
van Rossum MCW, Bi GQ, Turrigiano GG (2000). Stable Hebbian learning from spike timingdependent plasticity. Journal of Neuroscience, 20(23):88128821. DOI: https://doi.org/10.1523/JNEUROSCI.202308812.2000
FirstVersion: March 2006
Author: Moritz Helias, Abigail Morrison
SeeAlso: synapsedict, tsodyks_synapse, static_synapse Class containing the common properties for all synapses of type STDPConnectionHom.

class
STDPDopaCommonProperties
: public CommonSynapseProperties  #include <stdp_dopa_connection.h>
Name: stdp_dopamine_synapse  Synapse type for dopaminemodulated spiketiming dependent plasticity.
Description:
stdp_dopamine_synapse is a connection to create synapses with dopaminemodulated spiketiming dependent plasticity (used as a benchmark model in [1], based on [2]). The dopaminergic signal is a lowpass filtered version of the spike rate of a userspecific pool of neurons. The spikes emitted by the pool of dopamine neurons are delivered to the synapse via the assigned volume transmitter. The dopaminergic dynamics is calculated in the synapse itself.
Examples:
/volume_transmitter Create /vol Set /iaf_psc_alpha Create /pre_neuron Set /iaf_psc_alpha Create /post_neuron Set /iaf_psc_alpha Create /neuromod_neuron Set /stdp_dopamine_synapse << /vt vol >> SetDefaults neuromod_neuron vol Connect pre_neuron post_neuron /stdp_dopamine_synapse Connect
Parameters:
Common properties
vt
integer
ID of volume_transmitter collecting the spikes from the pool of dopamine releasing neurons and transmitting the spikes to the synapse. A value of 1 indicates that no volume transmitter has been assigned.
A_plus
real
Amplitude of weight change for facilitation
A_minus
real
Amplitude of weight change for depression
tau_plus
ms
STDP time constant for facilitation
tau_c
ms
Time constant of eligibility trace
tau_n
ms
Time constant of dopaminergic trace
b
real
Dopaminergic baseline concentration
Wmin
real
Minimal synaptic weight
Wmax
real
Maximal synaptic weight
Individual properties
c
real
Eligibility trace
n
real
Neuromodulator concentration
Remarks: The common properties can only be set by SetDefaults and apply to all synapses of the model.
References:
 1
Potjans W, Morrison A, Diesmann M (2010). Enabling functional neural circuit simulations with distributed computing of neuromodulated plasticity. Frontiers in Computational Neuroscience, 4:141. DOI: https://doi.org/10.3389/fncom.2010.00141
 2
Izhikevich EM (2007). Solving the distal reward problem through linkage of STDP and dopamine signaling. Cerebral Cortex, 17(10):24432452. DOI: https://doi.org/10.1093/cercor/bhl152
Transmits: SpikeEvent
Author: Susanne Kunkel
Remarks:
based on an earlier version by Wiebke Potjans
major changes to code after code revision in Apr 2013
SeeAlso: volume_transmitter Class containing the common properties for all synapses of type dopamine connection.

template<typename
targetidentifierT
>
classSTDPNNPreCenteredConnection
: public Connection<targetidentifierT>  #include <stdp_nn_precentered_connection.h>
Name: stdp_nn_precentered_synapse  Synapse type for spiketiming dependent plasticity with presynapticcentered nearestneighbour spike pairing scheme.
Description:
stdp_nn_precentered_synapse is a connector to create synapses with spike time dependent plasticity with the presynapticcentered nearestneighbour spike pairing scheme, as described in [1].
Each presynaptic spike is taken into account in the STDP weight change rule with the nearest preceding postsynaptic one and the nearest succeeding postsynaptic one (instead of pairing with all spikes, like in stdp_synapse). So, when a presynaptic spike occurs, it is accounted in the depression rule with the nearest preceding postsynaptic one; and when a postsynaptic spike occurs, it is accounted in the facilitation rule with all preceding presynaptic spikes that were not earlier than the previous postsynaptic spike. For a clear illustration of this scheme see fig. 7B in [2].
The pairs exactly coinciding (so that presynaptic_spike == postsynaptic_spike
dendritic_delay), leading to zero delta_t, are discarded. In this case the concerned pre/postsynaptic spike is paired with the second latest preceding post/presynaptic one (for example, pre=={10 ms; 20 ms} and post=={20 ms} will result in a potentiation pair 20to10).
The implementation involves two additional variables  presynaptic and postsynaptic traces [2]. The presynaptic trace decays exponentially over time with the time constant tau_plus, increases by 1 on a prespike occurrence, and is reset to 0 on a postspike occurrence. The postsynaptic trace (implemented on the postsynaptic neuron side) decays with the time constant tau_minus and increases to 1 on a postspike occurrence.
Parameters:
tau_plus
ms
Time constant of STDP window, potentiation (tau_minus defined in postsynaptic neuron)
lambda
real
Step size
alpha
real
Asymmetry parameter (scales depressing increments as alpha*lambda)
mu_plus
real
Weight dependence exponent, potentiation
mu_minus
real
Weight dependence exponent, depression
Wmax
real
Maximum allowed weight
Transmits: SpikeEvent
References:
 1
Izhikevich E. M., Desai N. S. (2003) Relating STDP to BCM, Neural Comput. 15, 1511–1523
 2
Morrison A., Diesmann M., and Gerstner W. (2008) Phenomenological models of synaptic plasticity based on spike timing, Biol. Cybern. 98, 459–478
FirstVersion: March 2006
Author: Moritz Helias, Abigail Morrison
Adapted by: Philipp Weidel, Alex Serenko
SeeAlso: stdp_synapse, stdp_nn_symm_synapse

template<typename
targetidentifierT
>
classSTDPNNRestrConnection
: public Connection<targetidentifierT>  #include <stdp_nn_restr_connection.h>
Name: stdp_nn_restr_synapse  Synapse type for spiketiming dependent plasticity with restricted symmetric nearestneighbour spike pairing scheme.
Description:
stdp_nn_restr_synapse is a connector to create synapses with spike time dependent plasticity with the restricted symmetric nearestneighbour spike pairing scheme (fig. 7C in [1]).
When a presynaptic spike occurs, it is taken into account in the depression part of the STDP weight change rule with the nearest preceding postsynaptic one, but only if the latter occured not earlier than the previous presynaptic one. When a postsynaptic spike occurs, it is accounted in the facilitation rule with the nearest preceding presynaptic one, but only if the latter occured not earlier than the previous postsynaptic one. So, a spike can participate neither in two depression pairs nor in two potentiation pairs.
The pairs exactly coinciding (so that presynaptic_spike == postsynaptic_spike
dendritic_delay), leading to zero delta_t, are discarded. In this case the concerned pre/postsynaptic spike is paired with the second latest preceding post/presynaptic one (for example, pre=={10 ms; 20 ms} and post=={20 ms} will result in a potentiation pair 20to10).
The implementation relies on an additional variable  the postsynaptic eligibility trace [1] (implemented on the postsynaptic neuron side). It decays exponentially with the time constant tau_minus and increases to 1 on a postspike occurrence (instead of increasing by 1 as in stdp_synapse).
Parameters:
tau_plus
ms
Time constant of STDP window, potentiation (tau_minus defined in postsynaptic neuron)
lambda
real
Step size
alpha
real
Asymmetry parameter (scales depressing increments as alpha*lambda)
mu_plus
real
Weight dependence exponent, potentiation
mu_minus
real
Weight dependence exponent, depression
Wmax
real
Maximum allowed weight
Transmits: SpikeEvent
References:
 1
Morrison A., Diesmann M., and Gerstner W. (2008) Phenomenological models of synaptic plasticity based on spike timing, Biol. Cybern. 98, 459–478
FirstVersion: March 2006
Author: Moritz Helias, Abigail Morrison
Adapted by: Philipp Weidel, Alex Serenko
SeeAlso: stdp_synapse, stdp_nn_symm_synapse

template<typename
targetidentifierT
>
classSTDPNNSymmConnection
: public Connection<targetidentifierT>  #include <stdp_nn_symm_connection.h>
Name: stdp_nn_symm_synapse  Synapse type for spiketiming dependent plasticity with symmetric nearestneighbour spike pairing scheme.
Description:
stdp_nn_symm_synapse is a connector to create synapses with spike time dependent plasticity with the symmetric nearestneighbour spike pairing scheme [1].
When a presynaptic spike occurs, it is taken into account in the depression part of the STDP weight change rule with the nearest preceding postsynaptic one, and when a postsynaptic spike occurs, it is accounted in the facilitation rule with the nearest preceding presynaptic one (instead of pairing with all spikes, like in stdp_synapse). For a clear illustration of this scheme see fig. 7A in [2].
The pairs exactly coinciding (so that presynaptic_spike == postsynaptic_spike
dendritic_delay), leading to zero delta_t, are discarded. In this case the concerned pre/postsynaptic spike is paired with the second latest preceding post/presynaptic one (for example, pre=={10 ms; 20 ms} and post=={20 ms} will result in a potentiation pair 20to10).
The implementation involves two additional variables  presynaptic and postsynaptic traces [2]. The presynaptic trace decays exponentially over time with the time constant tau_plus and increases to 1 on a prespike occurrence. The postsynaptic trace (implemented on the postsynaptic neuron side) decays with the time constant tau_minus and increases to 1 on a postspike occurrence.
Parameters:
tau_plus
ms
Time constant of STDP window, potentiation (tau_minus defined in postsynaptic neuron)
lambda
real
Step size
alpha
real
Asymmetry parameter (scales depressing increments as alpha*lambda)
mu_plus
real
Weight dependence exponent, potentiation
mu_minus
real
Weight dependence exponent, depression
Wmax
real
Maximum allowed weight
Transmits: SpikeEvent
References:
 1
Morrison A., Aertsen A., Diesmann M. (2007) Spiketiming dependent plasticity in balanced random networks, Neural Comput. 19:1437–1467
 2
Morrison A., Diesmann M., and Gerstner W. (2008) Phenomenological models of synaptic plasticity based on spike timing, Biol. Cybern. 98, 459–478
FirstVersion: March 2006 Author: Moritz Helias, Abigail Morrison Adapted by: Philipp Weidel, Alex Serenko SeeAlso: stdp_synapse

class
STDPPLHomCommonProperties
: public CommonSynapseProperties  #include <stdp_pl_connection_hom.h>
Name: stdp_pl_synapse_hom  Synapse type for spiketiming dependent plasticity with power law implementation using homogeneous parameters, i.e. all synapses have the same parameters.
Description:
stdp_pl_synapse is a connector to create synapses with spike time dependent plasticity (as defined in [1]).
Parameters:
tau_plus
ms
Time constant of STDP window, potentiation (tau_minus defined in postsynaptic neuron)
lambda
real
Learning rate
alpha
real
Asymmetry parameter (scales depressing increments as alpha*lambda)
mu
real
Weight dependence exponent, potentiation
Remarks:
The parameters can only be set by SetDefaults and apply to all synapses of the model.
References:
 1
Morrison A, Aertsen A, Diesmann M. (2007) Spiketiming dependent plasticity in balanced random netrks. Neural Computation, 19(6):14371467. DOI: https://doi.org/10.1162/neco.2007.19.6.1437
Transmits: SpikeEvent
FirstVersion: May 2007
Author: Abigail Morrison
SeeAlso: synapsedict, stdp_synapse, tsodyks_synapse, static_synapse Class containing the common properties for all synapses of type STDPConnectionHom.

template<typename
targetidentifierT
>
classSTDPTripletConnection
: public Connection<targetidentifierT>  #include <stdp_triplet_connection.h>
Name: stdp_triplet_synapse  Synapse type with spiketiming dependent plasticity (triplets).
Description:
stdp_triplet_synapse is a connection with spike time dependent plasticity accounting for spike triplet effects (as defined in [1]).
STDP examples: pairbased Aplus_triplet = Aminus_triplet = 0.0 triplet Aplus_triplet = Aminus_triplet = 1.0
Parameters:
tau_plus
real
Time constant of short presynaptic trace (tau_plus of [1])
tau_plus_triplet
real
Time constant of long presynaptic trace (tau_x of [1])
Aplus
real
Weight of pair potentiation rule (A_plus_2 of [1])
Aplus_triplet
real
Weight of triplet potentiation rule (A_plus_3 of [1])
Aminus
real
Weight of pair depression rule (A_minus_2 of [1])
Aminus_triplet
real
Weight of triplet depression rule (A_minus_3 of [1])
Wmax
real
Maximum allowed weight
States
Kplus
real
Presynaptic trace (r_1 of [1])
Kplus_triplet
real
Triplet presynaptic trace (r_2 of [1])
Transmits: SpikeEvent
References:
 1
Pfister JP, Gerstner W (2006). Triplets of spikes in a model of spike timingdependent plasticity. The Journal of Neuroscience 26(38):96739682. DOI: https://doi.org/10.1523/JNEUROSCI.142506.2006
Notes:
Presynaptic traces r_1 and r_2 of [1] are stored in the connection as Kplus and Kplus_triplet and decay with timeconstants tau_plus and tau_plus_triplet, respectively.
Postsynaptic traces o_1 and o_2 of [1] are acquired from the postsynaptic neuron states Kminus_ and triplet_Kminus_ which decay on timeconstants tau_minus and tau_minus_triplet, respectively. These two timeconstants can be set as properties of the postsynaptic neuron.
This version implements the ‘alltoall’ spike interaction of [1]. The ‘nearestspike’ interaction of [1] can currently not be implemented without changing the postsynaptic archivingnode (clip the traces to a maximum of 1).
FirstVersion: Nov 2007
Author: Abigail Morrison, Eilif Muller, Alexander Seeholzer, Teo Stocco Adapted by: Philipp Weidel
SeeAlso: stdp_triplet_synapse_hpc, synapsedict, stdp_synapse, static_synapse

template<typename
targetidentifierT
>
classTsodyks2Connection
: public Connection<targetidentifierT>  #include <tsodyks2_connection.h>
Name: tsodyks2_synapse  Synapse type with short term plasticity.
Description:
This synapse model implements synaptic shortterm depression and shortterm facilitation according to [1] and [2]. It solves Eq (2) from [1] and modulates U according to eq. (2) of [2].
This connection merely scales the synaptic weight, based on the spike history and the parameters of the kinetic model. Thus, it is suitable for all types of synaptic dynamics, that is current or conductance based.
The parameter A_se from the publications is represented by the synaptic weight. The variable x in the synapse properties is the factor that scales the synaptic weight.
Parameters:
The following parameters can be set in the status dictionary:
U
real
Maximum probability of release (U1) [0,1], default=0.5
u
real
Maximum probability of release (U_se) [0,1], default=0.5
x
real
Current scaling factor of the weight, default=U
tau_fac
ms
Time constant for facilitation, default = 0(off)
tau_rec
ms
Time constant for depression, default = 800ms
Remarks:
Under identical conditions, the tsodyks2_synapse produces slightly lower peak amplitudes than the tsodyks_synapse. However, the qualitative behavior is identical. The script test_tsodyks2_synapse.py in the examples compares the two synapse models.
References:
 1
Tsodyks MV, Markram H (1997). The neural code between neocortical pyramidal neurons depends on neurotransmitter release probability. PNAS, 94(2):71923. DOI: https://doi.org/10.1073/pnas.94.2.719
 2
Fuhrman, G, Segev I, Markram H, Tsodyks MV (2002). Coding of temporal information by activitydependent synapses. Journal of Neurophysiology, 87(1):1408. DOI: https://doi.org/10.1152/jn.00258.2001
 3
Maass W, Markram H (2002). Synapses as dynamic memory buffers. Neural Networks, 15(2):15561. DOI: https://doi.org/10.1016/S08936080(01)001447
Transmits: SpikeEvent
FirstVersion: October 2011
Author: MarcOliver Gewaltig, based on tsodyks_synapse by Moritz Helias
SeeAlso: tsodyks_synapse, synapsedict, stdp_synapse, static_synapse

template<typename
targetidentifierT
>
classTsodyksConnection
: public Connection<targetidentifierT>  #include <tsodyks_connection.h>
Name: tsodyks_synapse  Synapse type with short term plasticity.
Description:
This synapse model implements synaptic shortterm depression and shortterm facilitation according to [1]. In particular it solves Eqs (3) and (4) from this paper in an exact manner.
Synaptic depression is motivated by depletion of vesicles in the readily releasable pool of synaptic vesicles (variable x in equation (3)). Synaptic facilitation comes about by a presynaptic increase of release probability, which is modeled by variable U in Eq (4). The original interpretation of variable y is the amount of glutamate concentration in the synaptic cleft. In [1] this variable is taken to be directly proportional to the synaptic current caused in the postsynaptic neuron (with the synaptic weight w as a proportionality constant). In order to reproduce the results of [1] and to use this model of synaptic plasticity in its original sense, the user therefore has to ensure the following conditions:
1.) The postsynaptic neuron must be of type iaf_psc_exp or iaf_tum_2000, because these neuron models have a postsynaptic current which decays exponentially.
2.) The time constant of each tsodyks_synapse targeting a particular neuron must be chosen equal to that neuron’s synaptic time constant. In particular that means that all synapses targeting a particular neuron have the same parameter tau_psc.
However, there are no technical restrictions using this model of synaptic plasticity also in conjunction with neuron models that have a different dynamics for their synaptic current or conductance. The effective synaptic weight, which will be transmitted to the postsynaptic neuron upon occurrence of a spike at time t is u(t)*x(t)*w, where u(t) and x(t) are defined in Eq (3) and (4), w is the synaptic weight specified upon connection. The interpretation is as follows: The quantity u(t)*x(t) is the release probability times the amount of releasable synaptic vesicles at time t of the presynaptic neuron’s spike, so this equals the amount of transmitter expelled into the synaptic cleft. The amount of transmitter than relaxes back to 0 with time constant tau_psc of the synapse’s variable y. Since the dynamics of y(t) is linear, the postsynaptic neuron can reconstruct from the amplitude of the synaptic impulse u(t)*x(t)*w the full shape of y(t). The postsynaptic neuron, however, might choose to have a synaptic current that is not necessarily identical to the concentration of transmitter y(t) in the synaptic cleft. It may realize an arbitrary postsynaptic effect depending on y(t).
Parameters:
The following parameters can be set in the status dictionary:
U
real
Maximum probability of release [0,1]
tau_psc
ms
Time constant of synaptic current
tau_fac
ms
Time constant for facilitation
tau_rec
ms
Time constant for depression
x
real
Initial fraction of synaptic vesicles in the readily releasable pool [0,1]
y
real
Initial fraction of synaptic vesicles in the synaptic cleft [0,1]
References:
 1
Tsodyks M, Uziel A, Markram H (2000). Synchrony generation in recurrent networks with frequencydependent synapses. Journal of Neuroscience, 20 RC50. URL: http://infoscience.epfl.ch/record/183402
Transmits: SpikeEvent
FirstVersion: March 2006
Author: Moritz Helias
SeeAlso: synapsedict, stdp_synapse, static_synapse, iaf_psc_exp, iaf_tum_2000

class
TsodyksHomCommonProperties
: public CommonPropertiesHomW  #include <tsodyks_connection_hom.h>
Name: tsodyks_synapse_hom  Synapse type with short term plasticity using homogeneous parameters, i.e. all synapses have the same parameters.
Description:
This synapse model implements synaptic shortterm depression and shortterm facilitation according to [1]. In particular it solves Eqs (3) and (4) from this paper in an exact manner.
Synaptic depression is motivated by depletion of vesicles in the readily releasable pool of synaptic vesicles (variable x in equation (3)). Synaptic facilitation comes about by a presynaptic increase of release probability, which is modeled by variable U in Eq (4). The original interpretation of variable y is the amount of glutamate concentration in the synaptic cleft. In [1] this variable is taken to be directly proportional to the synaptic current caused in the postsynaptic neuron (with the synaptic weight w as a proportionality constant). In order to reproduce the results of [1] and to use this model of synaptic plasticity in its original sense, the user therefore has to ensure the following conditions:
1.) The postsynaptic neuron must be of type iaf_psc_exp or iaf_tum_2000, because these neuron models have a postsynaptic current which decays exponentially.
2.) The time constant of each tsodyks_synapse targeting a particular neuron must be chosen equal to that neuron’s synaptic time constant. In particular that means that all synapses targeting a particular neuron have the same parameter tau_psc.
However, there are no technical restrictions using this model of synaptic plasticity also in conjunction with neuron models that have a different dynamics for their synaptic current or conductance. The effective synaptic weight, which will be transmitted to the postsynaptic neuron upon occurrence of a spike at time t is u(t)*x(t)*w, where u(t) and x(t) are defined in Eq (3) and (4), w is the synaptic weight specified upon connection. The interpretation is as follows: The quantity u(t)*x(t) is the release probability times the amount of releasable synaptic vesicles at time t of the presynaptic neuron’s spike, so this equals the amount of transmitter expelled into the synaptic cleft. The amount of transmitter than relaxes back to 0 with time constant tau_psc of the synapse’s variable y. Since the dynamics of y(t) is linear, the postsynaptic neuron can reconstruct from the amplitude of the synaptic impulse u(t)*x(t)*w the full shape of y(t). The postsynaptic neuron, however, might choose to have a synaptic current that is not necessarily identical to the concentration of transmitter y(t) in the synaptic cleft. It may realize an arbitrary postsynaptic effect depending on y(t).
Parameters:
U
real
Maximum probability of release [0,1]
tau_psc
ms
Time constant of synaptic current
tau_fac
ms
Time constant for facilitation
tau_rec
ms
Time constant for depression
x
real
Initial fraction of synaptic vesicles in the readily releasable pool [0,1]
y
real
Initial fraction of synaptic vesicles in the synaptic cleft [0,1]
Remarks:
The weight and the parameters U, tau_psc, tau_fac, and tau_rec are common to all synapses of the model and must be set using SetDefaults on the synapse model.
References:
 1
Tsodyks M, Uziel A, Markram H (2000). Synchrony generation in recurrent networks with frequencydependent synapses. Journal of Neuroscience, 20 RC50. URL: http://infoscience.epfl.ch/record/183402
Transmits: SpikeEvent
FirstVersion: March 2006
Author: Susanne Kunkel, Moritz Helias
SeeAlso: synapsedict, tsodyks_synapse, stdp_synapse_hom, static_synapse_hom_w, iaf_psc_exp, iaf_tum_2000 Class containing the common properties for all synapses of type TsodyksConnectionHom.

template<typename
targetidentifierT
>
classVogelsSprekelerConnection
: public Connection<targetidentifierT>  #include <vogels_sprekeler_connection.h>
Name: vogels_sprekeler_synapse  Synapse type for symmetric spiketiming dependent plasticity with constant depression.
Description: vogels_sprekeler_synapse is a connector to create synapses with symmetric spike time dependent plasticity and constant depression (as defined in [1]). The learning rule is symmetric, i.e., the synapse is strengthened irrespective of the order of the pre and postsynaptic spikes. Each presynaptic spike also causes a constant depression of the synaptic weight which differentiates this rule from other classical stdp rules.
Parameters:
tau
ms
Time constant of STDP window, potentiation
Wmax
real
Maximum allowed weight
eta
real
Learning rate
alpha
real
Constant depression (= 2 * tau * target firing rate in [1])
Transmits: SpikeEvent
References:
 1
Vogels et al. (2011). Inhibitory plasticity balances excitation and inhibition in sensory pathways and memory networks. Science, 334(6062):15691573. DOI: https://doi.org/10.1126/science.1211095
FirstVersion: January 2016
Author: Ankur Sinha
SeeAlso: synapsedict