norse.torch.functional.lif_adex_current_encoder(input_current: Tensor, voltage: Tensor, adaptation: Tensor, p: LIFAdExParameters = LIFAdExParameters(adaptation_current=tensor(4), adaptation_spike=tensor(0.0200), delta_T=tensor(0.5000), tau_ada_inv=tensor(2.), tau_syn_inv=tensor(200.), tau_mem_inv=tensor(100.), v_leak=tensor(0.), v_th=tensor(1.), v_reset=tensor(0.), method='super', alpha=100.0), dt: float = 0.001) Tuple[Tensor, Tensor, Tensor][source]#

Computes a single euler-integration step of an adaptive exponential LIF neuron-model adapted from More specifically it implements one integration step of the following ODE

\[\begin{split}\begin{align*} \dot{v} &= 1/\tau_{\text{mem}} \left(v_{\text{leak}} - v + i + \Delta_T exp\left({{v - v_{\text{th}}} \over {\Delta_T}}\right) - a\right) \\ \dot{i} &= -1/\tau_{\text{syn}} i \\ \dot{a} &= 1/\tau_{\text{ada}} \left( a_{current} (V - v_{\text{leak}}) - a \right) \end{align*}\end{split}\]

together with the jump condition

\[z = \Theta(v - v_{\text{th}})\]

and transition equations

\[\begin{split}\begin{align*} v &= (1-z) v + z v_{\text{reset}} \\ i &= i + i_{\text{in}} \\ a &= a + a_{\text{spike}} z_{\text{rec}} \end{align*}\end{split}\]

input_current (torch.Tensor): the input current at the current time step voltage (torch.Tensor): current state of the LIFAdEx neuron adaptation (torch.Tensor): membrane adaptation parameter in nS p (LIFAdExParameters): parameters of a leaky integrate and fire neuron dt (float): Integration timestep to use