Portability | portable |
---|---|
Stability | experimental |
Maintainer | alexey.skladnoy@gmail.com |
Safe Haskell | None |
Monadic wrapper for various distributions generators.
- normal :: MonadPrim m => Double -> Double -> Rand m Double
- standard :: MonadPrim m => Rand m Double
- exponential :: MonadPrim m => Double -> Rand m Double
- truncatedExp :: MonadPrim m => Double -> (Double, Double) -> Rand m Double
- gamma :: MonadPrim m => Double -> Double -> Rand m Double
- chiSquare :: MonadPrim m => Int -> Rand m Double
- beta :: MonadPrim m => Double -> Double -> Rand m Double
- categorical :: (MonadPrim m, Vector v Double) => v Double -> Rand m Int
- geometric0 :: MonadPrim m => Double -> Rand m Int
- geometric1 :: MonadPrim m => Double -> Rand m Int
- bernoulli :: MonadPrim m => Double -> Rand m Bool
- dirichlet :: (MonadPrim m, Traversable t) => t Double -> Rand m (t Double)
- uniformPermutation :: (MonadPrim m, Vector v Int) => Int -> Rand m (v Int)
- uniformShuffle :: (MonadPrim m, Vector v a, Vector v Int) => v a -> Rand m (v a)
Variates: non-uniformly distributed values
Continuous distributions
Normally distributed variable
standard :: MonadPrim m => Rand m DoubleSource
Normally distributed variables with mean 0 and 1 standard deviation
Generate exponentially distributed random variate.
:: MonadPrim m | |
=> Double | Scale parameter |
-> (Double, Double) | Range to which distribution is truncated. Values may be negative. |
-> Rand m Double |
Generate truncated exponentially distributed random variate.
Random variate generator for gamma distribution.
Random variate generator for chi square distribution.
Random variate generator for Beta distribution
Discrete distribution
Random variate generator for categorical distribution.
Note that if you need to generate a lot of variates functions System.Random.MWC.CondensedTable will offer better performance. If only few is needed this function will faster since it avoids costs of setting up table.
Random variate generator for the geometric distribution, computing the number of failures before success. Distribution's support is [0..].
Random variate generator for geometric distribution for number of
trials. Distribution's support is [1..] (i.e. just geometric0
shifted by 1).
Random variate generator for Bernoulli distribution
Multivariate
:: (MonadPrim m, Traversable t) | |
=> t Double | container of parameters |
-> Rand m (t Double) |
Random variate generator for Dirichlet distribution