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

gdtr

CDF of the gamma distribution.

gdtria

Inverse with respect to a of gdtr(a, b, x).

gdtrix

Inverse with respect to x of gdtr(a, b, x).

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 particular x == 0 with p > 0 and p == 0 with x > 0. For these edge cases, a numerical result will be returned for gdtrib(a, p, x) even though gdtr(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