[SciPy-user] Generating and Sampling Random Numbers
Lorenzo Isella
lorenzo.isella at gmail.com
Thu Oct 11 17:38:24 EDT 2007
Dear All,
I will probably soon have to deal with the following problem.
Think about a 2D box (a simple rectangle) containing a particle
(actually many particles) undergoing Brownian motion (or some stochastic
process in general) in the box.
Simulating its dynamics requires an integration scheme which in turn
relies on sampling a random normally-distributed variable at every time
step.
Here is my problem: in general I should not call e.g. stats.norm.rvs at
every time step, since it amounts to continually re-initializing the
random number generator, and any generator is guaranteed to have good
"randomness" only within a sequence. Instead frequent initializations,
i.e. many independent callings rather than generating a single long
sequence, may introduce some correlations in the sampled numbers.
However, it is rather cumbersome to do something like:
my_random=stats.norm.rvs(size=100000, loc=0.)
and then read a number from the my_random array at every time step while
also keeping track of the position of the last read number on the array.
Is there any better way of doing this?
Many thanks
Lorenzo
More information about the SciPy-User
mailing list