

 Audra Shields
 1 years ago
 Views:
Transcription
1 This paper is to appear in \ACM Transactions on Modeling and Computer Simulations: Special Issue on Uniform Random Number Generation" (Early in 1998).
2 Mersenne Twister: A 623dimensionally equidistributed uniform pseudorandom number generator Makoto Matsumoto 1 and Takuji Nishimura 2 1 Keio University/MaxPlanckInstitut fur Mathematik 2 Keio University In this paper, a new algorithm named Mersenne Twister (MT) for generating uniform pseudorandom numbers is proposed. For a particular choice of parameters, the algorithm provides a super astronomical period of and 623dimensional equidistribution up to 32 bits accuracy, while consuming a working area of only 624 words. This is a new variant of the previously proposed generators TGFSR, modied so as to admit a Mersenneprime period. The characteristic polynomial has many terms. The distribution up to v bits accuracy for 1 v 32 is also shown to be good. Also, an algorithm to check the primitivity of the characteristic polynomial of MT with computational complexity O(p 2 ) is given, where p is the degree of the polynomial. We implemented this generator as a portable Ccode. It passed several stringent statistical tests, including diehard. The speed is comparable to other modern generators. These merits are a consequence of the ecient algorithms unique to polynomial calculations over the twoelement eld. Categories and Subject Descriptors: F.2.1 [Theory of Computation]: Numerical Algorithms and Problems Computations in nite elds; G.2.1 [Discrete Mathematics]: Combinatorics recurrences and dierence equations; G.3[Probability and Statistics]: random number generation General Terms: Algorithms, Theory, Experimentation Additional Key Words and Phrases: nite elds, GFSR, incomplete array, inversivedecimation method, kdistribution, Mersenne Primes, Mersenne Twister, msequences, MT19937, multiplerecursive matrix method, primitive polynomials, random number generation, tempering, TGFSR Dedicated to the Memory of Professor Nobuo YONEDA Name: Makoto Matsumoto Address: Hiyoshi, Yokohama 223Japan, Tel , Fax , Aliation: Department of Mathematics, Keio University Name: Takuji Nishimura Address: Hiyoshi, Yokohama 223Japan, Tel , Fax , Aliation: Department of Mathematics, Keio University
3 2 1 M. Matsumoto and T. Nishimura 1. INTRODUCTION 1.1 A short summary We propose a new random number generator Mersenne Twister. An implemented Ccode MT19937 has the period and 623dimensional equidistribution property, which seem to be best among all generators ever implemented. There are two new ideas added to the previous twisted GFSR[Matsumoto and Kurita 1992][Matsumoto and Kurita 1994] to attain these records. One is an incomplete array (see x3.1) to realize a Mersenneprime period. The other is a fast algorithm to test the primitivityof the characteristic polynomial of a linear recurrence, named inversivedecimation method (see x4.3). This algorithm does not require even the explicit form of the characteristic polynomial. It needs only(1) the dening recurrence, and (2) some fast algorithm that obtains the present state vector from its 1bit output stream. The computational complexityof the inversivedecimation method is the order of the algorithm in (2) multiplied bythe degree of the characteristic polynomial. To attain higher order equidistribution properties, we used the resolutionwise lattice method (see [Tezuka 1990][Couture et al. 1993][Tezuka 1994a]), with Lenstra's algorithm[lenstra 1985][Lenstra et al. 1982] for successive minima. We stress that these algorithms make full use of the polynomial algebra over the twoelement eld. There are no corresponding ecient algorithms for integers. 1.2 kdistribution: a reasonable measure of randomness Manygenerators of presumably\high quality" have been proposed, but onlya few can be used for serious simulations. This seems to be because we lack a decisive definition of good \randomness" for practical pseudorandom number generators, and each researcher concentrates onlyon his particular set of measures for randomness. Among manyknown measures, the tests based on the higher dimensional uniformity, such as the spectral test (c.f. [Knuth 1981]), and the kdistribution test described below, are considered to be strongest 1. Definition 1.1. A pseudorandom sequence x i of wbit integers of period P satisfying the following condition is said to be kdistributed to vbit accuracy: let trunc v (x) denote the number formed by the leading v bits of x, and consider P of the kvbit vectors (trunc v (x i ); trunc v (x i+1 ); 111; trunc v (x i+k01 )) (0 i<p): Then, each of the 2 kv possible combinations of bits occurs the same number of times in a period, except for the allzero combination that occurs once less often. For each v =1; 2; 111;w, let k(v) denote the maximum number such that the sequence isk(v)distributed tovbit accuracy. Note that the inequality 2 k(v)v 0 1 P holds, since at most P patterns can occur in one period, and the number of possible bit patterns in the most signicant v bits 1 For the importance of kdistribution property, see [Tootill et al. 1973][Fushimi and Tezuka 1983][Couture et al. 1993][Tezuka 1995][Tezuka 1994a][Tezuka and L'Ecuyer 1991][L'Ecuyer 1996]. A concise description can be seen in [L'Ecuyer 1994].
4 623dimensionally equidistributed uniform pseudorandom number generator 1 3 of the consecutive k(v) words is 2 k(v)v. Since we admit a aw atzero,we need to add 01. We call this the trivial upper bound. The geometric meaning is as follows. Divide each integer x i by2 w to normalize it into a pseudorandom real number x i in the [0; 1]interval. Put the P points in the k dimensional unit cube with coordinates (x i ;x i+1 ;:::;x i+k01 )(i =0; 1;:::;P 0 1), i.e., the consecutive k tuples, for a whole period (the addition in the sux is considered modulo P). We equallydivide each [0,1] axis into 2 v pieces (in other words, consider onlythe most signicant v bits). Thus, we have partitioned the unit cube into 2 kv small cubes. The sequence is kdistributed to vbit accuracyif each cubecontains the same number of points (except for the cube at the origin, which contains one less). Consequently, the higher k(v) for each v assures higherdimensional equidistribution with vbit precision. By kdistribution test, wemean to obtain the values k(v). This test ts to the generators based on a linear recursion over the two element eld F 2 (we call these generators F 2 generators). The kdistribution has also a kind of cryptographic interpretation, as follows. Assume that the sequence is kdistributed to vbit accuracy, and that all the bits in the seed are randomlygiven. Then, knowledge of the most signicant v bits of the rst l words does not allow the user to make anystatement about the most signicant v bits of the next word, if l < k. This is because everybitpattern occurs equallylikelyin the v bits of the next word, bydenition of kdistribution. Thus, if the simulated system is sensitive onlyto the historyof the k or less previously generated words with vbit accuracy, then it is theoreticallysafe. 1.3 Number of terms in characteristic polynomial Another criterion on the randomness of F 2 generators is the number of terms in the characteristic polynomial of the state transition function. Many F 2 generators are based on trinomials, but theyshow poor randomness (e.g. GFSR rejected in an IsingModel simulation [Ferrenberg, A.M. et al. 1992], and a slight modication of trinomials [Fushimi 1990] rejected in [Matsumoto and Kurita 1994]). For these defects, see [Lindholm 1968][Fredricsson 1975][Compagner 1991] [Matsumoto and Kurita 1992][Matsumoto and Kurita 1994][Matsumoto and Kurita 1996]. As far as we know, all the known F 2 generators satisfying the following two criteria: (1) high kdistribution properties for each v (2) characteristic polynomial with manyterms (not articiallyextracted from a trinomial), are good generators [Tezuka and L'Ecuyer 1991][L'Ecuyer 1996][Matsumoto and Kurita 1994], according to the stringent tests and the results in the actual applications. 1.4 What we obtained: a fast, compact, hugeperiod generator MT We introduce an F 2 type generator named Mersenne Twister (MT) which satises the above criteria verywell, compared to anypreviouslyexisting generators. This is a variant of the TGFSR algorithm introduced in [Matsumoto and Kurita 1992], improved in [Matsumoto and Kurita 1994], and here modied so as to admit a Mersenneprime period. A set of good parameters is implemented as a portable Ccode named MT19937 (see Appendix C). This code can be used in anymachine with a standard C compiler (including 64bit machines), as an integer or real number generator. Essentiallythe same codes are downloadable from the httpsite of Salzburg University, /news/.
5 4 1 M. Matsumoto and T. Nishimura This generator has a tremendouslylarge prime period , while consuming aworking area of only624 words. The sequence is 623distributed to 32 bits accuracy. This has a huge kdistribution propertyto vbit accuracyfor each v, v =1; 2;:::;32. See Table II in x2.2. These values are at least ten times larger than anyother implemented generators, and are near the trivial upper bound. Although we do not list them, the kdistributions of the least signicant bitsare also satisfactorilylarge. For example, the least signicant six bits of MT19937 are 2492dimensionallyequidistributed. The characteristic polynomial has many terms (roughly100 or more), and has no obvious relation with a trinomial. MT19937, as a 32bit random integer generator, passed the diehard tests developed bymarsaglia[marsaglia 1985]. S. Wegenkittl from the plab group[hellekalek et al. ] at the Universityof Salzburg tested MT19937 empiricallyusing their Load Tests and Ultimate Load Tests, and reported that MT19937 passed them. We compare the speed of MT19937 with other modern generators (Table I in x1.5) in a Sun Workstation. MT is comparable to other generators 2,whichhave much shorter periods. Thus, we conclude that MT is one of the most promising pseudorandom number generators at the present time. However, it is desirable to applyother statistical tests, too. Stringent tests to criticize MT are welcome. 1.5 Comparison with other generators The following table shows a comparison of the speed of MT with other generators. Table I. Cputime for 10 7 generations and the working area ID COMBO KISS ran array rand taus88 TT800 MT19937 cpu 0 time (sec:) working area (words) period The combined generators COMBO and KISS are downloaded from Marsaglia's httpsite; The generator ran array is Luscher's discarding method for a laggedfibonacci generator, recommended in [Knuth 1997]. The generator rand is a standard random number generator of the Clibrary. The generator taus88 is a combined Tausworthe generator 3 in [L'Ecuyer 1996] (c.f. [Tezuka and L'Ecuyer 1991]). TT800, a small cousin of MT19937, is a TGFSR generator 4 in [Matsumoto and Kurita 1994]. 2 Wegenkittl reported that the speed of MT19937 in the DecAlpha machine is even faster than rand. This highspeed is probably due to the modern hardware architecture like cache memory and pipeline processing, to which MT19937 ts well. 3 This is a very fast and economical generator, which has optimized kdistribution. 4 TT800 in [Matsumoto and Kurita 1994] is designed as a real number generator, and has a defect at the least signicant bits. The downloadable version of TT800 in Salzburg University is improved in this regard. This generator and taus88 were the two awless generators in the Load Tests in [Hellekalek 1997], in which most shortperiod linear congruential generators and some of the inversive generators are rejected. TGFSR were also tested in [Matsumoto and Kurita 1992][Matsumoto and Kurita 1994]. We got many s from the users of TT800 with favorable comments. As far as we know, no test has rejected this generator. We think that this is a consequence of the good kdistribution property of TT800.
6 623dimensionally equidistributed uniform pseudorandom number generator 1 5 We measured the time consumed in generating 10 7 random numbers on a Sun Workstation. Since ran array discards 90% of the generated sequence, it is much slower than others. MT19937 and ran array consume more memory 5, but it would not be a major problem in simulations where not so manyrandom number generators run in parallel. MT19937 has the longest period. 1.6 Limitation and hints for use This generator does not create cryptographically secure random numbers as it is. For cryptographic purposes, one needs to convert the output bya secure hashing algorithm (see for example [Rueppel 1986]). Otherwise, bya simple linear transformation (T 01 where T is the tempering matrix given by(2.2){(2.5) in x2.1), the output of MT19937 becomes a linear recurring sequence given by(2.1) in x2.1. Then, one can easilyguess the present state from a sucientlylarge size of the output. See the conditions of Proposition 4.2, and note that the recurrence satises these conditions. This generator is developed for generating [0,1]uniform real random numbers, with special attention paid to the most signicant bits. The rejected generators in [Ferrenberg, A.M. et al. 1992] are exactlythe generators whose most signicant bits have a defect (see [Tezuka et al. 1993] for SWB, and see the weight distribution test in [Matsumoto and Kurita 1992] for the trinomial GFSR). Thus, we think our generator would be most suitable for a Monte Carlo simulation such as [Ferrenberg, A.M. et al. 1992]. If one needs (0,1]random numbers, simplydiscard the zeros. When one needs 64bit integers, then one maysimplyconcatenate two words. 2. MT ALGORITHM 2.1 Description of MT Throughout this paper, bold letters, such as x and a, denote word vectors, which are wdimensional row vectors over the twoelement eld F 2 = f0; 1g, identied with machine words of size w (with the least signicant bit at the right). The MT algorithm generates a sequence of word vectors, which are considered to be uniform pseudorandom integers between 0 and 2 w 0 1. Dividing by 2 w 0 1, we regard each word vector as a real number in [0,1]. The algorithm is based on the following linear recurrence x k+n := x k+m 8 (x u kjx l k+1)a; (k =0; 1; 111): (2.1) We shall explain the notation. Wehaveseveral constants: an integer n, whichisthe degree of the recurrence, an integer r (hidden in the denition of x u k ), 0 r w01, an integer m, 1 m n, andaconstant w 2 w matrix A with entries in F 2.We give x 0 ; x 1 ;:::;x n01 as initial seeds. Then, the generator generates x n bythe above recurrence with k = 0. Byputting k = 1; 2;:::, the generator determines x n+1 ; x n+2 ;:::. In the right hand side of the recurrence, x u k means \the upper w 0r 5 The gure for the working area of ran array is perhaps a bit misleading. This gure of 1000 words was attained by choosing \the safest method" in [Knuth 1997], namely, discarding 90% and using Knuth's code. It is easy to reduce the gure to 100 by rewriting the code, but then it becomes slower.
7 6 1 M. Matsumoto and T. Nishimura bits" of x k,andx l k+1 \the lower r bits" of x k+1. Thus, if x =(x w01 ;x w02 ;:::;x 0 ), then bydenition x u is the w 0 r bits vector (x w01 ;:::;x r )andx l is the r bits vector (x r01 ;:::;x 0 ). (x u k jxl k+1 ) is just the concatenation; namely, thisisaword vector obtained byconcatenating the upper w 0 r bits of x k and the lower r bits of x k+1 in this order. Then the matrix A is multiplied from the right bythis vector. Finallyadd x k+m to this vector (8 is bitwise addition modulo two), and then we generate the next vector x k+n. The reason whywe chose the complicated recurrence (1) will be clear in x3.1. Here we note that if r = 0, then this recurrence reduces to the previous TGFSR proposed in [Matsumoto and Kurita 1992][Matsumoto and Kurita 1994], and if r = 0 and A = I, it reduces to GFSR[Lewis and Payne 1973]. We choose a form of the matrix A so that multiplication by A is veryfast. A candidate is A = a w01 a w a 0 then the calculation of xa can be done using onlybit operations: 1 CA ; xa = shiftright(x) if x0 =0 shiftright(x) 8 a if x 0 =1 ; where a =(a w01 ;a w02 ; 111;a 0 ); x =(x w01 ;x w02 ; 111;x 0 ). Also, x u and k xl k+1 of the recurrence (2.1) can be calculated with bitwise AND operation. Thus the calculation of the recurrence (2.1) is realized with bitshift, bitwise EXCLUSIVE OR, bitwise OR, and bitwise AND operations. For improving the kdistribution to vbit accuracy, wemultiplyeach generated word bya suitable w 2 w invertible matrix T from the right (called tempering in [Matsumoto and Kurita 1994]). For the tempering matrix x 7! z = xt, we choose the following successive transformations y := x 8 (x >> u) (2.2) y := y 8 ((y << s) AND b) (2.3) y := y 8 ((y << t) AND c) (2.4) z := y 8 (y >> l); (2.5) where l, s, t, and u are integers, b and c are suitable bitmasks of word size, and (x >> u) denotes the ubit shiftright ((x << u) the ubit shiftleft ). The transformations (2.3) and (2.4) are the same as those used in [Matsumoto and Kurita 1994]. The transformations (2.2) and (2.5) are added for MT to improve 6 the least signicant bits. For executing the recurrence (2.1), it is enough to take an arrayof n words as a working area, as follows. Let x[0 : n 0 1] be an arrayof n unsigned integers 6 These do not exist in the TT800 code in [Matsumoto and Kurita 1994]. The code in Salzburg http was improved in this regard by adding (2.5).
8 623dimensionally equidistributed uniform pseudorandom number generator 1 7 of word size, i be an integer variable, and u; ll; a be unsigned constant integers of word size. {z } w0r {z } {z } r {z } Step 0. u ll w0r r ;(bitmask for upper w 0 r bits) ;(bitmask for lower r bits) a a w01 a w02 111a 1 a 0 ;(the last row of the matrix A) Step 1. i 0 x[0]; x[1]; 111; x[n 0 1] \anynonzero initial values" Step 2. y (x[i] AND u) OR(x[(i+1) mod n] AND ll) ;(computing (x u i jxl i+1 )) Step 3. x[i] x[(i + m) modn] XOR (y >> 1) XOR 0 if the least signicant bit of y =0 ;(multiplying A) a if the least signicant bit of y =1 Step 4. ;(calculate x[i]t) y x[i] y y XOR (y >> u) ;(shiftright y by u bits and add to y) y y XOR ((y << s) AND b) y y XOR ((y << t) AND c) y y XOR (y >> l) output y Step 5. i (i +1)modn Step 6. Goto Step 2. Byrewriting the whole arrayat one time, we can dispense with modulon operations. Thus, we need onlyveryfast operations (see the code in Appendix C). We have the following two classes of parameters: (1) period parameters determining the period: integer parameters w (word size), n (degree of recursion), m (middle term), r (separation point of one word), and a vector parameter a (matrix A), and (2) tempering parameters for kdistribution to vbit accuracy: integer parameters l; u; s; t and the vector parameters b; c. 2.2 Good Parameters with large kdistributions Table II lists some period parameters which yield the maximal period 2 nw0r 0 1, and tempering parameters with good kdistribution property. The trivial upper bound k(v) b nw0r c is shown in the same table. The table shows that we could v not attain these bounds even after tempering. One sees that k(v) tends to be near amultiple of n. We prove this onlyfor k(v) less than 2(n 0 1), see Proposition B.2. This proposition explains why k(v) cannot be near to the bound b nw0r c if v b nw0r c < 2(n 0 1). We conjecture a more general obstruction, as in the case of v [Matsumoto and Kurita 1994]. One mayargue that the gap between the bounds and the attained values is a problem, see [Tezuka 1994a]. In our opinion, \to attain a larger k(v)" is usuallymore important than \to attain the upper bound in a limited working area" (although this depends on the memoryrestriction). The number of terms of the characteristic polynomial is also shown under the ID.
9 8 1 M. Matsumoto and T. Nishimura Table II. Parameters and kdistribution of Mersenne Twisters Generator The order of equidistribution ID Parameters k(1) k(2) k(3) k(4) k(5) k(6) k(7) k(8) k(9) k(10) k(11) k(12) (the number of k(13) k(14) k(15) k(16) k(17) k(18) terms in the k(19) k(20) k(21) k(22) k(23) k(24) characteristic k(25) k(26) k(27) k(28) k(29) k(30) polynomial) k(31) k(32) Upper bounds b nw0r c for v (w; n; r) =(32; 351; 19) v MT11213A (w; n; m; r) = (32; 351; 175; 19) a = E4BD75F u= s = 7,b = 655E (177) t = 15,c = FFD l= MT11213B (w; n; m; r) = (32; 351; 175; 19) a = CCAB8EE u= s = 7,b = 31B6AB (151) t = 15,c = FFE l= Upper bounds c for (w; n; r) =(32; 624; 31) v MT19937 (w; n; m; r) =(32; 624; 397; 31) a = 9908B0DF u= s = 7, b = 9D2C (135) t = 15, c = EFC l= TT800 (w; n; m; r) =(32; 25; 7; 0) a = 8EBFD u : not exist s = 7, b = 2B5B (93) t = 15, c = DB8B l= ran array Knuth's new recommendation Here we list the trivial upper bounds b nw0r v
10 623dimensionally equidistributed uniform pseudorandom number generator WHY MT? MERITS AND HISTORY 3.1 How we reached MT: Incomplete arrays As is the case of any F 2 linear generating method, the MT algorithm is just an iteration of a xed linear transformation on a xed vector space. In the case of MT, the vector space is the set of the following type of arrays of (0,1)entries, with r bits missing at the upperright corner. wr  r n 6? x u 0 x 1 x 2. x n01 We call this object an (n 2 w 0 r)array or an incomplete array. The state transition is given bythe following linear transformation B x u 0 x 1 x 2. x n01 70! B where x n is obtained bythe dening recurrence (2.1) for k = 0. Bya general theoryof linear recurrence (see Appendix A), each entryof the (n 2 w 0 r)arrayis a linear recurring sequence satisfying the recurrence corresponding to the characteristic polynomial ' B (t) of the transformation B. The sequence attains the maximal period 2 p 0 1=2 nw0r 0 1, if and onlyif ' B (t) is primitive, i.e, t generates the multiplicative group (F 2 [t]=' B (t)) 2. A great advantage from attaining this bound is that the state vector assumes everybitpattern in the (n 2 w 0 r)array, once in a period, except for the zero state. Consequently, the sequence fx n g is (n 0 1)distributed. Since anyinitial seed except for zero lies on the same orbit, the choice of an initial seed does not aect the randomness for the whole period. This is much dierent from the original GFSR, in which the initialization is critical [Fushimi and Tezuka 1983]. Since (n 0 1) is the order of equidistribution, we would like to make n as large as the memoryrestriction permits. We think that in recent computers n up to 1000 is reasonable. On the other hand, one mayclaim n up to 10 would be enough. However, for example, one of SWB[Marsaglia and Zaman 1991] is 43distributed since the orbit is one, but failed in the IsingModel test [Ferrenberg,A.M.etal. 1992]. The system simulated there has a \good memory" remembering a large number of previouslygenerated words. There are such applications where the n dimensional distributions for verylarge n become important. In TGFSR, an essential bound on n comes from the dicultyof factorization. We have to certifythat the order of t modulo ' B (t) is2 p 0 1, but then we need all the proper factors of 2 p 0 1. Even a modern technique can factorize 2 p 0 1 only for around p<2000 (see for example [Brillhart et al. 1988]). For TGFSR, p = nw, and 2 nw 0 1 can never be a prime, unless n or w is 1. Thus, we need to factorize it. x u 1 x 2 x 3. x n,
11 10 1 M. Matsumoto and T. Nishimura On the other hand, the test of primalityof an integer is much easier. So, there are many Mersenne primes (i.e., primes of the form 2 p 0 1) found, up to p = (see If we eliminate r bits from the (n2w)array, as in MT, then the dimension of the state space is nw 0 r. One can attain anynumber in this form, including Mersenne exponents. Then we do not need factorization. This is the reason why we use an (n 2 w 0 r)array. In determining the next state, each bitofx u 0 and x l 1 must be fullyreected, since otherwise the state space is smaller. Thus, results the recurrence (2.1). Knuth[Knuth 1996] also informed us of the following justication of this recurrence. One might have used (x l k+1 jxu) instead of k (xu k jxl k+1 ) in the recurrence (2.1). The former seems more natural, since then for example the matrix S in Appendix A coincides with A. But he noticed that when r = w 01, then the sequence can never have maximal period. Actually, it is easyto check that the most signicant bit of each generatedword satises a trinomial linear recurrence with order n, and this does not satisfythe maximality. 3.2 Primitivity is easy for MT Another justication of the recurrence (2.1) is that the primitivitycan be easilychecked, by inversivedecimation methods(x4.3). Since we chose a Mersenneexponent p = nw 0 r as the size of the incomplete array, there is an algorithm to check the primitivitywith O(lp 2 ) computations, where l is the number of nonzero terms in the characteristic polynomial. The easiest case is l = 3, and accordingly there is a list up to p = for trinomials [Heringa, J.R. et al. 1992]. One can implement a recurrence with such a characteristic trinomial in an incomplete array. However, the trinomials and its \slight" modications always show erroneous weight distributions, as stated in x1.3. Thus, what we desire is a linear recurrence such that its characteristic polynomial has manyterms and is easilychecked to be primitive. The recurrence of MT satises this. Its characteristic polynomial has experimentally 100 terms (see Table II), and in spite of these manyterms, because of the peculiar form of the recurrence (2.1), the primitivitycan be checked with O(p 2 ) computations (see x4.3). Note that for largemodulus generators, the primitivitycheck is a hard number theoretic task (e.g. [Marsaglia and Zaman 1991]). This is an advantage of F 2  generators over integeroperation generators. 3.3 kdistribution is easy for MT It was discovered bytezuka[tezuka 1994b] that the kdistribution to 2bit accuracy of TGFSR in [Matsumoto and Kurita 1992] is verylow. A follow up to this failure was satisfactorilycompleted in [Matsumoto and Kurita 1994]. Bythe same reason, the kdistribution propertyof the raw sequence generated bythe recurrence (2.1) is poor, so we need to modifythe output bymultiplying by a matrix T (i.e., tempering, see section x5). Then we succeed in realizing good kdistributions. Here we comment that spectral tests with dimension more than 100 are almost impossible for computational reasons, for anyexisting generators based on large
12 623dimensionally equidistributed uniform pseudorandom number generator 1 11 modulus calculus. On the other hand, for MT, we can execute kdistribution tests to vbit accuracy, fork more than 600. This is another advantage of F 2 generators over largemodulus generators. 3.4 MT is one of multiplerecursive matrix methods (MRMM) Soon after TGFSR was proposed, Niederreiter developed a general class of random number generators including TGFSR, multiplerecursive matrix methods (MRMM) [Niederreiter 1993][Niederreiter 1995]. MRMM is to generate a random vector sequence over F 2 bythe linear recurrence x k+n := x k+n01 A n x k+1 A 1 + x k A 0 (k =0; 1; 111); where x k are row vectors and A i are w 2 w matrices. MT belongs to this class, since the dening recurrence (2.1) of MT can be written as A + x k Iw0r A; x k+n = x k+m + x k I r where I r, I w0r is the identitymatrix of size r, w 0 r, respectively. Even after tempering, the generated sequence still belongs to this class. It is easy to see from the denition that a sequence of word vectors belongs to this class if and onlyif x k+n is determined bya linear transformation from the preceding n vectors x k+n01 ; x k+1 ;:::;x k. (Thus, this is nothing but a linear recurring sequence of vector values, as stated in [Niederreiter 1993]. The important point of [Niederreiter 1995] is to analyze the properties such as discrepancy.) Since the tempering matrix is a linear isomorphism, it preserves this property. Thus, MT can be said to be a neat implementation of the general concept MRMM. Unfortunately, the detailed investigation in [Niederreiter 1995] is not applicable as it is, since he mainlyconsidered onlythe case with the maximal period 2 nw 01. A modication of Niederreiter's work to cover MT would be possible and valuable. We guess that MT's performance would not be so much dierent from those considered in [Niederreiter 1995]. 4. HOW TO FIND PERIOD PARAMETERS 4.1 The diculty in obtaining the period Since we have chosen n and r so that nw 0 r = p is a large Mersenne exponent, the primitivity canbechecked by(see for example [Heringa, J.R. et al. 1992]) t 2 6 t mod ' B (t) t 2p t mod ' B (t) : It is possible to calculate this directly,aswas done previously. (See Appendix A.1 for the explicit form of ' B (t)). However, this is an O(lp 2 )calculation, where l is the number of terms. To take the square modulo ' B (t), we need to divide a polynomial of degree 2p by ' B (t). For this, we need O(p)times subtraction by ' B (t), and each subtraction requires O(l)operations. We iterate this p times, which amounts to O(lp 2 ). In our case, p is verylarge (> 10000), and according to our experiment, the direct computation mayneed several years to catch a primitive polynomial. We contrived an algorithm called the inversivedecimation method with O(p 2 ) operations for the primitivitytest for MT, which took onlytwo weeks to nd one
13 12 1 M. Matsumoto and T. Nishimura primitive polynomial for MT with degree This algorithm maybe used for other generators as well, if the generator satises the condition of Proposition 4.2 below. 4.2 A criterion for primitivity Let S 1 denote the F 2 vector space of all innite sequences of 0,1. That is, S 1 := f =(111;x 5 ;x 4 ;x 3 ;x 2 ;x 1 ;x 0 ) j x i 2 F 2 g: Let D (delay operator) and H (decimation operator) be linear operators from S 1 to S 1 dened by D(111;x 4 ;x 3 ;x 2 ;x 1 ;x 0 )=(111;x 5 ;x 4 ;x 3 ;x 2 ;x 1 ); H(111;x 4 ;x 3 ;x 2 ;x 1 ;x 0 )=(111;x 10 ;x 8 ;x 6 ;x 4 ;x 2 ;x 0 ): Let '(t) be the characteristic polynomial of a linear recurrence. Then, satises the recurrence if and onlyif '(D) =0. It is easyto check that DH = HD 2 : Since the coecients are in F 2, we have '(t 2 )='(t) 2, and thus if '(D) =0then '(D)H = H'(D 2 ) = H'(D) 2 =0; i.e., H also satises the same recurrence. It is easyto see that if the period of 2S 1 is 2 p 0 1thenH p =, but the converse maynot be true. However, the following theorem holds. Theorem 4.1. Let '(t) be apolynomial over F 2 whose degree p is a Mersenne exponent. Take 2S 1 such that '(D) =0and H 6=. Then'(t) is primitive if and only if H p =. Proof. Let V be the pdimensional linear space V := f 2S 1 j '(D) =0g; and be a linear mapping from S 1 to F 2 dened by (111;x 2 ;x 1 ;x 0 )=x 0 : We consider a bilinear pairing (ajb) dened by F 2 [t]='(t) 2 V! F 2 (g(t);) 7! (g(t)j) :=(g(d)): This is welldened, and nondegenerate because if (g(d)) = 0 for all g(d), then = 0 follows from (D n ) = 0 for all n. Let F be a mapping from F 2 [t]='(t) tof 2 [t]='(t) given by F (g(t)) = g(t) 2. Then it is easyto check that F is the adjoint ofh, i.e., (F (g(t))j) =(g(t)jh) holds (it is enough to consider the case of g(t) =t).
14 623dimensionally equidistributed uniform pseudorandom number generator 1 13 The condition of the theorem is which is now equivalent to Ker(H p 0 1) ) Ker(H 0 1); Ker(F p 0 1) ) Ker(F 0 1): This means the existence of g(t) 2 F 2 [t]='(t) such that g(t) 2p = g(t) and g(t) 2 6= g(t). Let l (1) be the smallest integer such that g(t) l+1 = g(t). Then, since g(t) 2p = g(t), it follows that lj2 p 0 1, and l 6= 1 bythe assumption. Since p is a Mersenne exponent, l must be at least 2 p 01. Since 0 is an orbit, this means that all nonzero elements lie on one orbit, and it is purelyperiodic. Since this orbit contains 1, g(t) is invertible and it must be a generator of (F 2 [t]='(t)) 2. Moreover, the order of (F 2 [t]='(t)) 2 must be 2 p 0 1. Then F 2 [t]='(t) is a eld, so '(t) is primitive The Inversivedecimation method for the primitivity testing Proposition 4.2. (Inversivedecimation method) Let V, the state space of the generator, be apdimensional vector space overf 2, where p is a Mersenneexponent. Let f : V! V be alinear state transition map. Let b : V! F 2 be a linear map (e.g. looking up one bit from the state). Assume that f and b are computable in O(1)time. Assume that 8:V! F 2 p given by 8:S 7! (bf p01 (S);bf p02 (S);:::;bf(S);b(S)) is bijective, and that the inverse map is computable with time complexity O(p). Then, primitivity of the characteristic polynomial of f can be tested with time complexity O(p 2 ). Note that the last condition is essential. The other conditions are automatically satised for most ecient F 2 generators. In order to applythis algorithm, to nd a good b satisfying the last condition is the crux. Proof. Let be the innite sequence (111;bf 2 (S);bf(S);b(S)). Since 8 is invertible with order O(p), we can choose such ans with H() 6=. ByTheorem 4.1, it is enough to show that the rst p bits of H m+1 () canbe obtained from the rst p bits of H m () withano(p)calculation. From the rst p bits of H m (), we can obtain a state S m which yields H m () byusing the inverse of 8 with O(p) computations. From this state, we can generate the rst 2p bits of H m () withano(2p) calculation, since f and b are of O(1). Then decimate these 2p bits. Now we obtain the rst p bits of H m+1,withano(p) calculation. The above proposition can be applied to MT in the following way. For simplicity, assume r>0. Put S =(x n01 ; 111; x 1 ; x u 0), i.e, an initial (n 2 w 0 r)array. Let b be the map that takes the upperright corner of this incomplete array. Thus, b(s) =x 1;0, the least signicant bit of x 1.Wehave to nd an inverse morphism to 8, which calculates from (x p;0 ;x p01;0 ;:::;x 1;0 ) the state S that produces this pbit stream at the least signicant bit,with only O(p)calculation. If x p0n+1;0 ;x p0n+m;0 and x p;0 are known, we can calculate x p0n+1;1 if r>1, or x p0n;1 if r 1. This is because bystep 2 and Step 3 of the algorithm in x2.1, the
15 14 1 M. Matsumoto and T. Nishimura following equation holds between x p0n+1;0 ;x p0n+m;0 ;x p;0 and x p0n+1;1. x p0n+1;1 = xp0n+m;0 8 x p;0 if x p0n+1;0 =0 x p0n+m;0 8 x p;0 8 a 0 if x p0n+1;0 =1: It is clear that the same relation holds between x i0n+1;0,x i0n+m;0,x i;0 and x i0n+1;1 for i = n, n +1,111,p. Thus from x 1;0,111,x p;0, we can calculate x 1;1,111,x p0n+1;1. In general, for i = n; n +1; 111;p, j =1; 2; 111;w0 1, the following equations hold: x i0n+1;j = x i0n;j = xi0n+m;j01 xi0n+m;j01 8 x i;j01 if x i0n+1;0 =0 x i0n+m;j01 8 x i;j01 8 a j01 if x i0n+1;0 =1 (j<r) 8 x i;j01 if x i0n+1;0 =0 x i0n+m;j01 8 x i;j01 8 a j01 if x i0n+1;0 =1 (j r):? 5? 5? j<r 5 = x 8>< i0n+1;j 8 = x i;j01 > < = x >: i0n+m;j01? = x i0n+1;0 > : j r 5 = x i0n;j = x i;j01 = x i0n+m;j01? = x i0n+1;0 If x 1;0,111,x k;0 and x m;j,x m+1;j,111,x k+n01;j (n k + n 0 1 p) are known, then x 1;j+1,x 2;j+1,111,x k;j+1 (if j<r0 1), or x 0;j+1,x 1;j+1,111,x k01;j+1 (if j r 0 1) can be calculated. Furthermore, from (x i;j01,111,x i;0 ), (x i0n+m;j01,111,x i0n+m;0 ), and x i0n+1;0,we can calculate (x i0n;j,111,x i0n;r,x i0n+1;r01,111,x i0n+1;1, x i0n+1;0 ), i.e., the lower (j +1)bitsof(x u i0n jxl i0n+1 ) at the same time, by (x i0n;j ; 111;x i0n;r ;x i0n+1;r01 ; 111;x i0n+1;1 ;x i0n+1;0 )= (0; 0; 111; 0;x i0n+1;0 ) +(x i;j01 ; 111;x i;1 ;x i;0 ; 0) +(x i0n+m;j01 ; 111;x i0n+m;1 ;x i0n+m;0 ; 0) 0 if xi0n+1;0 =0 + (a j01 111;a 1 ;a 0 ; 0) if x i0n+1;0 =1 : So, bysetting y 0 =0,y i =(0; 111; 0;x i;0 )(i =1; 111 ;p) and repeating the following recurrence from i = p until i = n, 0 if the least signicant bit of yi0n+1 =0 a if the least signicant bit of y i0n+1 =1 (y u i0n jyl i0n+1) shiftleft(y)+(0; 111; 0;x i0n+1;0 ) y yi + yi0n+m +
16 623dimensionally equidistributed uniform pseudorandom number generator 1 15 we gets =(y n01,111,y 0 ). Now Proposition 4.2 can be applied. Here we summarize the algorithm. Let x[0 : 2p 0 1], initial[0 : n 0 1] be arrays of unsigned wbit integers, i; j; k be integer variables, and u, ll, a unsigned wbit integers. {z } w0r {z } {z } r {z } Step 1. u ll w0r r a a w01 a w02 111a 1 a 0 for j 0 to n 0 1 do begin x[j] some initial value such that x[2] 6= x[3] initial[j] x[j] end Step 2. for i 0 to p 0 1 do begin Generate 2p 0 n times x[j] x[2j 0 1] (j =1; 2; 3;:::;p) for k p to n do begin y x[k] 8 x[k 0 n + m] 8 0 if the least signicant bit of x[k 0 n +1]=0 a if the least signicant bit of x[k 0 n +1]=1 y shiftleft(y). Set the least signicant bit of y to that of x[k 0 n +1] x[k 0 n +1] (u AND x[k 0 n + 1]) OR (ll AND y) x[k 0 n] (u AND y) OR(ll AND x[k 0 n]) k k 0 1 end i i +1 end Step 3. if (x[0] AND u) =(initial[0] AND u) andinitial[j] = x[j] (j = 1; 2; :::; n0 1) then the period is 2 p 0 1 else the period is not 2 p HOW TO FIND TEMPERING PARAMETERS 5.1 lattice methods to obtain kdistribution to vbit accuracy To compute k(v) we use the lattice method developed in [Tezuka 1990][Couture et al. 1993][Tezuka 1994a] with the algorithm in [Lenstra 1985] to nd the successive minima in the formal power series over F 2. In [Matsumoto and Kurita 1994] we computed the kdistribution byobtaining the rank of a matrix, but this time we could not do that because of the computational complexity O(p 3 ). Here, we recall brieythe method to obtain k(v) byusing the lattice. Let x 1, x 2 ;:::;x i, ::: be a sequence in which each bit satises one common linear recurrence with primitive characteristic polynomial '(t). Thus, if we putx i = (x i;w01 ;:::;x i;0 ), then the innite sequences w01 =(x 0;w01 ;x 1;w01 ;:::;x i;w01 ;:::),
17 16 1 M. Matsumoto and T. Nishimura 111, 0 =(x 0;0 ;x 1;0 ;:::;x i;0 ;:::) are subject to the recurrence given by '(t) (MT satises this, see Appendix A.2). Now, the lth ktuple up to vbit accuracyis (rst k (D l w01 );:::;rst k (D l w0v )), where rst k denotes the rst k bits of the sequence. Hence kdistribution to vbit accuracyis equivalent to the surjectivityof l 7! (rst k (D l ( w01 ));:::;rst k (D l ( w0v ))); as a map from the integers to the nonzero vectors in the (v 2 k)dimensional space over F 2. (Then the multiplicityin one small cube would be 2's power to the dierence between the dimension of the state space and v 2 k.) To obtain the maximal k =: k(v) so that the above map is surjective, we use the lattice structure. Let K be the eld of Laurent power series: K = 8< : 1 X j=0n 9= j t 0j j j 2 F 2 ;n2 Z; : We identifyeach i with a Laurent power series by i := 1X j=0 x j;i t 0j : Let A be the polynomial ring F 2 [t] K, and consider the sub Amodule L of K v spanned bythe (v + 1)vectors ( w01 ; w02 ;:::; w0v ); (1; 0;:::;0); (0; 1; 0;:::;0); 111; (0;:::;0; 1): This can be proved to be a vdimensional free Asubmodule, i.e., a lattice. We dene the successive minima of L as follows. Dene a nonarchimedean valuation to x 2 K by jxj = 0 if x =0 2 k if x 6= 0andk is the largest exponent of nonzero terms. For each vdimensional vector X =(x 1 ; 111;x v ) 2 K v, dene its norm by kxk =max 1iv jx i j: Definition 5.1. Let X 1 ; 111;X v bepoints in a lattice L 2 K v of rank v. We call X 1 ; 111;X v areduced basis of L over F 2 if the following properties hold: (1) X 1 is a shortest nonzero vector in L. (2) X i is a shortest vector among the vectors in L but outside the Kspan hx 1 ; 111;X i01 i K,foreach 1 i v. The numbers i = kx i k are uniquely determined by the lattice, and s i = log 2 i i =1; 111; v are called its successive minima. Theorem [Couture et al. 1993][Tezuka 1994a]. The sequence x 1 ; x 2 ;:::; x i ;::: is (0s v )distributed tovbit accuracy, where s v is the vth successive minimum of the lattice L in K v associated with the sequence.
18 623dimensionally equidistributed uniform pseudorandom number generator 1 17 Thus, the calculation of k(v) is reduced to obtaining the successive minima. For this, there is an ecient algorithm [Lenstra 1985]. Since the dimension of the state space is large for MT, we need several programming techniques for an ecient implementation. We shall give onlyone comment: we adopted \lazyevaluation." We keep only one (n 2 w 0 r)arrayfor describing one vector in K v, and calculate the coecients of t 0k bygenerating k words. Thus, here again, we depend on the easiness to generate the MT sequence. The time complexityof Lenstra's algorithm is O(v 4 p 2 ) (see [Lenstra 1985][Tezuka 1994a]), which might be larger than the time complexity O(p 3 ) in obtaining the rank of p 2 p matrix for large v. However, according to our experiments, Lenstra's algorithm is much faster. This could be because (1) for the rank of matrix, we needs p bits of memory, which mayinvoke swapping between memory and disk, (2) O(v 4 p 2 )istheworst case, and in average the order seems to be less. 5.2 Tempering To attain k(v) near the trivial bound, we multiplythe output vector by atempering matrix T.We could not make the realized values meet the trivial bound. We show a tighter bound (Appendix B), but we could not attain that bound neither. In addition, we have no ecient algorithm corresponding to the one in [Matsumoto and Kurita 1994] now. So, using the same backtracking technique, accelerated by Tezuka's resolutionwise lattice, we searched for parameters with k(v) as near to c as possible. Let fx i g be an MT sequence, and then dene a sequence fz i g by b nw0r v z i := x i T; where T is a regular F 2 matrix representing the composition of the transformations (2.2), (2.3), (2.4) and (2.5) described in x2.1. Since T is regular, the period of fz i g is the same as that of fx i g. About the peculiar form of tempering and how to search the tempering parameters, please refer to [Matsumoto and Kurita 1994]. The parameter in (2.5) is chosen so that the least signicant bits have a satisfactory kdistribution. 6. CONCLUSION We proposed a pseudorandom number generator called Mersenne Twister. A portable Ccode MT19937 attains a far longer period and far larger kdistributions than anypreviouslyexisting generator (see Table II). The form of recurrence is cleverlyselected so that both the generation and the parameter search are ecient (x3). The initialization is carefree. This generator is as fast as other common generators, such as the standard ANSIC rand, and it passed several statistical tests including diehard. Thus we can saythat this is one of the most promising generators at the present time. As a nal remark, we stress that we used ecient algorithms unique to F 2 [t]. These algorithms enabled us to obtain better performance than integerlargemodulus generators, from the viewpoint of longer periods (Proposition 4.2) and higher k distribution property(lattice methods in x5).
19 18 1 M. Matsumoto and T. Nishimura APPENDIX A. A.1 Explicit form of the matrix B The explicit form of the ((nw 0 r) 2 (nw 0 r))matrix B in x3.1isasfollows: B = For l =0; 1;:::, 0 0 I w I w I w I w I w0r S CA ; S := 0 Ir A: I w0r 0 (x l+n ; x l+n01 ; 111; x u l+1) =(x l+n01 ; x l+n02 ; 111; x u l )B; holds, see the recurrence (2.1). It is not hard to see that ' B (t) =(t n + t m ) w0r (t n01 + t m01 ) r + a 0 (t n + t m ) w0r (t n01 + t m01 ) r01 where a i 's are as in x a r02 (t n + t m ) w0r (t n01 + t m01 )+a r01 (t n + t m ) w0r + a r (t n + t m ) w0r a w02 (t n + t m )+a w01 ; A.2 Relation between an MT sequence and its subsequences Let ' B (t) bethecharacteristic polynomial B, and S be a state. Since ' B (B)S =0, each entryof the incomplete array(i.e. an entryin S; BS; B 2 S; : : :) constitutes a bitstream which is a solution to the linear recurrence associated with ' B (t). Thus we get the following proposition. Proposition A.1. For an MT sequence (111,x 2,x 1,x u 0), itsithbit subsequence (111,x 3;i,x 2;i,x 1;i ) satises the same linear recurring equation corresponding to ' B (t), independently of the choice of i. Thus, an MT sequence (111,x 2,x 1,x u 0) attains the maximal period 2 p 0 1 if and only if its ith bit subsequence (111,x 3;i,x 2;i,x 1;i ) attains the maximal period 2 p 0 1. B. OBSTRUCTIONS TO OPTIMAL DISTRIBUTION In this appendix we shall show some obstructions for MT to achieve the trivial bound on k(v). Proposition B.1. Let j<nbe an integer. If j(j +3) v>(j +1)w 0 r 2
20 623dimensionally equidistributed uniform pseudorandom number generator 1 19 holds, then the order of equidistribution k(v) to vbit accuracy of the MT sequence is at most jn 0 1. This says that if v>w0 r 3w0r 2 then k(v) is at most n 0 1, and that if v> 5 then k(v) is at most 2n 0 1. The former is much more restrictive thank(v) b nw0r c, v for large r, such as MT19937 in Table II. Proof. kdistribution to vbit accuracyis equivalent to the surjectivityof the linear mapping TQ TQ (x u 0; x 1 ;:::;x n01 )! f (x 1 ; x 2 ;:::;x k )... TQ where T denotes the (w 2 w)tempering matrix and Q denotes the matrix taking the upper v bits, i.e. Q = Iv : Although we used the recurrence (2.1), as far as 0 the surjectivityof this mapping is concerned, we get the same result even if we use the recurrence 0 x k+n := (x u kjx l k+1)a; (k =0; 1; 111); bythe same argument as in the proof of Theorem 2.1 in [Matsumoto and Kurita 1994]. So, from now on, we use this recurrence. Now, the dependencies of the x i 's are described bythe following diagram. 1 CA ; x u 0 x 1 x 2 x x n01 #. #. #. # 111. # x n x n+1 x n+2 x n x 2n01 #. #. #. # 111. # x 2n x 2n+1 x 2n+2 x 2n x 3n01 #. #. #. # 111. # x 3n x 3n+1 x 3n+2 x 3n x 4n01 #. #. #. # 111. # Then, for an integer j<n, the part (x u 0 ; x 1;:::;x j ) of the initial values determines the left upper triangular region in the diagram (x u 0; x 1 ;:::::::::;x j ; x n ; x n+1 ;:::;x n+j01 ;. x jn ): Then, if k(v) jn, themultiplication by TQ on each vector must be surjective asa whole. Thus the dimension of the domain (j +1)w 0 r is at least that of the target j(j+3) 2 v. This shows that if k(v) jn then j(j+3) 2 v (j +1)w 0 r. 3 Proposition B.2. If k(v) n +maxfr; w 0 rg01, then k(v) 2(n 0 1)..
Mersenne Twister: A 623Dimensionally Equidistributed Uniform PseudoRandom Number Generator
Mersenne Twister: A 623Dimensionally Equidistributed Uniform PseudoRandom Number Generator MAKOTO MATSUMOTO Keio University and the MaxPlanckInstitut für Mathematik and TAKUJI NISHIMURA Keio University
More informationImproved LongPeriod Generators Based on Linear Recurrences Modulo 2
Improved LongPeriod Generators Based on Linear Recurrences Modulo 2 FRANCOIS PANNETON and PIERRE L ECUYER Université de Montréal Fast uniform random number generators with extremely long periods have
More informationMathematics Course 111: Algebra I Part IV: Vector Spaces
Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 19967 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are
More informationCryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur
Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 12 Block Cipher Standards
More informationNotes on Factoring. MA 206 Kurt Bryan
The General Approach Notes on Factoring MA 26 Kurt Bryan Suppose I hand you n, a 2 digit integer and tell you that n is composite, with smallest prime factor around 5 digits. Finding a nontrivial factor
More informationInternational Journal of Information Technology, Modeling and Computing (IJITMC) Vol.1, No.3,August 2013
FACTORING CRYPTOSYSTEM MODULI WHEN THE COFACTORS DIFFERENCE IS BOUNDED Omar Akchiche 1 and Omar Khadir 2 1,2 Laboratory of Mathematics, Cryptography and Mechanics, Fstm, University of Hassan II MohammediaCasablanca,
More informationThe van Hoeij Algorithm for Factoring Polynomials
The van Hoeij Algorithm for Factoring Polynomials Jürgen Klüners Abstract In this survey we report about a new algorithm for factoring polynomials due to Mark van Hoeij. The main idea is that the combinatorial
More informationThe Dirichlet Unit Theorem
Chapter 6 The Dirichlet Unit Theorem As usual, we will be working in the ring B of algebraic integers of a number field L. Two factorizations of an element of B are regarded as essentially the same if
More informationFACTORING POLYNOMIALS IN THE RING OF FORMAL POWER SERIES OVER Z
FACTORING POLYNOMIALS IN THE RING OF FORMAL POWER SERIES OVER Z DANIEL BIRMAJER, JUAN B GIL, AND MICHAEL WEINER Abstract We consider polynomials with integer coefficients and discuss their factorization
More informationTHE NUMBER OF REPRESENTATIONS OF n OF THE FORM n = x 2 2 y, x > 0, y 0
THE NUMBER OF REPRESENTATIONS OF n OF THE FORM n = x 2 2 y, x > 0, y 0 RICHARD J. MATHAR Abstract. We count solutions to the RamanujanNagell equation 2 y +n = x 2 for fixed positive n. The computational
More informationSolution of Linear Systems
Chapter 3 Solution of Linear Systems In this chapter we study algorithms for possibly the most commonly occurring problem in scientific computing, the solution of linear systems of equations. We start
More informationA Memory Reduction Method in Pricing American Options Raymond H. Chan Yong Chen y K. M. Yeung z Abstract This paper concerns with the pricing of American options by simulation methods. In the traditional
More informationMATH10212 Linear Algebra. Systems of Linear Equations. Definition. An ndimensional vector is a row or a column of n numbers (or letters): a 1.
MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0534405967. Systems of Linear Equations Definition. An ndimensional vector is a row or a column
More informationNew Hash Function Construction for Textual and Geometric Data Retrieval
Latest Trends on Computers, Vol., pp.483489, ISBN 9789647434, ISSN 7945, CSCC conference, Corfu, Greece, New Hash Function Construction for Textual and Geometric Data Retrieval Václav Skala, Jan
More informationLinear Codes. Chapter 3. 3.1 Basics
Chapter 3 Linear Codes In order to define codes that we can encode and decode efficiently, we add more structure to the codespace. We shall be mainly interested in linear codes. A linear code of length
More informationLecture 3: Finding integer solutions to systems of linear equations
Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture
More information4.6 Null Space, Column Space, Row Space
NULL SPACE, COLUMN SPACE, ROW SPACE Null Space, Column Space, Row Space In applications of linear algebra, subspaces of R n typically arise in one of two situations: ) as the set of solutions of a linear
More informationLINEAR ALGEBRA W W L CHEN
LINEAR ALGEBRA W W L CHEN c W W L Chen, 1997, 2008 This chapter is available free to all individuals, on understanding that it is not to be used for financial gain, and may be downloaded and/or photocopied,
More information15.062 Data Mining: Algorithms and Applications Matrix Math Review
.6 Data Mining: Algorithms and Applications Matrix Math Review The purpose of this document is to give a brief review of selected linear algebra concepts that will be useful for the course and to develop
More informationCOUNTING INDEPENDENT SETS IN SOME CLASSES OF (ALMOST) REGULAR GRAPHS
COUNTING INDEPENDENT SETS IN SOME CLASSES OF (ALMOST) REGULAR GRAPHS Alexander Burstein Department of Mathematics Howard University Washington, DC 259, USA aburstein@howard.edu Sergey Kitaev Mathematics
More informationThe Ideal Class Group
Chapter 5 The Ideal Class Group We will use Minkowski theory, which belongs to the general area of geometry of numbers, to gain insight into the ideal class group of a number field. We have already mentioned
More informationECE 842 Report Implementation of Elliptic Curve Cryptography
ECE 842 Report Implementation of Elliptic Curve Cryptography WeiYang Lin December 15, 2004 Abstract The aim of this report is to illustrate the issues in implementing a practical elliptic curve cryptographic
More informationElementary Number Theory We begin with a bit of elementary number theory, which is concerned
CONSTRUCTION OF THE FINITE FIELDS Z p S. R. DOTY Elementary Number Theory We begin with a bit of elementary number theory, which is concerned solely with questions about the set of integers Z = {0, ±1,
More informationGeneral Principles in Random Variates Generation
General Principles in Random Variates Generation E. Moulines Ecole Nationale Supérieure des Télécommunications 20 mai 2007 Why use random numbers? Random numbers lie at the heart of many scientific and
More information1 Sets and Set Notation.
LINEAR ALGEBRA MATH 27.6 SPRING 23 (COHEN) LECTURE NOTES Sets and Set Notation. Definition (Naive Definition of a Set). A set is any collection of objects, called the elements of that set. We will most
More informationSECRET sharing schemes were introduced by Blakley [5]
206 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 1, JANUARY 2006 Secret Sharing Schemes From Three Classes of Linear Codes Jin Yuan Cunsheng Ding, Senior Member, IEEE Abstract Secret sharing has
More informationOn the representability of the biuniform matroid
On the representability of the biuniform matroid Simeon Ball, Carles Padró, Zsuzsa Weiner and Chaoping Xing August 3, 2012 Abstract Every biuniform matroid is representable over all sufficiently large
More informationThe Characteristic Polynomial
Physics 116A Winter 2011 The Characteristic Polynomial 1 Coefficients of the characteristic polynomial Consider the eigenvalue problem for an n n matrix A, A v = λ v, v 0 (1) The solution to this problem
More informationUniversity of Lille I PC first year list of exercises n 7. Review
University of Lille I PC first year list of exercises n 7 Review Exercise Solve the following systems in 4 different ways (by substitution, by the Gauss method, by inverting the matrix of coefficients
More informationModélisation et résolutions numérique et symbolique
Modélisation et résolutions numérique et symbolique via les logiciels Maple et Matlab Jeremy Berthomieu Mohab Safey El Din Stef Graillat Mohab.Safey@lip6.fr Outline Previous course: partial review of what
More informationFOUNDATIONS OF ALGEBRAIC GEOMETRY CLASS 22
FOUNDATIONS OF ALGEBRAIC GEOMETRY CLASS 22 RAVI VAKIL CONTENTS 1. Discrete valuation rings: Dimension 1 Noetherian regular local rings 1 Last day, we discussed the Zariski tangent space, and saw that it
More informationOptimization of the MPQSfactoring algorithm on the Cyber 205 and the NEC SX2
Optimization of the MPQSfactoring algorithm on the Cyber 205 and the NEC SX2 Walter Lioen, Herman te Riele, Dik Winter CWI P.O. Box 94079, 1090 GB Amsterdam, The Netherlands ABSTRACT This paper describes
More informationContinued Fractions and the Euclidean Algorithm
Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction
More informationLecture 3: Linear Programming Relaxations and Rounding
Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can
More informationInner Product Spaces
Math 571 Inner Product Spaces 1. Preliminaries An inner product space is a vector space V along with a function, called an inner product which associates each pair of vectors u, v with a scalar u, v, and
More information2.1 Complexity Classes
15859(M): Randomized Algorithms Lecturer: Shuchi Chawla Topic: Complexity classes, Identity checking Date: September 15, 2004 Scribe: Andrew Gilpin 2.1 Complexity Classes In this lecture we will look
More informationSection 1.1. Introduction to R n
The Calculus of Functions of Several Variables Section. Introduction to R n Calculus is the study of functional relationships and how related quantities change with each other. In your first exposure to
More informationPrimality  Factorization
Primality  Factorization Christophe Ritzenthaler November 9, 2009 1 Prime and factorization Definition 1.1. An integer p > 1 is called a prime number (nombre premier) if it has only 1 and p as divisors.
More informationMATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m
MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS 1. SYSTEMS OF EQUATIONS AND MATRICES 1.1. Representation of a linear system. The general system of m equations in n unknowns can be written a 11 x 1 + a 12 x 2 +
More information2 Primality and Compositeness Tests
Int. J. Contemp. Math. Sciences, Vol. 3, 2008, no. 33, 16351642 On Factoring R. A. Mollin Department of Mathematics and Statistics University of Calgary, Calgary, Alberta, Canada, T2N 1N4 http://www.math.ucalgary.ca/
More information1 VECTOR SPACES AND SUBSPACES
1 VECTOR SPACES AND SUBSPACES What is a vector? Many are familiar with the concept of a vector as: Something which has magnitude and direction. an ordered pair or triple. a description for quantities such
More informationBANACH AND HILBERT SPACE REVIEW
BANACH AND HILBET SPACE EVIEW CHISTOPHE HEIL These notes will briefly review some basic concepts related to the theory of Banach and Hilbert spaces. We are not trying to give a complete development, but
More informationClassification of Cartan matrices
Chapter 7 Classification of Cartan matrices In this chapter we describe a classification of generalised Cartan matrices This classification can be compared as the rough classification of varieties in terms
More informationIRREDUCIBLE OPERATOR SEMIGROUPS SUCH THAT AB AND BA ARE PROPORTIONAL. 1. Introduction
IRREDUCIBLE OPERATOR SEMIGROUPS SUCH THAT AB AND BA ARE PROPORTIONAL R. DRNOVŠEK, T. KOŠIR Dedicated to Prof. Heydar Radjavi on the occasion of his seventieth birthday. Abstract. Let S be an irreducible
More information1.2 Solving a System of Linear Equations
1.. SOLVING A SYSTEM OF LINEAR EQUATIONS 1. Solving a System of Linear Equations 1..1 Simple Systems  Basic De nitions As noticed above, the general form of a linear system of m equations in n variables
More informationRNCodings: New Insights and Some Applications
RNCodings: New Insights and Some Applications Abstract During any composite computation there is a constant need for rounding intermediate results before they can participate in further processing. Recently
More informationRow Ideals and Fibers of Morphisms
Michigan Math. J. 57 (2008) Row Ideals and Fibers of Morphisms David Eisenbud & Bernd Ulrich Affectionately dedicated to Mel Hochster, who has been an inspiration to us for many years, on the occasion
More informationData analysis in supersaturated designs
Statistics & Probability Letters 59 (2002) 35 44 Data analysis in supersaturated designs Runze Li a;b;, Dennis K.J. Lin a;b a Department of Statistics, The Pennsylvania State University, University Park,
More informationTwo classes of ternary codes and their weight distributions
Two classes of ternary codes and their weight distributions Cunsheng Ding, Torleiv Kløve, and Francesco Sica Abstract In this paper we describe two classes of ternary codes, determine their minimum weight
More information8 Square matrices continued: Determinants
8 Square matrices continued: Determinants 8. Introduction Determinants give us important information about square matrices, and, as we ll soon see, are essential for the computation of eigenvalues. You
More informationMATH 4330/5330, Fourier Analysis Section 11, The Discrete Fourier Transform
MATH 433/533, Fourier Analysis Section 11, The Discrete Fourier Transform Now, instead of considering functions defined on a continuous domain, like the interval [, 1) or the whole real line R, we wish
More informationRandomNumber Generation
RandomNumber Generation Raj Jain Washington University Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: http://www.cse.wustl.edu/~jain/cse57408/ 261
More informationChapter 12 Modal Decomposition of StateSpace Models 12.1 Introduction The solutions obtained in previous chapters, whether in time domain or transfor
Lectures on Dynamic Systems and Control Mohammed Dahleh Munther A. Dahleh George Verghese Department of Electrical Engineering and Computer Science Massachuasetts Institute of Technology 1 1 c Chapter
More information7 Gaussian Elimination and LU Factorization
7 Gaussian Elimination and LU Factorization In this final section on matrix factorization methods for solving Ax = b we want to take a closer look at Gaussian elimination (probably the best known method
More informationsome algebra prelim solutions
some algebra prelim solutions David Morawski August 19, 2012 Problem (Spring 2008, #5). Show that f(x) = x p x + a is irreducible over F p whenever a F p is not zero. Proof. First, note that f(x) has no
More informationON GALOIS REALIZATIONS OF THE 2COVERABLE SYMMETRIC AND ALTERNATING GROUPS
ON GALOIS REALIZATIONS OF THE 2COVERABLE SYMMETRIC AND ALTERNATING GROUPS DANIEL RABAYEV AND JACK SONN Abstract. Let f(x) be a monic polynomial in Z[x] with no rational roots but with roots in Q p for
More informationIMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE OPERATORS
Volume 2, No. 3, March 2011 Journal of Global Research in Computer Science RESEARCH PAPER Available Online at www.jgrcs.info IMPROVING PERFORMANCE OF RANDOMIZED SIGNATURE SORT USING HASHING AND BITWISE
More informationOrthogonal Projections
Orthogonal Projections and Reflections (with exercises) by D. Klain Version.. Corrections and comments are welcome! Orthogonal Projections Let X,..., X k be a family of linearly independent (column) vectors
More informationTesting Random Number Generators
Testing Random Number Generators Raj Jain Washington University Saint Louis, MO 63130 Jain@cse.wustl.edu Audio/Video recordings of this lecture are available at: http://www.cse.wustl.edu/~jain/cse57408/
More informationSECURITY EVALUATION OF EMAIL ENCRYPTION USING RANDOM NOISE GENERATED BY LCG
SECURITY EVALUATION OF EMAIL ENCRYPTION USING RANDOM NOISE GENERATED BY LCG ChungChih Li, Hema Sagar R. Kandati, Bo Sun Dept. of Computer Science, Lamar University, Beaumont, Texas, USA 4098808748,
More informationSOLVING LINEAR SYSTEMS
SOLVING LINEAR SYSTEMS Linear systems Ax = b occur widely in applied mathematics They occur as direct formulations of real world problems; but more often, they occur as a part of the numerical analysis
More informationThe finite field with 2 elements The simplest finite field is
The finite field with 2 elements The simplest finite field is GF (2) = F 2 = {0, 1} = Z/2 It has addition and multiplication + and defined to be 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 0 0 = 0 0 1 = 0
More informationInformation Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay
Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture  17 ShannonFanoElias Coding and Introduction to Arithmetic Coding
More informationPUTNAM TRAINING POLYNOMIALS. Exercises 1. Find a polynomial with integral coefficients whose zeros include 2 + 5.
PUTNAM TRAINING POLYNOMIALS (Last updated: November 17, 2015) Remark. This is a list of exercises on polynomials. Miguel A. Lerma Exercises 1. Find a polynomial with integral coefficients whose zeros include
More information3. INNER PRODUCT SPACES
. INNER PRODUCT SPACES.. Definition So far we have studied abstract vector spaces. These are a generalisation of the geometric spaces R and R. But these have more structure than just that of a vector space.
More informationBreaking Generalized DiffieHellman Modulo a Composite is no Easier than Factoring
Breaking Generalized DiffieHellman Modulo a Composite is no Easier than Factoring Eli Biham Dan Boneh Omer Reingold Abstract The DiffieHellman keyexchange protocol may naturally be extended to k > 2
More information9.2 Summation Notation
9. Summation Notation 66 9. Summation Notation In the previous section, we introduced sequences and now we shall present notation and theorems concerning the sum of terms of a sequence. We begin with a
More informationFactoring & Primality
Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount
More information4. MATRICES Matrices
4. MATRICES 170 4. Matrices 4.1. Definitions. Definition 4.1.1. A matrix is a rectangular array of numbers. A matrix with m rows and n columns is said to have dimension m n and may be represented as follows:
More informationLinear Maps. Isaiah Lankham, Bruno Nachtergaele, Anne Schilling (February 5, 2007)
MAT067 University of California, Davis Winter 2007 Linear Maps Isaiah Lankham, Bruno Nachtergaele, Anne Schilling (February 5, 2007) As we have discussed in the lecture on What is Linear Algebra? one of
More informationUniversal hashing. In other words, the probability of a collision for two different keys x and y given a hash function randomly chosen from H is 1/m.
Universal hashing No matter how we choose our hash function, it is always possible to devise a set of keys that will hash to the same slot, making the hash scheme perform poorly. To circumvent this, we
More informationCollinear Points in Permutations
Collinear Points in Permutations Joshua N. Cooper Courant Institute of Mathematics New York University, New York, NY József Solymosi Department of Mathematics University of British Columbia, Vancouver,
More informationby the matrix A results in a vector which is a reflection of the given
Eigenvalues & Eigenvectors Example Suppose Then So, geometrically, multiplying a vector in by the matrix A results in a vector which is a reflection of the given vector about the yaxis We observe that
More informationa 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + + a 2n x n = b 2.
Chapter 1 LINEAR EQUATIONS 1.1 Introduction to linear equations A linear equation in n unknowns x 1, x,, x n is an equation of the form a 1 x 1 + a x + + a n x n = b, where a 1, a,..., a n, b are given
More informationSolving Systems of Linear Equations
LECTURE 5 Solving Systems of Linear Equations Recall that we introduced the notion of matrices as a way of standardizing the expression of systems of linear equations In today s lecture I shall show how
More informationFUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM
International Journal of Innovative Computing, Information and Control ICIC International c 0 ISSN 3448 Volume 8, Number 8, August 0 pp. 4 FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT
More informationSolution to Homework 2
Solution to Homework 2 Olena Bormashenko September 23, 2011 Section 1.4: 1(a)(b)(i)(k), 4, 5, 14; Section 1.5: 1(a)(b)(c)(d)(e)(n), 2(a)(c), 13, 16, 17, 18, 27 Section 1.4 1. Compute the following, if
More informationAPPLICATIONS OF THE ORDER FUNCTION
APPLICATIONS OF THE ORDER FUNCTION LECTURE NOTES: MATH 432, CSUSM, SPRING 2009. PROF. WAYNE AITKEN In this lecture we will explore several applications of order functions including formulas for GCDs and
More informationU.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory
More informationChaotic Random Number Generators with Random Cycle Lengths
Chaotic Random Number Generators with Random Cycle Lengths by Agner Fog This document is published at www.agner.org/random/theory, December 2000, revised November 25, 200. Abstract A known cycle length
More informationEXERCISES FOR THE COURSE MATH 570, FALL 2010
EXERCISES FOR THE COURSE MATH 570, FALL 2010 EYAL Z. GOREN (1) Let G be a group and H Z(G) a subgroup such that G/H is cyclic. Prove that G is abelian. Conclude that every group of order p 2 (p a prime
More informationG = G 0 > G 1 > > G k = {e}
Proposition 49. 1. A group G is nilpotent if and only if G appears as an element of its upper central series. 2. If G is nilpotent, then the upper central series and the lower central series have the same
More informationVector and Matrix Norms
Chapter 1 Vector and Matrix Norms 11 Vector Spaces Let F be a field (such as the real numbers, R, or complex numbers, C) with elements called scalars A Vector Space, V, over the field F is a nonempty
More information4: SINGLEPERIOD MARKET MODELS
4: SINGLEPERIOD MARKET MODELS Ben Goldys and Marek Rutkowski School of Mathematics and Statistics University of Sydney Semester 2, 2015 B. Goldys and M. Rutkowski (USydney) Slides 4: SinglePeriod Market
More informationMany algorithms, particularly divide and conquer algorithms, have time complexities which are naturally
Recurrence Relations Many algorithms, particularly divide and conquer algorithms, have time complexities which are naturally modeled by recurrence relations. A recurrence relation is an equation which
More informationISOMETRIES OF R n KEITH CONRAD
ISOMETRIES OF R n KEITH CONRAD 1. Introduction An isometry of R n is a function h: R n R n that preserves the distance between vectors: h(v) h(w) = v w for all v and w in R n, where (x 1,..., x n ) = x
More informationNOTES ON LINEAR TRANSFORMATIONS
NOTES ON LINEAR TRANSFORMATIONS Definition 1. Let V and W be vector spaces. A function T : V W is a linear transformation from V to W if the following two properties hold. i T v + v = T v + T v for all
More information2.5 Elementary Row Operations and the Determinant
2.5 Elementary Row Operations and the Determinant Recall: Let A be a 2 2 matrtix : A = a b. The determinant of A, denoted by det(a) c d or A, is the number ad bc. So for example if A = 2 4, det(a) = 2(5)
More information11 Ideals. 11.1 Revisiting Z
11 Ideals The presentation here is somewhat different than the text. In particular, the sections do not match up. We have seen issues with the failure of unique factorization already, e.g., Z[ 5] = O Q(
More informationRINGS WITH A POLYNOMIAL IDENTITY
RINGS WITH A POLYNOMIAL IDENTITY IRVING KAPLANSKY 1. Introduction. In connection with his investigation of projective planes, M. Hall [2, Theorem 6.2]* proved the following theorem: a division ring D in
More informationRevised Version of Chapter 23. We learned long ago how to solve linear congruences. ax c (mod m)
Chapter 23 Squares Modulo p Revised Version of Chapter 23 We learned long ago how to solve linear congruences ax c (mod m) (see Chapter 8). It s now time to take the plunge and move on to quadratic equations.
More information24. The Branch and Bound Method
24. The Branch and Bound Method It has serious practical consequences if it is known that a combinatorial problem is NPcomplete. Then one can conclude according to the present state of science that no
More informationFactorization Algorithms for Polynomials over Finite Fields
Degree Project Factorization Algorithms for Polynomials over Finite Fields Sajid Hanif, Muhammad Imran 20110503 Subject: Mathematics Level: Master Course code: 4MA11E Abstract Integer factorization is
More informationMATRIX ALGEBRA AND SYSTEMS OF EQUATIONS
MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS Systems of Equations and Matrices Representation of a linear system The general system of m equations in n unknowns can be written a x + a 2 x 2 + + a n x n b a
More informationLinear Algebra I. Ronald van Luijk, 2012
Linear Algebra I Ronald van Luijk, 2012 With many parts from Linear Algebra I by Michael Stoll, 2007 Contents 1. Vector spaces 3 1.1. Examples 3 1.2. Fields 4 1.3. The field of complex numbers. 6 1.4.
More information6 Scalar, Stochastic, Discrete Dynamic Systems
47 6 Scalar, Stochastic, Discrete Dynamic Systems Consider modeling a population of sandhill cranes in year n by the firstorder, deterministic recurrence equation y(n + 1) = Ry(n) where R = 1 + r = 1
More informationSurface bundles over S 1, the Thurston norm, and the Whitehead link
Surface bundles over S 1, the Thurston norm, and the Whitehead link Michael Landry August 16, 2014 The Thurston norm is a powerful tool for studying the ways a 3manifold can fiber over the circle. In
More informationMODELING RANDOMNESS IN NETWORK TRAFFIC
MODELING RANDOMNESS IN NETWORK TRAFFIC  LAVANYA JOSE, INDEPENDENT WORK FALL 11 ADVISED BY PROF. MOSES CHARIKAR ABSTRACT. Sketches are randomized data structures that allow one to record properties of
More informationMonogenic Fields and Power Bases Michael Decker 12/07/07
Monogenic Fields and Power Bases Michael Decker 12/07/07 1 Introduction Let K be a number field of degree k and O K its ring of integers Then considering O K as a Zmodule, the nicest possible case is
More informationChapter 3. Distribution Problems. 3.1 The idea of a distribution. 3.1.1 The twentyfold way
Chapter 3 Distribution Problems 3.1 The idea of a distribution Many of the problems we solved in Chapter 1 may be thought of as problems of distributing objects (such as pieces of fruit or pingpong balls)
More information