# 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))`