zbMATH — the first resource for mathematics

A practical approach to testing random number generators in computer algebra systems. (English. Russian original) Zbl 07264240
Comput. Math. Math. Phys. 60, No. 1, 65-73 (2020); translation from Zh. Vychisl. Mat. Mat. Fiz. 60, No. 1, 70-79 (2020).
Summary: This paper has a practical aim. For a long time, implementations of pseudorandom number generators in standard libraries of programming languages had poor quality. The situation started to improve only recently. Up to now, a large number of libraries and weakly supported mathematical packages use outdated algorithms for random number generation. Four modern sets of statistical tests that can be used for verifying random number generators are described. It is proposed to use command line utilities, which makes it possible to avoid low-level programming in such languages as C or C++. Only free open source systems are considered.
68 Computer science
65 Numerical analysis
Full Text: DOI
[1] I. I. Drozdova and V. V. Zhilin, “Random and pseudorandom number generators,” Proceedings of the 7th International Scientific Conference on Engineering Sciences in Russia and Abroad (Buki-Vedi, Moscow, 2017), pp. 13-15. https://moluch.ru/conf/tech/archive/286/13233
[2] V. F. Kolchin, B. A. Sevast’yanov, and V. P. Chistyakov, Random Arrangements (Nauka, Moscow, 1976) [in Russian].
[3] M. I. Tikhomirova and V. P. Chistyakov, “Statistical tests designed for detecting some kinds of dependences between random sequences,” Trudy Discr. Mat. 3, 357-376 (2006). http://mi.mathnet.ru/tdm153
[4] M. I. Tikhomirova and V. P. Chistyakov, “Statistical empty cells-like test,” Mat. Vopr. Kriptograf. 1 (1), 101-108 (2010). http://mi.mathnet.ru/mvk.
[5] L. O. Kirichenko, R. I. Tsekhmistro, O. Ya. Krug, and A. V. Storozhenko, “Comparative analysis of pseudorandom number generators in modern wireless data transmission technologies,” Sist. Obrab. Inf. 4 (48), 70-74 (2009). http://www.hups.mil.gov.ua/periodic-app/article/6508
[6] Tyurin, Yu. N.; Makarov, A. A., Statistical Computer Data Analysis (1998), Moscow: INFRA, Moscow
[7] D. E. Knuth, The Art of Computer Programming, Vol. 2: Semi-numerical Algorithms (Addison-Wesley, Reading, Mass., 1968). · Zbl 0191.17903
[8] Maple home site, 2019. https://www.maplesoft.com/products/maple/
[9] Mathematica home site, 2018. https://www.wolfram.com/mathematica/
[10] SymPy home site, 2019. http://www.sympy.org/ru/index. html.
[11] Matsumoto, M.; Nishimura, T., Mersenne Twister: A 623-dimensionally equidistributed uniform pseudo-random number generator, ACM Trans. Model. Comput. Simul., 8, 3-30 (1998) · Zbl 0917.65005
[12] Panneton, F.; L’Ecuyer, P., On the Xorshift random number generators, ACM Trans. Model. Comput. Simul., 15, 346-361 (2005) · Zbl 1390.65015
[13] M., E., O’Neill, PCG: A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation, Report No. HMC-CS-2014-0905 (2014), Claremont, CA: Harvey Mudd College, Claremont, CA
[14] Boldi, P.; Vigna, S., On the lattice of antichains of finite intervals, Order, 35, 57-81 (2018) · Zbl 1412.06004
[15] G. Marsaglia, The Marsaglia Random Number CDROM including the Diehard Battery of Tests of Randomness, 1995. https://web.archive.org/web/20160125103112/http://stat.fsu.edu/pub/diehard/
[16] P. L’Ecuyer and R. Simard, TestU01—Empirical Testing of Random Number Generators, 2009. http://simul. iro.umontreal.ca/testu01/tu01.html
[17] P. L’Ecuyer and R. Simard, “TestU01: A C library for empirical testing of random number generators,” ACM Trans. Math. Software (TOMS) 33 (4), 22 (2007). http://www.iro.umontreal.ca/ lecuyer/myftp/papers/testu01.pdf · Zbl 1365.65008
[18] C. Doty-Humphrey, PractRand official site, 4-2018. http://pracrand.sourceforge.net/
[19] Gjrand random numbers official site, 2014. http://gjrand. sourceforge.net/
[20] R. G. Brown, D. Eddelbuettel, and D. Bauer, Dieharder: A Random Number Test Suite, 2017. http://www.phy.duke.edu/ rgb/ General/rand_rate.php
[21] M. Galassi, B. Gough, G. Jungman, et al. GSL GNU Scientific Library, 2019. https://www.gnu.org/software/gsl/
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.