scipy.special.expi#

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

Exponentielle Integrale Ei.

Für reelles \(x\) ist das Exponentialintegral definiert als [1]

\[Ei(x) = \int_{-\infty}^x \frac{e^t}{t} dt.\]

Für \(x > 0\) wird das Integral als Cauchy-Hauptwert verstanden.

Es wird durch analytische Fortsetzung der Funktion auf dem Intervall \((0, \infty)\) auf die komplexe Ebene erweitert. Die komplexe Variante hat einen Zweigschnitt auf der negativen reellen Achse.

Parameter:
xarray_like

Reeller oder komplexwertiger Argument

outndarray, optional

Optionales Ausgabe-Array für die Funktionsergebnisse

Rückgabe:
skalar oder ndarray

Werte des Exponentialintegrals

Siehe auch

exp1

Exponentialintegral \(E_1\)

expn

Verallgemeinertes Exponentialintegral \(E_n\)

Hinweise

Die Exponentialintegrale \(E_1\) und \(Ei\) erfüllen die Beziehung

\[E_1(x) = -Ei(-x)\]

für \(x > 0\).

Referenzen

[1]

Digital Library of Mathematical Functions, 6.2.5 https://dlmf.nist.gov/6.2#E5

Beispiele

>>> import numpy as np
>>> import scipy.special as sc

Es steht in Beziehung zu exp1.

>>> x = np.array([1, 2, 3, 4])
>>> -sc.expi(-x)
array([0.21938393, 0.04890051, 0.01304838, 0.00377935])
>>> sc.exp1(x)
array([0.21938393, 0.04890051, 0.01304838, 0.00377935])

Die komplexe Variante hat einen Zweigschnitt auf der negativen reellen Achse.

>>> sc.expi(-1 + 1e-12j)
(-0.21938393439552062+3.1415926535894254j)
>>> sc.expi(-1 - 1e-12j)
(-0.21938393439552062-3.1415926535894254j)

Wenn sich die komplexe Variante dem Zweigschnitt nähert, nähern sich die Realteile dem Wert der reellen Variante.

>>> sc.expi(-1)
-0.21938393439552062

Die SciPy-Implementierung gibt für komplexe Werte auf dem Zweigschnitt die reelle Variante zurück.

>>> sc.expi(complex(-1, 0.0))
(-0.21938393439552062-0j)
>>> sc.expi(complex(-1, -0.0))
(-0.21938393439552062-0j)