| Stability | experimental |
|---|---|
| Maintainer | Patrick Perry <patperry@stanford.edu> |
GSL.Random.Dist
Contents
Description
Random number distributions. Functions for generating random variates and computing their probability distributions.
- gaussianPdf :: Double -> Double -> Double
- gaussianP :: Double -> Double -> Double
- gaussianQ :: Double -> Double -> Double
- gaussianPInv :: Double -> Double -> Double
- gaussianQInv :: Double -> Double -> Double
- getGaussian :: RNG -> Double -> IO Double
- getGaussianZiggurat :: RNG -> Double -> IO Double
- getGaussianRatioMethod :: RNG -> Double -> IO Double
- ugaussianPdf :: Double -> Double
- ugaussianP :: Double -> Double
- ugaussianQ :: Double -> Double
- ugaussianPInv :: Double -> Double
- ugaussianQInv :: Double -> Double
- getUGaussian :: RNG -> IO Double
- getUGaussianZiggurat :: RNG -> IO Double
- getUGaussianRatioMethod :: RNG -> IO Double
- flatPdf :: Double -> Double -> Double -> Double
- flatP :: Double -> Double -> Double -> Double
- flatQ :: Double -> Double -> Double -> Double
- flatPInv :: Double -> Double -> Double -> Double
- flatQInv :: Double -> Double -> Double -> Double
- getFlat :: RNG -> Double -> Double -> IO Double
- poissonPdf :: Int -> Double -> Double
- poissonP :: Int -> Double -> Double
- poissonQ :: Int -> Double -> Double
- getPoisson :: RNG -> Double -> IO Int
The Gaussian Distribution
General
gaussianPdf :: Double -> Double -> DoubleSource
gaussianPdf x sigma computes the probabililty density p(x) for
a Gaussian distribution with mean 0 and standard deviation sigma.
gaussianP :: Double -> Double -> DoubleSource
gaussianP x sigma computes the cumulative distribution function P(x) for
a Gaussian distribution with mean 0 and standard deviation sigma.
gaussianQ :: Double -> Double -> DoubleSource
gaussianQ x sigma computes the cumulative distribution function Q(x) for
a Gaussian distribution with mean 0 and standard deviation sigma.
gaussianPInv :: Double -> Double -> DoubleSource
gaussianPInv p sigma computes the inverse of the cumulative distribution
function of a Gaussian distribution with mean 0 and standard deviation
sigma. It returns x such that P(x) = p.
gaussianQInv :: Double -> Double -> DoubleSource
gaussianPInv q sigma computes the inverse of the cumulative distribution
function of a Gaussian distribution with mean 0 and standard deviation
sigma. It returns x such that Q(x) = q.
getGaussian :: RNG -> Double -> IO DoubleSource
getGaussian r sigma gets a normal random variable with mean
0 and standard deviation sigma.
This uses the Box-Mueller algorithm.
getGaussianZiggurat :: RNG -> Double -> IO DoubleSource
getGaussianZiggurat r sigma gets a normal random variable with mean
0 and standard deviation sigma.
This uses the Marsaglia-Tsang ziggurat algorithm.
getGaussianRatioMethod :: RNG -> Double -> IO DoubleSource
getGaussianRatioMethod r sigma gets a normal random variable with mean
0 and standard deviation sigma.
This uses the Kinderman-Monahan-Leva ratio method.
Unit Variance
ugaussianPdf :: Double -> DoubleSource
ugaussianPdf x computes the probabililty density p(x) for
a Gaussian distribution with mean 0 and standard deviation 1.
ugaussianP :: Double -> DoubleSource
ugaussianP x computes the cumulative distribution function P(x) for
a Gaussian distribution with mean 0 and standard deviation 1.
ugaussianQ :: Double -> DoubleSource
ugaussianQ x computes the cumulative distribution function Q(x) for
a Gaussian distribution with mean 0 and standard deviation 1.
ugaussianPInv :: Double -> DoubleSource
ugaussianPInv p computes the inverse of the cumulative distribution
function of a Gaussian distribution with mean 0 and standard deviation
1. It returns x such that P(x) = p.
ugaussianQInv :: Double -> DoubleSource
ugaussianPInv q computes the inverse of the cumulative distribution
function of a Gaussian distribution with mean 0 and standard deviation
1. It returns x such that Q(x) = q.
getUGaussian :: RNG -> IO DoubleSource
getUGaussian r gets a normal random variable with mean
0 and standard deviation 1.
This uses the Box-Mueller algorithm.
getUGaussianZiggurat :: RNG -> IO DoubleSource
getUGaussianZiggurat r gets a normal random variable with mean
0 and standard deviation 1.
This uses the Marsaglia-Tsang ziggurat algorithm.
getUGaussianRatioMethod :: RNG -> IO DoubleSource
getUGaussianRatioMethod r gets a normal random variable with mean
0 and standard deviation 1.
This uses the Kinderman-Monahan-Leva ratio method.
The Flat (Uniform) Distribution
flatPdf :: Double -> Double -> Double -> DoubleSource
flatPdf x a b computes the probability density p(x) at x for
a uniform distribution from a to b.
flatP :: Double -> Double -> Double -> DoubleSource
flatP x a b computes the cumulative distribution function P(x).
flatQ :: Double -> Double -> Double -> DoubleSource
flatQ x a b computes the cumulative distribution function Q(x).
flatPInv :: Double -> Double -> Double -> DoubleSource
flatPInv p a b computes the inverse of the cumulative distribution
and returns x so that function P(x) = p.
flatQInv :: Double -> Double -> Double -> DoubleSource
flatQInv q a b computes the inverse of the cumulative distribution
and returns x so that function Q(x) = q.
getFlat :: RNG -> Double -> Double -> IO DoubleSource
getFlat r a b gets a value uniformly chosen in [a,b).
The Poisson Distribution
poissonPdf :: Int -> Double -> DoubleSource
poissonPdf k mu evaluates the probability density p(k) at k for
a Poisson distribution with mean mu.
poissonP :: Int -> Double -> DoubleSource
poissonP k mu evaluates the cumulative distribution function P(k)
at k for a Poisson distribution with mean mu.