DeltaProj

DeltaProj#

class brainpy.state.DeltaProj(*prefetch, comm, post, label=None)#

Delta-input projection.

Applies pre-synaptic signals directly as delta (voltage) inputs to the post-synaptic population, bypassing synapse dynamics entirely. Useful for instantaneous coupling or simplified network models.

The update pipeline is:

  1. Optional pre-fetch modules transform the input.

  2. The communication module (comm) maps the signal to post-synaptic space.

  3. The result is added as a delta input to the post-synaptic neuron’s membrane potential.

Parameters:
  • *prefetch – Optional modules applied sequentially to the input before the communication step.

  • comm (Callable) – Communication module mapping pre-synaptic activity to post-synaptic delta inputs.

  • post (Dynamics) – Post-synaptic neural population.

  • label (str, optional) – Label for identifying this projection’s delta input.

Raises:

TypeError – If comm is not callable or post is not a Dynamics instance.

See also

AlignPostProj

Projection with full synapse dynamics.

CurrentProj

Current-based projection.

Notes

  • Delta projections add directly to the membrane potential rather than to the current, making them suitable for modeling gap junctions or abstract coupling.

  • The label parameter allows multiple delta projections to coexist on the same post-synaptic population with distinct labels.

Examples

>>> import brainpy
>>> import brainstate
>>> import saiunit as u
>>> n_neurons = 100
>>> pop = brainpy.state.LIF(n_neurons, tau=10.*u.ms)
>>> pop.init_state()
>>> delta_proj = brainpy.state.DeltaProj(
...     comm=brainstate.nn.Linear(n_neurons, n_neurons),
...     post=pop,
... )
init_state(*args, **kwargs)[source]#

State initialization function.