scipy.special.elliprc#

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

Degeneriertes symmetrisches elliptisches Integral.

Die Funktion RC ist definiert als [1]

\[R_{\mathrm{C}}(x, y) = \frac{1}{2} \int_0^{+\infty} (t + x)^{-1/2} (t + y)^{-1} dt = R_{\mathrm{F}}(x, y, y)\]
Parameter:
x, yarray_like

Reale oder komplexe Eingabeparameter. x kann jede Zahl in der komplexen Ebene sein, die entlang der negativen reellen Achse geschnitten ist. y darf nicht Null sein.

outndarray, optional

Optionales Ausgabe-Array für die Funktionswerte

Rückgabe:
RSkalar oder ndarray

Wert des Integrals. Wenn y reell und negativ ist, wird der Cauchy-Hauptwert zurückgegeben. Wenn sowohl x als auch y reell sind, ist der Rückgabewert reell. Andernfalls ist der Rückgabewert komplex.

Siehe auch

elliprf

Vollständig symmetrisches elliptisches Integral erster Art.

elliprd

Symmetrisches elliptisches Integral zweiter Art.

elliprg

Vollständig symmetrisches elliptisches Integral zweiter Art.

elliprj

Symmetrisches elliptisches Integral dritter Art.

Hinweise

RC ist ein degenerierter Fall des symmetrischen Integrals RF: elliprc(x, y) == elliprf(x, y, y). Es handelt sich eher um eine elementare Funktion als um ein elliptisches Integral.

Der Code implementiert den Algorithmus von Carlson, der auf den Duplikationstheoremen und Reihenentwicklungen bis zur 7. Ordnung basiert. [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.E6

[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 elliprc
>>> x = 1.2 + 3.4j
>>> y = 5.
>>> scale = 0.3 + 0.4j
>>> elliprc(scale*x, scale*y)
(0.5484493976710874-0.4169557678995833j)
>>> elliprc(x, y)/np.sqrt(scale)
(0.5484493976710874-0.41695576789958333j)

Wenn die beiden Argumente zusammenfallen, ist das Integral besonders einfach

>>> x = 1.2 + 3.4j
>>> elliprc(x, x)
(0.4299173120614631-0.3041729818745595j)
>>> 1/np.sqrt(x)
(0.4299173120614631-0.30417298187455954j)

Ein weiterer einfacher Fall: das erste Argument verschwindet

>>> y = 1.2 + 3.4j
>>> elliprc(0, y)
(0.6753125346116815-0.47779380263880866j)
>>> np.pi/2/np.sqrt(y)
(0.6753125346116815-0.4777938026388088j)

Wenn x und y beide positiv sind, können wir \(R_C(x,y)\) durch elementarere Funktionen ausdrücken. Für den Fall \(0 \le x < y\),

>>> x = 3.2
>>> y = 6.
>>> elliprc(x, y)
0.44942991498453444
>>> np.arctan(np.sqrt((y-x)/x))/np.sqrt(y-x)
0.44942991498453433

Und für den Fall \(0 \le y < x\),

>>> x = 6.
>>> y = 3.2
>>> elliprc(x,y)
0.4989837501576147
>>> np.log((np.sqrt(x)+np.sqrt(x-y))/np.sqrt(y))/np.sqrt(x-y)
0.49898375015761476