[Numpy-discussion] How do I seed the radom number generator?
Robert Kern
robert.kern at gmail.com
Thu Jun 22 15:33:43 EDT 2006
Keith Goodman wrote:
> How do I seed rand and randn?
If you can, please use the .rand() and .randn() methods on a RandomState object
which you can initialize with whatever seed you like.
In [1]: import numpy as np
rs
In [2]: rs = np.random.RandomState([12345678, 90123456, 78901234])
In [3]: rs.rand(5)
Out[3]: array([ 0.40355172, 0.27449337, 0.56989746, 0.34767024, 0.47185004])
In [5]: np.random.RandomState.seed?
Type: method_descriptor
Base Class: <type 'method_descriptor'>
String Form: <method 'seed' of 'mtrand.RandomState' objects>
Namespace: Interactive
Docstring:
Seed the generator.
seed(seed=None)
seed can be an integer, an array (or other sequence) of integers of any
length, or None. If seed is None, then RandomState will try to read data
from /dev/urandom (or the Windows analogue) if available or seed from
the clock otherwise.
The rand() and randn() "functions" are actually references to methods on a
global instance of RandomState. The .seed() method on that object is also
similarly exposed as numpy.random.seed(). If you are writing new code, please
explicitly use a RandomState object. Only use numpy.random.seed() if you must
control code that uses the global rand() and randn() "functions" and you can't
modify it.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the NumPy-Discussion
mailing list