ARS5 brng¶
The ARS5 counter-based pseudo-random number generator based on AES encryption algorithm can be initialized with either an integral seed, a list of integral seeds, or automatically.
import mkl_random
rs = mkl_random.RandomState(1234, brng="ars5")
# Use random state instance to generate 1000 random numbers from
# Uniform(0, 1) distribution
esample = rs.uniform(0, 1, size=1000)
import mkl_random
rs_vec = mkl_random.RandomState([1234, 567, 89, 0], brng="ars5")
# Use random state instance to generate 1000 random numbers from
# Gamma(3, 1) distibution
gsample = rs_vec.gamma(3, 1, size=1000)
When seed is not specified, the generator is initialized using system clock, e.g.:
import mkl_random
rs_def = mkl_random.RandomState(brng="ars5")
# Use random state instance to generate 1000 random numbers
# from discrete uniform distribution [1, 6]
isample = rs_def.randint(1, 6 + 1, size=1000)