The gamma and related functions, and the error function are crucial for mathematical statistics. The Bessel and related functions arise in problems involving wave propagation (especially in optics). Other major categories of special functions include the elliptic integrals (related to the arc length of an ellipse), and the hypergeometric functions.
Status: Many more functions will be added to this module. The naming convention for the distribution functions (gammaIncomplete, etc) is not yet finalized and will probably change.
- The Gamma function, Γ(x)Γ(x) is a generalisation of the factorial function to real and complex numbers. Like x!, Γ(x+1) = x * Γ(x).
Mathematically, if z.re > 0 then Γ(z) = ∫0∞ tz-1e-t dt
Special Values x Γ(x) NAN NAN ±0.0 ±∞ integer > 0 (x-1)! integer < 0 NAN +∞ +∞ -∞ NAN
- Natural logarithm of the gamma function, Γ(x)
- The sign of Γ(x).Returns -1 if Γ(x) < 0, +1 if Γ(x) > 0, NAN if sign is indeterminate.
Note that this function can be used in conjunction with logGamma(x) to evaluate gamma for very large values of x.
- Beta function
- Digamma functionThe digamma function is the logarithmic derivative of the gamma function.
digamma(x) = d/dx logGamma(x)
- Log Minus Digamma function
- Inverse of the Log Minus Digamma functionGiven y, the function finds x such log(x) - digamma(x) = y.
- Incomplete beta integralReturns incomplete beta integral of the arguments, evaluated from zero to x. The regularized incomplete beta function is defined as
betaIncomplete(a, b, x) = Γ(a + b) / ( Γ(a) Γ(b) ) * ∫0x ta-1(1-t)b-1 dt
and is the same as the the cumulative distribution function.
The domain of definition is 0 <= x <= 1. In this implementation a and b are restricted to positive values. The integral from x to 1 may be obtained by the symmetry relation
betaIncompleteCompl(a, b, x ) = betaIncomplete( b, a, 1-x )
The integral is evaluated by a continued fraction expansion or, when b * x is small, by a power series.
- Inverse of incomplete beta integralGiven y, the function finds x such that
betaIncomplete(a, b, x) == y
Newton iterations or interval halving is used.
- Incomplete gamma integral and its complementThese functions are defined by
gammaIncomplete = ( ∫0x e-t ta-1 dt )/ Γ(a)
gammaIncompleteCompl(a,x) = 1 - gammaIncomplete(a,x) = (∫x∞ e-t ta-1 dt )/ Γ(a)
In this implementation both arguments must be positive. The integral is evaluated by either a power series or continued fraction expansion, depending on the relative values of a and x.
- Inverse of complemented incomplete gamma integralGiven a and p, the function finds x such that
gammaIncompleteCompl( a, x ) = p.
- Error function
- Complementary error function
- Normal distribution function.The normal (or Gaussian, or bell-shaped) distribution is defined as:
normalDist(x) = 1/√(2π) ∫-∞x exp( - t2/2) dt = 0.5 + 0.5 * erf(x/sqrt(2)) = 0.5 * erfc(- x/sqrt(2))
To maintain accuracy at values of x near 1.0, use normalDistribution(x) = 1.0 - normalDistribution(-x).
References: http://www.netlib.org/cephes/ldoubdoc.html, G. Marsaglia, "Evaluating the Normal Distribution", Journal of Statistical Software 11, (July 2004).
- Inverse of Normal distribution functionReturns the argument, x, for which the area under the Normal probability density function (integrated from minus infinity to x) is equal to p.