GammaRelatedGammaIT(Double, Double) Method |
GammaIT(x,a) evaluates Tricomi's incomplete gamma function defined by
GammaIT = x**(-a)/Gamma(a) * integral from 0 to x of exp(-t) * t**(a-1.0)
for a > 0.0 and by analytic continuation for a <= 0.0.
Gamma(x) is the complete gamma function of x.
Namespace: Altaxo.CalcAssembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax public static double GammaIT(
double x,
double a
)
Parameters
- x Double
- The function argument x.
- a Double
- The function argument a.
Return Value
DoubleTricomi's incomplete gamma function of x and a.
Remarks GammaIT(x,a) is evaluated for arbitrary real values of a and for
non-negative values of x (even though GammaIT is defined for x < 0.0),
except that for x = 0 and a <= 0.0, GammaIT is infinite,
which is a fatal error.
The function and both arguments are double.
A slight deterioration of 2 or 3 digits accuracy will occur when
GammaIT is very large or very small in absolute value, because log-
arithmic variables are used. Also, if the parameter a is very
close to a negative integer (but not a negative integer), there is
a loss of accuracy, which is reported if the result is less than
half machine precision.
This is a translation from the Fortran version of DGAMIT, SLATEC, FNLIB,
CATEGORY C7E, REVISION 920528, originally written by Fullerton W.,(LANL)
to C++.
References:
(1) W. Gautschi, A computational procedure for incomplete
gamma functions, ACM Transactions on Mathematical
Software 5, 4 (December 1979), pp. 466-481.
(2) W. Gautschi, Incomplete gamma functions, Algorithm 542,
ACM Transactions on Mathematical Software 5, 4
(December 1979), pp. 482-489.
Routines called:
LnGamma(x) - logarithm of the Gamma function
LnGamma(x,sgn) - logarithm and sign of the Gamma function
RcpGamma(x) - reciprocal of the Gamma function
d9gmit(a,x,algap1,sgngam)
d9lgit(a,x,algap1)
d9lgic(a,x,alx)
See Also