Next: , Previous: RNGs, Up: RNGs


6.1 Base Generators

The five base generators (BRNGs) supplied with the ACML are; the NAG basic generator [9], a series of Wichmann-Hill generators [10], the Mersenne Twister [11], L'Ecuyer's combined recursive generator MRG32k3a [12] and the Blum-Blum-Shub generator [8].

If a single stream of variates is required it is recommended that the Mersenne Twister (Mersenne Twister) base generator is used. This generator combines speed with good statistical properties and an extremely long period. The NAG basic generator (Basic NAG Generator) is another quick generator suitable for generating a single stream. However it has a shorter period than the Mersenne Twister and being a linear congruential generator, its statistical properties are not as good.

If 273 or fewer multiple streams, with a period of up to 2^(80) are required then it is recommended that the Wichmann-Hill generators are used (Wichmann-Hill Generator). For more streams or multiple streams with a longer period it is recommended that the L'Ecuyer combined recursive generator (L'Ecuyer's Combined Recursive Generator) is used in combination with the skip ahead routine (Skip Ahead). Generating multiple streams of variates by skipping ahead is generally quicker than generating the streams using the leap frog method. More details on multiple streams can be found in Multiple Streams.

The Blum-Blum-Shub generator (Blum-Blum-Shub Generator) should only be used if a cryptologically secure generator is required. This generator is extremely slow and has poor statistical properties when used as a base generator for any of the distributional generators.