stdp_synapse_hom

Contents

stdp_synapse_hom#

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

Homogeneous (shared-parameter) pair-based STDP synapse spec (NEST stdp_synapse_hom).

Functionally identical to stdp_synapse: potentiation on the post spike (using K+), depression on the pre spike (using K-), the Guetig (2003) soft-bounded facilitate_/depress_ forms with the weight clamped to \([0, W_{\max}]\) inside each update, and the same NEST defaults (lambda=0.01, alpha=1.0, mu_plus=mu_minus=1, tau_plus=tau_minus=20 ms, Wmax=100). In NEST those parameters are common (homogeneous across the model); here every projection edge already shares one rule instance, so the distinction collapses and the kernel is inherited verbatim.

Parameters:
  • weight – See stdp_synapse.

  • delay – See stdp_synapse.

  • receptor_type – See stdp_synapse.

  • tau_plus – See stdp_synapse.

  • tau_minus – See stdp_synapse.

  • lambda – See stdp_synapse.

  • alpha – See stdp_synapse.

  • mu_plus – See stdp_synapse.

  • mu_minus – See stdp_synapse.

  • Wmax – See stdp_synapse.

  • Kplus – See stdp_synapse.

Notes

NEST divergence — ``tau_minus`` location. As for stdp_synapse, tau_minus is a parameter of the postsynaptic neuron (ArchivingNode) in NEST, not the synapse; here it is a synapse-spec attribute driving the substrate’s per-post K- trace so STDP runs standalone.

Parity note. The consolidated NEST vs. brainpy.state divergence reference — trace-storage move, the family parameter-location map, and the parity-test links — is in STDP parity: where state lives and how spikes pair (Trace storage: tau_minus is a synapse parameter here, a neuron parameter in NEST).

References

Examples

>>> import brainunit as u
>>> from brainpy.state import stdp_synapse, stdp_synapse_hom
>>> s = stdp_synapse_hom(weight=5.0, lambda_=0.01)
>>> isinstance(s, stdp_synapse)          # thin reuse of the pair kernel
True
>>> s.is_homogeneous_weight, s.edge_state_init()
(False, {})
>>> float(u.Quantity(s.post_trace_tau).to_decimal(u.ms))
20.0