GABAa#

class braincell.synapse.GABAa(in_size, alpha=Quantity(0.53, 'kHz'), beta=Quantity(0.18, 'kHz'), T=1.0)[source]#

GABAa synapse model class.

This class implements the dynamics of a GABAa-type synapse using an exponential Euler integration scheme. The synaptic conductance is updated based on presynaptic spike input and time constants.

Parameters:
  • in_size (int | Sequence[int] | integer | Sequence[integer]) – The input size or shape of the synapse.

  • alpha (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – The rise rate constant of the synaptic conductance. Defaults to 0.53 / u.ms.

  • beta (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – The decay rate constant of the synaptic conductance. Defaults to 0.18 / u.ms.

  • T (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – The synaptic efficacy or scaling factor. Defaults to 1.0.

init_state(**kwargs)[source]#

Initialize the hidden state g (synaptic conductance) to zeros.

reset_state(**kwargs)[source]#

Reset the hidden state g (synaptic conductance) to zeros.

update(pre_spike)[source]#

Update the synaptic conductance g based on the presynaptic spike input.

The update follows the equation:

dg/dt = alpha * pre_spike * T * (1 - g) - beta * g

Parameters:

pre_spike – Presynaptic spike input.

Returns:

Updated synaptic conductance value.