scipy.special.elliprf#
- scipy.special.elliprf(x, y, z, out=None) = <ufunc 'elliprf'>#
Vollständig symmetrisches elliptisches Integral erster Art.
Die Funktion RF ist definiert als [1]
\[R_{\mathrm{F}}(x, y, z) = \frac{1}{2} \int_0^{+\infty} [(t + x) (t + y) (t + z)]^{-1/2} dt\]- Parameter:
- x, y, zarray_like
Reelle oder komplexe Eingabeparameter. x, y oder z können beliebige Zahlen in der komplexen Ebene sein, die entlang der negativen reellen Achse geschnitten ist, aber höchstens eine davon kann Null sein.
- outndarray, optional
Optionales Ausgabe-Array für die Funktionswerte
- Rückgabe:
- RSkalar oder ndarray
Wert des Integrals. Wenn alle x, y und z reell sind, ist der Rückgabewert reell. Andernfalls ist der Rückgabewert komplex.
Siehe auch
Hinweise
Der Code implementiert Carlso ns Algorithmus, der auf Duplikationstheoremen und Reihenentwicklungen bis zur 7. Ordnung basiert (vgl.: https://dlmf.nist.gov/19.36.i) und den AGM-Algorithmus für das vollständige Integral. [2]
Hinzugefügt in Version 1.8.0.
Referenzen
[1]B. C. Carlson, hrsg., Kapitel 19 in „Digital Library of Mathematical Functions“, NIST, US Dept. of Commerce. https://dlmf.nist.gov/19.16.E1
[2]B. C. Carlson, „Numerical computation of real or complex elliptic integrals“, Numer. Algorithm, Bd. 10, Nr. 1, S. 13–26, 1995. https://arxiv.org/abs/math/9409227 https://doi.org/10.1007/BF02198293
Beispiele
Grundlegende Homogenitätseigenschaft
>>> import numpy as np >>> from scipy.special import elliprf
>>> x = 1.2 + 3.4j >>> y = 5. >>> z = 6. >>> scale = 0.3 + 0.4j >>> elliprf(scale*x, scale*y, scale*z) (0.5328051227278146-0.4008623567957094j)
>>> elliprf(x, y, z)/np.sqrt(scale) (0.5328051227278147-0.4008623567957095j)
Alle drei Argumente stimmen überein
>>> x = 1.2 + 3.4j >>> elliprf(x, x, x) (0.42991731206146316-0.30417298187455954j)
>>> 1/np.sqrt(x) (0.4299173120614631-0.30417298187455954j)
Die sogenannte „erste Lemniskatenkonstante“
>>> elliprf(0, 1, 2) 1.3110287771460598
>>> from scipy.special import gamma >>> gamma(0.25)**2/(4*np.sqrt(2*np.pi)) 1.3110287771460598