Added to Favorites

A Box-Muller transform (by George Edward Pelham Box and Mervin Edgar Muller 1958) is a method of generating pairs of independent standard normally distributed (zero expectation, unit variance) random numbers, given a source of uniformly distributed random numbers.## Basic form

Suppose U_{1} and U_{2} are independent random variables that are uniformly distributed in the interval (0, 1]. Let## Polar form

The polar form is attributed by Devroye to Marsaglia. It is also mentioned without attribution in Carter. ## Contrasting the two forms

## See also

## References

## External links

It is commonly expressed in two forms. The basic form as given by Box and Muller takes two samples from the uniform distribution on the interval (0, 1] and maps them to two normally distributed samples. The polar form takes two samples from a different interval, [−1, +1], and maps them to two normally distributed samples without the use of sine or cosine functions.

One could use the inverse transform sampling method to generate normally-distributed random numbers instead; the Box-Muller transform was developed to be more computationally efficient. The more efficient Ziggurat algorithm can also be used.

- $Z\_0\; =\; R\; cos(Theta)\; =sqrt\{-2\; ln\; U\_1\}\; cos(2\; pi\; U\_2),$

and

- $Z\_1\; =\; R\; sin(Theta)\; =\; sqrt\{-2\; ln\; U\_1\}\; sin(2\; pi\; U\_2).,$

Then Z_{0} and Z_{1} are independent random variables with a normal distribution of standard deviation 1.

The derivation is based on the fact that, in a two-dimensional cartesian system where X and Y coordinates are described by two independent and normally distributed random variables, the random variables for R^{2} and Θ (shown above) in the corresponding polar coordinates are also independent and can be expressed as

- $R^2\; =\; -2cdotln\; U\_1,$

and

- $Theta\; =\; 2pi\; U\_2.,$

Given u and v, independent and uniformly distributed in the closed interval [−1, +1], set s = R^{2} = u^{2} + v^{2}. (Clearly $scriptstyle\; R\; =\; sqrt\{s\}$.) If s = 0 or s > 1, throw u and v away and try another pair (u, v). Continue until a pair with s in the open interval (0, 1) is found. Because u and v are uniformly distributed and because only points within the unit circle have been admitted, the values of s will be uniformly distributed in the open interval (0, 1), too. The latter can be seen by calculating the cumulative distribution function for s in the interval (0, 1). This is the area of a circle with radius $scriptstyle\; sqrt\{s\}$ divided by $scriptstylepi$. From this we find the probability density function to have the constant value 1 on the interval (0, 1). Equally so, the angle θ divided by $scriptstyle\; 2\; pi$ is uniformly distributed in the open interval (0, 1) and independent of s.

We now identify the value of s with that of U_{1} and $scriptstyle\; theta/(2\; pi)$ with that of U_{2} in the basic form. As shown in the figure, the values of $scriptstyle\; cos\; theta\; =\; cos\; 2\; pi\; U\_2$ and $scriptstyle\; sin\; theta\; =\; sin\; 2\; pi\; U\_2$ in the basic form can be replaced with the ratios $scriptstylecos\; theta\; =\; u/R\; =\; u/sqrt\{s\}$ and $scriptstylesin\; theta\; =\; v/R\; =\; v/sqrt\{s\}$, respectively. The advantage is that calculating the trigonometric functions directly can be avoided. This is helpful when they are comparatively more expensive than the single division that replaces each one.

Just as the basic form produces two standard normal deviates, so does this alternate calculation.

- $z\_0\; =\; sqrt\{-2\; ln\; U\_1\}\; cos(2\; pi\; U\_2)\; =\; sqrt\{-2\; ln\; s\}\; left(frac\{u\}\{sqrt\{s\}\}right)\; =\; u\; cdot\; sqrt\{frac\{-2\; ln\; s\}\{s\}\}$

and

- $z\_1\; =\; sqrt\{-2\; ln\; U\_1\}\; sin(2\; pi\; U\_2)\; =\; sqrt\{-2\; ln\; s\}left(frac\{v\}\{sqrt\{s\}\}right)\; =\; v\; cdot\; sqrt\{frac\{-2\; ln\; s\}\{s\}\}.$

The polar method differs from the basic method in that it is a type of rejection sampling. It throws away some generated random numbers, but it is typically faster than the basic method because it is simpler to compute (provided that the random number generator is relatively fast) and is more numerically robust. It avoids the use of trigonometric functions, which are comparatively expensive in many computing environments. It throws away 1 − π/4 ≈ 21.46% of the total input uniformly distributed random number pairs generated, i.e. throws away 4/π − 1 ≈ 27.32% uniformly distributed random number pairs per Gaussian random number pair generated, requiring 4/π ≈ 1.2732 input random numbers per output random number.

The basic form requires three multiplications, one logarithm, one square root, and one trigonometric function for each normal variate.

The polar form requires two multiplications, one logarithm, one square root, and one division for each normal variate. The effect is to replace one multiplication and one trigonometric function with a single division.

- Normal distribution
- Inverse transform sampling
- Marsaglia polar method, an optimization of the Box-Muller transform
- Ziggurat algorithm, a very different way to generate normal random numbers

- Box-Muller running in a Java Applet
- Generating Gaussian Random Numbers
- Box-Muller Transform on MathWorld

Wikipedia, the free encyclopedia © 2001-2006 Wikipedia contributors (Disclaimer)

This article is licensed under the GNU Free Documentation License.

Last updated on Monday June 23, 2008 at 04:44:15 PDT (GMT -0700)

View this article at Wikipedia.org - Edit this article at Wikipedia.org - Donate to the Wikimedia Foundation

This article is licensed under the GNU Free Documentation License.

Last updated on Monday June 23, 2008 at 04:44:15 PDT (GMT -0700)

View this article at Wikipedia.org - Edit this article at Wikipedia.org - Donate to the Wikimedia Foundation

Copyright © 2015 Dictionary.com, LLC. All rights reserved.