Expon#

class brainpy.state.Expon(in_size, name=None, tau=Quantity(8., "ms"), g_initializer=Constant(value=0. mS))#

Exponential decay synapse model.

This class implements a simple first-order exponential decay synapse model where the synaptic conductance g decays exponentially with time constant tau:

\[ dg/dt = -g/\tau + \text{input} \]

The model is widely used for basic synaptic transmission modeling.

Parameters:
  • in_size (Size) – Size of the input.

  • name (str, optional) – Name of the synapse instance.

  • tau (ArrayLike, default 8.0*u.ms) – Time constant of decay in milliseconds.

  • g_initializer (ArrayLike or Callable, default init.Constant(0. * u.mS)) – Initial value or initializer for synaptic conductance.

g#

Synaptic conductance state variable.

Type:

HiddenState

tau#

Time constant of decay.

Type:

Parameter

See also

DualExpon

Dual-exponential synapse with separate rise and decay.

Alpha

Alpha-function synapse with equal rise and decay time constants.

Notes

The implementation uses an exponential Euler integration method. The output of this synapse is the conductance value.

This class inherits from AlignPost, which means it can be used in projection patterns where synaptic variables are aligned with post-synaptic neurons, enabling event-driven computation and more efficient handling of sparse connectivity patterns.

References

Examples

>>> import brainpy
>>> import brainstate
>>> import saiunit as u
>>> # Create a simple exponential synapse with 8 ms decay
>>> syn = brainpy.state.Expon(100, tau=8.*u.ms)
>>> syn.init_state(batch_size=1)
>>> # Step the synapse (conductance decays exponentially)
>>> g = syn.update()
init_state(batch_size=None, **kwargs)[source]#

State initialization function.

reset_state(batch_size=None, **kwargs)[source]#

State resetting function.