Fast and Reliable Random Number Generators for Scientific Computing

  • Richard P. Brent
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3732)


Fast and reliable pseudo-random number generators are required for simulation and other applications in Scientific Computing. We outline the requirements for good uniform random number generators, and describe a class of generators having very fast vector/parallel implementations with excellent statistical properties. We also discuss the problem of initialising random number generators, and consider how to combine two or more generators to give a better (though usually slower) generator.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Anonymous, Random number generation and testing, NIST (December 2000),
  2. 2.
    Anonymous, True randomness on request, University ofGeneva and id Quantique (May 2004),
  3. 3.
    Brent, R.P.: Some uniform and normal random number generators, ranut version 1.03 (January 2002) and xorgens version 2.01 (August 2004), Available from
  4. 4.
    Brent, R.P.: On the periods of generalized Fibonacci recurrences. Math. Comp. 63, 389–401 (1994)MATHMathSciNetCrossRefGoogle Scholar
  5. 5.
    Brent, R.P.: Random number generation and simulation on vector and parallel computers. In: Pritchard, D., Reeve, J.S. (eds.) Euro-Par 1998. LNCS, vol. 1470, pp. 1–20. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  6. 6.
    Brent, R.P.: Note on Marsaglia’s xorshift random number generators. J. of Statistical Software 11(5), 1–4 (2004), Google Scholar
  7. 7.
    Brent, R.P.: Some comments on C. S. Wallace’s random number generators. Computer J. (to appear), Preprint at
  8. 8.
    Brent, R.P., McKay, B.D.: Determinants and ranks of random matrices over Zm. Discrete Mathematics 66, 35–49 (1987),
  9. 9.
    Brent, R.P., Zimmermann, P.: Random number generators with period divisible by a Mersenne prime. In: Kumar, V., Gavrilova, M.L., Tan, C.J.K., L’Ecuyer, P. (eds.) ICCSA 2003. LNCS, vol. 2667, pp. 1–10. Springer, Heidelberg (2003), Preprint at
  10. 10.
    Brent, R.P., Zimmermann, P.: Algorithms for finding almost irreducible and almost primitive trinomials. In: Primes and Misdemeanours: Lectures in Honour of the Sixtieth Birthday of Hugh Cowie Williams, Fields Institute, Toronto, pp. 91–102 (2004), Preprint at
  11. 11.
    Coddington, P.D.: Random number generators for parallel computers. The NHSE Review 2 (1996),
  12. 12.
    Coppersmith, D., Krawczyk, H., Mansour, Y.: The shrinking generator. In: Stinson, D.R. (ed.) CRYPTO 1993. LNCS, vol. 773, pp. 22–39. Springer, Heidelberg (1994)Google Scholar
  13. 13.
    Ferrenberg, M., Landau, D.P., Wong, Y.J.: Monte Carlo simulations: hidden errors from “good” random number generators. Phys. Review Letters 69, 3382–3384 (1992)CrossRefGoogle Scholar
  14. 14.
    Gimeno, P.: Problem with ran array, personal communication, September 10 (2001)Google Scholar
  15. 15.
    Jakobsson, M., Shriver, E., Hillyer, B.K., Juels, A.: A practical secure physical random bit generator. In: Proc. Fifth ACMConference on Computer and Communications Security (November 1998),
  16. 16.
    Juels, A., Jakobsson, M., Shriver, E., Hillyer, B.K.: How to turn loaded dice into fair coins. IEEE Trans. on Information Theory 46, 911–921 (2000)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Knuth, D.E.: The Art of Computer Programming, 3rd edn. Seminumerical Algorithms, vol. 2. Addison-Wesley, Menlo Park (1998)Google Scholar
  18. 18.
    Knuth, D.E.: A better random number generator (January 2002),
  19. 19.
    Kumada, T., Leeb, H., Kurita, Y., Matsumoto, M.: New primitive t-nomials (t = 3, 5) over GF(2) whose degree is a Mersenne exponent. Math. Comp. 69, 811–814 (2000); Corrigenda: ibid 71, 1337–1338 (2002)Google Scholar
  20. 20.
    L’Ecuyer, P.: Random numbers for simulation. Comm. ACM 33(10), 85–97 (1990)CrossRefGoogle Scholar
  21. 21.
    L’Ecuyer, P.: Tables of maximally equidistributed combined LFSR generators. Mathematics of Computation 68, 261–269 (1999)MATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    L’Ecuyer, P.: Random number generation. In: Gentle, J.E., Haerdle, W., Mori, Y. (eds.) Handbook of Computational Statistics. ch. 2, pp. 35–70. Springer, Heidelberg (2004)Google Scholar
  23. 23.
    Knight, W.: Prize draw uses heat for random numbers, New Scientist, August 17 (2004),
  24. 24.
    Lüscher, M.: A portable high-quality random number generator for lattice field theory simulations. Computer Physics Communications 79, 100–110 (1994)MATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Marsaglia, G.: A current view of random number generators. In: Computer Science and Statistics: The Interface, pp. 3–10. Elsevier Science Publishers, B. V. (1985)Google Scholar
  26. 26.
    Marsaglia, G.: Diehard (1995), Available from
  27. 27.
    Marsaglia, G.: Xorshift RNGs. J. of Statistical Software 8(14), 1–9 (2003), Google Scholar
  28. 28.
    Marsaglia, G., Tsang, W.W.: Some difficult-to-pass tests of randomness. J. of Statistical Software 7(3), 1–9 (2002), Google Scholar
  29. 29.
    Mascagni, M., Robinson, M.L., Pryor, D.V., Cuccaro, S.A.: Parallel pseudorandom number generation using additive lagged-Fibonacci recursions. In: Lecture Notes in Statistics, vol. 106, pp. 263–277. Springer, Berlin (1995)Google Scholar
  30. 30.
    Matsumoto, M., Nishimura, T.: Mersenne twister: A 623-dimensionally equidistributed uniform pseudorandom number generator. ACM Transactions on Modeling and Computer Simulations 8, 3–30 (1998), Also MATHCrossRefGoogle Scholar
  31. 31.
    Menezes, J., van Oorschot, P.C., Vanstone, S.A.: Handbook of Applied Cryptography. CRC Press, New York (1997), MATHGoogle Scholar
  32. 32.
    Niederreiter, H.: Random Number Generation and Quasi-Monte Carlo Methods. In: CBMS-NSF Regional Conference Series in Applied Mathematics, vol. 63, SIAM, Philadelphia (1992)Google Scholar
  33. 33.
    Petersen, W.P.: Lagged Fibonacci series random number generators for the NEC SX-3, Internat. J. High Speed Computing 6, 387–398 (1994)CrossRefGoogle Scholar
  34. 34.
    Shchur, L.N., Heringa, J.R., Blöte, H.W.J.: Simulation of a directed random-walk model: the effect of pseudo-random-number correlations. Physica A 241, 579 (1997)CrossRefGoogle Scholar
  35. 35.
    Tezuka, S., L’Ecuyer, P., Couture, R.: On the add-with-carry and subtract-with-borrow random number generators. ACM Trans. on Modeling and Computer Simulation 3, 315–331 (1993)MATHCrossRefGoogle Scholar
  36. 36.
    Vattulainen, I., Ala-Nissila, T., Kankaala, K.: Physical tests for random numbers in simulations. Phys. Review Letters 73, 2513–2516 (1994)CrossRefGoogle Scholar
  37. 37.
    Walker, J.: HotBits: Genuine random numbers, generated by radioactive decay, Fourmilab Switzerland (April 2004),
  38. 38.
    Wallace, C.S.: Physically random generator. Computer Systems Science and Engineering 5, 82–88 (1990)Google Scholar
  39. 39.
    Wallace, C.S.: Fast pseudo-random generators for normal and exponential variates. ACM Trans. on Mathematical Software 22, 119–127 (1996)MATHCrossRefGoogle Scholar
  40. 40.
    Ziff, R.M.: Four-tap shift-register-sequence random-number generators. Computers in Physics 12, 385–392 (1998)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Richard P. Brent
    • 1
  1. 1.Oxford University Computing LaboratoryOxfordUK

Personalised recommendations