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

elliprc

Degeneriertes symmetrisches Integral.

elliprd

Symmetrisches elliptisches Integral zweiter Art.

elliprg

Vollständig symmetrisches elliptisches Integral zweiter Art.

elliprj

Symmetrisches elliptisches Integral dritter Art.

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