scipy.special.expm1#

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

计算 exp(x) - 1

x 接近零时,exp(x) 接近 1,因此 exp(x) - 1 的数值计算可能会遭受灾难性的精度损失。expm1(x) 的实现是为了避免当 x 接近零时发生的精度损失。

参数:
xarray_like

x 必须包含实数。

outndarray,可选

函数值的可选输出数组

返回:
标量或 ndarray

逐元素计算的 exp(x) - 1

示例

>>> import numpy as np
>>> from scipy.special import expm1
>>> expm1(1.0)
1.7182818284590451
>>> expm1([-0.2, -0.1, 0, 0.1, 0.2])
array([-0.18126925, -0.09516258,  0.        ,  0.10517092,  0.22140276])

exp(7.5e-13) - 1 的精确值是

7.5000000000028125000000007031250000001318...*10**-13.

以下是 expm1(7.5e-13) 给出的结果

>>> expm1(7.5e-13)
7.5000000000028135e-13

将其与 exp(7.5e-13) - 1 进行比较,后者的减法运算会导致“灾难性”的精度损失

>>> np.exp(7.5e-13) - 1
7.5006667543675576e-13