Abstract
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.
This work was supported in part by EPSRC grant GR/N35366.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Anonymous, Random number generation and testing, NIST (December 2000), http://csrc.nist.gov/rng/
Anonymous, True randomness on request, University ofGeneva and id Quantique (May 2004), http://www.randomnumber.info
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 http://www.comlab.ox.ac.uk/oucl/work/richard.brent/random.html
Brent, R.P.: On the periods of generalized Fibonacci recurrences. Math. Comp. 63, 389–401 (1994)
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)
Brent, R.P.: Note on Marsaglia’s xorshift random number generators. J. of Statistical Software 11(5), 1–4 (2004), http://www.jstatsoft.org
Brent, R.P.: Some comments on C. S. Wallace’s random number generators. Computer J. (to appear), Preprint at http://www.comlab.ox.ac.uk/oucl/work/richard.brent/pub/pub213.html
Brent, R.P., McKay, B.D.: Determinants and ranks of random matrices over Zm. Discrete Mathematics 66, 35–49 (1987), http://www.comlab.ox.ac.uk/oucl/work/richard.brent/pub/pub094.html
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 http://www.comlab.ox.ac.uk/oucl/work/richard.brent/pub/pub211.html
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 http://www.comlab.ox.ac.uk/oucl/work/richard.brent/pub/pub212.html
Coddington, P.D.: Random number generators for parallel computers. The NHSE Review 2 (1996), http://nhse.cs.rice.edu/NHSEreview/RNG/PRNGreview.ps
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)
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)
Gimeno, P.: Problem with ran array, personal communication, September 10 (2001)
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), http://www.bell-labs.com/user/shriver/random.html
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)
Knuth, D.E.: The Art of Computer Programming, 3rd edn. Seminumerical Algorithms, vol. 2. Addison-Wesley, Menlo Park (1998)
Knuth, D.E.: A better random number generator (January 2002), http://www-csfaculty.stanford.edu/~knuth/news02.html
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)
L’Ecuyer, P.: Random numbers for simulation. Comm. ACM 33(10), 85–97 (1990)
L’Ecuyer, P.: Tables of maximally equidistributed combined LFSR generators. Mathematics of Computation 68, 261–269 (1999)
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)
Knight, W.: Prize draw uses heat for random numbers, New Scientist, August 17 (2004), http://www.newscientist.com/news/news.jsp?id=ns99996289
Lüscher, M.: A portable high-quality random number generator for lattice field theory simulations. Computer Physics Communications 79, 100–110 (1994)
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)
Marsaglia, G.: Diehard (1995), Available from http://stat.fsu.edu/~geo/
Marsaglia, G.: Xorshift RNGs. J. of Statistical Software 8(14), 1–9 (2003), http://www.jstatsoft.org
Marsaglia, G., Tsang, W.W.: Some difficult-to-pass tests of randomness. J. of Statistical Software 7(3), 1–9 (2002), http://www.jstatsoft.org
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)
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 http://www.math.keio.ac.jp/~matumoto/emt.html
Menezes, J., van Oorschot, P.C., Vanstone, S.A.: Handbook of Applied Cryptography. CRC Press, New York (1997), http://cacr.math.uwaterloo.ca/hac/
Niederreiter, H.: Random Number Generation and Quasi-Monte Carlo Methods. In: CBMS-NSF Regional Conference Series in Applied Mathematics, vol. 63, SIAM, Philadelphia (1992)
Petersen, W.P.: Lagged Fibonacci series random number generators for the NEC SX-3, Internat. J. High Speed Computing 6, 387–398 (1994)
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)
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)
Vattulainen, I., Ala-Nissila, T., Kankaala, K.: Physical tests for random numbers in simulations. Phys. Review Letters 73, 2513–2516 (1994)
Walker, J.: HotBits: Genuine random numbers, generated by radioactive decay, Fourmilab Switzerland (April 2004), http://www.fourmilab.ch/hotbits/
Wallace, C.S.: Physically random generator. Computer Systems Science and Engineering 5, 82–88 (1990)
Wallace, C.S.: Fast pseudo-random generators for normal and exponential variates. ACM Trans. on Mathematical Software 22, 119–127 (1996)
Ziff, R.M.: Four-tap shift-register-sequence random-number generators. Computers in Physics 12, 385–392 (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Brent, R.P. (2006). Fast and Reliable Random Number Generators for Scientific Computing. In: Dongarra, J., Madsen, K., Waśniewski, J. (eds) Applied Parallel Computing. State of the Art in Scientific Computing. PARA 2004. Lecture Notes in Computer Science, vol 3732. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11558958_1
Download citation
DOI: https://doi.org/10.1007/11558958_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29067-4
Online ISBN: 978-3-540-33498-9
eBook Packages: Computer ScienceComputer Science (R0)