gamma-0.7: Gamma function and related functions.

Math.Gamma

Synopsis

Documentation

class Floating a => Gamma a whereSource

Gamma function. Minimal definition is ether gamma or lnGamma.

Methods

gamma :: a -> aSource

The gamma function: gamma z == integral from 0 to infinity of t -> t**(z-1) * exp (negate t)

lnGamma :: a -> aSource

Natural log of the gamma function

lnFactorial :: Integral b => b -> aSource

Natural log of the factorial function

class Num a => Factorial a whereSource

Factorial function

Methods

factorial :: Integral b => b -> aSource

class Gamma a => IncGamma a whereSource

Incomplete gamma functions.

Methods

lowerGamma :: a -> a -> aSource

Lower gamma function: lowerGamma s x == integral from 0 to x of t -> t**(s-1) * exp (negate t)

lnLowerGamma :: a -> a -> aSource

Natural log of lower gamma function

p :: a -> a -> aSource

Regularized lower incomplete gamma function: lowerGamma s x / gamma s

upperGamma :: a -> a -> aSource

Upper gamma function: lowerGamma s x == integral from x to infinity of t -> t**(s-1) * exp (negate t)

lnUpperGamma :: a -> a -> aSource

Natural log of upper gamma function

q :: a -> a -> aSource

Regularized upper incomplete gamma function: upperGamma s x / gamma s

Instances

IncGamma Double

I have not yet come up with a good strategy for evaluating these functions for negative x. They can be rather numerically unstable.

IncGamma Float

This instance uses the Double instance.

beta :: Gamma a => a -> a -> aSource

The beta function: beta z w == gamma z * gamma w / gamma (z+w)