Encyclopedia > Box-Muller transform

  Article Content

Box-Muller transform

A Box-Muller transform is a method of generating pairs of independent normally distributed random numbers, given a source of uniformly distributed random numbers. There are two kinds:

  1. Given r and φ independently uniformly distributed in (0,1], compute:
    z_0 = \cos(2 \pi \varphi) \cdot \sqrt{-2 \ln r} </math>
    z_1 = \sin(2 \pi \varphi) \cdot \sqrt{-2 \ln r} </math>
  2. Given x and y independently uniformly distributed in [-1,1], set r = x2+y2. If r = 0 or r > 1, throw them away and try another pair (x, y). Thus, all points left after this filtering process will be uniformly distributed within a unit circle. Then, for these filtered points, compute:
    z_0 = x \cdot \sqrt{\frac{-2 \ln r}{r}} </math>
    z_1 = y \cdot \sqrt{\frac{-2 \ln r}{r}} </math>

The second method is faster because it uses only one transcendental function[?] instead of three, even though it throws away 21% of the numbers.

External links

All Wikipedia text is available under the terms of the GNU Free Documentation License

  Search Encyclopedia

Search over one million articles, find something about almost anything!
  Featured Article
Quadratic formula

... add a constant (i.e., in this case, a quantity that does not depend on x) to the expression to the left of "=", that will make it a perfect square trinomial of the form x2 + ...

This page was created in 33.1 ms