a0 = seed
ai = (ai-1 * b + 1) mod m |
a0: random seed
m: 2£\,10£\ b: 1 digit less than m .........x21 ĦA x should be an even |
P1
= P div m1, P0 = P mod
m1
q1 = q div m1, q0 = q mod m1 |
|
=> Pq = 108 * P1 * q1 + (P0q1+P1q0) * 104 + P0q0 |
a = [mult(a, b) + 1] mod m
(x) a mod r :right K bits (x) a * r div m :legt K bits [(a div m1) * r] div m1 |
(a div m1) * r
ĦEĦEĦEdiv m
|
ĦELinear feedback shift register(LFSR)ĦESoftware Implementationa[k] = ( a[k-b] + a[k-c] ) mod mĦò b = 24 c = 55 |
ĦEX2 - test :X2 = £U(0ĦĜi<r)( fi - Pi)2/Pi= £U(i) fi2 / Pi - 2fi + Pi = [£U(i)r / n * fi2] - 2N + N = r / n * £U(0ĦĜi<r)fi2 - N X2 - r
ĦĜ 2ĦÔr
probably "Random" !
ĦESpectral-test :...... |
|