随机数生成算法

-Type-
mt19937ar Mersenne twister (default) 2^19937-1
[11] Matsumoto, M., and T. Nishimura. "Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudorandom Number Generator." ACM Transactions on Modeling and Computer Simulation, 8(1):3–30. 1998.
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html

dsfmt19937 fast Mersenne twister (SIMD) 2^19937-1
[12] Matsumoto, M., and M. Saito. "A PRNG Specialized in Double Precision Floating Point Numbers Using an Affine Transition." Monte Carlo and Quasi-Monte Carlo Methods 2008, 10.1007/978-3-642-04107-5_38. 2009.

mcg16807 Multiplicative congruential generator 2^31-2
[14] Park, S.K., and K.W. Miller. "Random Number Generators: Good Ones Are Hard to Find." Communications of the ACM, 31(10):1192–1201. 1998.

mlfg6331_64 Multiplicative lagged Fibonacci generator 2^124
[10] Mascagni, M., and A. Srinivasan. "Parameterizing Parallel Multiplicative Lagged-Fibonacci Generators." Parallel Computing, 30: 899–916. 2004.

mrg32k3a Combined multiple recursive generator 2^191
[2] L’Ecuyer, P. "Good Parameter Sets for Combined Multiple Recursive Random Number Generators", Operations Research, 47(1): 159–164. 1999.

philox4x32_10 Philox 4x32 generator with 10 rounds 2^193
[15] Salmon, J. K., M. A. Moraes, R. O. Dror, and D. E. Shaw. "Parallel Random Numbers: As Easy as 1, 2, 3." In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC11). New York, NY: ACM, 2011.

threefry4x64_20 Threefry 4x64 generator with 20 rounds 2^514
[15] Salmon, J. K., M. A. Moraes, R. O. Dror, and D. E. Shaw. "Parallel Random Numbers: As Easy as 1, 2, 3." In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC11). New York, NY: ACM, 2011.

shr3cong Shift-register generator summed with linear congruential generator 2^64
[7] Marsaglia G., and W. W. Tsang. "The ziggurat method for generating random variables." Journal of Statistical Software, 5:1–7. 2000. Available online at https://www.jstatsoft.org/v05/i08.
[6] Marsaglia, G. "Random numbers for C: The END?" Usenet posting to sci.stat.math. 1999. Available online at https://groups.google.com/group/sci.crypt/browse_thread/thread/ca8682a4658a124d/.
[9] Marsaglia, G., and W. W. Tsang. "A fast, easily implemented method for sampling from decreasing or symmetric unimodal density functions." SIAM J.Sci.Stat.Comput. 5(2):349–359. 1984.

swb2712 Modified subtract with borrow generator 2^1492
[8] Marsaglia, G., and A. Zaman. "A new class of random number generators." Annals of Applied Probability 1(3):462–480. 1991.

-NormalTransform- (Transformation Algorithms for Normal)
Inversion
Computes a normal random variate by applying the standard normal inverse cumulative distribution function to a uniform random variate.

Polar (The polar rejection algorithm)
[1] Devroye, L. Non-Uniform Random Variate Generation, Springer-Verlag, 1986.

Ziggurat (The ziggurat algorithm)
[7] Marsaglia G., and W. W. Tsang. "The ziggurat method for generating random variables." Journal of Statistical Software, 5:1–7. 2000. Available online at https://www.jstatsoft.org/v05/i08.

 

 

数论·梅森素数与完全数

 

posted @ 2020-03-25 15:39  stone-stone  阅读(766)  评论(0编辑  收藏  举报