scipy.special.exprel#
- scipy.special.exprel(x, out=None) = <ufunc 'exprel'>#
相对误差指数函数,
(exp(x) - 1)/x。当 x 接近零时,
exp(x)接近 1,因此数值计算exp(x) - 1可能会遭受灾难性的精度损失。exprel(x)的实现方式是为了避免当 x 接近零时发生的精度损失。- 参数:
- xndarray
输入数组。 x 必须包含实数。
- outndarray, optional
可选的输出数组,用于存储函数值
- 返回:
- 标量或 ndarray
(exp(x) - 1)/x,逐元素计算。
另请参阅
附注
0.17.0 版本中添加。
数组 API 标准支持
exprel对 NumPy 之外的 Python Array API 标准兼容后端具有实验性支持。请考虑通过设置环境变量SCIPY_ARRAY_API=1并提供 CuPy、PyTorch、JAX 或 Dask 数组作为数组参数来测试这些功能。支持以下后端和设备(或其他功能)的组合。库
CPU
GPU
NumPy
✅
不适用
CuPy
不适用
✅
PyTorch
✅
⛔
JAX
⚠️ 无 JIT
⛔
Dask
✅
不适用
有关更多信息,请参阅 对数组 API 标准的支持。
示例
>>> import numpy as np >>> from scipy.special import exprel
>>> exprel(0.01) 1.0050167084168056 >>> exprel([-0.25, -0.1, 0, 0.1, 0.25]) array([ 0.88479687, 0.95162582, 1. , 1.05170918, 1.13610167])
比较
exprel(5e-9)与朴素计算。精确值为1.00000000250000000416...。>>> exprel(5e-9) 1.0000000025
>>> (np.exp(5e-9) - 1)/5e-9 0.99999999392252903