Conversion of Mersenne Twister to double-precision floating-point numbers
Abstract
The 32-bit Mersenne Twister generator MT19937 is a widely used random number generator. To generate numbers with more than 32 bits in bit length, and particularly when converting into 53-bit double-precision floating-point numbers in in the IEEE 754 format, the typical implementation concatenates two successive 32-bit integers and divides them by a power of . In this case, the 32-bit MT19937 is optimized in terms of its equidistribution properties (the so-called dimension of equidistribution with -bit accuracy) under the assumption that one will mainly be using 32-bit output values, and hence the concatenation sometimes degrades the dimension of equidistribution compared with the simple use of 32-bit outputs. In this paper, we analyze such phenomena by investigating hidden -linear relations among the bits of high-dimensional outputs. Accordingly, we report that MT19937 with a specific lag set fails several statistical tests, such as the overlapping collision test, matrix rank test, and Hamming independence test.
Keywords
Cite
@article{arxiv.1708.06018,
title = {Conversion of Mersenne Twister to double-precision floating-point numbers},
author = {Shin Harase},
journal= {arXiv preprint arXiv:1708.06018},
year = {2020}
}