Return a pseudo-Gaussian deviate of zero mean and unit variance.
rg = RandomGaussian (
rg: output, real(dp)
- The radom Gaussian deviate.
seed: input/output, integer
- Input a negative integer to (re-)initialize the random number generator. Afterwards, this argument should not be modified.
RandomGaussian will return a Gaussian random deviate with unit variance and zero mean. The underlying random number generator uses the algorithm of Park and Miller combined with a Marsaglia shift sequence, which is claimed to have a periodicity of about 3.1 10^18. The random number generator is intialized by calling with a negative value of
seed, and afterwards, this variable should not be modified. To obtain a Gaussian deviate with a standard deviation of
sigma, it is only necessary to multiply the unit variance deviate by
This is a slightly modified version of the algorithm that was published in NUMERICAL RECIPES as GASDEV.
Press, W.H., S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery, Numerical Recipes in FORTRAN: The Art of Scientific Computing, 2nd ed., Cambridge Univ. Press, Cambridge, UK, 1992.