Hello Tom and Charl,

thank you for your time, explanations and replies. You confirmed what I thought was happening.

I quickly checked the paper (Maass and Markram, 2002;  doi:10.1016/S0893-6080(01)00144-7) and equations (1-5).
I think that the model should not update weights with delay of one spike, since $\Delta t_n$ in the equations is actually $t_{n+1}-t_{n}$, i.e. referring to the new spike (it is explained in the sentence before equations), not to older spikes. (I believe here could be the issue, since interpreting $\Delta t_n$, as I would naturally do, as $t_{n}-t_{n-1}$ leads to this one spike delay of updates)

Effective weight for spike $n+1$, $A_{n+1}$ is given as
$A_{n+1}= A u_{n+1} R_{n+1}$
and $u_{n+1}$ depends on the times of the new spike $t_{n+1}$ and previous spike $t_{n}$

I will check Charl's PR later this week.

All the best,
Pavel

po 16. 12. 2024 v 22:19 odesílatel Charl Linssen <nest-users@turingbirds.com> napsal:
A little follow-up: I made a pull request with a suggested fix for this issue: https://github.com/nest/nest-simulator/pull/3384

Tom, Pavel, would you mind having a look to see if this addresses the issue?

Again, much obliged!
Charl


On Mon, Dec 16, 2024, at 11:14, Charl Linssen wrote:
> Hi Tom,
>
> Thanks for your input on this! I was just looking at the code too. It
> seems that the order of updates (first update adaptation variables,
> then send spike, versus first send spike, then update adaptation
> variables) was changed, in order to prevent the adaptation from kicking
> in for the very first spike to ever go through the synapse. See
> https://github.com/nest/nest-simulator/pull/1672/.) Notice that
> t_lastspike is initialised to zero, rather than some "special" value
> like -1. It is possible that this fix was erroneous, in that it ends up
> affecting not just the first-ever spike, but also subsequent spikes. I
> am investigating a bit more, but if you are convinced that the current
> behaviour is the correct one, then I can stop investigating.
>
> Much obliged!
> Charl
>
>
> On Mon, Dec 16, 2024, at 11:01, Tom Tetzlaff wrote:
>> Dear Pavel,
>>
>> I can confirm you observation, and I share your surprise. Intuitively,
>> one would expect that the synaptic state should return to the initial
>> state after the long period of silence. However, after consulting the
>> source papers (todyks_synapse: doi:10.1523/JNEUROSCI.20-01-j0003.2000,
>> tsodyks2_synapse: doi:10.1016/S0893-6080(01)00144-7) and looking at the
>> NEST code, I conclude that what the example shows is indeed the intended
>> behaviour.
>>
>> A key difference between tsodyks_synapse and todyks2_synapse is the
>> order of update steps: upon arrival of the presynaptic spike,
>> tsodyks_synapse first updates the synapse state (x,y,z,u; see lines
>> 258-277 in tsodyks_synapse.h), and then reports the new weight (line
>> 285
>> in tsodyks_synapse.h). In tsodyks2_synapse, this is reversed: first,
>> the
>> synaptic weight is computed based on the current (i.e., the old)
>> synapse
>> state (line 236 in tsodyks2_synapse.h), and then the synapse state is
>> updated (lines 243,244 in tsodyks2_synapse.h). When the first spike of
>> the second burst of presynaptic spikes arrives in the example
>> (https://nest-simulator.readthedocs.io/en/stable/auto_examples/evaluate_tsodyks2_synapse.html),
>> the recovery value of tsodyks2_synapse still is where it was at the end
>> of the first burst of spikes (before the break). This is exactly how
>> the
>> model is defined in (Maass and Markram, 2002;
>> doi:10.1016/S0893-6080(01)00144-7; see equations (1-5)). It needs one
>> more spike to really "recover".
>>
>> I hope this clarifies things a bit.
>>
>> Best
>> Tom
>>
>>
>>
>> On 12.12.24 12:05, Pavel Haman wrote:
>>> Hello,
>>>
>>> I have followed the example script comparing `tsodyks_synapse` and `tsodyks2_synapse` models, which can be found here:
>>> https://nest-simulator.readthedocs.io/en/stable/auto_examples/evaluate_tsodyks2_synapse.html
>>>
>>> Using the parameter set for depression instead of facilitation I found that `tsodyks2_synapse` model leads to weird peaks of synaptic currents (at least I would not expect that for short term depression) - during the second stimulation the weight rescaling seems to be shifted by one spike compared to tsodyks_synapse (as if parameter "u" would be updated after rescaling the weight instead of before).
>>>
>>> Does anybody know why is there this difference between the two synapse models?
>>>
>>> Thank you.
>>>
>>> All the best,
>>> PH
>>> _______________________________________________
>>> NEST Users mailing list -- users@nest-simulator.org
>>> To unsubscribe send an email to users-leave@nest-simulator.org
>>
>> --
>> ---
>>
>> Dr. Tom Tetzlaff
>> Institute for Advanced Simulation (IAS-6)
>> Computational and Systems Neuroscience
>> Jülich Research Centre
>> Jülich, Germany
>>
>> https://www.fz-juelich.de/profile/tetzlaff_t
>>
>>
>> -----------------------------------------------------------------------
>> -----------------------------------------------------------------------
>> Forschungszentrum Jülich GmbH
>> 52425 Jülich
>> Sitz der Gesellschaft: Jülich
>> Eingetragen im Handelsregister des Amtsgerichts Düren Nr. HR B 3498
>> Vorsitzender des Aufsichtsrats: MinDir Stefan Müller
>> Geschäftsführung: Prof. Dr. Astrid Lambrecht (Vorsitzende),
>> Karsten Beneke (stellv. Vorsitzender), Dr. Ir. Pieter Jansens
>> -----------------------------------------------------------------------
>> -----------------------------------------------------------------------
>>
>> _______________________________________________
>> NEST Users mailing list -- users@nest-simulator.org
>> To unsubscribe send an email to users-leave@nest-simulator.org
>>
>> Attachments:
>> * smime.p7s
> _______________________________________________
> NEST Users mailing list -- users@nest-simulator.org
> To unsubscribe send an email to users-leave@nest-simulator.org
_______________________________________________
NEST Users mailing list -- users@nest-simulator.org
To unsubscribe send an email to users-leave@nest-simulator.org