Prime modulus multiplicative linear congruential generator

From SklogWiki
Jump to navigation Jump to search

The prime modulus multiplicative linear congruential generator is a special type of linear congruential generator, given by:

The parameter should be prime and as large as possible without causing a numerical overflow on the computer that it is running on. For example, for a 32-bit (31 bit + 1 sign bit) word size then the logical choice of is the Mersenne prime

,

with (a positive primitive root of see Ref.s 1 and 2), and . With these parameters one is able to generate a series of pseudo-random numbers from one seed value. For an interesting discussion on how to choose an initial seed value see Ref. 3. For a list of other values of and see Ref.4 and for its use on 64-bit computers see Ref. 5.

References[edit]

  1. D. W. Hutchinson, "A New Uniform Pesudorandom Number Generator", Communications of the ACM, 9 pp. 432-433 (1966)
  2. P. A. W. Lewis and A. S. Goodman and J. M. Miller, "A pseudo-random number generator for the System/360", IBM Systems Journal 2 pp. 136 (1969)
  3. G. Marsaglia, "Seeds for Random Number Generators",Communications of the ACM, 46 pp. 90-93 (2003)
  4. Pierre L'Ecuyer, "Tables of linear congruential generators of different sizes and good lattice structure", Mathematics of Computation, 68 pp. 249 - 260 (1999)
  5. Iosif G. Dyadkin and Kenneth G. Hamilton "A study of 64-bit multipliers for Lehmer pseudorandom number generators", Computer Physics Communications, 103 pp. 103-130 (1997)
  6. Iosif G. Dyadkin and Kenneth G. Hamilton "A study of 128-bit multipliers for congruential pseudorandom number generators", Computer Physics Communications, 125 pp. 239-258 (2000)