Integration quirks in GIF neuron models #1582
Labels
I: No breaking change
Previously written code will work as before, no one should note anything changing (aside the fix)
S: Normal
Handle this with default priority
T: Discussion
Still searching for the right way to proceed / suggestions welcome
During a bug hunting session, me and @heplesser noticed that in one of the conductance-based GIF models, the spike-frequency adaptation and spike-triggered currents are updated outside of the inner GSL integration loop. In particular, they are updated before calling GSL; see
nest-simulator/models/gif_cond_exp.cpp
Line 493 in 07d2acc
and the GSL call a few lines down from there.
A related issue in the current-based GIF model is that the exponential decay occurs first, and then the membrane potential is updated using the already-decayed value. See
nest-simulator/models/gif_psc_exp.cpp
Line 345 in 07d2acc
We should discuss whether this is indeed an issue, or whether it's just a minor implementation detail. Adding sfc and sfa within the inner loop could be done without too much trouble, but it is not clear where the updates (sfa += 1) should happen. As the neurons are not advertised as "precise", possibly these can be left in place.
In NESTML, this problem of mixing precise integration (using propagators) into the numerical integration routine is already addressed by nest/nestml#515.
The text was updated successfully, but these errors were encountered: