MIXMAX generator

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
MIXMAX generator
Mixmax rplot.png
Classpseudorandom number generator
Data structureArray
Worst-case performanceO(n )
Best-case performanceO(n )
Average performanceO(n )
Worst-case space complexityO(n)

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.[1]

A fast implementation in C/C++ of the generator was developed by Konstantin Savvidy.[2] The period of the generator is and the Kolmogorov entropy is for the matrix size [3]. That generator occupies less than 2kb, 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[4] and there exists a ROOT interface [5]. It has been recently tested extensively on very wide variety of platforms, as part of the CLHEP/Geant4 release.

An analysis by L’Ecuyer, Wambergue and Bourceret[6], see also [7], showed that MIXMAX generators, just as all other Multiple Recursive Generators and linear congruential generators, has a lattice structure and that the produced random numbers, when considered as coordinate in a n > N - dimentional space, lie on a set of parallel hyperplanes and determined the maximum distance between the covering hyperplanes.


  1. ^ Savvidy, G.K; Ter-Arutyunyan-Savvidy, N.G (1991). "On the Monte Carlo simulation of physical systems". Journal of Computational Physics. 97 (2): 566. Bibcode:1991JCoPh..97..566S. doi:10.1016/0021-9991(91)90015-D.
  2. ^ K. Savvidy (2015). "The MIXMAX Random Number Generator". Computer Physics Communications. 196: 161–165. arXiv:1403.5355. Bibcode:2015CoPhC.196..161S. doi:10.1016/j.cpc.2015.06.003.
  3. ^ K. Savvidy and G.Savvidy (2015). "Spectrum and Entropy of C-systems MIXMAX Random Number Generator". Chaos, Solitons and Fractals. 91: 33–38. arXiv:1510.06274. Bibcode:2016CSF....91...33S. doi:10.1016/j.chaos.2016.05.003.
  4. ^ "Geant4/CLHEP - A Class Library for High Energy Physics". proj-clhep.web.cern.ch. Retrieved 2016-04-09.
  5. ^ "ROOT - ROOT::Math::MixMaxEngine Class". root.cern.ch. Retrieved 2016-04-09.
  6. ^ Pierre L’Ecuyer, Paul Wambergue, and Erwan Bourceret (September 22, 2017). "Spectral Analysis of the MIXMAX Random Number Generators" (PDF).CS1 maint: Multiple names: authors list (link)
  7. ^ N.Martirosyan, K.Savvidy, and G.Savvidy (Nov 19, 2018). "Spectral Test of the MIXMAX Random Number Generator". Chaos, Solitons and Fractals. 118: 242–248. arXiv:1806.05243. doi:10.1016/j.chaos.2018.11.024.CS1 maint: Multiple names: authors list (link)

External links[edit]