Random generator parametrizationΒΆ

The seed of the pseudo random generator is initialized to 0 when the module is imported.

It means the same script will yield the same results across several replications.

It is also possible to initialize the random generator differently:

  • by setting a seed

  • by setting the complete generator state

[1]:
from __future__ import print_function
import openturns as ot
import os
import time
[2]:
# Example 0: using a fixed seed
ot.RandomGenerator.SetSeed(77)
[3]:
# Example 1: using the python process id
ot.RandomGenerator.SetSeed(os.getpid())
[4]:
# Example 2: using the time in milliseconds
ot.RandomGenerator.SetSeed(int(1000*time.time()))
[5]:
# Example 3: using a previously saved generator state

# use the random generator
ot.Normal().getSample(100)
# save the generator state
particularState = ot.RandomGenerator.GetState()
ot.Normal().getRealization()
[5]:

[-0.69419]

[6]:
# load the generator state
ot.RandomGenerator.SetState(particularState)
ot.Normal().getRealization()
[6]:

[-0.69419]