MRG32K3A - 5.2 English - 68552

AOCL API Guide (68552)

Document ID
68552
Release Date
2025-12-29
Version
5.2 English

MRG32K3A is a L’Ecuyer’s Combined Recursive Generator which combines two multiple recursive generators:

\[\begin{split}\begin{align} x_i& = a_{11}x_{i−1} + a_{12}x_{i−2} + a_{13}x_{i−3}\ mod \ m_1 \\ y_i& = a_{21}y_{i−1} + a_{22}y_{i−2} + a_{23}y_{i−3}\ mod \ m_2 \\ z_i& = x_i − y_i \ mod \ m_1 \\ u_i& =\frac{z_i}{m_1} , \end{align}\end{split}\]

where the \(u_i, i = 1, 2, \dotsc\) form the required sequence and \(a_{11} = 0, a_{12} = 1403580,\) \(a_{13} =−810728, m_1 = 2^{32} − 209, a_{21} = 527612, a_{22} = 0, a_{23} = −1370589 \ and \ m_2 = 2^{32} − 22853\).

Combining the two multiple recursive generators (MRG) results in sequences with better statistical properties in high dimensions and longer periods compared with those generated from a single MRG. The combined generator described above has a period length of approximately \(2^{191}\). [MRG32K3A]