吳連大 張明江
(1 中國科學(xué)院紫金山天文臺南京 210023)
(2 中國科學(xué)院空間目標(biāo)與碎片觀測重點實驗室南京 210023)
基本遞推關(guān)系式(R1)和(R3)式,可以用來進(jìn)行偏心率函數(shù)Gl,p,q=的遞推.將基本遞推關(guān)系式(R1)和(R3)式中的Hansen系數(shù)換成偏心率函數(shù),相應(yīng)的偏心率函數(shù)Gl,p,q的遞推公式即為[1]:
其中,l、p和q是偏心率函數(shù)Gl,p,q的3個指標(biāo),e是軌道偏心率.
眾所周知,使用遞推方法的目的是為了提高計算效率.下文,我們舉例比較Hansen系數(shù)直接計算方法和利用k等于常數(shù)的遞推方法的計算效率.
假定需要考慮的地球引力場攝動函數(shù)的最高階為100,偏心率函數(shù)Gl,p,q的指標(biāo)q的求和范圍為[?10,10],那么需要計算的偏心率函數(shù)Gl,p,q的總數(shù)為:5148×21=108108.考慮到Hansen系數(shù)的對稱性,實際只需要計算54079個即可,這就是偏心率函數(shù)Gl,p,q的直接計算方法所需要的計算量.
然而,采用偏心率函數(shù)Gl,p,q=的k=l?2p+q等于常數(shù)的遞推方法,通過遞推關(guān)系式(R1)、(R3)和(R6)的向前遞推計算,通過遞推關(guān)系式(R1)的向后遞推計算,均需要兩行初值[3],相應(yīng)地,偏心率函數(shù)Gl,p,q向前遞推、向后遞推的計算量分別為:
如果假定遞推計算時間與直接計算時間之比Tr/Td=0.01,則由(3)式可得,偏心率函數(shù)Gl,p,q向前遞推的計算量≈120769,向后遞推的計算量≈142088,這時偏心率函數(shù)Gl,p,q的遞推計算顯然是不合算的.即使遞推計算時間與直接計算時間之比Tr/Td=0.003,由(3)式可得,偏心率函數(shù)Gl,p,q向前遞推的計算量≈36775,向后遞推的計算量≈58244,這時偏心率函數(shù)Gl,p,q的遞推計算,只有向前遞推是合算的,其計算效率比直接計算方法高.此外,由(3)式還不難看出,即使遞推時間Tr=0,偏心率函數(shù)Gl,p,q向后遞推的計算量,約是直接計算方法的計算量的41.26%,相應(yīng)的計算效率僅提高約1.42倍.因此,有必要進(jìn)一步研究效率更高的偏心率函數(shù)Gl,p,q的遞推方法.
本節(jié)探討效率較高的偏心率函數(shù)Gl,p,q的遞推方法,即成批遞推方法.成批遞推方法的核心,仍然是基本遞推關(guān)系(R1)式向后遞推、(R1)和(R3)式向前遞推(參見文獻(xiàn)[3]),只是改用(1)式和(2)式作為遞推計算公式.
我們先分析利用遞推公式(1)式的向后遞推方法,相應(yīng)的遞推初值為:
其中,Q為指標(biāo)q的最大值.在遞推時,指標(biāo)p的取值為1,2,···,l?1(未考慮偏心率函數(shù)的對稱性),即可計算出:
對指標(biāo)l進(jìn)行循環(huán),即l取值從L到4(L為指標(biāo)l的最大值),就可將所有需要的偏心率函數(shù)Gl,p,q都遞推計算出來.當(dāng)然,也可以一次一次地遞推,每遞推一次,就可計算出一個l的攝動,這樣可以節(jié)省數(shù)據(jù)的存儲量.但是,這種遞推是不完整的,有兩個問題需要注意:(1)當(dāng)l?2p+q=0時,需要利用指標(biāo)k=0的Hansen系數(shù),即的遞推方法計算;(2) 當(dāng)q=±Q時,遞推公式(1)式中(Gl?1,p?1,q?1?Gl?1,p,q+1)會出現(xiàn)沒有初值的問題,需要利用Hansen系數(shù)的直接計算方法計算.
不難看出,上述這種遞推方法中,有3個q值的偏心率函數(shù)Gl,p,q,需要“另外計算”.也就是說,當(dāng)Q=10時,21個q值中,有3個不能遞推,但還有18個q值的偏心率函數(shù)Gl,p,q是可以遞推的.利用偏心率函數(shù)的對稱性[1]:Gl,p,q=Gl,l?p,?q,偏心率函數(shù)Gl,p,q的計算量又可以減少一半,計算效率要比逐個指標(biāo)k等于常數(shù)的遞推方法高得多.然而,值得指出的是,利用遞推公式(1)式向后遞推的成批遞推方法還存在顯著缺點:一方面,需要提供高階偏心率函數(shù)的初值,當(dāng)偏心率較大時可能初值誤差較大;另一方面,從數(shù)量級大的偏心率函數(shù)向數(shù)量級小的偏心率函數(shù)遞推,容易損失有效位數(shù).
為了克服上述這些顯著缺點,我們可以利用遞推公式(2)式的向前遞推方法.為了得到所有的指標(biāo)p和q的偏心率函數(shù)Gl,p,q,指標(biāo)p必須為0,1,···,l,這時就可能出現(xiàn)p超標(biāo)的情況.此外,與上述利用遞推公式(1)式的向后遞推方法一樣,還存在q超標(biāo)的情況,可能超標(biāo)的情況如表1所示.由表1可知,利用遞推公式(2)式的向前遞推方法,p=0、p=1、p=l?1、p=l、q=?Q、q=?Q+1、q=Q?1和q=Q的偏心率函數(shù)Gl,p,q必須直接計算,無法遞推.根據(jù)偏心率函數(shù)的對稱性,p=l?1和p=l的超標(biāo)情況可以規(guī)避掉.利用遞推公式(2)式的偏心率函數(shù)Gl,p,q向前遞推計算沒有奇點也沒有e分母,其計算量相對利用遞推公式(1)式的向后遞推方法更大;通過偏心率函數(shù)的對稱性,計算量可以減少一半,計算量還是可以接受的.
表1 利用遞推公式(2)式的向前遞推方法,偏心率函數(shù)Gl,p,q成批遞推計算中可能超標(biāo)的情況Table 1 The cases that the indexes p and q exceed the limit in the batch recursion of eccentricity functions Gl,p,q using Eq.(2) to perform the forward recursion
如果在l?20時,使用遞推公式(1)式向前遞推,類似地(1)式中的相關(guān)項在p=0、p=l和q=±Q情況下超標(biāo).而使用遞推公式(2)式只向前遞推計算l?2p=0的情況(亦即p=l/2 的情況),(2)式中的相關(guān)項僅在q=±(Q?1)和q=±Q情況下超標(biāo).這樣,能夠克服利用遞推公式(1)式向后遞推的顯著缺點,降低利用遞推公式(2)式向前遞推的計算量.相應(yīng)地對于上文第3節(jié)中同樣的計算要求,即假定需要考慮的地球引力場攝動函數(shù)的最高階為100,偏心率函數(shù)Gl,p,q的指標(biāo)q的求和范圍為[?10,10],利用遞推公式(1)式和(2)式的向前遞推方法,同時借助偏心率函數(shù)的對稱性,偏心率函數(shù)Gl,p,q的成批遞推的計算量為:
綜上,基于遞推公式(1)式和(2)式[1]的向前遞推方法,我們就給出了一種效率較高的偏心率函數(shù)的成批遞推方法,這時相應(yīng)的遞推公式即為:
這種成批遞推方法的最大好處是:它需要的初值少,從量級小的偏心率函數(shù)到量級大的偏心率函數(shù)遞推,能夠保證遞推計算的精度.
本文簡單分析了Hansen系數(shù)遞推公式的特點,舉例比較了Hansen系數(shù)的直接計算方法和k等于常數(shù)的遞推方法的計算效率,指出有必要研究效率較高的遞推計算方法.進(jìn)而,基于遞推公式(1)式和(2)式的向前遞推方法,我們給出了一種效率較高的偏心率函數(shù)Gl,p,q的成批遞推方法.該成批遞推方法不僅需要的初值少,而且從量級小的偏心率函數(shù)到量級大的偏心率函數(shù)遞推,能夠保證遞推計算的精度;其計算效率明顯優(yōu)于直接計算方法,比相應(yīng)的k等于常數(shù)的遞推方法高得多.
附錄
Hansen系數(shù)的基本遞推關(guān)系式(R1)–(R4)式[1–3]:
其中,n、m和k是Hansen系數(shù)的3個指標(biāo),e為軌道偏心率.