scipy.special.gdtrib#
- scipy.special.gdtrib(a, p, x, out=None) = <ufunc 'gdtrib'>#
Inverse of
gdtr
vs b.Returns the inverse with respect to the parameter b of
p = gdtr(a, b, x)
, the cumulative distribution function of the gamma distribution.- Parameters:
- aarray_like
a parameter values of
gdtr(a, b, x)`. ``1/a
is the “scale” parameter of the gamma distribution.- parray_like
Probability values.
- xarray_like
Nonnegative real values, from the domain of the gamma distribution.
- outndarray, optional
If a fourth argument is given, it must be a numpy.ndarray whose size matches the broadcast result of a, b and x. out is then the array returned by the function.
- Returns:
- bscalar or ndarray
Values of the b parameter such that p = gdtr(a, b, x). b is the “shape” parameter of the gamma distribution.
See also
Notes
The cumulative distribution function p is computed using the Cephes [1] routines igam and igamc. Computation of b involves a search for a value that produces the desired value of p using Chandrupatla’s bracketing root finding algorithm [2].
Note that there are some edge cases where
gdtrib
is extended by taking limits where they are uniquely defined. In particularx == 0
withp > 0
andp == 0
withx > 0
. For these edge cases, a numerical result will be returned forgdtrib(a, p, x)
even thoughgdtr(a, gdtrib(a, p, x), x)
is undefined.References
[1]Cephes Mathematical Functions Library, http://www.netlib.org/cephes/
[2]Chandrupatla, Tirupathi R. “A new hybrid quadratic/bisection algorithm for finding the zero of a nonlinear function without using derivatives”. Advances in Engineering Software, 28(3), 145-149. https://doi.org/10.1016/s0965-9978(96)00051-8
Examples
First evaluate
gdtr
.>>> from scipy.special import gdtr, gdtrib >>> p = gdtr(1.2, 3.4, 5.6) >>> print(p) 0.94378087442
Verify the inverse.
>>> gdtrib(1.2, p, 5.6) 3.3999999999999995