Pseudorandom Numbers

Algorithms for generating numbers according to a particular probability distribution. For example, the two most common problems are generating integers uniformly between 1 and n, and generating real numbers uniformly between 0 and 1. Other common distributions include Gaussian and Poisson. Because most random-number-generation algorithms have no influence from the outside environment, they are inherently pseudorandom: predictable, and following a pattern, also ideally not an apparent one. Thus the quote: "Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin." - John von Neumann (1951) A classic reference on this topic, and a good starting point, is Donald Knuth's Art of Computer Programming. "Random number generators should not be chosen at random." - Donald Knuth (1986) Another good reference, for nonuniform random number generation in particular, is Luc Devroye's Non-Uniform Random Variate Generation (Springer-Verlag); see also his page in this category. There are also some approaches that claim to be "truly random," based on outside data like radioactive decay and white noise from deep space. However, randomness is inherently a theoretical notion, and is difficult to exhibit perfectly in real life, unless perhaps we fully master quantum mechanics.

Netlib: Random Number Generators Source code for various random number generators in C and Fortran, including the well-known RANLIB library supporting many continuous and discrete probability distributions.

NIST: Random Number Generation and Testing Project to develop a battery of statistical tests to detect nonrandomness in binary sequences, to produce documentation and a software implementation of these tests, and to provide guidance in the use of these tests.

The pLab Project A server on the theory and practice of random number generation.

UNURAN Universal Non-Uniform RANdom number generators: a GPL library of C functions to generate nonuniform random numbers, by Josef Leydold and Wolfgang Hoermann of the University of Economics, Vienna.