I am trying to implement the spiking neural network model in this paper https://www.frontiersin.org/articles/10.3389/fninf.2018.00079/full and I wanted to use DifferentialEquations.jl Basically, the model consists of a network of so-called integrate-and-fire units, i.e. units where the membrane potential is governed by this simple equation
where w are the connection weights from all units to unit i and a(t) is the spiking activity of the other units.
A unit emits a spike when the membrane potential V exceeds a specified threshold, after which it is reset to its resting value.
My initial thought was to make use of callbacks to manage the spiking activity, as it involves directly manipulating the value of what is being integrated. However, it wasn’t clear to me how to manage multiple callbacks (it seems I would need one callback per unit, so potentially hundreds of them). I am aware of https://github.com/JuliaDiffEq/DiffEqBase.jl/pull/221, which seems to address my need. I guess my question is, should I wait for this PR to be merged, or is there a better way of handling a spiking neural network model? Thanks!