国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

《皇極歷》外行星算法及精度分析

2022-08-15 07:52辛佳岱
中國科技史雜志 2022年2期
關(guān)鍵詞:外行星土星行星

辛佳岱 唐 泉

(西北大學(xué)科學(xué)史高等研究院,西安 710127)

自西漢《太初歷》起,行星理論就是歷法的重要內(nèi)容。隋代之前的歷法家根據(jù)行星和太陽的平運(yùn)動來推算行星的見、伏等特征天象發(fā)生的時刻及其位置。公元560年前后,張子信發(fā)現(xiàn)太陽與行星運(yùn)動不均勻現(xiàn)象之后,歷法家不斷探索行星不均勻運(yùn)動修正算法,以達(dá)到提高行星位置計算精度的目的。劉焯的《皇極歷》(600)是現(xiàn)存中國第一部設(shè)計算法修正太陽與行星不均勻運(yùn)動的歷法,并且影響了隋代及初唐歷法中步五星術(shù)算法的編制,如張胄玄《大業(yè)歷》(607)、傅仁均《戊寅元?dú)v》(619)和李淳風(fēng)《麟德歷》(665)等三部歷法都沿襲了《皇極歷》中五星入氣加減差算法,以修正行星不均勻運(yùn)動。僧一行在《大衍歷》(724)中,將《皇極歷》等歷法中的五星入氣加減差發(fā)展為五星爻象歷,基本奠定了中國古代行星不均勻運(yùn)動修正算法的框架,這個算法在楚衍和宋行古等人編制的《崇天歷》(1023)中逐漸趨于成熟,此后一直到元代《授時歷》和明代《大統(tǒng)歷》,幾乎未發(fā)生實(shí)質(zhì)性變化。

現(xiàn)有研究涉及行星運(yùn)動的理論模型[1,2]、隋代及初唐歷法中的“五星入氣加減差”算法及其精度[3—6]、行星理論中一些重要算法和天文數(shù)表[7—10],以及中印行星理論比較研究[11,12]等方面內(nèi)容。關(guān)于行星計算精度的研究主要集中于宋元?dú)v法[13—17],對明代《大統(tǒng)歷》和《回回歷法》也有相關(guān)考察[18],而對宋代之前諸歷的行星精度較少涉及[19,20]。這對我們?nèi)嬖u價中國古代行星計算精度造成了很大困難。

在中國古代行星理論發(fā)展史上,隋代劉焯所制《皇極歷》占據(jù)著重要地位,故本文以《皇極歷》行星算法為研究對象,在對算法術(shù)文全面解讀的基礎(chǔ)上,利用Python語言模擬其算法并討論行星視位置計算精度,試圖回答如下問題:張子信發(fā)現(xiàn)太陽視運(yùn)動與行星公轉(zhuǎn)不均勻現(xiàn)象后,《皇極歷》是如何將這些天文發(fā)現(xiàn)融入行星運(yùn)動理論中的?《皇極歷》推算行星視位置的誤差如何?

1 《皇極歷》五星推步思路

《皇極歷》記載了五星的天文常數(shù)、入氣加減差、動態(tài)描述和五個推步算法([21],頁1963—1970),其行星理論的核心目標(biāo)是推算行星自始見至始伏期間每日的黃道宿度。隋代歷法中通常不考慮行星伏行段的運(yùn)行情況,這是因為伏行段的行星位置不易觀測,無法準(zhǔn)確給出其運(yùn)動狀態(tài),當(dāng)時歷法中有“伏不書度”或“伏不注度”等記載([21],頁1847、1919)。此外,隋代歷法家對內(nèi)行星運(yùn)動規(guī)律掌握還不夠好,如《皇極歷》中水星的“入氣加減差”僅給出一些經(jīng)驗觀測的描述性言語概述,沒有量化數(shù)據(jù),無法計算任意時刻內(nèi)行星的位置[3]。故本文的討論僅限于外行星,不涉及內(nèi)行星。

外行星包含五個天文常數(shù)。以土星為例,依次是土數(shù)、伏半平、復(fù)日及余、殘日及余和見去日。土數(shù)(H)意為土星的會合周期,單位為“分”;以“氣日法”(A=46644)除之得復(fù)日及余(h),即將其換算為以日為單位的會合周期;伏半平(F)意為土星伏行時間的一半,單位為“分”;殘日及余是土星會合周期與回歸年日數(shù)之差。見去日則是晨始見時刻土星與太陽的角距(1)《皇極歷》記載木星見去日為14度,火星為16度,土星為16.5度。。

五個推步算法即“推星平見術(shù)”“求常見日”“求定見日”“求星見所在度”和“求次日”。其中,求常見日涉及修正行星不均勻運(yùn)動的五星“入氣加減差”;求次日需要借助行星自晨始見至夕始伏的動態(tài)描述(五星動態(tài)表)。這五個算法是為了計算行星特征天象發(fā)生時刻和任意時刻的行星位置而設(shè)計。具體而言,前三個算法推算行星晨始見發(fā)生的時刻,后兩個算法推算在一個會合周期內(nèi)行星自始見至始伏的每日位置。下面對各個算法的名稱、目的及其算法思路進(jìn)行釋讀。

(1)推星平見術(shù)。按照太陽和行星的平運(yùn)動推算行星平見時刻與其前一個冬至?xí)r刻之間的時距。

據(jù)術(shù)文,假設(shè)Nn為上元時刻距某一年的積年數(shù),t為回歸年的日數(shù),h為行星會合周期的日數(shù),f為行星伏行一半的日數(shù),則以會合周期推算行星平見時刻與其前一個冬至?xí)r刻的時距γ0,由下式得到:

tNn-f≡h-γ0(modh)

(1)

《皇極歷》定義上元O點(diǎn)起于五星與太陽同度的合時刻,而該算法計算平見時刻距離其前一個冬至?xí)r刻的時距γ0。因此,從上元至所求年冬至?xí)r刻的積日數(shù)及余tNn中,減去行星伏行時間一半的日數(shù)f,余為A0P,即將起算點(diǎn)從上元行星的合時刻O點(diǎn)推后到上元之后的行星始見時刻A0點(diǎn)。再從A0P中減去整數(shù)倍的行星會合周期日數(shù)h,不足部分為AnP,以行星會合周期AnAn+1減之,所得為PAn+1,即術(shù)文所求γ0。如圖1所示。

圖1 《皇極歷》行星平見時刻與所求年天正冬至?xí)r刻的時距

(2)求常見日??紤]行星中心差,對平見時刻進(jìn)行修正,得到修正后的行星常見時刻距離其前一個冬至?xí)r刻的時距。

如圖2,根據(jù)公式(1)推算出行星平見時刻與其前一個冬至?xí)r刻的時距γ0,該算法求經(jīng)行星中心差修正后的行星常見時刻距離其前一個冬至?xí)r刻的時距γ1,由下式得到:

(2)

圖2 《皇極歷》行星常見時刻與所求年天正冬至?xí)r刻的時距

平見時刻與常見時刻之間的修正值Δm,其數(shù)值及符號取決于行星平見時刻所入節(jié)氣。換言之,由于修正行星中心差的結(jié)果取決于“平見”所值節(jié)氣,故稱為“入氣加減差”算法。

在隋代及初唐的一些歷法中,“入氣加減差”是為了修正行星中心差對五星始見時刻的影響而設(shè)計的算法。雖然五星“入氣加減差”算法帶有一定的經(jīng)驗色彩,但對于外行星運(yùn)動不均勻性的改正是有效的、科學(xué)的[3]?!痘蕵O歷》木星和土星的“入氣加減差”算法前人已解釋清楚[3—6],火星的“入氣加減差”術(shù)文記載如下:

平見,在雨水前,以十九乘去大寒日;清明前,又十八乘去雨水日,增雨水所乘者;夏至后,以十六乘去處暑日;小滿后,又十五日;寒露前,以十八乘去白露日;小雪前,又十七乘去寒露所乘者(2)嚴(yán)敦杰承擔(dān)??薄端鍟ぢ蓺v志》工作時,在《皇極歷》術(shù)文后的“校勘記”[二三]指出:“又十七乘去寒露所乘者 當(dāng)作[又十七乘去寒露日,增寒露所乘者]?!眳⒁妳⒖嘉墨I(xiàn)[21],第1973頁。;大雪后,二十九乘去大寒日,為減,小雪至大雪減二十五日。([21],頁1964)

經(jīng)分析,這段文字應(yīng)該存有脫訛,陳美東也指出這一點(diǎn)(3)陳美東的??笔牵骸啊迕髑?,又十八乘去雨水日,增雨水所乘者;[清明至夏至加二十七日;]夏至后,以十六乘去處暑日;(小滿)[處暑]后,又(十五日)[二十八乘去白露日。減處暑所乘者];寒露前,……”參見參考文獻(xiàn)[3]。,然而筆者按照??备膭幼钌僭瓌t,對術(shù)文??比缦拢?/p>

平見,在雨水前,以十九乘去大寒日;清明前,又十八乘去雨水日,增雨水所乘者;[清明至小滿加二十七日;]夏至后,以十六乘去處暑日;小滿后,又十五[乘去夏至]日;寒露前,以十八乘去白露日;小雪前,又十七乘去寒露日,增寒露所乘者;大雪后,二十九乘去大寒日,為減,小雪至大雪減二十五日。

上述文字表明,若依據(jù)火星會合周期推算的始見時刻“平見”所入節(jié)氣不同,則火星運(yùn)動不均勻性影響的改正值就會改變?;鹦请S著“平見”所入節(jié)氣而引起時間提前或是滯后的改正曲線,如圖3所示。

圖3 《皇極歷》火星“平見日”至“常見日”的改正值曲線

圖3中橫坐標(biāo)為黃經(jīng)值,春分對應(yīng)黃經(jīng)0°,每經(jīng)過一氣黃經(jīng)值的改變量為15°,據(jù)此可換算到其余對應(yīng)的節(jié)氣??v坐標(biāo)為時間改正值,以“日”為單位,正值表示經(jīng)修正行星不均勻運(yùn)動得到的“常見日”較“平見日”滯后(如圖2中的B″點(diǎn)),負(fù)值則表示提前(如圖2中的B′點(diǎn))。

(3)求定見日??紤]太陽中心差,對常見時刻進(jìn)行修正,得到修正后的行星定見時刻距離其前一個冬至?xí)r刻的時距。

與“求常見日”類似,此處要對γ1進(jìn)行太陽中心差修正,求修正后的行星定見時刻距離其前一個冬至?xí)r刻的時距γ2,由下式得到:

(3)

常見時刻與定見時刻之間的修正值為太陽中心差Cs,該算法在《皇極歷》步日躔術(shù)中記載([21],頁1937—1939)。其中,“先后數(shù)”即太陽中心差,以“先后數(shù)”除以“轉(zhuǎn)法”(52)得到真太陽與平太陽的行度之差。日躔表中羅列二十四氣各氣初始時刻的太陽先后數(shù),劉焯設(shè)計了等間距二次內(nèi)插算法以求每日先后數(shù)([22],頁152—155)。

(4)求星見所在度。由于外行星運(yùn)行速度較太陽慢,故以定見時刻太陽的位置減去“見去日”,即可得到定見時刻行星的位置。

術(shù)文中記載定見時刻太陽位置的方法是:計算行星定見時刻所在晨前夜半的太陽位置,再加上定見日余對應(yīng)的太陽行度即可([21],頁1969—1970)。為了便于利用Python語言模擬其算法,此處以一種等價方法替換。根據(jù)《皇極歷》步月離中的“推日度術(shù)”([21],頁1950—1951),計算所求年冬至?xí)r刻的太陽位置,再由公式(3)得到行星定見時刻距離所求年冬至?xí)r刻的時距γ2以步日躔中的太陽中心差算法推算出在γ2內(nèi)太陽運(yùn)行的度數(shù),即可得到定見時刻的太陽位置。

以土星定見時刻的位置為例,若令λ0為太陽在所求年冬至?xí)r刻的黃道宿度,d為在γ2內(nèi)太陽的實(shí)際運(yùn)行度數(shù),并且根據(jù)土星“見去日”常數(shù)得知定見時刻土星落后太陽16.5度。故土星定見時刻的黃道宿度λ土,由下式得到:

λ土=λ0+d-16.5

(4)

(5)求次日。計算行星在任意一日的位置。由公式(4)推算出行星定見時刻的位置,在此基礎(chǔ)上累加行星各日行度,即可得到行星定見之后至始伏期間每一日的位置。

《皇極歷》記載了行星在一個會合周期中自始見至始伏的逐日行度。根據(jù)土星的動態(tài)描述([21],頁1966),羅列出土星自晨始見至夕始伏的運(yùn)動狀態(tài),如表1所示。

表1 土星動態(tài)表

由表1可見,土星運(yùn)動狀態(tài)劃分為五個段目:前順行、前留、逆行、后留和后順行(4)前順行段目以土星晨始見為起點(diǎn),后順行段目以土星夕始伏為結(jié)束。《皇極歷》術(shù)文中并未出現(xiàn)“前順行、前留”等這些名稱,是我們?yōu)榱朔奖忝枋?,依?jù)唐代歷法五星動態(tài)表中的名稱,結(jié)合《皇極歷》土星動態(tài)描述給出相應(yīng)段目的名稱。,并未給出伏行段目行星的動態(tài)描述,僅以“伏半平”和“見去日”兩常數(shù)籠統(tǒng)刻畫行星伏行的時間和度數(shù)。木星的運(yùn)行狀態(tài)與土星類似,相對容易理解。

《皇極歷》中火星的運(yùn)動劃分為七個段目:前疾、前遲、前留、逆行、后留、后遲和后疾?;鹦窃谇凹才c后疾段目的動態(tài)描述與以往歷法大有不同,表現(xiàn)為這兩段目的火星運(yùn)動狀態(tài)并非直接給出,而是要先判斷火星前疾和后疾初日距離其前一個冬至的日數(shù),以此推算火星在該段目上的運(yùn)行時間(日率)和度數(shù)(度率)等([21],頁1964—1965)。這種處理方式與印度6世紀(jì)中葉《五大歷書匯編》(Pacasiddhāntikā)中的《寶莉莎歷數(shù)書》(Paulia)將火星動態(tài)表與行星的黃經(jīng)相聯(lián)系的設(shè)計方案非常類似[23]。

火星在前疾與后疾兩段目動態(tài)描述首先根據(jù)火星晨始見時刻或后疾初始時刻所值節(jié)氣,對應(yīng)算出火星在前疾段或后疾段的日率和度率,之后在某些節(jié)氣上,還要對日率和度率進(jìn)行二次修正。其中,對某些節(jié)氣的日率、度率二次修正時,有“半度之行”的說法,如術(shù)文言“白露至寒露,初日行半度,四十日行二十度”([21],頁1964)。以往學(xué)者的理解是火星晨見初日運(yùn)動速度均為半度(5)張培瑜等學(xué)者認(rèn)為白露至寒露時,火星晨見初日運(yùn)動速度均為半度,見參考文獻(xiàn)[24]。劉洪濤認(rèn)為火星在白露至寒露間初見的平均速度是日行半度,見后勻速行40日移20度,見參考文獻(xiàn)[25]。王應(yīng)偉認(rèn)為術(shù)文疑有脫字或脫句,見參考文獻(xiàn)[26]。。唐泉依據(jù)初唐《戊寅元?dú)v》《麟德歷》中對火星前疾段目的修正法則時的論述,認(rèn)為此處“半度之行”,并非火星晨始見在白露至寒露這個時段內(nèi),其初日視行速為0.5度/日,而是若在這個時段內(nèi)要對原有日率和度率進(jìn)行二次修正,即日率減去40日,度率減去20度[19]。

中國傳統(tǒng)歷法家計算行星位置的基本思路在《皇極歷》中已雛形初現(xiàn)。概言之,其五星推步的思路是:首先,依據(jù)行星會合周期推算平見日;其次,以行星中心差修正平見日,得到常見日,再以太陽中心差對常見日加以修正,得到定見日;再次,推算定見時刻的行星位置;最后,在此基礎(chǔ)上再累加五星動態(tài)表中的每日行度,得到行星的每日位置。

2 《皇極歷》行星算法的計算機(jī)模擬與算例

為了加深對《皇極歷》五星推步算法的理解,此處以公元600年冬至之后的土星在一個會合周期內(nèi)自晨始見至夕始伏每日夜半的極黃經(jīng)推算過程為例,給出計算實(shí)例。

《皇極歷》中與土星位置相關(guān)的基本天文常數(shù)包含:上元距開皇二十年(600)積年數(shù)為N600=1008837年(6)此處的積年數(shù)包含所求年,歷法中通常稱為“算上”。。歲數(shù)T=17036466.5,土數(shù)H=17635594,伏半平F=864995,它們均以氣日法A=46644為分母,由此得到:

(5)

參照上一節(jié)《皇極歷》計算行星位置的基本思路,為了得到土星每日夜半的歷取黃經(jīng)值,根據(jù)五星推步算法過程將其分為五個步驟執(zhí)行。具體如下:

第1步:求公元600年冬至?xí)r刻距離后一個土星平見時刻的時距γ0。

依據(jù)“推星平見術(shù)”,將上元積年N600、回歸年t、土星會合周期h等常數(shù)代入公式(1),即

由此得到γ0約是338.2460日。

第2步:求公元600年冬至?xí)r刻距離后一個土星常見時刻的時距γ1。

依據(jù)“求常見日”,可知平見與常見時刻之間的修正值取決于行星平見時刻所入節(jié)氣。《皇極歷》平氣日數(shù)約為15.2185日,由第1步所得γ0推算土星平見時刻入于冬至后的第22氣,即入于小雪后約第3.4385日。按照土星入氣加減差修正并代入公式(2),即

由此得到γ1約是337.6508日。

第3步:求公元600年冬至?xí)r刻距離后一個土星定見時刻的時距γ2,以及定見日期。

依據(jù)“求定見日”,可知常見與定見時刻之間的修正值取決于行星常見時刻所入節(jié)氣。土星常見時刻入冬至后第22氣約第6.7417日,根據(jù)步日躔術(shù),計算出由于太陽運(yùn)動不均勻性而修正土星常見時刻的數(shù)值約是0.7765日。因此,結(jié)合公式(3),即

γ2=337.6508+0.7765(日)。

由此得到γ2約是338.4274日。

推算土星定見日期,需要得知公元600年歷取冬至?xí)r刻的日期。依據(jù)“推氣術(shù)”算法([21],頁1936—1937),以如下公式求得歷取冬至?xí)r刻:

tN600≡r(mod 60)

(6)

代入常數(shù),得到冬至大小余r:

《皇極歷》的上元起于甲子日,由上式得到冬至大余為29,可知公元600年歷取冬至日的日名為“癸巳”。這一年理論冬至?xí)r刻是600年12月18日21時36分,日名也是“癸巳”[27],將“21時36分”化為以日為單位是0.9日。由日名可知恰與歷取冬至在同一日,這一日的儒略日序號是1940560。上式算得歷取冬至不足一日的小余為0.8118日。因此,這一年的歷取冬至?xí)r刻是600年12月18日19時29分。

γ2不足整日數(shù)的部分為0.4274日,它與歷取冬至小余0.8118日兩者之和大于1日,則土星定見時刻與其前一個冬至所在日夜半的時距約是339.2391日。由此推算出土星定見日期是601年11月22日。

第4步:求公元600年冬至?xí)r刻之后的土星定見所在日夜半的黃經(jīng)。

(1)求公元600年歷取冬至?xí)r刻的太陽黃經(jīng)

方法是在理論冬至?xí)r刻的太陽黃經(jīng)270°的基礎(chǔ)上,增減在歷取與理論冬至?xí)r刻差期間太陽運(yùn)行的度數(shù)?!痘蕵O歷》依據(jù)日行盈縮將回歸年以“二分”為界分為兩部分,“秋分后春分前為盈汎,春分后秋分前為虧總”([21],頁1936)。據(jù)術(shù)文得知冬至每氣日數(shù)是:

根據(jù)步日躔術(shù),得到冬至這一日太陽的中心差值為:

因此,公元600年歷取冬至?xí)r刻的太陽黃經(jīng)是:

(2)求公元600年冬至?xí)r刻之后的土星定見時刻的黃經(jīng)

依據(jù)“求星見所在度”,得知關(guān)鍵步驟是求太陽在γ2內(nèi)實(shí)際運(yùn)行度數(shù)d。定見時刻入冬至后第22氣約第7.5183日,根據(jù)步日躔術(shù),得到在γ2內(nèi)太陽實(shí)行度與平行度之差約為0.7518度。由于太陽平行度為每日1度,所以太陽從冬至?xí)r刻至定見時刻運(yùn)行的度數(shù)為:

d=γ2-0.7518=338.4274-0.7518=337.6755(度)。

將其結(jié)果代入公式(4),即

由此得知土星定見時刻的黃經(jīng)是226.4620°。

(3)求公元600年冬至?xí)r刻之后的土星定見所在日夜半的黃經(jīng)

(7)

根據(jù)第3步所得土星定見時刻與其前一個冬至所在日夜半時距約是339.2391日,可知土星定見小余r′約為0.2391日,且由表1得到土星的初日速度v0為4364/46644(度/日)。將其代入(7)式得到:

由此得知土星定見所在日夜半的黃經(jīng)是226.4400°。

第5步:求公元600年冬至?xí)r刻之后的土星定見所在日至夕始伏每日夜半的黃經(jīng)。

在第4步計算結(jié)果基礎(chǔ)上,累加表1土星動態(tài)表中的自晨始見至夕始伏土星的每日行度,得到定見之后每一日夜半的土星黃經(jīng)值,其結(jié)果如下文表2中的“歷取黃經(jīng)”一欄所示。

3 《皇極歷》外行星計算精度及分析

3.1 《皇極歷》外行星位置計算精度結(jié)果

上一節(jié)中我們以土星為例,利用《皇極歷》五星推步方法已得到公元600年冬至之后的土星一個會合周期自晨始見至夕始伏每日夜半的歷取極黃經(jīng),所以將其與理論黃經(jīng)求差值的做法(歷取黃經(jīng)-理論黃經(jīng)),即可算得土星這個周期的黃經(jīng)絕對誤差(8)行星視位置的極黃經(jīng)和真黃經(jīng)的確有一些差別,但由于外行星運(yùn)行軌道與黃道的夾角較小,因此這兩者的差別就非常小,且與行星理論的系統(tǒng)誤差比較,外行星的這些誤差目前可以暫時忽略。參見參考文獻(xiàn)[1]。。

土星的理論黃經(jīng)結(jié)果可以通過天文軟件Skymap提取并計算得出,寧曉玉的研究表明Skymap軟件滿足古天文研究數(shù)據(jù)的精確度和穩(wěn)定性,是準(zhǔn)確可靠的天文軟件[28]。所提取的理論數(shù)據(jù)是土星自601年11月22日定見之后341日的每日夜半時刻赤經(jīng)和赤緯值,需要將其換算到對應(yīng)的黃經(jīng)值,其結(jié)果如表2中的“理論黃經(jīng)”一欄所示。

表2 《皇極歷》以601年11月22日為土星定見的會合周期晨始見至夕始伏位置精度

上一節(jié)已得到公元600年冬至之后的土星定見日期是601年11月22日,其儒略日序號數(shù)是1940899。這里限于篇幅僅給出該會合周期自晨始見至夕始伏每間隔20日的土星黃經(jīng)數(shù)值。將《皇極歷》五星推步算法得到的歷取黃經(jīng)與理論黃經(jīng)求差值,以推算土星這個周期的黃經(jīng)絕對誤差,如表2所示。

根據(jù)表2最后一欄“黃經(jīng)誤差”,以每日結(jié)果繪制土星黃經(jīng)絕對誤差散點(diǎn)圖,如圖4所示。經(jīng)統(tǒng)計分析,土星數(shù)據(jù)量有341個,黃經(jīng)誤差絕對值的平均值為1.46°,誤差絕對值的最大值為2.51°。

圖4 601年11月22日定見至始伏土星黃經(jīng)絕對誤差散點(diǎn)圖

以同樣方式分別計算出木星開皇二十年冬至后定見發(fā)生于601年6月2日,火星定見發(fā)生于601年11月29日。分別繪制出木星和火星在這個會合周期內(nèi)自晨始見至夕始伏期間的黃經(jīng)絕對誤差散點(diǎn)圖,如圖5和圖6所示。

圖5 601年6月2日定見至始伏木星黃經(jīng)絕對誤差散點(diǎn)圖

圖6 601年11月29日定見至始伏火星黃經(jīng)絕對誤差散點(diǎn)圖

經(jīng)統(tǒng)計,木星數(shù)據(jù)量有363個,黃經(jīng)誤差絕對值的平均值為1.83°,誤差絕對值的最大值為3.12°;火星數(shù)據(jù)量有624個,黃經(jīng)誤差絕對值的平均值為4.21°,誤差絕對值的最大值為8.67°。

為了更深入全面探討《皇極歷》外行星計算精度,接下來將推算《皇極歷》制成之后約30年長時段內(nèi)木星、火星和土星在每日夜半的黃經(jīng),并將其與行星理論黃經(jīng)比較,以得到絕對誤差結(jié)果。對于木星,計算了開皇二十年冬至后的28個完整會合周期自晨始見至夕始伏的每日夜半位置,數(shù)據(jù)量為10165個;對于火星,計算了15個完整會合周期的每日夜半位置,數(shù)據(jù)量為9204個;對于土星,計算了29個完整會合周期的每日夜半位置,數(shù)據(jù)量為10231個。

根據(jù)計算結(jié)果分別繪制出木星、火星和土星的黃經(jīng)絕對誤差散點(diǎn)圖,如圖7—9所示。圖中的縱坐標(biāo)表示行星黃經(jīng)絕對誤差,單位為“°”;橫坐標(biāo)表示從公元600年冬至之后外行星首次定見所在日的夜半起算的日數(shù),單位為“日”。圖7中的橫坐標(biāo)始于601年6月2日夜半,圖8始于601年11月29日夜半,圖9始于601年11月22日夜半。

圖7 《皇極歷》木星黃經(jīng)絕對誤差散點(diǎn)圖

圖8 《皇極歷》火星黃經(jīng)絕對誤差散點(diǎn)圖

圖9 《皇極歷》土星黃經(jīng)絕對誤差散點(diǎn)圖

從圖7—9可以看出,外行星的黃經(jīng)絕對誤差在約30年內(nèi)呈現(xiàn)出周期性的變化。然而,在此之中火星有兩個會合周期的誤差比較反常。通過查驗,這兩個周期的晨始見分別處于白露、秋分兩氣,處于這兩氣的修正方案是“白露至寒露,初日行半度,四十日行二十度”。已在第1章中論述火星動態(tài)描述時,指出此處“半度之行”是對火星晨始見位于“白露至寒露”段內(nèi)的二次修正,日率減去40日,度率減去20度。若不考慮術(shù)文中的“初日行半度”的修正,可繪制出火星黃經(jīng)絕對誤差散點(diǎn)圖,如圖10所示。

圖10 《皇極歷》火星黃經(jīng)絕對誤差散點(diǎn)圖(不修正“初日行半度”)

如圖10,若不考慮火星晨始見位于“白露至寒露”段內(nèi)“初日行半度”的修正,這兩個反常周期(圖8)的誤差會大幅度減小,且與前后會合周期的誤差銜接度更好。

因此,根據(jù)以上分析,《皇極歷》外行星計算精度可由表3中的相關(guān)數(shù)據(jù)反映。

表3 《皇極歷》601—630年外行星計算精度(9)表3中火星計算精度結(jié)果均為不考慮“初日行半度”情況下所得。

印度天文學(xué)著作《五大歷書匯編》成書于6世紀(jì)中葉,其中的《寶莉莎歷數(shù)書》與中國傳統(tǒng)歷法處理行星運(yùn)動的方式相同,即以代數(shù)方法計算行星的位置。唐泉對《寶莉莎歷數(shù)書》中的行星運(yùn)動作了深入研究并給出外行星及金星的計算精度[11],外行星計算精度數(shù)據(jù)摘錄于表4。通過比較,《皇極歷》中推算外行星黃經(jīng)誤差精度相比《寶莉莎歷數(shù)書》要稍微高一些。

表4 《寶莉莎歷數(shù)書》行星計算精度

3.2 影響《皇極歷》外行星位置精度的原因分析

根據(jù)上述對《皇極歷》行星推步算法的解讀分析,不難看出,定見時刻被視為行星在一個會合周期上的關(guān)節(jié)點(diǎn),再由太陽位置及見去日推算行星定見時刻的位置,最后以行星每日的行度累加,即可得到行星任意一日的位置??梢?,行星定見時刻的推算,以及行星在一個會合周期內(nèi)自晨始見至夕始伏的每日行度都有可能影響到《皇極歷》外行星位置計算精度。接下來,從這兩方面展開探討。

一方面,有必要對行星在約30年時段內(nèi)每次定見時刻的精度進(jìn)行分析。依據(jù)《皇極歷》行星推步算法得到開皇二十年冬至后約30年內(nèi)木星、火星和土星各完整會合周期的歷取定見日期,以及由中國黃道星空天文軟件所得理論定見日期(10)“中國黃道星空”是劉次沅專門為研究中國古代天象記錄而開發(fā)的一款天文軟件,它可以計算并演示日、月、五星在黃道天區(qū)的位置和運(yùn)動。此處的“理論定見日期”就是通過《皇極歷》所給外行星“見去日”常數(shù),進(jìn)而借助該軟件推算這一天象發(fā)生的日期。,如表5所示。

表5 《皇極歷》601—630年木星、火星和土星定見日期

表5中結(jié)果表明木星歷取定見日期與理論定見日期的最大誤差是6日,平均誤差約為2日;火星的最大誤差是41日,平均誤差約為21日;土星的最大誤差是5日,平均誤差約為3日??梢?,《皇極歷》推算外行星定見時刻的計算誤差中火星最大,木星和土星基本相當(dāng)。

另一方面,我們對外行星在一個會合周期內(nèi)自晨始見至夕始伏的速度進(jìn)行分析。根據(jù)表2的計算結(jié)果,可繪制以600年11月22日為土星定見的一個會合周期內(nèi)的理論速度與歷取速度,即呈現(xiàn)出開皇二十年冬至之后土星在一個會合周期內(nèi)的運(yùn)動狀態(tài)。如圖11所示。

圖11 土星理論速度與歷取速度圖示

《皇極歷》中的土星在一個周期內(nèi)的運(yùn)動狀態(tài)被分為前順行、前留、逆行、后留和后順行這五個段目,且順行與逆行的歷取速度均以勻速運(yùn)動給出,如圖11所示。對比理論速度曲線可以看出,土星的理論速度實(shí)際在每時每刻都是改變的。歷取速度劃分的段目較少,很難達(dá)到與理論速度較好擬合。此外,歷取速度在前留、后留這兩段目各占39日,而實(shí)際理論速度中“留”卻僅是存有一瞬間的狀態(tài)。因此,《皇極歷》對土星一個周期內(nèi)各段目的運(yùn)行狀態(tài)描述也是影響土星計算精度誤差的一個重要因素。

以同樣的方式,繪制出開皇二十年冬至之后木星和火星在一個會合周期內(nèi)的理論速度與歷取速度,如圖12和圖13所示。

圖12 木星理論速度與歷取速度圖示

圖13 火星理論速度與歷取速度圖示

值得注意的是,與木星和土星不同,圖13中所呈現(xiàn)的火星在一個會合周期內(nèi)的理論速度與歷取速度并不對稱,換言之,其晨始見的速度與該會合周期夕始伏的速度不相等。從理論速度曲線上同樣反映出這一現(xiàn)象,且歷取速度與之?dāng)M合較好。如圖14所示,我們給出更大的時間范圍內(nèi)速度擬合曲線,即約公元600—630年火星15個會合周期內(nèi)晨始見至夕始伏期間運(yùn)行理論速度與歷取速度圖示。

圖14 《皇極歷》火星公元601年11月29日夜半后每日理論速度與歷取速度圖示

《皇極歷》的火星歷取速度之所以能達(dá)到這樣好的效果,其原因在于它設(shè)計火星前疾段和后疾段運(yùn)動狀態(tài)時的巧妙算法,以一個會合周期中前疾初日與后疾初日所值節(jié)氣,來分別規(guī)定火星在這兩個段目運(yùn)行的日率和度率。

4 結(jié)論

本文通過對《皇極歷》外行星入氣加減差、動態(tài)描述及五星推步算法構(gòu)建思路的解讀,并結(jié)合上述分析討論,得出下面幾點(diǎn)結(jié)論:

(1)根據(jù)表3中的數(shù)據(jù),得知對《皇極歷》外行星而言,木星和土星黃經(jīng)誤差絕對值的最大值分別是5.27°和5.10°,誤差絕對值的平均值分別是1.94°和2.61°。這表明《皇極歷》中木星和土星的計算精度大體相當(dāng),而火星黃經(jīng)計算誤差要比木星和土星大得多。火星黃經(jīng)誤差絕對值的最大值是17.67°,約是木星和土星黃經(jīng)最大誤差的3倍還要多,誤差絕對值的平均值也達(dá)到4.80°。此外,通過對外行星約30年中的每個定見日期的誤差分析,如表5,同樣得到火星的定見日期誤差最大,木星和土星誤差相當(dāng)且較火星小很多。這是因為火星在三個外行星中,它的軌道偏心率最大、周期長、速度快,因而火星的計算相對木星和土星要更困難一些。

(2)《皇極歷》討論火星“前疾”段的日率和度率時,附加修正法則所提到的“半度之行”,這一項修正對火星黃經(jīng)計算精度的提高似乎沒有發(fā)揮正面作用,如圖8和圖10所示。引入“半度之行”修正的火星黃經(jīng)誤差絕對值的最大值高達(dá)31.49°,誤差絕對值的平均值是6.65°;而未考慮“半度之行”修正的火星黃經(jīng)誤差絕對值的最大值是17.67°,誤差絕對值的平均值是4.80°??煽闯鰪木确矫婵疾欤@個算法顯得多余。但是從初唐《戊寅元?dú)v》《麟德歷》這兩部歷法對“半度之行”的論述分析而言,其涵義就是對原有日率和度率的二次修正,理解上無誤。因而關(guān)于“半度之行”的合理性問題還需要作進(jìn)一步探討。

(3)《皇極歷》外行星黃經(jīng)絕對誤差散點(diǎn)圖呈現(xiàn)周期性變化的規(guī)律,與其公轉(zhuǎn)周期基本吻合,如圖7—10所示。文章中所討論自公元600年冬至之后首次始見的當(dāng)日夜半起算約12000日時間段內(nèi),大約包含了2.7個木星公轉(zhuǎn)周期、1.1個土星公轉(zhuǎn)周期、17.5個火星公轉(zhuǎn)周期。木星和土星黃經(jīng)絕對誤差的變化規(guī)律與它們的公轉(zhuǎn)周期比較吻合,而火星由于其公轉(zhuǎn)周期較短,其黃經(jīng)絕對誤差變化不太容易與公轉(zhuǎn)周期對應(yīng)。然而,火星呈現(xiàn)出七個會合周期循環(huán)規(guī)律性的波動趨勢,這與火星的大沖周期更為匹配。

(4)由于目前隋代之前的歷法行星計算精度的研究甚少,本人所在項目組的其他成員提供了一些未發(fā)表的魏晉南北朝時期歷法中外行星誤差計算精度的初步結(jié)果,得知這時期木星和土星的黃經(jīng)誤差絕對值的最大值達(dá)到十幾二十多度,火星更是有高達(dá)四五十度的誤差。可見,《皇極歷》在引入太陽和行星不均勻運(yùn)動修正算法之后,確實(shí)在很大程度上改善了其行星計算水平。雖然隋代及唐初時期歷法中的“入氣加減差”和“五星動態(tài)表”均屬于基于經(jīng)驗性觀測的數(shù)值算法系統(tǒng),但是這項研究也進(jìn)一步表明古代歷法家在探索行星運(yùn)動理論、設(shè)計數(shù)值算法逐漸逼近真值的過程中,不懈努力的精神是值得肯定和學(xué)習(xí)的。

致 謝感謝兩位匿名審稿專家提出寶貴的修改建議。論文寫作過程中還得到了北京天文館古觀象臺楊帆老師提供的材料和幫助,在此表示衷心感謝!

猜你喜歡
外行星土星行星
土星環(huán),你要去哪里
流浪行星
行星呼救
系外行星那些事——“呼啦圈”法
土星
系外行星探索與發(fā)現(xiàn)
系外行星的探測
系外行星:一個美麗的童話
美麗的土星環(huán)
行星