scipy.special.kv#

scipy.special.kv(v, z, out=None) = <ufunc 'kv'>#

Modifizierte Besselfunktion zweiter Art von reeller Ordnung v

Gibt die modifizierte Besselfunktion zweiter Art für reelle Ordnung v für komplexe z zurück.

Diese werden manchmal auch als Funktionen dritter Art, Basset-Funktionen oder Macdonald-Funktionen bezeichnet. Sie sind definiert als jene Lösungen der modifizierten Besselsche Gleichung, für welche gilt:

\[K_v(x) \sim \sqrt{\pi/(2x)} \exp(-x)\]

für \(x \to \infty\) [3].

Parameter:
varray_like of float

Ordnung der Besselfunktionen

zarray_like of complex

Argument, an dem die Besselfunktionen ausgewertet werden sollen

outndarray, optional

Optionales Ausgabe-Array für die Funktionsergebnisse

Rückgabe:
skalar oder ndarray

Die Ergebnisse. Beachten Sie, dass die Eingabe vom komplexen Typ sein muss, um eine komplexe Ausgabe zu erhalten, z. B. kv(3, -2+0j) anstelle von kv(3, -2).

Siehe auch

kve

Diese Funktion mit abgespaltetem führendem Exponentialverhalten.

kvp

Ableitung dieser Funktion

Hinweise

Wrapper für die AMOS [1] Routine zbesk. Eine Diskussion des verwendeten Algorithmus finden Sie in [2] und den dort zitierten Referenzen.

Referenzen

[1]

Donald E. Amos, „AMOS, A Portable Package for Bessel Functions of a Complex Argument and Nonnegative Order“, http://netlib.org/amos/

[2]

Donald E. Amos, „Algorithm 644: A portable package for Bessel functions of a complex argument and nonnegative order“, ACM TOMS Vol. 12 Issue 3, Sept. 1986, S. 265

[3]

NIST Digital Library of Mathematical Functions, Gl. 10.25.E3. https://dlmf.nist.gov/10.25.E3

Beispiele

Plotten der Funktion für mehrere Ordnungen bei reellem Eingang

>>> import numpy as np
>>> from scipy.special import kv
>>> import matplotlib.pyplot as plt
>>> x = np.linspace(0, 5, 1000)
>>> for N in np.linspace(0, 6, 5):
...     plt.plot(x, kv(N, x), label='$K_{{{}}}(x)$'.format(N))
>>> plt.ylim(0, 10)
>>> plt.legend()
>>> plt.title(r'Modified Bessel function of the second kind $K_\nu(x)$')
>>> plt.show()
../../_images/scipy-special-kv-1_00_00.png

Berechnung für einen einzelnen Wert bei mehreren Ordnungen

>>> kv([4, 4.5, 5], 1+2j)
array([ 0.1992+2.3892j,  2.3493+3.6j   ,  7.2827+3.8104j])