Skip to main content
`Ctrl`+`K`

# scipy.special.expit

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

  Expit (a.k.a. logistic sigmoid) ufunc for ndarrays.

  The expit function, also known as the logistic sigmoid function, is defined as `expit(x) = 1/(1+exp(-x))`. It is the inverse of the logit function.

  Parameters:
    x ndarray

      The ndarray to apply expit to element-wise.

    out ndarray, optional

      Optional output array for the function values

  Returns:
    scalar or ndarray

      An ndarray of the same shape as x. Its entries are `expit` of the corresponding entry of x.

  See also

  `logit`

  Notes

  As a ufunc expit takes a number of optional keyword arguments. For more information see ufuncs

  Added in version 0.10.0.

  `expit` 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

      >>> import numpy as np
      >>> from scipy.special import expit, logit

      >>> expit([-np.inf, -1.5, 0, 1.5, np.inf])
      array([ 0.        ,  0.18242552,  0.5       ,  0.81757448,  1.        ])

  `logit` is the inverse of `expit`:

      >>> logit(expit([-2.5, 0, 3.1, 5.0]))
      array([-2.5,  0. ,  3.1,  5. ])

  Plot expit(x) for x in [-6, 6]:

      >>> import matplotlib.pyplot as plt
      >>> x = np.linspace(-6, 6, 121)
      >>> y = expit(x)
      >>> plt.plot(x, y)
      >>> plt.grid()
      >>> plt.xlim(-6, 6)
      >>> plt.xlabel('x')
      >>> plt.title('expit(x)')
      >>> plt.show()