[Numpy-discussion] 1.5 release schedule proposal

Sturla Molden sturla at molden.no
Wed Jul 28 20:40:00 EDT 2010


> Mon, 26 Jul 2010 23:58:11 +0800, Ralf Gommers wrote:

> Is the current algorithm in the trunk the ziggurat one, or the previous
> one? IIRC, the problem was that the ziggurat broke reproducibility of
> random numbers with a given seed.

Ziggurat (in Enthought) did not break reproducibility but backwards
compatibility. Obviously one cannot expect two different PRNGs to return
the same sequence, but the complaint was that it did not, which IMHO is
too much to ask when algorithms are changed. Ziggurat is the PRNG in
Matlab's randn function and are completely reproducible with a given seed.
It just returns a different sequence than numpy.random.randn. Ziggurat is
not just for normal deviates, but also very effective for exponential and
gamma distributions.

It might be better to put a ziggurat module in scipy.random, just to avoid
confusion. Also it should be modified to use a Mersenne Twister instead of
the simple uniform generator in Marsaglia's code, as well as getting rid
of global variables.

Sturla




More information about the NumPy-Discussion mailing list