scipy.special.i0e#
- scipy.special.i0e(x, out=None) = <ufunc 'i0e'>#
Exponentiell skalierte modifizierte Besselfunktion der Ordnung 0.
Definiert als
i0e(x) = exp(-abs(x)) * i0(x).
- Parameter:
- xarray_like
Argument (float)
- outndarray, optional
Optionales Ausgabe-Array für die Funktionswerte
- Rückgabe:
- ISkalar oder ndarray
Wert der exponentiell skalierten modifizierten Besselfunktion der Ordnung 0 bei x.
Hinweise
Der Bereich wird in die zwei Intervalle [0, 8] und (8, unendlich) unterteilt. In jedem Intervall werden Tschebyscheff-Polynom-Entwicklungen verwendet. Die verwendeten Polynom-Entwicklungen sind die gleichen wie in
i0, aber sie werden nicht mit dem dominanten Exponentialfaktor multipliziert.Diese Funktion ist ein Wrapper für die Cephes [1] Routine
i0e.i0eist nützlich für große Argumente x: für diese überläufti0schnell.i0ehat experimentelle Unterstützung für Backends, die mit dem Python Array API Standard kompatibel sind, zusätzlich zu NumPy. Bitte erwägen Sie, diese Funktionen zu testen, indem Sie die UmgebungsvariableSCIPY_ARRAY_API=1setzen und CuPy-, PyTorch-, JAX- oder Dask-Arrays als Array-Argumente bereitstellen. Die folgenden Kombinationen von Backend und Gerät (oder anderer Fähigkeit) werden unterstützt.Bibliothek
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
n/a
Siehe Unterstützung für den Array API Standard für weitere Informationen.
Referenzen
[1]Cephes Mathematical Functions Library, http://www.netlib.org/cephes/
Beispiele
Im folgenden Beispiel gibt
i0Unendlich zurück, währendi0eimmer noch eine endliche Zahl zurückgibt.>>> from scipy.special import i0, i0e >>> i0(1000.), i0e(1000.) (inf, 0.012617240455891257)
Berechnen Sie die Funktion an mehreren Punkten, indem Sie ein NumPy-Array oder eine Liste für x angeben.
>>> import numpy as np >>> i0e(np.array([-2., 0., 3.])) array([0.30850832, 1. , 0.24300035])
Plotten Sie die Funktion von -10 bis 10.
>>> import matplotlib.pyplot as plt >>> fig, ax = plt.subplots() >>> x = np.linspace(-10., 10., 1000) >>> y = i0e(x) >>> ax.plot(x, y) >>> plt.show()