Hello,
I have an issue regarding random generation in nest version 2.18 with Python3.6. I attach a small python script that replicates my issue (less than 50 lines).
In short, I am trying to create two Poisson generators and connect them to the same neuron.
I noticed that if I reverse the order by which these Poisson generators are created (using the nest.Create()) function, then I get a different membrane potential response over time.
In the code, noise_exc is created before noise_inh. If that order is reversed, the plot is different.
My hunch is that this has to do with how nest generates random numbers. So I tried to force the creation of Poisson generators by providing a seed (lines 15 and 18). However this behavior persists.
Do you have any insights as to why this happens?
At the end of the script (lines 32-43) I provide a trivial case of the desired behavior I am trying to replicate.
Thank you for your time
Angeliki
Hi Angeliki!
The behaviour you observe is the expected behaviour of NEST. Slightly simplified, NEST has a single random number generator. Network elements are updated in the order in which they are created. So if you create noise_exc first, then in each update round, noise_exc will consume random numbers first and generates its output, afterwards noise_inc is updated and consumes random numbers. If you create noise_inh first, it will be the other way around.
The seed you set applies to the single random number generator, so it is the last seed set before you call Simulate() that is relevant.
Best regards, Hans Ekkehard
On 20 Jan 2020, at 11:03, Angeliki Papadimitriou <angpap@kth.semailto:angpap@kth.se> wrote:
Hello,
I have an issue regarding random generation in nest version 2.18 with Python3.6. I attach a small python script that replicates my issue (less than 50 lines).
In short, I am trying to create two Poisson generators and connect them to the same neuron.
I noticed that if I reverse the order by which these Poisson generators are created (using the nest.Create()) function, then I get a different membrane potential response over time.
In the code, noise_exc is created before noise_inh. If that order is reversed, the plot is different.
My hunch is that this has to do with how nest generates random numbers. So I tried to force the creation of Poisson generators by providing a seed (lines 15 and 18). However this behavior persists.
Do you have any insights as to why this happens?
At the end of the script (lines 32-43) I provide a trivial case of the desired behavior I am trying to replicate.
Thank you for your time
Angeliki
-- [Kth Logo] Angeliki Papadimitriou Research Engineer KTH Royal Institute of Technology
School of Electrical Engineering and Computer Science (EECS) Division of Computational Science and Technology (CST)
Computational Brain Science Unit
Room 4438, Floor 4, Lindstedtsvägen 5 11428 Stockholm, Sweden
angpap@kth.semailto:namn@kth.se
<nest_rng_question.py>_______________________________________________ NEST Users mailing list -- users@nest-simulator.orgmailto:users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.orgmailto:users-leave@nest-simulator.org
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
Thank you for your prompt response.
Best Angeliki
On Mon, 20 Jan 2020 at 11:24, Hans Ekkehard Plesser < hans.ekkehard.plesser@nmbu.no> wrote:
Hi Angeliki!
The behaviour you observe is the expected behaviour of NEST. Slightly simplified, NEST has a single random number generator. Network elements are updated in the order in which they are created. So if you create noise_exc first, then in each update round, noise_exc will consume random numbers first and generates its output, afterwards noise_inc is updated and consumes random numbers. If you create noise_inh first, it will be the other way around.
The seed you set applies to the single random number generator, so it is the last seed set before you call Simulate() that is relevant.
Best regards, Hans Ekkehard
On 20 Jan 2020, at 11:03, Angeliki Papadimitriou angpap@kth.se wrote:
Hello,
I have an issue regarding random generation in nest version 2.18 with Python3.6. I attach a small python script that replicates my issue (less than 50 lines).
In short, I am trying to create two Poisson generators and connect them to the same neuron.
I noticed that if I reverse the order by which these Poisson generators are created (using the nest.Create()) function, then I get a different membrane potential response over time.
In the code, noise_exc is created before noise_inh. If that order is reversed, the plot is different.
My hunch is that this has to do with how nest generates random numbers. So I tried to force the creation of Poisson generators by providing a seed (lines 15 and 18). However this behavior persists.
Do you have any insights as to why this happens?
At the end of the script (lines 32-43) I provide a trivial case of the desired behavior I am trying to replicate.
Thank you for your time
Angeliki
-- [image: Kth Logo] Angeliki Papadimitriou Research Engineer KTH Royal Institute of Technology
*School of Electrical Engineering and Computer Science (EECS) **Division of Computational Science and Technology (CST)*
Computational Brain Science Unit
Room 4438, Floor 4, Lindstedtsvägen 5 11428 Stockholm, Sweden
angpap@kth.se namn@kth.se
<nest_rng_question.py>_______________________________________________ NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org