[Numpy-discussion] random seed replicate 2d randn with 1d loop
Keith Goodman
kwgoodman at gmail.com
Mon May 23 14:42:58 EDT 2011
On Mon, May 23, 2011 at 11:33 AM, <josef.pktd at gmail.com> wrote:
> I have a function in two versions, one vectorized, one with loop
>
> the vectorized function gets all randn variables in one big array
> rvs = distr.rvs(args, **{'size':(nobs, nrep)})
>
> the looping version has:
> for irep in xrange(nrep):
> rvs = distr.rvs(args, **{'size':nobs})
>
> the rest should be identical (except for vectorization
>
> Is there a guarantee that the 2d arrays are filled up in a specific
> order so that the loop and vectorized version produce the same result,
> given the same seed?
Are you pulling the numbers from rows or columns of the 2d array?
Columns seem to work:
>> rs = np.random.RandomState([1,2,3])
>> rs.randn(3,3)
array([[ 0.89858245, 0.25528877, 0.95172625],
[-0.05663392, 0.54721555, 0.11512385],
[ 0.82495129, 0.17252144, 0.74570118]])
which gives the same as
>> rs = np.random.RandomState([1,2,3])
>> rs.randn(3)
array([ 0.89858245, 0.25528877, 0.95172625])
>> rs.randn(3)
array([-0.05663392, 0.54721555, 0.11512385])
>> rs.randn(3)
array([ 0.82495129, 0.17252144, 0.74570118])
I get similar results with np.random.seed
More information about the NumPy-Discussion
mailing list