scipy.special.hyp1f1#
- scipy.special.hyp1f1(a, b, x, out=None) = <ufunc 'hyp1f1'>#
Konfluente hypergeometrische Funktion 1F1.
Die konfluente hypergeometrische Funktion ist definiert durch die Reihe
\[{}_1F_1(a; b; x) = \sum_{k = 0}^\infty \frac{(a)_k}{(b)_k k!} x^k.\]Siehe [dlmf] für weitere Details. Hier ist \((\cdot)_k\) das Pochhammer-Symbol; siehe
poch.- Parameter:
- a, barray_like
Reelle Parameter
- xarray_like
Reelles oder komplexes Argument
- outndarray, optional
Optionales Ausgabe-Array für die Funktionsergebnisse
- Rückgabe:
- skalar oder ndarray
Werte der konfluenten hypergeometrischen Funktion
Siehe auch
Hinweise
Für reelle Werte verwendet diese Funktion die Routine
hyp1f1aus der C++ Boost-Bibliothek [2], für komplexe Werte eine C-Übersetzung der Fortran-Bibliothek specfun [3].Referenzen
[dlmf]NIST Digital Library of Mathematical Functions https://dlmf.nist.gov/13.2#E2
[2]The Boost Developers. “Boost C++ Libraries”. https://www.boost.org/.
[3]Zhang, Jin, „Computation of Special Functions“, John Wiley and Sons, Inc, 1996.
Beispiele
>>> import numpy as np >>> import scipy.special as sc
Sie ist eins, wenn x Null ist
>>> sc.hyp1f1(0.5, 0.5, 0) 1.0
Sie ist singulär, wenn b eine nichtpositive ganze Zahl ist.
>>> sc.hyp1f1(0.5, -1, 0) inf
Sie ist ein Polynom, wenn a eine nichtpositive ganze Zahl ist.
>>> a, b, x = -1, 0.5, np.array([1.0, 2.0, 3.0, 4.0]) >>> sc.hyp1f1(a, b, x) array([-1., -3., -5., -7.]) >>> 1 + (a / b) * x array([-1., -3., -5., -7.])
Sie reduziert sich auf die Exponentialfunktion, wenn
a = b.>>> sc.hyp1f1(2, 2, [1, 2, 3, 4]) array([ 2.71828183, 7.3890561 , 20.08553692, 54.59815003]) >>> np.exp([1, 2, 3, 4]) array([ 2.71828183, 7.3890561 , 20.08553692, 54.59815003])