scipy.special.ndtri#
- scipy.special.ndtri(y, out=None) = <ufunc 'ndtri'>#
Inverse of
ndtr
vs xReturns the argument x for which the area under the standard normal probability density function (integrated from minus infinity to x) is equal to y.
- Parameters:
- parray_like
Probability
- outndarray, optional
Optional output array for the function results
- Returns:
- xscalar or ndarray
Value of x such that
ndtr(x) == p
.
Notes
ndtri
has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variableSCIPY_ARRAY_API=1
and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.Library
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
n/a
See Support for the array API standard for more information.
Examples
ndtri
is the percentile function of the standard normal distribution. This means it returns the inverse of the cumulative densityndtr
. First, let us compute a cumulative density value.>>> import numpy as np >>> from scipy.special import ndtri, ndtr >>> cdf_val = ndtr(2) >>> cdf_val 0.9772498680518208
Verify that
ndtri
yields the original value for x up to floating point errors.>>> ndtri(cdf_val) 2.0000000000000004
Plot the function. For that purpose, we provide a NumPy array as argument.
>>> import matplotlib.pyplot as plt >>> x = np.linspace(0.01, 1, 200) >>> fig, ax = plt.subplots() >>> ax.plot(x, ndtri(x)) >>> ax.set_title("Standard normal percentile function") >>> plt.show()