scipy.special.exprel — SciPy v1.15.2 Manual (original) (raw)
scipy.special.exprel(x, out=None) = <ufunc 'exprel'>#
Relative error exponential, (exp(x) - 1)/x
.
When x is near zero, exp(x)
is near 1, so the numerical calculation of exp(x) - 1
can suffer from catastrophic loss of precision.exprel(x)
is implemented to avoid the loss of precision that occurs when_x_ is near zero.
Parameters:
xndarray
Input array. x must contain real numbers.
outndarray, optional
Optional output array for the function values
Returns:
scalar or ndarray
(exp(x) - 1)/x
, computed element-wise.
Notes
Added in version 0.17.0.
Examples
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])
Compare exprel(5e-9)
to the naive calculation. The exact value is 1.00000000250000000416...
.
exprel(5e-9) 1.0000000025
(np.exp(5e-9) - 1)/5e-9 0.99999999392252903