scipy.special.i1e#
- scipy.special.i1e(x, out=None) = <ufunc 'i1e'>#
Exponentially scaled modified Bessel function of order 1.
Defined as:
i1e(x) = exp(-abs(x)) * i1(x)
- Parameters:
- xarray_like
Argument (float)
- outndarray, optional
Optional output array for the function values
- Returns:
- Iscalar or ndarray
Value of the exponentially scaled modified Bessel function of order 1 at x.
Notes
The range is partitioned into the two intervals [0, 8] and (8, infinity). Chebyshev polynomial expansions are employed in each interval. The polynomial expansions used are the same as those in
i1
, but they are not multiplied by the dominant exponential factor.This function is a wrapper for the Cephes [1] routine
i1e
.References
[1]Cephes Mathematical Functions Library, http://www.netlib.org/cephes/
Examples
Calculate the function at one point:
>>> from scipy.special import i1e >>> i1e(1.) 0.2079104153497085
Calculate the function at several points:
>>> import numpy as np >>> i1e(np.array([-2., 0., 6.])) array([-0.21526929, 0. , 0.15205146])
Plot the function between -10 and 10.
>>> import matplotlib.pyplot as plt >>> fig, ax = plt.subplots() >>> x = np.linspace(-10., 10., 1000) >>> y = i1e(x) >>> ax.plot(x, y) >>> plt.show()
Exponentially scaled Bessel functions are useful for large arguments for which the unscaled Bessel functions overflow or lose precision. In the following example
i1
returns infinity whereasi1e
still returns a finite number.>>> from scipy.special import i1 >>> i1(1000.), i1e(1000.) (inf, 0.01261093025692863)