scipy.special.elliprg#

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

第二類完全對稱橢圓積分。

函數 RG 定義為 [1]

\[R_{\mathrm{G}}(x, y, z) = \frac{1}{4} \int_0^{+\infty} [(t + x) (t + y) (t + z)]^{-1/2} \left(\frac{x}{t + x} + \frac{y}{t + y} + \frac{z}{t + z}\right) t dt\]
參數:
x, y, zarray_like

實數或複數輸入參數。xyz 可以是複數平面上沿負實軸切割的任何數字。

outndarray,可選

函數值的可選輸出陣列

返回:
R純量或 ndarray

積分值。如果所有 xyz 都是實數,則傳回值為實數。否則,傳回值為複數。

參見

elliprc

退化對稱積分。

elliprd

第二類對稱橢圓積分。

elliprf

第一類完全對稱橢圓積分。

elliprj

第三類對稱橢圓積分。

註解

此實作使用關係式 [1]

\[2 R_{\mathrm{G}}(x, y, z) = z R_{\mathrm{F}}(x, y, z) - \frac{1}{3} (x - z) (y - z) R_{\mathrm{D}}(x, y, z) + \sqrt{\frac{x y}{z}}\]

以及 xyz 的對稱性,當至少一個非零參數可以選為樞軸時。當其中一個引數接近零時,則改為應用 AGM 方法。其他特殊情況則按照參考文獻 [2] 計算。

在版本 1.8.0 中新增。

參考文獻

[1] (1,2)

B. C. Carlson,“實數或複數橢圓積分的數值計算”,Numer. Algorithm,第 10 卷,第 1 期,第 13-26 頁,1995 年。https://arxiv.org/abs/math/9409227 https://doi.org/10.1007/BF02198293

[2]

B. C. Carlson,編輯,「數學函數數位圖書館」第 19 章,NIST,美國商務部。https://dlmf.nist.gov/19.16.E1 https://dlmf.nist.gov/19.20.ii

範例

基本齊次性性質

>>> import numpy as np
>>> from scipy.special import elliprg
>>> x = 1.2 + 3.4j
>>> y = 5.
>>> z = 6.
>>> scale = 0.3 + 0.4j
>>> elliprg(scale*x, scale*y, scale*z)
(1.195936862005246+0.8470988320464167j)
>>> elliprg(x, y, z)*np.sqrt(scale)
(1.195936862005246+0.8470988320464165j)

簡化

>>> elliprg(0, y, y)
1.756203682760182
>>> 0.25*np.pi*np.sqrt(y)
1.7562036827601817
>>> elliprg(0, 0, z)
1.224744871391589
>>> 0.5*np.sqrt(z)
1.224744871391589

具有半軸 abc 的三軸橢球體表面積由下式給出

\[S = 4 \pi a b c R_{\mathrm{G}}(1 / a^2, 1 / b^2, 1 / c^2).\]
>>> def ellipsoid_area(a, b, c):
...     r = 4.0 * np.pi * a * b * c
...     return r * elliprg(1.0 / (a * a), 1.0 / (b * b), 1.0 / (c * c))
>>> print(ellipsoid_area(1, 3, 5))
108.62688289491807