Hello all,
Some news and a warning.
For some time now we've been using the Marsaglia-Tsang "Ziggurat"
algorithm for generating (pseudo-)random normal variates. Recently,
Jack noticed that we were considerably slower than Octave at doing
this, so we compared the respective codes.
It turned out that the Octave Ziggurat code (written by David Bateman)
was indeed better than what we had: not only faster, but also gives
denser coverage of the real line. We checked it using l'Ecuyer's "Big
Crush" suite and it passed with flying colors. Therefore in current
git we have switched to Bateman's implementation.
This is a nice improvement, but here's the warning: unfortunately, it
is impossible to preserve the sequence of pseudo-random values
produced for any given seed, across the change in algorithm. So in
current git (and the upcoming 2016d release) you will not get the same
sequences as with gretl 2016c and earlier (back to gretl 1.8.7, when
we last changed the code for generating normals).
If you have Monte Carlo code that runs many replications, results
should be qualitatively very similar, but "single-case" simulations
may produce quite different output for a given seed.
--
Allin Cottrell
Department of Economics
Wake Forest University, NC