Uniform Random GeneratorΒΆ

Generating simulations according to a distribution is based on generating simulations according to a Uniform distribution on [0,1] : several techniques exist then to transform a realization according to a uniform distribution onto a realization according to a distribution which cumulative distribution function is F (refer to for each distribution).
Thus, the quality of the random generation of simulation is entirely based on the quality of the deterministic algorithm which simulates realizations of the Uniform(0,1) distribution.
We use the DSFTM algorithm described here, which is the acronym of Double precision SIMD oriented Fast Mersenne Twister.

Each character is detailed of the acronym is detailed :

  • S = SIMD = Single Instruction Multiple Data: the DSFMT algorithm is able to detect and take profit of the capacity of the microprocessor to realise several operations at a time.

  • F = Fast: the transformation of the k-th state vector of the random generator into the (k+1)-th state vector is written in order to optimize its performance.

  • MT = Mersenne Twister: the algorithm characteristics are the following ones :

    1. the algorithm is initialized with a high Mersenne Number, of type 2^{2^n}-1, with n=19937.

    2. the algorithm period T depends on that initial point : T = 2^{19937} \simeq 10^{6000}. As a general way, the bad effects of the periodicity of the algorithm arise as soon as the number of simulations is greater than \, \simeq \sqrt{T} simulations. Here, we have : \sqrt{T} =2^{9968}\simeq 10^{3000}.

    3. the realizations of the DSFMT algorithm are uniformly distributed within [0,1]^n until n=624.

API: