R/make_rng_seeds.R
make_rng_seeds.Rd
Produce Reproducible Seeds for Parallel Random Number Generation
make_rng_seeds(count, seed = FALSE)
The number of RNG seeds to produce.
A logical specifying whether RNG seeds should be generated
or not. (seed = NULL
corresponds to seed = FALSE
).
If a list, then it should be of length count
and each element should
consist of a valid RNG seed.
Returns a non-named list of count
independent
L'Ecuyer-CMRG
random seeds.
If seed
is NULL
or FALSE
, then NULL
is returned.
This function generates count
independent
L'Ecuyer-CMRG
random seeds that can be used as
.Random.seed
for parallel processing. These seeds are produced with
help of parallel::nextRNGSubStream()
and
parallel::nextRNGStream()
using a strategy that
seed <- <initial RNG seed>
for (ii in seq_len(count)) {
seeds[[ii]] <- parallel::nextRNGSubStream(seed)
seed <- parallel::nextRNGStream(seed)
}
This function forwards the RNG state 1 + count
times if seed = TRUE
.
## Set up L'Ecuyer-CMRG random seeds for 100 parallel tasks
## based on .Random.seed in the current R process
seeds <- make_rng_seeds(100L, seed = TRUE)
str(seeds)
#> List of 100
#> $ : int [1:7] 10407 -1984344046 -549380931 1998255209 1680842345 989376983 253908062
#> $ : int [1:7] 10407 833700595 -682062909 -1594754872 826698809 538678622 1944936697
#> $ : int [1:7] 10407 -1927835289 -1912972937 565511433 -1187351990 637137871 -1008269985
#> $ : int [1:7] 10407 1281245836 284024790 1809904175 80482471 -635848925 -526130074
#> $ : int [1:7] 10407 -402386684 -747868389 334779552 359759465 2018007345 -1378961289
#> $ : int [1:7] 10407 -1911892746 1174299147 1160798758 1578746845 -204489051 -1287775367
#> $ : int [1:7] 10407 -1780941558 1706992846 1417634179 1131299028 -207330843 1628806901
#> $ : int [1:7] 10407 2045522340 808908796 1154545008 119991696 1196660033 1659716085
#> $ : int [1:7] 10407 1675143975 -1339147729 396743108 -1878970511 1459075747 -212533886
#> $ : int [1:7] 10407 301512982 -1407123727 -675180226 -386609416 -138039314 66492691
#> $ : int [1:7] 10407 1875090049 -381077819 -595055331 -503599837 1210754693 281382893
#> $ : int [1:7] 10407 -1381974474 -1078145183 73407173 -998132601 1973179494 1700860948
#> $ : int [1:7] 10407 -777985054 130837 -1710782683 -162384015 -1632783007 320828781
#> $ : int [1:7] 10407 397314132 1622094260 -1776848616 -561539183 57912894 -1924874364
#> $ : int [1:7] 10407 -749889739 -1698807754 -1123927029 1767540372 -1413592442 394588401
#> $ : int [1:7] 10407 -307686970 1917831310 374515009 -878866287 346561001 -1785560540
#> $ : int [1:7] 10407 -1336418360 -137501412 754049403 -1118710785 1739649364 467380754
#> $ : int [1:7] 10407 -865409711 -88792140 744472119 -259295183 -772833649 29871082
#> $ : int [1:7] 10407 305300215 -276926159 1337046598 867853949 1452568239 1774150260
#> $ : int [1:7] 10407 950387341 2128023839 -737281257 -290356809 1634065109 2069748661
#> $ : int [1:7] 10407 -1423305488 -691078578 -708229130 1541501232 1419748735 1051918477
#> $ : int [1:7] 10407 1533396523 18127583 1821016441 -1856848492 707058416 -1054433213
#> $ : int [1:7] 10407 1879895762 911084016 1030680695 -144217975 -12552224 -1558774941
#> $ : int [1:7] 10407 -2034222463 1576819687 -910688892 1944875003 2058252064 -587750130
#> $ : int [1:7] 10407 931671127 -1089681266 239934934 668090832 -227861848 1208190958
#> $ : int [1:7] 10407 876279732 37949795 -729461763 941486805 -619753284 -71935312
#> $ : int [1:7] 10407 1659372909 1617897892 643542433 362832649 -687598788 -871657395
#> $ : int [1:7] 10407 365291332 2026206901 640062419 -536154640 -2058725911 1028846329
#> $ : int [1:7] 10407 -44861481 -124486546 -971095932 837229943 432910381 1495208246
#> $ : int [1:7] 10407 289540275 -1425552313 -1692339890 -1100204852 -1547700094 1204128581
#> $ : int [1:7] 10407 -1056673650 -738754134 785223166 -1679927655 -1104188177 -820366204
#> $ : int [1:7] 10407 1063523540 -673922235 1617900440 1517811936 -1386833562 1793078864
#> $ : int [1:7] 10407 -349816247 1277897979 -521424234 1824977018 480247650 -1529647755
#> $ : int [1:7] 10407 2013491023 843658878 798012355 -114359149 -2097285606 1965528767
#> $ : int [1:7] 10407 1928505347 -2056210152 1371324480 -938405210 1067578151 746310742
#> $ : int [1:7] 10407 -485983023 -2008595302 331640542 1349226592 -1556764324 -1635146568
#> $ : int [1:7] 10407 -1649398222 193635004 -1204281434 1122339782 1466555825 -1894960945
#> $ : int [1:7] 10407 -441818362 -561341213 -92992856 1247115457 -1864025352 968673751
#> $ : int [1:7] 10407 1792589608 -446621504 -878800349 594697505 -1732095796 -1028706387
#> $ : int [1:7] 10407 1310357023 555496272 -1574245881 1800823067 529930902 -943781462
#> $ : int [1:7] 10407 -238010607 1477866017 75162052 1265037680 -1775863900 2004410881
#> $ : int [1:7] 10407 -1536675476 -1414959336 -1760164643 -252230414 976132797 -635485033
#> $ : int [1:7] 10407 -345344032 799733744 -593132562 759932417 -264598238 -127278201
#> $ : int [1:7] 10407 -183766224 1928903452 2109260914 697980452 97285422 1202921717
#> $ : int [1:7] 10407 -262122607 1611972569 -435675795 1418369726 -1307337639 -600930418
#> $ : int [1:7] 10407 -2135360992 -1891546882 870509365 265882275 92216556 569929132
#> $ : int [1:7] 10407 1240406125 -929927328 376301928 -1468195083 -1033117398 462041656
#> $ : int [1:7] 10407 1002916771 954935673 -990490209 727621045 967005702 -6444972
#> $ : int [1:7] 10407 -547960387 -713230975 -1525635287 -1232630319 494033666 1107619145
#> $ : int [1:7] 10407 679904560 571735390 2103952424 -908556250 1382510337 -346331171
#> $ : int [1:7] 10407 -1827098357 1085132676 14178332 -550509367 9793870 -1563465974
#> $ : int [1:7] 10407 750850793 916490068 -1206857712 -722261570 -1721687356 -891417864
#> $ : int [1:7] 10407 -18776990 -1168009045 1889844137 104697031 -585835095 1824599392
#> $ : int [1:7] 10407 446544166 -179991185 -1595891852 -1060916073 -1335673799 -1144911545
#> $ : int [1:7] 10407 -45673208 1638565552 928417164 622074125 -1620859329 -2101634604
#> $ : int [1:7] 10407 -849338533 -1931482212 763610526 828402031 -1168052013 1864620710
#> $ : int [1:7] 10407 1969880346 1703358242 -745201507 333847759 -1062274745 1128500584
#> $ : int [1:7] 10407 1098658225 -770371311 -722291759 1738057096 -1583682823 1888660733
#> $ : int [1:7] 10407 114922613 394887179 -527414704 -764397604 -1349900805 1879014596
#> $ : int [1:7] 10407 496714110 -841722593 -621255169 -664918374 -1075553496 -772026228
#> $ : int [1:7] 10407 2013825091 -1760213805 1403892633 1024915242 -155901820 -1164944868
#> $ : int [1:7] 10407 1549583765 1602394765 1674117751 1764620191 -965612419 992169362
#> $ : int [1:7] 10407 -696165270 -1117367887 -149986246 831255216 -854993918 -1491614450
#> $ : int [1:7] 10407 -1807064940 -573847296 -387974936 -2104912307 1102864225 -270070598
#> $ : int [1:7] 10407 2130631240 2017698345 1792504274 -1745832915 -1802040862 1676468993
#> $ : int [1:7] 10407 -700874107 818315367 1290060689 1506441078 259389066 1553889780
#> $ : int [1:7] 10407 -1656370204 654622164 -1503153040 -1867651964 96031833 525266288
#> $ : int [1:7] 10407 1171113384 369023769 1531549662 1011842962 -1974407595 -1950378349
#> $ : int [1:7] 10407 1032158546 562732962 -684777976 -66244836 111112522 -833219295
#> $ : int [1:7] 10407 -337842857 -1406312314 1011885745 -1118834905 185235382 -262370876
#> $ : int [1:7] 10407 -1900201225 -1937965001 861729186 -680355787 1877369739 -344288345
#> $ : int [1:7] 10407 -324564728 -53170412 -1467533385 689337566 -320450235 -1327574300
#> $ : int [1:7] 10407 741442528 -1082532432 -748803474 1530729140 1222893842 -541057938
#> $ : int [1:7] 10407 -1534047204 254698993 1477815628 493044640 385904495 295827857
#> $ : int [1:7] 10407 -580895433 -1001063420 1081884028 -1745307378 -1227592239 624249803
#> $ : int [1:7] 10407 -282834549 -1317425818 -691058724 -401553017 739541189 517035352
#> $ : int [1:7] 10407 -120524055 -354341219 -845377042 589282313 609243616 378421891
#> $ : int [1:7] 10407 1422249914 -1518021106 903336131 -105814576 -1108657987 86109402
#> $ : int [1:7] 10407 -1669022140 1415760258 -604704231 -52327604 1394939410 1649359229
#> $ : int [1:7] 10407 -1812109784 85408932 -110719566 890616712 1182257556 687576947
#> $ : int [1:7] 10407 -37117628 -1202233093 358310381 2037099743 -801984351 345052837
#> $ : int [1:7] 10407 -1375701807 -745948666 1171141592 374255315 2012389722 706749798
#> $ : int [1:7] 10407 -383354484 -617213702 374697638 -1144843665 -2053567467 2002643361
#> $ : int [1:7] 10407 -842876112 856178143 781979370 121897117 703609831 -161148075
#> $ : int [1:7] 10407 -395339011 840671237 1193894844 236705356 267079782 1127047677
#> $ : int [1:7] 10407 302569236 1955543504 1637736424 587937287 1450121489 291827919
#> $ : int [1:7] 10407 -328574627 -2065173496 407025154 2050605166 1899577585 -1466609270
#> $ : int [1:7] 10407 -409356367 434667690 -219331101 249330128 200794031 238400651
#> $ : int [1:7] 10407 468774669 494902358 -216151128 -1955488235 -817235820 -1544443633
#> $ : int [1:7] 10407 -1607658163 848402341 -1881599430 930171164 1297161186 216055267
#> $ : int [1:7] 10407 -406319583 -1978199532 1302725356 -1113357926 1466257406 1132947766
#> $ : int [1:7] 10407 1421605537 729838691 1746007855 -720478827 1853405143 1037189371
#> $ : int [1:7] 10407 401305492 1792007950 171306127 -246030578 -1699095992 -31540900
#> $ : int [1:7] 10407 209756581 1529056668 903570026 -946331156 -492580740 1054755046
#> $ : int [1:7] 10407 410711252 1990342210 1062949493 9516264 -143511706 571186784
#> $ : int [1:7] 10407 -874309960 -22534017 580627296 106605141 -21625155 -1198278172
#> $ : int [1:7] 10407 -1987022591 1909759784 -707517476 -948078847 -1763232851 274234054
#> $ : int [1:7] 10407 1808826601 1630145783 1978673118 1701208348 -982812548 -2084706136
#> $ : int [1:7] 10407 -1016012807 2043642510 963016639 -849860326 -330762315 609719741
#> [list output truncated]