Copyright | (c) 2009 2011 Bryan O'Sullivan |
---|---|
License | BSD3 |
Maintainer | bos@serpentine.com |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Less common mathematical functions.
Synopsis
- bd0 :: Double -> Double -> Double
- chooseExact :: Int -> Int -> Double
- logChooseFast :: Double -> Double -> Double
- logGammaAS245 :: Double -> Double
- logGammaCorrection :: Double -> Double
Documentation
logChooseFast :: Double -> Double -> Double Source #
Quickly compute the natural logarithm of n
k, with
no checking.choose
Less numerically stable:
exp $ lg (n+1) - lg (k+1) - lg (n-k+1) where lg = logGamma . fromIntegral
logGammaAS245 :: Double -> Double Source #
Compute the logarithm of the gamma function Γ(x). Uses Algorithm AS 245 by Macleod.
Gives an accuracy of 10-12 significant decimal digits, except
for small regions around x = 1 and x = 2, where the function
goes to zero. For greater accuracy, use logGammaL
.
Returns ∞ if the input is outside of the range (0 < x ≤ 1e305).
logGammaCorrection :: Double -> Double Source #
Compute the log gamma correction factor for Stirling
approximation for x
≥ 10. This correction factor is
suitable for an alternate (but less numerically accurate)
definition of logGamma
:
\[ \log\Gamma(x) = \frac{1}{2}\log(2\pi) + (x-\frac{1}{2})\log x - x + \operatorname{logGammaCorrection}(x) \]