Table Of ContentEfficient and Portable Multiple Recursive
Generators of Large Order
LIH-YUANDENG
UniversityofMemphis
DengandXu[2003]proposedasystemofmultiplerecursivegeneratorsofprimemodulus pand
orderk,whereallnonzerocoefficientsoftherecurrenceareequal.Thistypeofgeneratorisefficient
because only a single multiplication is required. It is common to choose p = 231−1 and some
multiplierstofurtherimprovethespeedofthegenerator.Inthiscase,somefastimplementations
areavailablewithoutusingexplicitdivisionormultiplication.Forsucha p,DengandXu[2003]
providedspecificparameters,yieldingthemaximumperiodforrecurrenceoforderk,upto120.
One problem of extending it to a larger k is the difficulty of finding a complete factorization of
pk−1.Inthisarticle,weapplyanefficienttechniquetofindksuchthatitiseasytofactorpk−1,
with p=231−1.Thelargestonefoundisk=1597.Tofindmultiplerecursivegeneratorsoflarge
orderk,weintroduceanefficientsearchalgorithmwithanearlyexitstrategyincaseofafailed
search. For k = 1597, we constructed several efficient and portable generators with the period
lengthapproximately1014903.1.
Categories and SubjectDescriptors: F.2.1 [Analysis of Algorithms and Problems Complex-
ity]:NumericalAlgorithmsandProblems—Computationsinfinitefields;G.3[Mathematics of
Computing]:ProbabilityandStatistics—Randomnumbergeneration
GeneralTerms:Algorithms,Design,Performance
AdditionalKeyWordsandPhrases:DX-kgenerator,GMP,irreduciblepolynomial,linearcongru-
entialgenerator,MRG,primitivepolynomial.
1. INTRODUCTION
Multiple Recursive Generators (MRGs) have recently become the most popu-
lar random number generators. They compute the next value iteratively from
the previous k values. The k-th order recurrence equation corresponds to a
k-th degree primitive polynomial under a prime modulus p. When k = 1, the
MRG is reduced to Lehmer’s [1951] Linear Congruential Generator (LCG).
In Section2, we discuss two problems using the conditions of checking a
primitive polynomial given in Knuth [1998, page 30]: (1) the requirement
of the complete factorization of pk − 1, which can be difficult when p and
Author’saddress:DepartmentofMathematicalSciences,TheUniversityofMemphis,Memphis,
TN38152-3240;email:lihdeng@memphis.edu.
Permissiontomakedigitalorhardcopiesofpartorallofthisworkforpersonalorclassroomuseis
grantedwithoutfeeprovidedthatcopiesarenotmadeordistributedforprofitordirectcommercial
advantageandthatcopiesshowthisnoticeonthefirstpageorinitialscreenofadisplayalong
withthefullcitation.CopyrightsforcomponentsofthisworkownedbyothersthanACMmustbe
honored.Abstractingwithcreditispermitted.Tocopyotherwise,torepublish,topostonservers,
toredistributetolists,ortouseanycomponentofthisworkinotherworksrequirespriorspecific
permissionand/orafee.PermissionsmayberequestedfromPublicationsDept.,ACM,Inc.,1515
Broadway,NewYork,NY10036USA,fax:+1(212)869-0481,orpermissions@acm.org.
(cid:1)C 2005ACM1049-3301/05/0100-0001$5.00
ACMTransactionsonModelingandComputerSimulation,Vol.15,No.1,January2005,Pages1–13.
2 • L.-Y.Deng
k are large, and (2) no provision for an early exit strategy for nonprimitive
polynomials.
In Section 3, we describe our effort to find MRGs of large order k with p =
231−1. Factoring a general huge number (say, more than 200 digits) is hard,
particularlywhenithastwoprimefactorsofasimilarsize.Itissimpletofactor
anintegerifitcontains,atmost,onelargeprimefactor.Usingthispropertyand
thepolynomialfactorizationofxk−1,DengandXu[2003]foundthecomplete
factorization of pk − 1 for several (but not all) values of k ≤ 120. To avoid
the difficulty of factoring R(k, p) = (pk −1)/(p−1), one can consider other
values of p so that R(k, p) is a prime number. This idea was first used in
L’Ecuyeretal.[1993]fork ≤ 7,andlaterinL’Ecuyer[1999],fork ≤ 13.Deng
[2004] formally proposed a class of prime numbers of the form R(k, p), called
Generalized Mersenne Prime (GMP). This approach is efficient because of the
well-known fact that a primality check of a huge number is easier than its
factorization. The search of GMP is successful for k up to 4001. One can fix
p=231−1,andthensearchforaprimekforwhich R(k, p)isaGMP.However,
we do not find any such GMP for k < 25000. During this search process, we
findk = 47,k = 643,andk = 1597,suchthat R(k, p)canbefactoredbecause
itcontainsexactlyonehugefactor.AttheendofSection3,wediscussanearly
exitstrategyfornonprimitivepolynomials.
In Section 4, we extend the DX-k generators as proposed by Deng and Xu
[2003]. DX-k is a system of special MRGs where all nonzero coefficients of
the recurrence are equal, and k is the order of recurrence. Motivation for the
DX-k generator is dictated by the fact that a computer multiplication is more
time consuming than a computer addition/subtraction. Requiring a common
coefficient for a DX-k generator can achieve a high efficiency with a single
multiplication. By limiting the multiplier size, one can implement a portable
generator under various situations. If we choose the multiplier of the form
±2r±2w,thegeneratorcanbecomeevenmoreefficient.Evenwithsuchalimited
formofthemultipliers,wecanfindageneratorintheextendedDX-k class.
InSection5,wetabulatesomeportableandefficientDX-k(anditsextended
class) generators with p = 231 − 1, and k = 47, k = 643, and k = 1597.
Finally, in Section 6, we apply Deng’s [2004] automatic generation method to
constructmanymaximalperiodMRGswiththesameorderfromasingleDX-
1597generator.
2. MULTIPLERECURSIVEGENERATORS
2.1 MRGandPrimitivePolynomial
Amultiplerecursivegenerator(MRG),isdefinedas
Xi =(α1Xi−1+···+αkXi−k)mod p, i ≥k (1)
foranyinitialseeds(X0,...,Xk−1),notallofthembeingzero.Herethemodulus
p is a large prime number and X can be transformed using U = X /p. To
i i i
avoid the possibility of obtaining 0 or 1, Deng and Xu [2003] recommended
ACMTransactionsonModelingandComputerSimulation,Vol.15,No.1,January2005.
EfficientandPortableMRGofLargeOrder • 3
U = (X +0.5)/p. It is well-known that the maximum period of an MRG is
i i
pk −1,whichisreachedifitscharacteristicpolynomial
f(x)= xk −α xk−1−···−α , (2)
1 k
is a primitive polynomial. A set of necessary and sufficient conditions under
which f(x) is a primitive polynomial has been given in Alanen and Knuth
[1964]andKnuth[1998,page30]:
(i)(−1)k−1α mustbeaprimitiverootmod p. (3)
k
(ii) xR =(−1)k−1α mod (f(x), p),where R =(pk −1)/(p−1). (4)
k
(iii)Foreachprimefactorq of R,thedegreeof xR/q mod (f(x), p)
ispositive. (5)
A maximum period MRG is known to have the property of equidistribution
uptok dimensions:everym-tuple(1≤m≤k)ofintegersbetween0and p−1
appearsexactlythesamenumberoftimes(pk−m)overitsentireperiod pk−1,
withtheexceptionoftheall-zerotuplewhichappearsonetimeless(pk−m−1).
See,forexample,LidlandNiederreiter[1994,Theorem7.43].
2.2 NotationsandSimpleKnownFacts
Throughoutthisarticle,weuse f(x)todenoteak-thdegreepolynomial,given
in(2),whosecoefficientsarefromZ ,afinitefieldofintegerstakingvalues0to
p
p−1.Occasionally,asin(2),wewritethecoefficientas−a,whichequals p−a
in Z . We also use Z [x] to denote a set of all polynomials with coefficients in
p p
Z . An f(x) ∈ Z [x] is a monic polynomial when the coefficient of its leading
p p
termisone.
It is easy to check whether or not an integer is a primitive root mod p via
Knuth’s[1998]condition(i),givenin(3).Aninteger Aisaprimitiverootmod
p,ifthesmallestpositiveexponente suchthat Ae =1mod pise =(p−1).A
necessary and sufficient condition for an integer Ato be a primitive root mod
p is that A(p−1)/q (cid:5)= 1mod p for any prime factor q of (p−1). The number of
primitive roots in Z is φ(p−1), where φ(x) is the Euler “totient” function of
p
x, which is the number of integers between 1 and x that are relatively prime
to x.Thereareexactlyφ(pk −1)/k primitivepolynomialsofdegreek [e.g.,see
Knuth[1998]].
Forarealnumberx,weuse(cid:6)x(cid:7)and(cid:8)x(cid:9)todenotethefloorfunctionandthe
ceilingfunction,respectively.Thatis,(cid:6)x(cid:7)isthelargestinteger≤ x,and(cid:8)x(cid:9)is
thesmallestinteger≥ x.Ofcourse,when x isaninteger, x =(cid:6)x(cid:7)=(cid:8)x(cid:9).
Next,wediscusstheproblemswithconditions(ii)and(iii)givenin(4)and(5).
2.3 TwoBottlenecks
When k and p are large, there are two limiting factors to find a primitive
polynomialusingtheconditionsgiveninKnuth[1998]:
(1) Condition(iii)canbedifficulttocheckbecauseitrequiresacompletefactor-
izationof pk−1.Giventhecurrentstateoftechnology,itisextremelyhard
ACMTransactionsonModelingandComputerSimulation,Vol.15,No.1,January2005.
4 • L.-Y.Deng
TableI. Listofkandqin
R(k,p)=q×Hfor p=231−1
k q:smallcofactor log (pk−1)
10
47 123244717 438.6
643 7717 6000.4
1597 634021777 14903.1
to factor a general number with 200 decimal digits (or more), especially if
it contains only two prime factors of the similar size. For p = 231−1 and
k ≥22,wehave pk −1>10200.Wehavefoundacompletefactorizationof
pk −1foreveryintegerk ≤22,andforseveralother(butnotall)k ≤120.
However, it appears to be hard to extend to a much larger value of k for
p=231−1.
(2) Forcondition(ii),thereisnoearlyexitstrategyavailablewhen f(x)in(2)is
notaprimitivepolynomial.Whetherornot f(x)isaprimitivepolynomial,
thetimerequiredtoverifycondition(ii)isexactlythesame.Whilewecan
useanefficientmethodtoevaluatex(pk−1)/(p−1) mod f(x),itstillrequiresa
lotofcomputingtimeforalargek.Furthermore,thechanceoffindingak-
thdegreeprimitivepolynomialislessthan1/k.Therefore,whenkislarge,
a successful search for a primitive polynomial requires lots of computing
time.
Inthenextsection,wedescribesomesolutionstotheaboveproblems.
3. FINDINGMRGSWITHLARGEkANDp=231−1
3.1 Factoringpk−1,Withp=231−1
Inthisarticle,weareconcernedmainlywiththeproblemoffindingMRGsfor
p = 231 −1, which is a popular modulus because there are some advantages
fromthecomputingefficiencyviewpoint.
Foragivenprimek,Deng[2004]proposedthatwefindaprime psuchthat
R(k, p)=(pk −1)/(p−1) (6)
is also a prime number. Such R(k, p) is called a Generalized Mersenne Prime
(GMP). With p = 231 − 1 fixed, we search for a prime number k such that
R(k, p)isaGMP.Unfortunately,suchaneffortisnotsuccessfulfork <25000.
Tothebestofourknowledge,therearenoknownmathematicalresultsabout
theexistenceofsuchaGMP R(k, p)for p=231−1.Duringthesearchprocess,
however,wedidfindseveralk’ssuchthatR(k, p)canbeeasilyfactoredbecause
itcontainsexactlyonehugefactorlargerthanafixedconstant.Inpractice,we
choosetheconstant(relatively)smallsothatwecanquicklyremovesmallprime
cofactors(say,≤1,000,000,000=(cid:3))ofR(k, p).Inparticular,weconsideronly
R(k, p) = q× H, where q ≤ (cid:3), both q and H are prime numbers. Three such
k’sarefound,andtheyarelistedinTableI.
ForthevaluesofklistedinTableI,thecompletefactorizationof pk−1isthus
knownandwecanthentrytofindsomeprimitivepolynomialsofdegreek.The
MRGs with the corresponding primitive polynomials will have the maximum
ACMTransactionsonModelingandComputerSimulation,Vol.15,No.1,January2005.
EfficientandPortableMRGofLargeOrder • 5
periodof pk−1.AlthoughMRGsoforder47havea(relativelyspeaking)shorter
period length of about 10438.6, they can be found rather quickly using Knuth
[1998]conditions(i)–(iii)asgivenin(3)–(5).ForMRGsoforderk,oneneedsto
keepanarrayofsizektostorethepreviouskvalues.Ifthememoryrequirement
fork =1597istoohigh,thenonecanconsiderMRGsoforder643withperiod
length approximately 106000.4. If maximum period, or a higher dimension of
equidistribution property, is the major consideration, we use MRGs of order
k =1597,forwhichtheperiodlengthofsuchMRGisapproximately1014903.1.
For a large k, it is not efficient to verify a k-th degree primitive polynomial
usingtheconditionsgivenbyKnuth[1998].Wedescribeamoreefficientalgo-
rithmnext.
3.2 EarlyExitStrategy
Knuth’scondition(ii),asgivenin(4),isnotveryefficientbecausetherequired
computing time is exactly the same regardless of whether f(x) is a primitive
polynomial or not. There is no early exit strategy when f(x) is not a primi-
tive polynomial. Deng [2004] proposed to replace Knuth’s condition (ii) with a
new condition that can be checked more quickly when f(x) is not a primitive
polynomial:
(ii)Initially,let g(x)= x.Fori =1,2,3,...,(cid:6)k/2(cid:7),do
(7)
(a) g(x)= g(x)p mod f(x);
(b) d(x)=gcd(f(x), g(x)−x);
(c) ifd(x)(cid:5)=1,then f(x)cannotbeaprimitivepolynomial.
This new condition is Algorithm 2.2.9 (irreducibility test) in Crandall and
Pomerance [2000, page 88] to test whether f(x) is an irreducible polynomial.
At the first iteration (i = 1), it is checking whether f(x) has any linear factor
(x−a)whichcanbedonequicklybecause
(cid:1)p−1
g(x)−x = xp−x = (x−a)mod p.
a=0
To check whether f(x) has any linear factor, we simply check whether or not
d(x) = gcd(f(x),xp − x) is a polynomial of degree ≥ 1. In general, at the i-
thiteration,itischeckingwhether f(x)hasanyirreduciblepolynomialfactor
of degree i. Again, it is based on the fact that xpi − x is the product of all
monicirreduciblepolynomialswithdegreesthatcandividei.See,forexample,
LidlandNiederreiter[1994],CrandallandPomerance[2000].Indeed,thetotal
numberofmonicirreduciblepolynomialsofexactdegreek is
(cid:2)
1
N (p)= pdµ(k/d),
k
k
d|k
where µ(n) is the Mo¨bius function: µ(n) = 0, if n is not square-free, µ(n) = 1,
if n is square-free with an even number of prime factors, µ(n) = −1, if n is
ACMTransactionsonModelingandComputerSimulation,Vol.15,No.1,January2005.
6 • L.-Y.Deng
square-free with an odd number of prime factors. In addition, N (p) ≈ pk/k
k
becauseofthelasttermwhered =kinthesummationof N (p)isdominating.
k
The search program based on this early exit strategy can be fast because
a failed search will be likely to terminate from the i-th loop when i is small.
Therefore, a lot of computing time can be saved. Indeed, using this early exit
strategy, we are able to find many primitive polynomials of degree 1597. The
correspondingMRGscanbeeasilyconstructedwiththeperiodlengthapprox-
imately 1014903.1. The next problem is to find generators in a class of efficient
andportableMRGs.
4. EFFICIENTANDPORTABLEGENERATOR
4.1 EfficientMRG
Whenk islarge,ageneralMRGmaybelessefficientbecauseitneedsseveral
multiplications, where an LCG needs only one multiplication. To improve the
efficiencyofMRGs,manyauthorsconsideredonlytwononzerocoefficients,α
j
andα (1≤ j <k),oftheMRGin(1).Forexample,see,Grube[1973],L’Ecuyer
k
andBlouin[1988],L’Ecuyeretal.[1993].
Deng and Lin [2000] proposed a Fast MRG (FMRG) which has a slightly
simplerformandrequiresasinglemultiplication.ExtendingtheideaofFMRG,
Deng and Xu [2003] introduced a class of DX-k-s generator which is a special
MRG in (1) that has s nonzero coefficients, all of them being equal, and the
nonzero coefficients indices are about k/(s−1) apart. However, if we further
limitchoices/typesofnonzerocoefficients,theremaynotexistsuchgenerators,
especiallywhenkislarge.OnesimplesolutionistoexpandtheDX-k-sclassto
theDX-k-s-t classgenerators:
(1) DX-k-1-t (α =1,α = B),1≤t <k.
t k
Xi = Xi−t +BXi−k mod p, i ≥k. (8)
(2) DX-k-2-t (α =α = B),1≤t <k.
t k
Xi = B(Xi−t +Xi−k)mod p, i ≥k. (9)
(3) DX-k-3-t (αt =α(cid:8)k/2(cid:9) =αk = B),1≤t <(cid:8)k/2(cid:9).
Xi = B(Xi−t +Xi−(cid:8)k/2(cid:9)+Xi−k)mod p, i ≥k. (10)
(4) DX-k-4-t (αt =α(cid:8)k/3(cid:9) =α(cid:8)2k/3(cid:9) =αk = B),1≤t <(cid:8)k/3(cid:9).
Xi = B(Xi−t +Xi−(cid:8)k/3(cid:9)+Xi−(cid:8)2k/3(cid:9)+Xi−k)mod p, i ≥k. (11)
Notice that there are slight changes in the indices of nonzero coefficients
from the original definition of Deng and Xu [2003]. We have introduced an
additional parameter t to slightly expand the class of generators. In addition,
weusetheceilingfunction(cid:8)x(cid:9)toreplacethefloorfunction(cid:6)x(cid:7)inEquations(10)
and (11). In Deng and Xu [2003], the values of k of main interest are k = 102
and k = 120, where both definitions yield the same result. The parameters
given in the Tables of Deng and Xu [2003] and Deng [2004] are unaffected.
Oneadvantagethismodificationisthatitmayworkbetter,evenforverysmall
value of k. For example, if k = 3 and s = 3, then (cid:8)k/2(cid:9) = 2, and the DX-3-3
ACMTransactionsonModelingandComputerSimulation,Vol.15,No.1,January2005.
EfficientandPortableMRGofLargeOrder • 7
generator(witht =1)in(10)isreducedto
Xi = B(Xi−1+Xi−2+Xi−3)mod p, i ≥3. (12)
Marsaglia[1996]proposedtheabovegeneratorwith B =210, p=232−5,and
B = 220, p = 232−209. The value of k in Equation (12) is only 3, which is too
small.
FollowingDengandXu[2003],thegeneratorsinEquations(8)–(11)arere-
ferredtoasDX-k-s-t generators.Here,sisthenumberoftermswiththesame
coefficient B, and t is the smallest index j for which α = B. This expanded
j
system of generators is still referred to as DX-k generators. Clearly, DX-k-s is
a special case with t = 1. FMRG is another special case with s = 1 and t = 1.
By allowing t to change, we can expand the search space for the desired form
of Basdiscussednext.
4.2 PortabilityIssue
We prefer a generator to be portable so that it produces exactly the same se-
quence of random numbers, regardless of which computing platform is used.
The problem is that there is no standard way of storing a 64-bit number in a
32-bit computer. According to L’Ecuyer [1997], a necessary (but not su(cid:3)fficient)
conditionfora“good”MRGisthatthesumofthesquaresofcoefficients, k α2,
i=1 i
shouldbelarge.ForDXgenerators,thismeanssand B needtobeaslargeas
possible, while maintaining the efficiency and portability property. It is com-
mon to impose certain limits on the size of B so that the exact result of the
multiplicationcanbeproduced:
√
(1) Use integer operations with B < p. This is useful if one wishes to use
onlyintegeroperationsina32-bitcomputerwiththetechniquesproposed
by Payne et al. [1969] and L’Ecuyer [1988]. The problem is that the upper
limit(≤46340,for p≤231−1)israthersmall.
(2) FollowIEEEdoubleprecisionstandard,anduseupperlimitsfor B:
B<2d, whered =20, whens=1,2; d =19, whens=3,4. (13)
Thisupperboundisabout10to20timeslargerthantheonefoundusingthe
firstapproach.Thereareportableimplementationsforvariouscomputing
platforms.
(3) Useasystem-dependent64-bitintegerdatatypewhichisavailableinmany
popularcompilersin32-bitcomputersystems.Forexample,a64-bitinteger
datatypeisavailableinMS-C,with__int64,andinGNU-C,withint64_t.
Inthiscase,weuseauniformupperlimitfor Bas
B<230, fors≤4. (14)
Without using 64-bit data types/operations, a portable implementation of
MRGscanbeusedattheexpenseofslightgeneratinginefficiency.Forthis
B,wefindthesmallestpositiveintegeresuchthat
B+e× p=C ×C , where0<C ,C <219, (15)
1 2 1 2
where the upper bound for C ,C is chosen as in Equation (13). The main
1 2
problemisthatweneedtwomultiplicationsinsteadofonemultiplication.
ACMTransactionsonModelingandComputerSimulation,Vol.15,No.1,January2005.
8 • L.-Y.Deng
TableII. ValuesofBforDX-k-sGenerators
√
k s (a)minB (b)B< p (c)B<2d (d)B<230 (e) C C
1 2
47 1 408 46193 1047811 1073741241 4 59827 161527
47 2 114 46312 1048423 1073741549 10 113749 198231
47 3 278 46316 524193 1073741553 19 194182 215653
47 4 14 46281 524254 1073741381 3 51958 144659
643 1 13082 42720 1047252 1073741462 0 29338 36599
643 2 1542 39963 1048207 1073733589 5 52321 225744
643 3 2095 42188 522057 1073741583 0 6159 174337
643 4 1679 42938 521553 1073740543 1 30559 105410
1597 1 3233 19661 1036675 1073740265 2 10891 492949
1597 2 4621 43253 1041405 1073730399 0 12999 82601
1597 3 9897 40507 520021 1073738734 0 30931 34714
1597 4 1854 44875 512675 1073741362 0 29746 36097
AnotherapproachistoconsideraspecialformofthemultiplierBforDX-k-s-t
generatorswith p=231−1:
B=δ(r)2|r|+δ(w)2|w|, |w|<|r|, (16)
where δ(x) = +1, when x ≥ 0; δ(x) = −1, when x < 0. A multiplier of this
form,calledpowers-of-twodecomposition,wasfirstsuggestedbyWu[1997]for
LCGs. It can result in a fast computation by using only shift and addition op-
erations. Another advantage of this approach is that we can find a large B,
without the limitation given in (13), while maintaining its portability. How-
ever, L’Ecuyer and Simard [1999] pointed out that LCGs with parameters of
thepowers-of-twoformhavebadstatisticalpropertiesbecausetherecurrence
does not “mix the bits” well enough. While there is no evidence (yet) that the
successivevaluesintheoutputoftheDX-k-s-t generators(especiallyforlarge
s)havesuchweakness,wewouldwelcomemoreextensivestudyorevaluation
forsuchgenerators.
Sincewepreferalargersizeof B,wemakearestrictionon|r|for B in(16)
that20≤|r|≤30.Becausethenumberofchoicesfor B=±2|r|±2|w| israther
limited, we need to expand our search space, which is the main motivation
behindtheconsiderationoftheDX-k-s-t generators.
5. LISTOFMRGSWITHLARGEORDERk
5.1 DX-k-sGeneratorsfork =47,k =643andk =1597
With the complete factorization of pk −1, as given in Table I, we then search
for DX-k class for k = 47, k = 643, and k = 1597. For each DX-k-s generator
√
with s = 1,2,3,4, we perform a complete search for 0 < B < p. For other
widerangesof B’s,acompletesearchisnotfeasible.Forsimplicity,wewillonly
√
report(a)minB,(b)maxB< p,(c)maxB<2d asin(13),and(d)maxB<230
asin(14).Sincethesearchrangefor Bislarge,wecanalwaysfindagenerator
insidetheDX-k class.TableIIgivesvariousDX-k-sgenerators.
Thevaluesunder“minB”incolumn(a)arenotrecommended,buttheycanbe
√
usefultodeterminethe“power”ofempiricaltests.Thevaluesunder“B< p”
in column (b) are useful if we use only integer operations. The values under
ACMTransactionsonModelingandComputerSimulation,Vol.15,No.1,January2005.
EfficientandPortableMRGofLargeOrder • 9
TableIII. Listingofk,s,t,(r,w)andB=δ(r)2|r|+δ(w)2|w|forDX-k-s-tGenerators
k s t (r,w) B t (r,w) B
47 1 1 (−30,4) −1073741808 1 (29,−10) 536869888
47 2 1 (−29,−9) −536871424 1 (26,−21) 65011712
47 3 1 (29,−26) 469762048 1 (−27,−19) −134742016
47 4 1 (29,−6) 536870848 1 (26,−7) 67108736
643 1 8 (−29,1) −536870910 10 (−28,11) −268433408
643 2 5 (25,13) 33562624 2 (25,11) 33556480
643 3 2 (29,10) 536871936 8 (27,−16) 134152192
643 4 7 (29,-26) 469762048 8 (26,−3) 67108856
1597 1 13 (−27,−4) −134217744 14 (−26,6) −67108800
1597 2 4 (30,−19) 1073217536 1 (29,−11) 536868864
1597 3 15 (−24,16) −16711680 35 (22,0) 4194305
1597 4 3 (29,8) 536871168 3 (28,11) 268437504
“B < 2d” in column (c) are recommended for general purpose generators. If
64-bitintegerdatatypeanditsfastoperationsareavailable,thevaluesunder
“B < 230” in column (d) are recommended because of their large multiplier
values.Incolumn(e),theconstantse,C ,C ,describedin(15),areusefulfora
1 2
portableimplementationfor B,listedincolumn(d).
One advantage of using the parameters given in column (d) is their large
multipliers, which are at least 1000 times larger than those in column (c).
Thedisadvantageisthat64-bitintegersaresystem-dependent,andthe64-bit
operationscanbeslow.If64-bitintegerdatatypeisnotavailable,wecanusea
slower,butportableimplementation:foreachBincolumn(d),wefindconstants
e,C ,C fromcolumn(e),andperformtherequiredmultiplicationasin(15).
1 2
5.2 DX-k-s-tGeneratorsWithB=±2|r|±2|w|
For more efficient generators, we consider B = ±2|r| ±2|w| within the class of
DXgenerators.Asmentioned,withrestrictedformandsizefor B,wemayhave
tosearchintheexpandedDXclass.Fork =47,wefindmanyvaluesofBinside
theDX-47-sclass.Fork =643,ork =1597,wesearchforDX-k-s-t generators
from t = 1 and beyond, until a number of generators is found. Table III gives
thetoptwoDX-k-s-t generatorsfork =47,k =643,andk =1597.
5.3 ImplementationandEmpiricalTesting
Since only minor changes were made to the definition of DX-k-s and DX-k-s-t
generators,modificationstotheoriginalCcodeareeasy.TheCcodeisavailable
attheauthor’swebsitehttp://www.cs.memphis.edu/˜dengl/dx-rng/.
L’EcuyerandTouzin[2004]conductatheoreticalanalysisofthelatticestruc-
tureofcertainMRGs.MostoftheirconclusionsareapplicabletoanyMRGswith
few,smallnonzerocoefficients,notjustspecificallyforFMRGsorDX-kgenera-
tors.TheythenperformempiricalstatisticaltestsonsomeFMRGs(aslistedin
DengandLin[2000])andsomeDX-kgenerators.Theirconclusionisconsistent
with the main motivation behind DX-k generators: taking only a few nonzero
coefficients with small values is a bad idea. For FRMGs, they study empiri-
cally several generators with k = 2,3,4 as in Deng and Lin [2000]. For DX-k
ACMTransactionsonModelingandComputerSimulation,Vol.15,No.1,January2005.
10 • L.-Y.Deng
generators, they study the cases of k = 102, s = 2, B = 23, and B = 45787,
where B and s are not the largest that we would recommend. L’Ecuyer and
Touzin[2004]reportthatbothDX-102-2generatorsstudied(evenwithB=23)
passallthegeneralpurposeteststheytried.Inthesamestudy,theyfindthat
FRMGs(hence,DX-kgenerators)arereasonablyfastcomparedwithotherwell-
known generators. Additionally, we perform some predefined batteries of sta-
tistical tests using a well-known test suite, TestU01, whose source code and
user’smanualareavailablefromhttp://www.iro.umontreal.ca/˜lecuyer/.There
are38DXgeneratorslistedinTableIofDengandXu[2003],and72DXgener-
atorslistedinTableIIandTableIIIofthisarticle.Excluding20DXgenerators
with the smallest B (under column minB), all other generators have passed
the “crush” test which is a predefined battery of stringent tests. None of the
p-values of statistical tests on these DX generators are less than 10−7. While
we do not recommend DX generators with the smallest B, all of them indeed
havealsopassedthesametest.
No random number generator can claim to be a perfect generator. One can
createaspecificsubsequencewithabadlatticestructure,oraspecializedtest
to fail a generator with a known generating algorithm. While DX-k genera-
tors have a property of equidistribution up to dimension k, one can choose a
subsequencewithabadlatticestructure.Forexample,foraDX-k-sgenerator
with s = 1, or s = 2, L’Ecuyer and Touzin [2004] show that the subsequence
Sk = {(Ui,Ui+k−1,Ui+k),i = 0,k+1,2(k+1),...}doesnothaveagoodlattice
structure. As noticed by L’Ecuyer and Touzin [2004], this subsequence S can
k
beobtainedbytakingthefirstoutputvaluefromthegenerator,skippingk−2,
taking another 3, skipping k−2, taking another 3, skipping k−2, and so on.
Theyshowthatthesubsequence,S ,failed,spectacularly,verysimplestatis-
102
tical tests for the DX-102-2 generators studied, especially for B = 23. For the
subsampling scheme corresponding to S , we can choose DX-k-s-t generators
k
witht > 1,ors > 2sothat S doesnothaveabadlatticestructure.However,
k
foranygivenDX-k-s-tgenerator,onecanfindotherspecificsubsequencewitha
badlatticestructure,iftheparametersk,s,t areknown.Abetterstrategyisto
choosealargeorderk,larges,andlargevaluesof Basproposedinthisarticle.
Asusual,oneshouldnotrelyonlyonasinglegeneratorforanimportantlarge
scalesimulationstudy.
6. CONSTRUCTIONOFMRG-k-sGENERATORS
6.1 AutomaticConstructionMethod
WerefertoMRG-k-sasaclassofmaximalperiodMRGswithsnonzerocoeffi-
cientsintheircorrespondingcharacteristicpolynomial.WhenR(k, p)in(6)isa
GMP,Deng[2004]proposedasimplemethodtoconstructMRG-k-sgenerators
fromthecharacteristicpolynomialofaDX-k-sgenerator.Evenif R(k, p)isnot
aGMP,mostofhisapproachcanstillbeuseful.
We know that an irreducible polynomial is a necessary condition, but not a
sufficient condition, for a primitive polynomial. Furthermore, if f(x) in (2) is
a primitive polynomial, then f(cx) and xk f(c/x) must also be an irreducible
ACMTransactionsonModelingandComputerSimulation,Vol.15,No.1,January2005.