jax.scipy.special.gammaincc

jax.scipy.special.gammaincc(a, x)[source]

Regularized upper incomplete gamma function.

LAX-backend implementation of gammaincc(). Original docstring below.

gammaincc(x1, x2, /, out=None, *, where=True, casting=’same_kind’, order=’K’, dtype=None, subok=True[, signature, extobj])

gammaincc(a, x)

It is defined as

\[Q(a, x) = \frac{1}{\Gamma(a)} \int_x^\infty t^{a - 1}e^{-t} dt\]

for \(a > 0\) and \(x \geq 0\). See [dlmf] for details.

Parameters
  • a (array_like) – Positive parameter

  • x (array_like) – Nonnegative argument

Returns

Values of the upper incomplete gamma function

Return type

scalar or ndarray

Notes

The function satisfies the relation gammainc(a, x) + gammaincc(a, x) = 1 where gammainc is the regularized lower incomplete gamma function.

The implementation largely follows that of [boost].

See also

gammainc()

regularized lower incomplete gamma function

gammaincinv()

inverse of the regularized lower incomplete gamma function with respect to x

gammainccinv()

inverse to of the regularized upper incomplete gamma function with respect to x

References

dlmf

NIST Digital Library of Mathematical functions https://dlmf.nist.gov/8.2#E4

boost

Maddock et. al., “Incomplete Gamma Functions”, https://www.boost.org/doc/libs/1_61_0/libs/math/doc/html/math_toolkit/sf_gamma/igamma.html

Examples

>>> import scipy.special as sc

It is the survival function of the gamma distribution, so it starts at 1 and monotonically decreases to 0.

>>> sc.gammaincc(0.5, [0, 1, 10, 100, 1000])
array([1.00000000e+00, 1.57299207e-01, 7.74421643e-06, 2.08848758e-45,
       0.00000000e+00])

It is equal to one minus the lower incomplete gamma function.

>>> a, x = 0.5, 0.4
>>> sc.gammaincc(a, x)
0.37109336952269756
>>> 1 - sc.gammainc(a, x)
0.37109336952269756