jaxley.synapses.SpikeSynapse#

class SpikeSynapse(name=None)[source]#

Bases: Synapse

Synapse to be used in networks of LIF neurons.

This synapse is meant to be used in networks of LIF neurons, together with the Fire channel. After the pre-synaptic neuron has Fire_spikes=1.0 (a spike), the state of the synapse gets increased immediately and then decays exponentially.

This synapse implements the following equations:

\[I = \overline{g}\, \cdot s\]
\[\tau \frac{\text{d}s}{\text{d}t} = -s\]
\[s \leftarrow s + 1 \quad \text{if } \, \text{Fire}_{\text{pre}} = 1\]
The synaptic parameters are:
  • gS: the maximal conductance \(\overline{g}\) (uS).

  • decay_tau: The time constant of the decay \(\tau\) (ms).

The synaptic state is:
  • s: the activity level of the synapse.

Example usage#

from jaxley.channels import Leak, Fire
from jaxley.connect import fully_connect
from jaxley.synapse import SpikeSynapse

cell = jx.Cell()
net = jx.Network([cell for _ in range(5)])

net.insert(Leak())
net.insert(Fire())
fully_connect(net.cell("all"), net.cell("all"), SpikeSynapse())

net.record("v")
v = jx.integrate(net, t_max=100.0, delta_t=0.025)
synapse_params = None#
synapse_states = None#
update_states(synapse_states, synapse_params, pre_voltage, post_voltage, pre_states, post_states, pre_params, post_params, delta_t)[source]#

Return updated synapse state and current.

Parameters:
Return type:

dict

compute_current(synapse_states, synapse_params, pre_voltage, post_voltage, pre_states, post_states, pre_params, post_params, delta_t)[source]#

Return updated synapse state and current.

Parameters:
Return type:

float

change_name(new_name)#

Change the synapse name.

Parameters:

new_name (str) – The new name of the channel.

Returns:

Renamed channel, such that this function is chainable.

property name: str | None#
Parameters:

name (str | None)