gamma¶
Evaluates the real gamma function.
Synopsis¶
gamma (x)
Required Arguments¶
- float
x(Input) - Point at which the gamma function is to be evaluated.
Return Value¶
The value of the gamma function Γ(x).
Description¶
The gamma function, Γ(x), is defined to be
\[\mathit{\Gamma}(x) = \int_{0}^{\infty} t^{x-1} e^{-t} dt\]
For x < 0, the above definition is extended by analytic continuation.
The gamma function is not defined for integers less than or equal to zero. It underflows for x << 0 and overflows for large x. It also overflows for values near negative integers.
Figure 15.2 — Plot of Γ(x) and 1/Γ(x)
Example¶
In this example, Γ(1.5) is computed and printed.
from __future__ import print_function
from pyimsl.stat.gamma import gamma
x = 1.5
ans = gamma(x)
print("Gamma(%f) = %f\n" % (x, ans))
Output¶
Gamma(1.500000) = 0.886227
Alert Errors¶
IMSLS_SMALL_ARG_UNDERFLOW |
The argument x must be large
enough that Γ(x) does not
underflow. The underflow limit occurs
first for arguments close to large
negative half integers. Even though
other arguments away from these half
integers may yield
machine-representable values of
Γ(x), such arguments are
considered illegal. |
Warning Errors¶
IMSLS_NEAR_NEG_INT_WARN |
The result is accurate to less than
one-half precision because x is too
close to a negative integer. |
Fatal Errors¶
IMSLS_ZERO_ARG_OVERFLOW |
The argument for the gamma function is too close to zero. |
IMSLS_NEAR_NEG_INT_FATAL |
The argument for the function is too close to a negative integer. |
IMSLS_LARGE_ARG_OVERFLOW |
The function overflows because x
is too large. |
IMSLS_CANNOT_FIND_XMIN |
The algorithm used to find \(\text{x}_{min}\) failed. This error should never occur. |
IMSLS_CANNOT_FIND_XMAX |
The algorithm used to find \(\text{x}_{max}\) failed. This error should never occur. |