Hello all, I am generating large samples of random numbers. The RNG help page says: "All the supplied uniform generators return 32-bit integer values that are converted to doubles, so they take at most 2^32 distinct values and long runs will return duplicated values." But I find that the cycles are not the same as the 32-bit integer. My test indicated that the cycles for Knuth's methods were 2^30 while Wichmann-Hill's cycle was larger than 2^32! No numbers were duplicated in 10M numbers generated by runif using Wichmann-Hill. The other three methods had cycle length of 2^32. So, anybody can explain this? And any improvement to the implementation can be made to increase the cycle length like the Wichmann-Hill method? =======================================Shengqiao Li Research Associate The Department of Statistics West Virginia University Morgantown, WV 26506-6330
Shengqiao Li wrote:> Hello all, > > I am generating large samples of random numbers. The RNG help page > says: "All the supplied uniform generators return 32-bit integer > values that are converted to doubles, so they take at most 2^32 > distinct values and long runs will return duplicated values." But I > find that the cycles are not the same as the 32-bit integer. > > My test indicated that the cycles for Knuth's methods were 2^30 while > Wichmann-Hill's cycle was larger than 2^32! No numbers were duplicated > in 10M numbers generated by runif using Wichmann-Hill. The other three > methods had cycle length of 2^32. > > So, anybody can explain this? And any improvement to the > implementation can be made to increase the cycle length like the > Wichmann-Hill method? >What test? These are not simple linear congruential generators. Just because you get the same value twice, it doesn't mean that the sequence is repeating. Perhaps you should read the entire help page rather than just the note. -- O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
Shengqiao Li wrote:> Hello all, > > I am generating large samples of random numbers. The RNG help page says: > "All the supplied uniform generators return 32-bit integer values that are > converted to doubles, so they take at most 2^32 distinct values and long > runs will return duplicated values." But I find that the cycles are not > the same as the 32-bit integer. >This is no bug. Cycle length and the set of possible values are different concepts. And please don't cross-post. Duncan Murdoch> My test indicated that the cycles for Knuth's methods were 2^30 while > Wichmann-Hill's cycle was larger than 2^32! No numbers were duplicated in > 10M numbers generated by runif using Wichmann-Hill. The other three > methods had cycle length of 2^32. > > So, anybody can explain this? And any improvement to the > implementation can be made to increase the cycle length like the > Wichmann-Hill method? > > > =======================================> Shengqiao Li > > Research Associate > The Department of Statistics > West Virginia University > Morgantown, WV 26506-6330 > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >