- naginterfaces.library.rand.init_nonrepeat(genid, subid=0)[source]¶
init_nonrepeatinitializes the selected base generator to generate a non-repeatable sequence of variates. The base generator can then be used by the group of pseudorandom number functions (see
int_uniform()) and the quasi-random scrambled sequence initialization function,
For full information please refer to the NAG Library document for g05kg
Must contain the type of base generator to use.
NAG basic generator.
Wichmann Hill I generator.
Wichmann Hill II generator.
L’Ecuyer MRG32k3a generator.
See the G05 Introduction for details of each of the base generators.
- subidint, optional
If , indicates which of the sub-generators to use. In this case, the sub-generator is used.
If , indicates the values of and to use, where is the order of the generator, and controls the size of the modulus, , with .
If , the default values of and are used, otherwise values for and are calculated from the formula, .
If and the range of the generator is set to , otherwise the range is set to ; in this case the sequence is identical to the implementation of MRG32k3a in TestU01 (see L’Ecuyer and Simard (2002)) for identical seeds.
For all other values of , is not referenced.
- statecommdict, RNG communication object
RNG communication structure.
- (errno )
On entry, .
Constraint: , , , , or .
init_nonrepeatselects a base generator through the input value of the arguments and , and then initializes it based on the values taken from the real-time clock, resulting in the same base generator yielding different sequences of random numbers each time the calling program is run. It should be noted that there is no guarantee of statistical properties between sequences, only within sequences.
A definition of some of the terms used in this description, along with details of the various base generators can be found in the G05 Introduction.
L’Ecuyer, P and Simard, R, 2002, TestU01: a software library in ANSI C for empirical testing of random number generators, Departement d’Informatique et de Recherche Operationnelle, Universite de Montreal, https://www.iro.umontreal.ca/~lecuyer
Maclaren, N M, 1989, The generation of multiple independent sequences of pseudorandom numbers, Appl. Statist. (38), 351–359
Matsumoto, M and Nishimura, T, 1998, Mersenne twister: a 623-dimensionally equidistributed uniform pseudorandom number generator, ACM Transactions on Modelling and Computer Simulations
Wichmann, B A and Hill, I D, 2006, Generating good pseudo-random numbers, Computational Statistics and Data Analysis (51), 1614–1622
Wikramaratna, R S, 1989, ACORN - a new method for generating sequences of uniformly distributed pseudo-random numbers, Journal of Computational Physics (83), 16–31