MIXMAX generator

The MIXMAX generator is a family of pseudorandom number generators (PRNG) and is based on Anosov C-systems (Anosov diffeomorphism) and Kolmogorov K-systems (Kolmogorov automorphism). It was introduced in a 1986 preprint by G. Savvidy and N. Ter-Arutyunyan-Savvidy and published in 1991.

A fast implementation in C/C++ of the generator was developed by Konstantin Savvidy. It is genuine 64-bit generator. The period of the generator is and the Kolmogorov entropy is for the matrix size . That generator occupies less than 2 kb, and if a smaller generator state is required, a N = 17 version with less than 200 bytes memory requirement also exists.

The generator works on most 64-bit systems, including 64-bit Linux flavors and Intel Mac. It has also been tested on PPC and ARM architectures. The latest version also runs on 32-bit systems and on Windows. The generator is equally usable with C++ programs, has been chosen as the default generator in CLHEP for use in Geant4 and there exists a ROOT interface and a PYTHIA interface. It has been recently tested extensively on very wide variety of platforms, as part of the CLHEP/Geant4 release. EU-funded MIXMAX project

An analysis by L’Ecuyer, Wambergue and Bourceret, see also, showed that MIXMAX generators has a lattice structure when the produced random numbers are considered in n - dimensional space larger than the dimension N of the matrix generator, and only in that high dimensions n > N they lie on a set of parallel hyperplanes and determined the maximum distance between the covering hyperplanes.

References

Uses material from the Wikipedia article MIXMAX generator, released under the CC BY-SA 4.0 license.