The Gaussian Distribution

gsl_ran_gaussian(sigma)

This function returns a Gaussian random variate, with mean zero and standard deviation sigma. The probability distribution for Gaussian random variates is,

\[p(x) dx = {1 \over \sqrt{2 \pi \sigma^2}} \exp (-x^2 / 2\sigma^2) dx\]

for \(x\) in the range \(-\infty\) to \(+\infty\). Use the transformation \(z = \mu + x\) on the numbers returned by gsl_ran_gaussian to obtain a Gaussian distribution with mean \(\mu\). This function uses the Box-Muller algorithm which requires two calls to the random number generator.

gsl_ran_gaussian_pdf(x, sigma)

This function computes the probability density \(p(x)\) at \(x\) for a Gaussian distribution with standard deviation sigma, using the formula given above.

gsl_ran_gaussian_ziggurat(sigma)
gsl_ran_gaussian_ratio_method(sigma)

These functions compute a Gaussian random variate using the alternative Marsaglia-Tsang ziggurat and Kinderman-Monahan-Leva ratio methods. The Ziggurat algorithm is the fastest available algorithm in most cases.

gsl_ran_ugaussian()
gsl_ran_ugaussian_pdf(x)
gsl_ran_ugaussian_ratio_method()

These functions compute results for the unit Gaussian distribution. They are equivalent to the functions above with a standard deviation of one, sigma = 1.

gsl_cdf_gaussian_P(x, sigma)
gsl_cdf_gaussian_Q(x, sigma)
gsl_cdf_gaussian_Pinv(P, sigma)
gsl_cdf_gaussian_Qinv(Q, sigma)

These functions compute the cumulative distribution functions \(P(x), Q(x)\) and their inverses for the Gaussian distribution with standard deviation sigma.

gsl_cdf_ugaussian_P(x)
gsl_cdf_ugaussian_Q(x)
gsl_cdf_ugaussian_Pinv(P)
gsl_cdf_ugaussian_Qinv(Q)

These functions compute the cumulative distribution functions \(P(x), Q(x)\) and their inverses for the unit Gaussian distribution.