Learn R Programming

rngWELL (version 0.9)

pseudo.rngWELL: Toolbox for pseudo and quasi random number generation

Description

General linear congruential generators such as Park Miller sequence, generalized feedback shift register such as SF-Mersenne Twister algorithm and WELL generator; and a quasi random generator (pseudo random generators) and the Torus algorithm (quasi random generation).

Usage

WELL2test(n, dim = 1, order = 512, temper = FALSE, version = "a")
setSeed4WELL(seed)

Arguments

n
number of observations. If length(n) > 1, the length is taken to be the required number.
dim
dimension of observations (must be
seed
a single value, interpreted as a positive integer for the seed. e.g. append your day, your month and your year of birth.
order
a positive integer for the order of the characteristic polynomial. see details
temper
a logical if you want to do a tempering stage. see details
version
a character either 'a' or 'b'. see details

Value

  • WELL2test generates random variables in [0,1[. It returns a $n$x$dim$ matrix, when dim>1 otherwise a vector of length n.

    setSeed4WELL set the seed of the rngWELL package (i.e. for the WELL2test functions).

Details

The currently available generator are given below. [object Object]See the pdf vignette for details.

References

Paneton F., L'Ecuyer P. and Matsumoto M. (2006), Improved Long-Period Generators Based on Linear Recurrences Modulo 2, ACM Transactions on Mathematical Software. (preprint available online)

See Also

.Random.seed for what is done in R about random number generation.

Examples

Run this code
# (1) WELL generator
#

# 'basic' calls
# WELL512
WELL2test(10, order = 512)
# WELL1024
WELL2test(10, order = 1024)
# WELL19937
WELL2test(10, order = 19937)
# WELL44497
WELL2test(10, order = 44497)
# WELL19937 with tempering 
WELL2test(10, order = 19937, temper = TRUE)
# WELL44497 with tempering
WELL2test(10, order = 44497, temper = TRUE)

# tempering vs no tempering
setSeed4WELL(08082008)
WELL2test(10, order =19937)
setSeed4WELL(08082008)
WELL2test(10, order =19937, temper=TRUE)

Run the code above in your browser using DataLab