當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy special.ellip_harm用法及代碼示例


本文簡要介紹 python 語言中 scipy.special.ellip_harm 的用法。

用法:

scipy.special.ellip_harm(h2, k2, n, p, s, signm=1, signn=1)#

橢球調和函數 E^p_n(l)

這些也稱為第一類 Lame 函數,是 Lame 方程的解:

其中 是解對應的特征值(未返回)。

參數

h2 浮點數

h**2

k2 浮點數

k**2 ;應該大於h**2

n int

程度

s 浮點數

協調

p int

順序,可以在 [1,2n+1] 之間

signm {1, -1},可選

函數前因數的符號。可以是 +/-1。請參閱注釋。

signn {1, -1},可選

函數前因數的符號。可以是 +/-1。請參閱注釋。

返回

E 浮點數

諧波

注意

橢球函數的幾何解釋在[2],[3],[4].這信號登錄arguments 根據函數的類型控製函數的前置因子的符號:

K : +1
L : signm
M : signn
N : signm*signn

參考

[1]

數學函數數字 Library 29.12 https://dlmf.nist.gov/29.12

[2]

Bardhan 和 Knepley,“計算科學和重新發現:用於潛在理論問題的橢球諧波的開源實現”,Comput。科學。光盤。 5, 014006 (2012) DOI:10.1088/1749-4699/5/1/014006

[3]

David J.and Dechambre P,“計算太陽係小天體的橢球重力場諧波”,第 30-36 頁,2000 年

[4]

George Dassios,“橢球諧波:理論與應用”,第 418 頁,2012 年

例子

>>> from scipy.special import ellip_harm
>>> w = ellip_harm(5,8,1,1,2.5)
>>> w
2.5

檢查這些函數確實是 Lame 方程的解:

>>> import numpy as np
>>> from scipy.interpolate import UnivariateSpline
>>> def eigenvalue(f, df, ddf):
...     r = ((s**2 - h**2)*(s**2 - k**2)*ddf + s*(2*s**2 - h**2 - k**2)*df - n*(n+1)*s**2*f)/f
...     return -r.mean(), r.std()
>>> s = np.linspace(0.1, 10, 200)
>>> k, h, n, p = 8.0, 2.2, 3, 2
>>> E = ellip_harm(h**2, k**2, n, p, s)
>>> E_spl = UnivariateSpline(s, E)
>>> a, a_err = eigenvalue(E_spl(s), E_spl(s,1), E_spl(s,2))
>>> a, a_err
(583.44366156701483, 6.4580890640310646e-11)

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.special.ellip_harm。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。