Skip to main content
`Ctrl`+`K`

# scipy.special.ndtr

scipy.special.ndtr(x, out=None) = <ufunc 'ndtr'>

  Cumulative distribution of the standard normal distribution.

  Returns the area under the standard Gaussian probability density function, integrated from minus infinity to x

  \[\frac{1}{\sqrt{2\pi}} \int_{-\infty}^x \exp(-t^2/2) dt\]
  Parameters:
    x array_like, real or complex

      Argument

    out ndarray, optional

      Optional output array for the function results

  Returns:
    scalar or ndarray

      The value of the normal CDF evaluated at x

  See also

  `log_ndtr`

    Logarithm of ndtr

  `ndtri`

    Inverse of ndtr, standard normal percentile function

  `erf`

    Error function

  `erfc`

    1 - erf

  `scipy.stats.norm`

    Normal distribution

  Notes

  `ndtr` has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable `SCIPY_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

  Evaluate `ndtr` at one point.

      >>> import numpy as np
      >>> from scipy.special import ndtr
      >>> ndtr(0.5)
      0.6914624612740131

  Evaluate the function at several points by providing a NumPy array or list for x.

      >>> ndtr([0, 0.5, 2])
      array([0.5       , 0.69146246, 0.97724987])

  Plot the function.

      >>> import matplotlib.pyplot as plt
      >>> x = np.linspace(-5, 5, 100)
      >>> fig, ax = plt.subplots()
      >>> ax.plot(x, ndtr(x))
      >>> ax.set_title(r"Standard normal cumulative distribution function $\Phi$")
      >>> plt.show()