Incomplete gamma function
Template:Short description Template:Use dmy dates
In mathematics, the upper and lower incomplete gamma functions are types of special functions which arise as solutions to various mathematical problems such as certain integrals.
Their respective names stem from their integral definitions, which are defined similarly to the gamma function but with different or "incomplete" integral limits. The gamma function is defined as an integral from zero to infinity. This contrasts with the lower incomplete gamma function, which is defined as an integral from zero to a variable upper limit. Similarly, the upper incomplete gamma function is defined as an integral from a variable lower limit to infinity.
Definition
The upper incomplete gamma function is defined as: whereas the lower incomplete gamma function is defined as: In both cases Template:Mvar is a complex parameter, such that the real part of Template:Mvar is positive.
Properties
By integration by parts we find the recurrence relations and Since the ordinary gamma function is defined as we have and
Continuation to complex values
The lower incomplete gamma and the upper incomplete gamma function, as defined above for real positive Template:Mvar and Template:Mvar, can be developed into holomorphic functions, with respect both to Template:Mvar and Template:Mvar, defined for almost all combinations of complex Template:Mvar and Template:Mvar.[1] Complex analysis shows how properties of the real incomplete gamma functions extend to their holomorphic counterparts.
Lower incomplete gamma function
Holomorphic extension
Repeated application of the recurrence relation for the lower incomplete gamma function leads to the power series expansion: [2] Given the rapid growth in absolute value of Γ(z + k)Script error: No such module "Check for unknown parameters". when k → ∞Script error: No such module "Check for unknown parameters"., and the fact that the reciprocal of Γ(z)Script error: No such module "Check for unknown parameters". is an entire function, the coefficients in the rightmost sum are well-defined, and locally the sum converges uniformly for all complex Template:Mvar and Template:Mvar. By a theorem of Weierstrass,[3] the limiting function, sometimes denoted as ,[4] is entire with respect to both Template:Mvar (for fixed Template:Mvar) and Template:Mvar (for fixed Template:Mvar),[1] and, thus, holomorphic on C × CScript error: No such module "Check for unknown parameters". by Hartogs' theorem.[5] Hence, the following decomposition[1] extends the real lower incomplete gamma function as a holomorphic function, both jointly and separately in Template:Mvar and Template:Mvar. It follows from the properties of and the Γ-function, that the first two factors capture the singularities of (at z = 0Script error: No such module "Check for unknown parameters". or Template:Mvar a non-positive integer), whereas the last factor contributes to its zeros.
Multi-valuedness
The complex logarithm log z = log Template:Abs + i arg zScript error: No such module "Check for unknown parameters". is determined up to a multiple of 2πiScript error: No such module "Check for unknown parameters". only, which renders it multi-valued. Functions involving the complex logarithm typically inherit this property. Among these are the complex power, and, since zsScript error: No such module "Check for unknown parameters". appears in its decomposition, the γScript error: No such module "Check for unknown parameters".-function, too.
The indeterminacy of multi-valued functions introduces complications, since it must be stated how to select a value. Strategies to handle this are:
- (the most general way) replace the domain CScript error: No such module "Check for unknown parameters". of multi-valued functions by a suitable manifold in C × CScript error: No such module "Check for unknown parameters". called Riemann surface. While this removes multi-valuedness, one has to know the theory behind it;[6]
- restrict the domain such that a multi-valued function decomposes into separate single-valued branches, which can be handled individually.
The following set of rules can be used to interpret formulas in this section correctly. If not mentioned otherwise, the following is assumed:
Sectors
Sectors in CScript error: No such module "Check for unknown parameters". having their vertex at z = 0Script error: No such module "Check for unknown parameters". often prove to be appropriate domains for complex expressions. A sector Template:Mvar consists of all complex Template:Mvar fulfilling z ≠ 0Script error: No such module "Check for unknown parameters". and α − δ < arg z < α + δScript error: No such module "Check for unknown parameters". with some Template:Mvar and 0 < δ ≤ πScript error: No such module "Check for unknown parameters".. Often, Template:Mvar can be arbitrarily chosen and is not specified then. If Template:Mvar is not given, it is assumed to be Template:Pi, and the sector is in fact the whole plane CScript error: No such module "Check for unknown parameters"., with the exception of a half-line originating at z = 0Script error: No such module "Check for unknown parameters". and pointing into the direction of −αScript error: No such module "Check for unknown parameters"., usually serving as a branch cut. Note: In many applications and texts, Template:Mvar is silently taken to be 0, which centers the sector around the positive real axis.
Branches
In particular, a single-valued and holomorphic logarithm exists on any such sector D having its imaginary part bound to the range Template:Open-open. Based on such a restricted logarithm, zsScript error: No such module "Check for unknown parameters". and the incomplete gamma functions in turn collapse to single-valued, holomorphic functions on Template:Mvar (or C×DScript error: No such module "Check for unknown parameters".), called branches of their multi-valued counterparts on D. Adding a multiple of 2πScript error: No such module "Check for unknown parameters". to Template:Mvar yields a different set of correlated branches on the same set Template:Mvar. However, in any given context here, Template:Mvar is assumed fixed and all branches involved are associated to it. If Template:Abs < δScript error: No such module "Check for unknown parameters"., the branches are called principal, because they equal their real analogues on the positive real axis. Note: In many applications and texts, formulas hold only for principal branches.
Relation between branches
The values of different branches of both the complex power function and the lower incomplete gamma function can be derived from each other by multiplication of ,[1] for Template:Mvar a suitable integer.
Behavior near branch point
The decomposition above further shows, that γ behaves near z = 0Script error: No such module "Check for unknown parameters". asymptotically like:
For positive real Template:Mvar, Template:Mvar and Template:Mvar, xy/y → 0Script error: No such module "Check for unknown parameters"., when (x, y) → (0, s)Script error: No such module "Check for unknown parameters".. This seems to justify setting γ(s, 0) = 0Script error: No such module "Check for unknown parameters". for real s > 0Script error: No such module "Check for unknown parameters".. However, matters are somewhat different in the complex realm. Only if (a) the real part of Template:Mvar is positive, and (b) values uvScript error: No such module "Check for unknown parameters". are taken from just a finite set of branches, they are guaranteed to converge to zero as (u, v) → (0, s)Script error: No such module "Check for unknown parameters"., and so does γ(u, v)Script error: No such module "Check for unknown parameters".. On a single branch of γ(b)Script error: No such module "Check for unknown parameters". is naturally fulfilled, so there γ(s, 0) = 0Script error: No such module "Check for unknown parameters". for Template:Mvar with positive real part is a continuous limit. Also note that such a continuation is by no means an analytic one.
Algebraic relations
All algebraic relations and differential equations observed by the real γ(s, z)Script error: No such module "Check for unknown parameters". hold for its holomorphic counterpart as well. This is a consequence of the identity theorem, stating that equations between holomorphic functions valid on a real interval, hold everywhere. In particular, the recurrence relation [2] and ∂γ(s, z)/∂z = zs−1 e−zScript error: No such module "Check for unknown parameters". [2] are preserved on corresponding branches.
Integral representation
The last relation tells us, that, for fixed Template:Mvar, Template:Mvar is a primitive or antiderivative of the holomorphic function zs−1 e−zScript error: No such module "Check for unknown parameters".. Consequently, for any complex u, v ≠ 0Script error: No such module "Check for unknown parameters"., holds, as long as the path of integration is entirely contained in the domain of a branch of the integrand. If, additionally, the real part of Template:Mvar is positive, then the limit γ(s, u) → 0Script error: No such module "Check for unknown parameters". for u → 0Script error: No such module "Check for unknown parameters". applies, finally arriving at the complex integral definition of γScript error: No such module "Check for unknown parameters".[1]
Any path of integration containing 0 only at its beginning, otherwise restricted to the domain of a branch of the integrand, is valid here, for example, the straight line connecting 0Script error: No such module "Check for unknown parameters". and Template:Mvar.
Limit for z → +∞Script error: No such module "Check for unknown parameters".
Real values
Given the integral representation of a principal branch of γScript error: No such module "Check for unknown parameters"., the following equation holds for all positive real Template:Mvar, Template:Mvar:[7]
s complex
This result extends to complex Template:Mvar. Assume first 1 ≤ Re(s) ≤ 2Script error: No such module "Check for unknown parameters". and 1 < a < bScript error: No such module "Check for unknown parameters".. Then where[8] has been used in the middle. Since the final integral becomes arbitrarily small if only Template:Mvar is large enough, γ(s, x)Script error: No such module "Check for unknown parameters". converges uniformly for x → ∞Script error: No such module "Check for unknown parameters". on the strip 1 ≤ Re(s) ≤ 2Script error: No such module "Check for unknown parameters". towards a holomorphic function,[3] which must be Γ(s) because of the identity theorem. Taking the limit in the recurrence relation γ(s, x) = (s − 1) γ(s − 1, x) − xs − 1 e−xScript error: No such module "Check for unknown parameters". and noting, that lim xn e−x = 0Script error: No such module "Check for unknown parameters". for x → ∞Script error: No such module "Check for unknown parameters". and all Template:Mvar, shows, that γ(s, x)Script error: No such module "Check for unknown parameters". converges outside the strip, too, towards a function obeying the recurrence relation of the Γ-function. It follows for all complex Template:Mvar not a non-positive integer, Template:Mvar real and γScript error: No such module "Check for unknown parameters". principal.
Sectorwise convergence
Now let Template:Mvar be from the sector Template:Abs < δ < π/2Script error: No such module "Check for unknown parameters". with some fixed Template:Mvar (α = 0Script error: No such module "Check for unknown parameters".), γScript error: No such module "Check for unknown parameters". be the principal branch on this sector, and look at
As shown above, the first difference can be made arbitrarily small, if Template:AbsScript error: No such module "Check for unknown parameters". is sufficiently large. The second difference allows for following estimation: where we made use of the integral representation of γScript error: No such module "Check for unknown parameters". and the formula about Template:AbsScript error: No such module "Check for unknown parameters". above. If we integrate along the arc with radius R = Template:AbsScript error: No such module "Check for unknown parameters". around 0 connecting Template:Mvar and Template:AbsScript error: No such module "Check for unknown parameters"., then the last integral is where M = δ(cos δ)−Re s eIm sδScript error: No such module "Check for unknown parameters". is a constant independent of Template:Mvar or Template:Mvar. Again referring to the behavior of xn e−xScript error: No such module "Check for unknown parameters". for large Template:Mvar, we see that the last expression approaches 0 as Template:Mvar increases towards ∞Script error: No such module "Check for unknown parameters".. In total we now have: if Template:Mvar is not a non-negative integer, 0 < ε < π/2Script error: No such module "Check for unknown parameters". is arbitrarily small, but fixed, and γScript error: No such module "Check for unknown parameters". denotes the principal branch on this domain.
Overview
is:
- entire in Template:Mvar for fixed, positive integer Template:Mvar;
- multi-valued holomorphic in Template:Mvar for fixed Template:Mvar not an integer, with a branch point at z = 0Script error: No such module "Check for unknown parameters".;
- on each branch meromorphic in Template:Mvar for fixed z ≠ 0Script error: No such module "Check for unknown parameters"., with simple poles at non-positive integers s.
Upper incomplete gamma function
As for the upper incomplete gamma function, a holomorphic extension, with respect to Template:Mvar or Template:Mvar, is given by[1] at points (s, z)Script error: No such module "Check for unknown parameters"., where the right hand side exists. Since is multi-valued, the same holds for , but a restriction to principal values only yields the single-valued principal branch of .
When Template:Mvar is a non-positive integer in the above equation, neither part of the difference is defined, and a limiting process, here developed for s → 0Script error: No such module "Check for unknown parameters"., fills in the missing values. Complex analysis guarantees holomorphicity, because proves to be bounded in a neighbourhood of that limit for a fixed Template:Mvar.
To determine the limit, the power series of at z = 0Script error: No such module "Check for unknown parameters". is useful. When replacing by its power series in the integral definition of , one obtains (assume Template:Mvar,Template:Mvar positive reals for now): or[4] which, as a series representation of the entire function, converges for all complex Template:Mvar (and all complex Template:Mvar not a non-positive integer).
With its restriction to real values lifted, the series allows the expansion:
When s → 0Script error: No such module "Check for unknown parameters".:[9] ( is the Euler–Mascheroni constant here), hence, is the limiting function to the upper incomplete gamma function as s → 0Script error: No such module "Check for unknown parameters"., also known as the exponential integral .[10]
By way of the recurrence relation, values of for positive integers Template:Mvar can be derived from this result,[11] so the upper incomplete gamma function proves to exist and be holomorphic, with respect both to Template:Mvar and Template:Mvar, for all Template:Mvar and z ≠ 0Script error: No such module "Check for unknown parameters"..
is:
- entire in Template:Mvar for fixed, positive integral Template:Mvar;
- multi-valued holomorphic in Template:Mvar for fixed Template:Mvar non zero and not a positive integer, with a branch point at z = 0Script error: No such module "Check for unknown parameters".;
- equal to for Template:Mvar with positive real part and z = 0Script error: No such module "Check for unknown parameters". (the limit when ), but this is a continuous extension, not an analytic one (does not hold for real s < 0Script error: No such module "Check for unknown parameters".!);
- on each branch entire in Template:Mvar for fixed z ≠ 0Script error: No such module "Check for unknown parameters"..
Special values
- if Template:Mvar is a positive integer,
- if Template:Mvar is a positive integer,[12]
- ,
- ,
- ,
- for ,
- ,
- ,
- .
Here, is the exponential integral, is the generalized exponential integral, is the error function, and is the complementary error function, .
Asymptotic behavior
- as ,
- as and (for real sScript error: No such module "Check for unknown parameters"., the error of Γ(s, x) ~ −xs / sScript error: No such module "Check for unknown parameters". is on the order of O(xmin{s + 1, 0})Script error: No such module "Check for unknown parameters". if s ≠ −1Script error: No such module "Check for unknown parameters". and O(ln(x))Script error: No such module "Check for unknown parameters". if s = −1Script error: No such module "Check for unknown parameters".),
- as an asymptotic series where and .[13]
- as an asymptotic series where and , where , where is the Euler-Mascheroni constant.[13]
- as ,
- as ,
- as an asymptotic series where and .[14]
Evaluation formulae
The lower gamma function can be evaluated using the power series expansion:[15] where is the Pochhammer symbol.
An alternative expansion is where MScript error: No such module "Check for unknown parameters". is Kummer's confluent hypergeometric function.
Connection with Kummer's confluent hypergeometric function
When the real part of Template:Mvar is positive, where has an infinite radius of convergence.
Again with confluent hypergeometric functions and employing Kummer's identity,
For the actual computation of numerical values, Gauss's continued fraction provides a useful expansion:
This continued fraction converges for all complex Template:Mvar, provided only that Template:Mvar is not a negative integer.
The upper gamma function has the continued fraction[16] andScript error: No such module "Unsubst".
Multiplication theorem
The following multiplication theorem holds trueScript error: No such module "Unsubst".:
Software implementation
The incomplete gamma functions are available in various of the computer algebra systems.
Even if unavailable directly, however, incomplete function values can be calculated using functions commonly included in spreadsheets (and computer algebra packages). In Excel, for example, these can be calculated using the gamma function combined with the gamma distribution function.
- The lower incomplete function:
= EXP(GAMMALN(s))*GAMMA.DIST(x,s,1,TRUE). - The upper incomplete function:
= EXP(GAMMALN(s))*(1-GAMMA.DIST(x,s,1,TRUE)).
These follow from the definition of the gamma distribution's cumulative distribution function.
In Python, the Scipy library provides implementations of incomplete gamma functions under scipy.special, however, it does not support negative values for the first argument. The function gammainc from the mpmath library supports all complex arguments.
Regularized gamma functions and Poisson random variables
Two related functions are the regularized gamma functions: is the cumulative distribution function for gamma random variables with shape parameter and scale parameter 1.
When is an integer, is the cumulative distribution function for Poisson random variables: If is a random variable then
This formula can be derived by repeated integration by parts.
and are implemented as gammainc[17] and gammaincc[18] in scipy.
Derivatives
Using the integral representation above, the derivative of the upper incomplete gamma function with respect to Template:Mvar is The derivative with respect to its first argument is given by[19] and the second derivative by where the function is a special case of the Meijer G-function This particular special case has internal closure properties of its own because it can be used to express all successive derivatives. In general, where is the permutation defined by the Pochhammer symbol: All such derivatives can be generated in succession from: and This function can be computed from its series representation valid for , with the understanding that Template:Mvar is not a negative integer or zero. In such a case, one must use a limit. Results for can be obtained by analytic continuation. Some special cases of this function can be simplified. For example, , , where is the Exponential integral. These derivatives and the function provide exact solutions to a number of integrals by repeated differentiation of the integral definition of the upper incomplete gamma function.[20][21] For example, This formula can be further inflated or generalized to a huge class of Laplace transforms and Mellin transforms. When combined with a computer algebra system, the exploitation of special functions provides a powerful method for solving definite integrals, in particular those encountered by practical engineering applications (see Symbolic integration for more details).
Indefinite and definite integrals
The following indefinite integrals are readily obtained using integration by parts (with the constant of integration omitted in both cases): The lower and the upper incomplete gamma function are connected via the Fourier transform: This follows, for example, by suitable specialization of Script error: No such module "Footnotes"..
Notes
- ↑ a b c d e f Script error: No such module "citation/CS1".
- ↑ a b c Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ see last eq.
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Template wrapper". (equation 2)
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Abramowitz and Stegun p. 263, 6.5.31
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ K.O. Geddes, M.L. Glasser, R.A. Moore and T.C. Scott, Evaluation of Classes of Definite Integrals Involving Elementary Functions via Differentiation of Special Functions, AAECC (Applicable Algebra in Engineering, Communication and Computing), vol. 1, (1990), pp. 149–165, [1]
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1"., App B
References
<templatestyles src="Refbegin/styles.css" />
- Script error: No such module "citation/CS1". Script error: No such module "citation/CS1". §6.5.
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- G. Arfken and H. Weber. Mathematical Methods for Physicists. Harcourt/Academic Press, 2000. (See Chapter 10.)
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1". (See also www.netlib.org/toms/654).
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "Citation/CS1".
- Template:Springer
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Template:Dlmf
- Script error: No such module "Citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "Citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "Template wrapper".