MIXMAX generator

MIXMAX generator
Classpseudorandom number generator
Data structureArray
Worst-case performanceO(n)
Best-case performanceO(n)
Average performanceO(n)
Worst-case space complexityO(n)
OptimalYes

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]

The first realization of MIXMAX generator as a Fortran code, as well the first statistical tests were performed by Norayr Akopov. [2] The abbreviation MIXMAX for the created generator was first introduced in this article.

A fast implementation in C/C++ of the generator was developed by Konstantin Savvidy.[3] It is genuine 64-bit generator. The period of the generator is and the Kolmogorov entropy is for the matrix size .[4] 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,[5] has been chosen as the default generator in CLHEP[6] for use in Geant4[7] and there exists a ROOT interface [8] and a PYTHIA interface. [9] It has been recently tested extensively on very wide variety of platforms, as part of the CLHEP/Geant4 release. EU-funded MIXMAX project [10]

An analysis by L’Ecuyer, Wambergue and Bourceret,[11] see also,[12] 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

  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–572. Bibcode:1991JCoPh..97..566S. doi:10.1016/0021-9991(91)90015-D.
  2. ^ Akopov, N.Z.; Savvidy, G.K; Ter-Arutyunyan-Savvidy, N.G (1991). "MATRIX GENERATOR OF PSEUDORANDOM NUMBERS". Journal of Computational Physics. 97 (2): 573–579. Bibcode:1991JCoPh..97..566S. doi:10.1016/0021-9991(91)90016-E.
  3. ^ Savvidy, K. (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. S2CID 16908633.
  4. ^ Savvidy, K.; Savvidy, G. (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. S2CID 119291387.
  5. ^ "boost". proj-www.boost.org.
  6. ^ "CLHEP". proj-clhep.web.cern.ch.
  7. ^ "Geant4". proj-clhep.web.cern.ch. 15 December 2022.
  8. ^ "ROOT - ROOT::Math::MixMaxEngine Class". root.cern.ch. Retrieved 2016-04-09.
  9. ^ "PYTHIA - PYTHIA::Random::MixMaxRndm class". thep.lu.se. Retrieved 2022-01-01.
  10. ^ "Fastest random number generator could cut energy bills". commission.europa.eu/index_en.
  11. ^ L’Ecuyer, Pierre; Wambergue, Paul; Bourceret, Erwan (September 22, 2017). "Spectral Analysis of the MIXMAX Random Number Generators" (PDF).
  12. ^ Martirosyan, N.; Savvidy, K.; Savvidy, G. (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. S2CID 51687163.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.