Python random seed init

Most programming languages have a built-in random number generator. Using an a priori random seed can be useful in testing simulations using randomness. In simulations with non-linear growth, small differences at the beginning of the simulations can result in significantly different time evolution of the outputs. To help test such simulations as compared against known-good reference data, it can be useful to set a known random seed to see that expected outputs result.

In Python Numpy, the random seed can be set:

import numpy.random

r = numpy.random.default_rng(seed=0)

x = r.standard_normal(3)

Observe that “x” will always be

[ 0.12573022 -0.13210486 0.64042265]

using different seed values result in a different set of repeatable pseudorandom numbers.

NOTE: the default RNG is not guaranteed to be stable over Numpy releases. The user may wish to specify a specific RNG like:

r = numpy.random.Generator(numpy.random.PCG64(seed=0))