  Random numbers play a crucial role in science and industry. Many numerical
methods require the use of random numbers, in particular the Monte Carlo
method. Therefore it is of paramount importance to have efficient random number
generators. The differences, advantages and disadvantages of true and pseudo
random number generators are discussed with an emphasis on the intrinsic
details of modern and fast pseudo random number generators. Furthermore,
standard tests to verify the quality of the random numbers produced by a given
generator are outlined. Finally, standard scientific libraries with built-in
generators are presented, as well as different approaches to generate
nonuniform random numbers. Potential problems that one might encounter when
using large parallel machines are discussed.
