Overview - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Overview of the RandomTools:-QuadraticCongruence Subpackage

 

Calling Sequence

Description

List of RandomTools:-QuadraticCongruence Subpackage Commands

Examples

Calling Sequence

RandomTools:-QuadraticCongruence:-function(arguments)

function(arguments)

Description

• 

The RandomTools:-QuadraticCongruence subpackage contains functions for creating pseudo-random number generators using the Quadratic Congruence algorithm.  The integers x1,x2, ... are generated using the quadratic recurrence

xk+1=xk2modn

  

where n is a product of two primes and x0, the seed, may be specified by the user.  They use the least significant bits of the x's to form the random numbers.

• 

The Quadratic Congruential Generator creates generators using primes of length either 10, 12, 15 or 16 digits. These generators can be used for every day scientific applications.

• 

Each command in the RandomTools:-QuadraticCongruence subpackage can be accessed by using either the long form or the short form of the command name in the command calling sequence.

  

The long form, RandomTools:-QuadradicCongruence:-command, is always available. The short form can be used after loading the package.

List of RandomTools:-QuadraticCongruence Subpackage Commands

NewGenerator

 

 

 

  

To display the help page for a particular QuadraticCongruence command, see Getting Help with a Command in a Package.

Examples

withRandomTools:-QuadraticCongruence

NewGenerator

(1)

We first create a random number generator for generating random numbers on the range 1..6 and generate two random numbers.

dieNewGeneratorrange=1..6

dieprocxiremx^2,n;iremx,6+1end proc

(2)

die

6

(3)

die

2

(4)

Now we roll the die 10 times.

seqdie,i=1..10

2,5,5,1,3,2,5,4,4,5

(5)

Now we create a 10 decimal digit random number generator. To form uniformly distributed floating point random numbers with 10 digits of precision on [0,1) we use the command Floatm,e which forms the floating point number m10e.

RNewGeneratorrange=0..1010

Rproclocaly&semi;xiremx&Hat;2&comma;n&semi;yiremx&comma;10000000000&semi;whiley<10000000001doxiremx&Hat;2&comma;n&semi;y10000000000&ast;y&plus;iremx&comma;10000000000end do&semi;iremy&comma;10000000001end proc

(6)

mR

m742625902

(7)

e10

e−10

(8)

Floatm&comma;e

0.0742625902

(9)

seqFloatR&comma;e&comma;i=1..5

0.9305361902,0.0805966638,0.4297131736,0.5949740789,0.0017230061

(10)

For further options see help page for the NewGenerator command.

See Also

rand

RandomTools

RandomTools[BlumBlumShub]

RandomTools[LinearCongruence]

RandomTools[MersenneTwister]

UsingPackages

with