numpy.expm1(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'expm1'>

Calculate exp(x) - 1 for all elements in the array.

x : array_like

Input values.

out : ndarray, None, or tuple of ndarray and None, optional

A location into which the result is stored. If provided, it must have a shape that the inputs broadcast to. If not provided or None, a freshly-allocated array is returned. A tuple (possible only as a keyword argument) must have length equal to the number of outputs.

where : array_like, optional

Values of True indicate to calculate the ufunc at that position, values of False indicate to leave the value in the output alone.


For other keyword-only arguments, see the ufunc docs.

out : ndarray or scalar

Element-wise exponential minus one: out = exp(x) - 1. This is a scalar if x is a scalar.


log(1 + x), the inverse of expm1.


This function provides greater precision than exp(x) - 1 for small values of x.


The true value of exp(1e-10) - 1 is 1.00000000005e-10 to about 32 significant digits. This example shows the superiority of expm1 in this case.

>>> np.expm1(1e-10)
>>> np.exp(1e-10) - 1