MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

Multiple independent random number streams cannot be implemented.

  • To: mathgroup at smc.vnet.net
  • Subject: [mg130148] Multiple independent random number streams cannot be implemented.
  • From: Roger Wilson <rogerhw999 at gmail.com>
  • Date: Thu, 14 Mar 2013 07:14:50 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net

Hopefully the title is enough of a red flag for someone to try to prove me wrong.

I want to implement two functions; lets call them f and g so that they both return random numbers.  For example...

f[]:=RandomReal[];
g[]:=RandomReal[];

However I want f and g to return the same number when they're called for the nth time.  So the first call to f is always the same number and the first call to g is always the same number.

In the above case (on my machine)...
SeedRandom[1]; {f[], g[]} gives {0.168697, 0.113119}

and of course..
SeedRandom[1]; {g[], f[]} gives the same {0.817389, 0.11142}

Essentially I want f and g to to be independent random sources.

It is possible to localize the random number generators using BlockRandom but I do not see how that helps me in this case.  BlockRandom localizes the state of the random number generators within the block where as I want to localize them into the symbol names.

Roger



  • Prev by Date: Re: Noob requests help with recursive formula
  • Next by Date: Re: Visible mesh edges in PDF output of 3D graphic
  • Previous by thread: Change Tooltip on Google Network Graph
  • Next by thread: Re: Multiple independent random number streams cannot be implemented.