[Numpy-discussion] random seed replicate 2d randn with 1d loop
Keith Goodman
kwgoodman at gmail.com
Mon May 23 14:44:27 EDT 2011
On Mon, May 23, 2011 at 11:42 AM, Keith Goodman <kwgoodman at gmail.com> wrote:
> 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:
Sorry, I meant rows.
>>> 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