APP下载

Hansen系数递推的效率∗

2021-10-09吴连大张明江

天文学报 2021年5期
关键词:偏心率初值计算方法

吴连大 张明江

(1 中国科学院紫金山天文台南京 210023)

(2 中国科学院空间目标与碎片观测重点实验室南京 210023)

1 Hansen系数的基本递推关系

基本递推关系式(R1)和(R3)式,可以用来进行偏心率函数Gl,p,q=的递推.将基本递推关系式(R1)和(R3)式中的Hansen系数换成偏心率函数,相应的偏心率函数Gl,p,q的递推公式即为[1]:

其中,l、p和q是偏心率函数Gl,p,q的3个指标,e是轨道偏心率.

2 递推公式的特点

3 直接计算方法和递推方法的计算效率比较

众所周知,使用递推方法的目的是为了提高计算效率.下文,我们举例比较Hansen系数直接计算方法和利用k等于常数的递推方法的计算效率.

假定需要考虑的地球引力场摄动函数的最高阶为100,偏心率函数Gl,p,q的指标q的求和范围为[−10,10],那么需要计算的偏心率函数Gl,p,q的总数为:5148×21=108108.考虑到Hansen系数的对称性,实际只需要计算54079个即可,这就是偏心率函数Gl,p,q的直接计算方法所需要的计算量.

然而,采用偏心率函数Gl,p,q=的k=l−2p+q等于常数的递推方法,通过递推关系式(R1)、(R3)和(R6)的向前递推计算,通过递推关系式(R1)的向后递推计算,均需要两行初值[3],相应地,偏心率函数Gl,p,q向前递推、向后递推的计算量分别为:

如果假定递推计算时间与直接计算时间之比Tr/Td=0.01,则由(3)式可得,偏心率函数Gl,p,q向前递推的计算量≈120769,向后递推的计算量≈142088,这时偏心率函数Gl,p,q的递推计算显然是不合算的.即使递推计算时间与直接计算时间之比Tr/Td=0.003,由(3)式可得,偏心率函数Gl,p,q向前递推的计算量≈36775,向后递推的计算量≈58244,这时偏心率函数Gl,p,q的递推计算,只有向前递推是合算的,其计算效率比直接计算方法高.此外,由(3)式还不难看出,即使递推时间Tr=0,偏心率函数Gl,p,q向后递推的计算量,约是直接计算方法的计算量的41.26%,相应的计算效率仅提高约1.42倍.因此,有必要进一步研究效率更高的偏心率函数Gl,p,q的递推方法.

4 一种效率较高的偏心率函数的递推方法—成批递推

本节探讨效率较高的偏心率函数Gl,p,q的递推方法,即成批递推方法.成批递推方法的核心,仍然是基本递推关系(R1)式向后递推、(R1)和(R3)式向前递推(参见文献[3]),只是改用(1)式和(2)式作为递推计算公式.

我们先分析利用递推公式(1)式的向后递推方法,相应的递推初值为:

其中,Q为指标q的最大值.在递推时,指标p的取值为1,2,···,l−1(未考虑偏心率函数的对称性),即可计算出:

对指标l进行循环,即l取值从L到4(L为指标l的最大值),就可将所有需要的偏心率函数Gl,p,q都递推计算出来.当然,也可以一次一次地递推,每递推一次,就可计算出一个l的摄动,这样可以节省数据的存储量.但是,这种递推是不完整的,有两个问题需要注意:(1)当l−2p+q=0时,需要利用指标k=0的Hansen系数,即的递推方法计算;(2) 当q=±Q时,递推公式(1)式中(Gl−1,p−1,q−1−Gl−1,p,q+1)会出现没有初值的问题,需要利用Hansen系数的直接计算方法计算.

不难看出,上述这种递推方法中,有3个q值的偏心率函数Gl,p,q,需要“另外计算”.也就是说,当Q=10时,21个q值中,有3个不能递推,但还有18个q值的偏心率函数Gl,p,q是可以递推的.利用偏心率函数的对称性[1]:Gl,p,q=Gl,l−p,−q,偏心率函数Gl,p,q的计算量又可以减少一半,计算效率要比逐个指标k等于常数的递推方法高得多.然而,值得指出的是,利用递推公式(1)式向后递推的成批递推方法还存在显著缺点:一方面,需要提供高阶偏心率函数的初值,当偏心率较大时可能初值误差较大;另一方面,从数量级大的偏心率函数向数量级小的偏心率函数递推,容易损失有效位数.

为了克服上述这些显著缺点,我们可以利用递推公式(2)式的向前递推方法.为了得到所有的指标p和q的偏心率函数Gl,p,q,指标p必须为0,1,···,l,这时就可能出现p超标的情况.此外,与上述利用递推公式(1)式的向后递推方法一样,还存在q超标的情况,可能超标的情况如表1所示.由表1可知,利用递推公式(2)式的向前递推方法,p=0、p=1、p=l−1、p=l、q=−Q、q=−Q+1、q=Q−1和q=Q的偏心率函数Gl,p,q必须直接计算,无法递推.根据偏心率函数的对称性,p=l−1和p=l的超标情况可以规避掉.利用递推公式(2)式的偏心率函数Gl,p,q向前递推计算没有奇点也没有e分母,其计算量相对利用递推公式(1)式的向后递推方法更大;通过偏心率函数的对称性,计算量可以减少一半,计算量还是可以接受的.

表1 利用递推公式(2)式的向前递推方法,偏心率函数Gl,p,q成批递推计算中可能超标的情况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)式中的相关项在p=0、p=l和q=±Q情况下超标.而使用递推公式(2)式只向前递推计算l−2p=0的情况(亦即p=l/2 的情况),(2)式中的相关项仅在q=±(Q−1)和q=±Q情况下超标.这样,能够克服利用递推公式(1)式向后递推的显著缺点,降低利用递推公式(2)式向前递推的计算量.相应地对于上文第3节中同样的计算要求,即假定需要考虑的地球引力场摄动函数的最高阶为100,偏心率函数Gl,p,q的指标q的求和范围为[−10,10],利用递推公式(1)式和(2)式的向前递推方法,同时借助偏心率函数的对称性,偏心率函数Gl,p,q的成批递推的计算量为:

综上,基于递推公式(1)式和(2)式[1]的向前递推方法,我们就给出了一种效率较高的偏心率函数的成批递推方法,这时相应的递推公式即为:

这种成批递推方法的最大好处是:它需要的初值少,从量级小的偏心率函数到量级大的偏心率函数递推,能够保证递推计算的精度.

5 结论

本文简单分析了Hansen系数递推公式的特点,举例比较了Hansen系数的直接计算方法和k等于常数的递推方法的计算效率,指出有必要研究效率较高的递推计算方法.进而,基于递推公式(1)式和(2)式的向前递推方法,我们给出了一种效率较高的偏心率函数Gl,p,q的成批递推方法.该成批递推方法不仅需要的初值少,而且从量级小的偏心率函数到量级大的偏心率函数递推,能够保证递推计算的精度;其计算效率明显优于直接计算方法,比相应的k等于常数的递推方法高得多.

附录

Hansen系数的基本递推关系式(R1)–(R4)式[1–3]:

其中,n、m和k是Hansen系数的3个指标,e为轨道偏心率.

猜你喜欢

偏心率初值计算方法
槽道侧推水动力计算方法研究
浮力计算方法汇集
极限的计算方法研究
两个新的Hansen系数的递推公式∗
偏心率对CFRP钢管约束混凝土柱力学性能的影响
往复柱塞泵转套式配流系统的水润滑分析 お
平流层飞艇上升段轨迹优化的初值选取方法
第二重要极限的几种计算方法
美国三季度GDP初值创两年最高
侧压竹集成材弦向偏压试验研究