The implementation of Izhikevich 2003 model provided in the Brian2 documentation uses a multiple pathway for the synapses:
S = Synapses(
N,
N,
"w : 1",
on_pre={"up": "I += w", "down": "I -= w"},
delay={"up": 0 * ms, "down": 1 * ms},
)
If I read this correctly, the membrane potential increases w
when the pre-synpatic spike occurs and then decreases w
1ms afterwards. For inhibitory synapses, it correspondingly decreases and then increases.
I’m wondering why the post-synaptic activity is not simply implemented as an increase in the membrane voltage via the variable v
, on_pre="v += w"
? Notably, since they clock is set 1ms. Both approaches seem to produce qualitatively similar —although not indentical— results.
Except for this, the rest of the implementation seems to exactly follow Izhikevich own implementation. Maybe @aesagtekin or @schmitts could shed some light?