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