RANDU[1] is a linear congruential pseudorandom number generator (LCG) of the Park–Miller type, which was used primarily in the 1960s and 1970s.
which are uniformly distributed in the interval [1, 231 − 1], but in practical applications are often mapped into pseudorandom rationals
in the interval (0, 1), by the formula IBM's RANDU is widely considered to be one of the most ill-conceived random number generators ever designed,[3] and was described as "truly horrible" by Donald Knuth.
[4] It fails the spectral test badly for dimensions greater than 2, as shown below.
The reason for choosing these particular values for the multiplier and modulus had been that with a 32-bit-integer word size, the arithmetic of mod 231 and
calculations could be done quickly, using bitwise operators in hardware, but the values were chosen for computational convenience, not statistical quality.
[5] This indicates that low-modulus LCGs are unsuited to high-dimensional Monte Carlo simulation.
A much tighter upper bound is proved in the same Marsaglia paper to be the sum of the absolute values of all the coefficients of the hyperplanes in standard form.
Start by writing the recursive relation as which after expanding the quadratic factor becomes (because 232 mod 231 = 0) and allows us to show the correlation between three points as Summing the absolute values of the coefficients, we get no more than 16 planes in 3D, becoming only 15 planes on closer examination, as shown in the diagram above.
[6] This misbehavior was already detected in 1963[7] on a 36-bit computer, and carefully reimplemented[clarification needed] on the 32-bit IBM System/360.
It was believed to have been widely purged by the early 1990s[8] but there were still FORTRAN compilers using it as late as 1999.