State of PRNG code in GMP

Bradley Lucier lucier at purdue.edu
Wed Jun 3 02:43:27 UTC 2020


I'd like to point out some work by Pierre L'Ecuyer at the University of 
Montreal on PRNG that impressed me and which formed the basis of 
Scheme's SRFI 27:

https://srfi.schemers.org/srfi-27/

The problems that L'Ecuyer is trying to overcome are

1.  Each simulation typically requires several/many streams of PRNGs 
that have mathematically provable independence properties over long 
samples. (Each arrival queue and server in a server model, etc.)

2.  To get confidence intervals, one would like to repeat the simulation 
with a new independent set of streams of PRNGs.

So one needs independent streams (between simulations) and substreams 
(within simulations).

L'Ecuyer has developed Combined Multiple Recursive Random Number 
Generators for this purpose (basically combining multiple Linear 
Congruential Generators with various levels of state), as well as new 
methods for implementing the so-called "spectral tests" to evaluate the 
independence of random streams in high dimensions as described by Knuth, 
AOCP, Volume 2.

His two most relevant papers might be:

Good Parameters and Implementations for Combined Multiple Recursive 
Random Number Generators

http://www-labs.iro.umontreal.ca/~lecuyer/myftp/papers/opres-combmrg2-1999.pdf

and, to a lesser extent, AN OBJECT-ORIENTED RANDOM-NUMBER PACKAGEWITH 
MANY LONG STREAMS AND SUBSTREAMS:

https://www.iro.umontreal.ca/~lecuyer/myftp/papers/streams00.pdf

This message from L'Ecuyer to the SRFI 27 mail list claims that his 
approach had been adopted by two large simulation vendors.

https://srfi-email.schemers.org/srfi-27/msg/2784343/

I don't know whether this is of interest to GMP developers.

Brad Lucier


More information about the gmp-devel mailing list