A fast normal random number generator

  title={A fast normal random number generator},
  author={Joseph L. Leva},
  journal={ACM Trans. Math. Softw.},
  • J. L. Leva
  • Published 1 December 1992
  • Computer Science
  • ACM Trans. Math. Softw.
A method is presented for generating pseudorandom numbers with a normal distribution. The technique uses the ratio of uniform deviates method discovered by Kinderman and Monahan with an improved set of bounding curves. An optimized quadratic fit reduces the expected number of logarithm evaluations to 0.012 per normal deviate. The method gives a theoretically correct distribution and can be implemented in 15 lines of FORTRAN. Timing and source size comparisons are made with other methods for… 

Figures and Tables from this paper

Fast pseudorandom generators for normal and exponential variates
Fast algorithms for generating pseudorandom numbers from the unit-normal and unit-exponential distributions are described. The methods are unusual in that they do not rely on a source of uniform
The Ziggurat Method for Generating Random Variables
We provide a new version of our ziggurat method for generating a random variable from a given decreasing density. It is faster and simpler than the original, and will produce, for example, normal or
Sampling Exactly from the Normal Distribution
An algorithm for sampling exactly from the normal distribution that reads some number of uniformly distributed random digits in a given base and generates an initial portion of the representation of a normal deviate in the same base with mean cost that scales linearly in the precision.
Some Comments on C. S. Wallace's Random Number Generators
This work considers Chris Wallace’s recent idea for generating normally distributed variates without relying on a source of uniform random numbers, and compares it with more conventional methods for generating normal random numbers.
A fast vectorised implementation of Wallace's normal random number generator
  • R. Brent
  • Computer Science, Mathematics
  • 2010
A vectorised implementation of Wallace's pseudo-random generators for normal variates RANN4 is described which is more than three times faster than its best competitors (the Polar and Box-Muller methods) on the Fujitsu VP2200 and VPP300.
Twister Generator of Arbitrary Uniform Sequences
A novel approach to generate complete stochastic sequences which don’t need a congruential twisting array is proposed and combination of this novel approach with an algorithm of tuning for twisting generation affords the length extension of created sequences without requiring additional computer random access memory.
Random variate generation by numerical inversion when only the density is known
The proposed algorithm is based on polynomial interpolation of the inverse CDF and Gauss-Lobatto integration and is the fastest inversion method known for generating random variates from continuous distributions when only the density function is given.
Rectangles algorithm for generating normal variates
An algorithm for generating normal random variates that is based on the acceptance–rejection method and uses a piecewise majorizing function that is faster than the inversion method by Odeh and Evans and most other methods.
Automatic sampling with the ratio-of-uniforms method
It is shown, that the ratio-of-uniforms method is also useful for the design of a black-box algorithm suitable for a large class of distributions, including all with log-concave densities.
Generalized Ziggurat Algorithm for Unimodal and Unbounded Probability Density Functions with Zest
A modified Ziggurat algorithm that could generate a random number from all unimodal and unbounded PDFs and a C++ implementation of a uniform floating-point random number generator (RNG) which is capable of producing all representable floating- point numbers in $[0,1)$ which will be used in the Ziggurat algorithms near unbounded peaks and tails.


Computer Generation of Random Variables Using the Ratio of Uniform Deviates
The ratio-of-uniforms method for generating random variables having continuous nonuniform distributions is presented and can be used for generating short and often as fast algorithms as well as longer algorithms.
Algorithm 488: A Gaussian pseudo-random number generator
  • R. Brent
  • Mathematics, Computer Science
  • 1974
The algorithm calculates the exact cumulative distribution of the two-sided Kolmogorov-Smirnov statistic for samples with few observations for data sampling and discrete system simulation.
Computer methods for sampling from the exponential and normal distributions
The authors' primary conwiba~ion is the rise of polynomiaI sampling (as ex~ p/tiffed in Section 2) to eliminate any dependency on standard&ruction programs.
Applied Statistics Algorithms.
The Art of Computer Programmmg
  • 2nd ed.,
  • 1981
Seminumerical Algo- rithms
  • Seminumerical Algo- rithms
  • 1981
ED.) Applied Statistics Algorithms
  • ED.) Applied Statistics Algorithms
  • 1985
Received February ACM TransactIons on Mathematical Software
  • Received February ACM TransactIons on Mathematical Software
  • 1986