tsodyks_synapse

Contents

tsodyks_synapse#

class brainpy.state.tsodyks_synapse(*args, **kwargs)#

Tsodyks, Uziel & Markram (2000) short-term-plasticity synapse spec.

On each presynaptic spike the per-edge state is propagated over the inter-spike interval h = t_now - t_lastspike and the released fraction delta = u*x is delivered as w_eff = delta * weight. The update order is load-bearing (NEST “don’t change the order”): propagate u, x, y, then facilitate u, then release.

Parameters:
  • weight (ArrayLike or Quantity, optional) – Per-edge synaptic weight (pA; bare numbers interpreted as pA, sign preserved). Default 1.0 pA.

  • delay (Quantity, optional) – Homogeneous axonal delay (> 0). Default 1.0 ms.

  • receptor_type (int, optional) – Postsynaptic receptor port (>= 0). Default 0.

  • tau_psc (Quantity, optional) – Synaptic-current decay constant (> 0). Default 3.0 ms.

  • tau_fac (Quantity, optional) – Facilitation constant (>= 0; 0 disables facilitation). Default 0.0 ms.

  • tau_rec (Quantity, optional) – Recovery constant (> 0). Default 800.0 ms.

  • U (float, optional) – Baseline utilization increment, in [0, 1]. Default 0.5.

  • x (float, optional) – Initial recovered / active / utilization fractions, each in [0, 1] with x + y <= 1. Defaults 1.0, 0.0, 0.0.

  • y (float, optional) – Initial recovered / active / utilization fractions, each in [0, 1] with x + y <= 1. Defaults 1.0, 0.0, 0.0.

  • u (float, optional) – Initial recovered / active / utilization fractions, each in [0, 1] with x + y <= 1. Defaults 1.0, 0.0, 0.0.

Notes

t_lastspike initialises to 0.0 with no first-spike guard; with the default x=1, y=0 (so z=0) the first spike is interval-invariant, matching NEST. The propagator Pxy divides by tau_psc - tau_rec with no singular guard (as in NEST) — avoid tau_psc tau_rec.

References

Examples

>>> import brainunit as u
>>> from brainpy.state import tsodyks_synapse
>>> s = tsodyks_synapse(U=0.5)
>>> s.is_homogeneous_weight
False
>>> s.edge_state_init()['t_lastspike']
0.0