Everything About ___
Live briefing

Everything about Ziggurat algorithm

Algorithm for pseudo-random number sampling

The ziggurat algorithm is an algorithm for pseudo-random number sampling. Belonging to the class of rejection sampling algorithms, it relies on an underlying source of uniformly-distributed random numbers, typically from a pseudo-random number generator, as well as precomputed tables. The algorithm is used to generate values from a monotonically decreasing probability distribution. It can also be applied to symmetric unimodal distributions, such as the normal distribution, by choosing a value from one half of the distribution and then randomly choosing which half the value is considered to have been drawn from. It was developed by George Marsaglia and others in the 1960s. Wikipedia →

đź§­ Start here: a 6-step reading path

  1. Read the overview: Ziggurat algorithmA 5-minute orientation
  2. Read the landmark paper: A modified ziggurat algorithm for generating exponentially and normally distributed pseudorandom numbersCited 7 times
  3. Go sideways: Random permutationA closely related topic
  4. Go sideways: Box–Muller transformA closely related topic

đź“– Definitions

Noun An algorithm for pseudorandom number sampling, relying on an underlying source of uniformly-distributed random numbers as well as computed tables.

🗂️ The subject at a glance

  1. Theory of operation
  2. McFarland's variation

🏆 Landmark papers (most cited)

📚 Books worth reading

Open Library didn't respond; try again in a moment.

đź”— Related topics