Dear Charl,
Thanks for the fast reply. If I understand correctly, the ODEs mentioned in the C++ Code
only work for a fast rise time and a slow decay time, but not the other way round, right?
I actually only wanted to do a sanity check by swapping the two time constants and then
was confused getting the same results. If I am not mistaken, this is due to the
normalization factor making the equations invariant to a swap of the time constants.
Thanks for your explanations – very helpful :)
Best wishes,
Pira
Von: Charl Linssen <nest-users(a)turingbirds.com>
Datum: Mittwoch, 8. Juni 2022 um 18:57
An: users(a)nest-simulator.org <users(a)nest-simulator.org>
Betreff: [EXTERN] [NEST Users] Re: How to implement double-exponential functions for
synapses in C++
[EXTERNE E-MAIL] Diese Nachricht kommt von einem EXTERNEN ABSENDER.
Bitte NICHT AUF LINKS ODER ANHÄNGE KLICKEN, sofern Sie nicht überzeugt sind, dass diese
aus einer sicheren Quelle stammen.
Dear Pira,
Thanks for writing in. With this simple two-dimensional linear system, a slow rise and
fast decay is unfortunately not possible. This is a fundamental property of the system. I
guess you probably need a nonlinear system to achieve that (please let me know if you find
any cool ones, I do not currently know any that would exhibit that kind of behaviour).
Perhaps the use of the words "rise" and "decay" in the naming of the
time constants is misleading and should be avoided. In the paper (Rotter & Diesmann
1999) the constants were just named "a" and "b". See for an instance
of a file where both nomenclatures are used
https://github.com/nest/nest-simulator/blob/master/libnestutil/beta_normali….
Note that for the case that a = b, if you are not careful, you will divide by zero. NEST
contains a mechanism to check for that condition, in the file linked above.
Hope this helps,
With kind regards,
Charl
On Wed, Jun 8, 2022, at 13:46, Ravichandran-Schmidt, Pirathitha (SRH Hochschule
Heidelberg) wrote:
Dear NEST Community,
is there a good way to implement a double-exponential function for synapses in C++ within
a nest module?
[cid:image001.jpg@01D880DF.3D576670]
As I need to implement my own neuron model in C++, I adapted the code from extraction the
information from other neuron models (for example: iaf _cond_beta.cpp) and used the
following lines
f[S::DG_EXC] = -y[ S::DG_EXC ] / node.P_.tau_synAMPA_on;
f[S::G_EXC ] = y[ S::DG_EXC ] - y[ S::G_EXC ] / node.P_.tau_synAMPA_off
At first, it seemed to work pretty good. But when I swap the values for rise und decay
time, the evolution of g_ADP did not change at all (for example: rise_time = 1ms,
decay_time = 100ms).
I would be happy to get any feedback on it.
Thanks,
Pira
_______________________________________________
NEST Users mailing list --
users@nest-simulator.org<mailto:users@nest-simulator.org>
To unsubscribe send an email to
users-leave@nest-simulator.org<mailto:users-leave@nest-simulator.org>