Title: Random Number Distributions

1 The Gaussian Distribution

GSL::Rng#gaussian(sigma = 1)
GSL::Ran::gaussian(rng, sigma = 1)
GSL::Rng#ugaussian
GSL::Ran::ugaussian
These return a Gaussian random variate, with mean zero and standard deviation sigma.
GSL::Ran::gaussian_pdf(x, sigma = 1)
Computes the probability density p(x) at x for a Gaussian distribution with standard deviation sigma.
GSL::Rng#gaussian_ratio_method(sigma = 1)
GSL::Ran::gaussian_ratio_method(rng, sigma = 1)
Use Kinderman-Monahan ratio method.
GSL::Cdf::gaussian_P(x, sigma = 1)
GSL::Cdf::gaussian_Q(x, sigma = 1)
GSL::Cdf::gaussian_Pinv(P, sigma = 1)
GSL::Cdf::gaussian_Qinv(Q, sigma = 1)
GSL::Cdf::ugaussian_P(x)
GSL::Cdf::ugaussian_Q(x)
GSL::Cdf::ugaussian_Pinv(P)
GSL::Cdf::ugaussian_Qinv(Q)
These methods compute the cumulative distribution functions P(x), Q(x) and their inverses for the Gaussian distribution with standard deviation sigma.

2 The Gaussian Tail Distribution

GSL::Rng#gaussian_tail(a, sigma = 1)
GSL::Ran#gaussian_tail(rng, a, sigma = 1)
GSL::Rng#ugaussian_tail(a)
GSL::Ran#ugaussian_tail(rng)
These methods provide random variates from the upper tail of a Gaussian distribution with standard deviation sigma. The values returned are larger than the lower limit a, which must be positive.
GSL::Ran::gaussian_tail_pdf(x, a, sigma = 1)
GSL::Ran::ugaussian_tail_pdf(x, a)
These methods compute the probability density p(x) at x for a Gaussian tail distribution with standard deviation sigma and lower limit a.

3 The Bivariate Gaussian Distribution

GSL::Rng#bivariate_gaussian(sigma_x, sigma_y, rho)
GSL::Ran::bivariate_gaussian(rng, sigma_x, sigma_y, rho)
These methods generate a pair of correlated gaussian variates, with mean zero, correlation coefficient rho and standard deviations sigma_x and sigma_y in the x and y directions.
GSL::Ran::bivariate_gaussian_pdf(x, y, sigma_x, sigma_y, rho)
This method computes the probability density p(x,y) at (x,y) for a bivariate gaussian distribution with standard deviations sigma_x, sigma_y and correlation coefficient rho.

4 The Exponential Distribution

GSL::Rng#exponential(mu)
GSL::Ran::exponential(rng, mu)
These methods return a random variate from the exponential distribution with mean mu.
GSL::Ran::exponential_pdf(x, mu)
This method computes the probability density p(x) at x for an exponential distribution with mean mu.
GSL::Cdf::exponential_P(x, mu)
GSL::Cdf::exponential_Q(x, mu)
GSL::Cdf::exponential_Pinv(P, mu)
GSL::Cdf::exponential_Qinv(Q, mu)
These methods compute the cumulative distribution functions P(x), Q(x) and their inverses for the exponential distribution with mean mu.

5 The Laplace Distribution

GSL::Rng#laplace(a)
GSL::Ran::laplace(rng, a)
These methods return a random variate from the Laplace distribution with width a.
GSL::Ran::laplace_pdf(x, a)
This method computes the probability density p(x) at x for a Laplace distribution with width a.
GSL::Cdf::laplace_P(x, a)
GSL::Cdf::laplace_Q(x, a)
GSL::Cdf::laplace_Pinv(P, a)
GSL::Cdf::laplace_Qinv(Q, a)
These methods compute the cumulative distribution functions P(x), Q(x) and their inverses for the Laplace distribution with width a.
GSL::Rng#exppow(a, b)
GSL::Rng#cauchy(a)
GSL::Rng#rayleigh(sigma)
GSL::Rng#rayleigh_tail(a, sigma)
GSL::Rng#landau()
GSL::Rng#levy(c, alpha)
GSL::Rng#levy_skew(c, alpha, beta)
GSL::Rng#gamma(a, b)
GSL::Rng#flat(a, b)
GSL::Rng#lognormal(zeta, sigma)
GSL::Rng#chisq(nu)
GSL::Rng#fdist(nu1, nu2)
GSL::Rng#tdist(nu)
GSL::Rng#beta(a, b)
GSL::Rng#logistic(a)
GSL::Rng#pareto(a, b)

...

and more, see the GSL reference.

6 Shuffling and Sampling

GSL::Rng#shuffle(v, n)
This randomly shuffles the order of n objects, stored in the GSL::Vector object v.
GSL::Rng#choose(v, k)

This returns a GSL::Vector object with k objects taken randomly from the GSL::Vector object v.

The objects are sampled without replacement, thus each object can only appear once in the returned vector. It is required that k be less than or equal to the length of the vector v.

GSL::Rng#sample(v, k)
This method is like the method choose but samples k items from the original vector v with replacement, so the same object can appear more than once in the output sequence. There is no requirement that k be less than the length of v.

prev next

Reference index top