王錦瑞 曲安京
(1. 西北大學(xué)科學(xué)史高等研究院,西安 710127;2.陜西學(xué)前師范學(xué)院數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,西安 710100)
北宋周琮所著《明天歷》是中國(guó)古代歷法中算法公式化程度最高的歷法[1],《明天歷議》[2](以下簡(jiǎn)稱(chēng)《歷議》)載于歷法術(shù)文之前,分段解釋了《明天歷》中某些天文常數(shù)及算法的合理性、準(zhǔn)確性以及創(chuàng)造性,闡明歷法理論的依據(jù)和特點(diǎn)。在《授時(shí)歷》之前,幾乎所有的中國(guó)傳統(tǒng)歷法都是圍繞著上元編排算法事項(xiàng)的。絕大多數(shù)歷法的上元積年,僅憑日干支、年干支、回歸年、朔望月四項(xiàng)先決條件即可唯一確定,其他常數(shù)(如歲差、交點(diǎn)月、近點(diǎn)月及五星會(huì)合周期等)多不具備參與上元推算的資格,因此,這些常數(shù)是基于上元積年調(diào)取出來(lái)的([3],55頁(yè))。但是,《明天歷》獲取歲差和上元積年的方法卻與主流算法不同,其歲差常數(shù)的選取獨(dú)立于上元積年,與月行速度、朔望月兩個(gè)常數(shù)有關(guān)。同時(shí),歲差常數(shù)反而參與了上元積年的確定,這種現(xiàn)象在中國(guó)古代歷法史上是絕無(wú)僅有的。對(duì)這種情況進(jìn)行研究有助于我們更加全面深刻理解中國(guó)古代歷法常數(shù)系統(tǒng)的構(gòu)造原理及其特征。
在《歷議》“調(diào)日法”部分有一段關(guān)于《明天歷》歲差常數(shù)構(gòu)造方法的論述,由于這部分文字表述艱澀,鮮有學(xué)者關(guān)注。周琮在此段結(jié)尾處寫(xiě)道:“此之一法,理極幽眇,所謂反覆相求,潛遁相通,數(shù)有冥符,法有偶會(huì),古歷家皆所未達(dá)”([2],2635頁(yè))。顯然,周琮非常得意于《明天歷》歲差常數(shù)選取方法的創(chuàng)見(jiàn),并且認(rèn)為以往歷法家都未曾悟出歲差、周天分常數(shù)與月行速度、朔望月等常數(shù)之間的關(guān)系。那么,《明天歷》歲差常數(shù)究竟是如何構(gòu)造的?歲差常數(shù)與上元積年是怎樣的邏輯關(guān)聯(lián)?歲差常數(shù)是否參與了《明天歷》上元積年的選???周琮構(gòu)造歲差與上元積年的方法與以往歷法家有什么不同?
基于上述問(wèn)題,本文擬對(duì)《歷議》中相關(guān)術(shù)文進(jìn)行深入解讀,嘗試復(fù)原《明天歷》歲差常數(shù)的構(gòu)造方法,并對(duì)《明天歷》上元積年的選取思路進(jìn)行分析,明確《明天歷》歲差常數(shù)與上元積年之間的邏輯關(guān)系。
中國(guó)傳統(tǒng)歷法中的歲差常數(shù)用以描述春分點(diǎn)沿著黃道緩慢西退現(xiàn)象,具體數(shù)值為恒星年與回歸年的差值,歷法中將恒星年稱(chēng)為周天(單位是度或分,以下討論均使用周天分)。在已知回歸年常數(shù)的前提下,周天分與歲差是互相確定的,以下均以歲差作為主要研究對(duì)象。吳守賢[4]、陳美東[5]、李鑒澄[6]、何妙福[7]以及白尚恕[8]等分別從歲差的歷史考證、發(fā)展演進(jìn)以及各歷歲差常數(shù)的精度等方面進(jìn)行了專(zhuān)門(mén)研究,曲安京([3],128~146頁(yè))復(fù)原了各時(shí)期歷法家調(diào)取歲差常數(shù)的算法思路,指出《明天歷》歲差常數(shù)構(gòu)造方法具有一定的復(fù)雜性與特殊性,但并未詳細(xì)展開(kāi)討論。此后,尚未有學(xué)者關(guān)注《明天歷》歲差常數(shù)的構(gòu)造方法。以下將從術(shù)文解讀、構(gòu)造原理分析兩方面進(jìn)行討論。
《明天歷議》的“調(diào)日法”部分主要解釋《明天歷》日法、回歸年、朔望月、周天分及歲差等常數(shù)之間的關(guān)聯(lián)及構(gòu)造思路。首先,周琮概述了制歷的基本原則,介紹了何承天的調(diào)日法原理,指出何承天之后的制歷者都是沿襲其調(diào)日法,通過(guò)累加強(qiáng)率、弱率以獲取日法及朔望月常數(shù),均未悟出日月運(yùn)行背后的合朔思想與常數(shù)間的微妙關(guān)系。然后,周琮詳細(xì)闡明了《明天歷》利用日月合朔思想確定歲差常數(shù)的構(gòu)造過(guò)程。為便于讀者理解,我們將術(shù)文逐句編號(hào),分別進(jìn)行解讀。
(1)今稍悟其失,定新歷以三萬(wàn)九千為日法,六百二十四萬(wàn)為度母,九千五百為斗分,二萬(wàn)六百九十三為朔余,可以上稽于古,下驗(yàn)于今,反覆推求,若應(yīng)繩準(zhǔn)。又以二百三十萬(wàn)一千為月行之余,月行十三度之余。以一百六十萬(wàn)四百四十七為日行之余,日行周天之余。乃會(huì)日月之行。(2)以盈不足平之,并盈不足,是為一朔之法。日法也,名元法。(3)今乃以大月乘不足之?dāng)?shù),以小月乘盈行之分,平而并之,是為一朔之實(shí)。周天分也。(4)以法約實(shí),得日月相會(huì)之?dāng)?shù),皆以等數(shù)約之,悉得今有之?dāng)?shù)。盈為朔虛,不足為朔余。(5)又二法相乘為本母,各母互乘,以減周天,余則歲差生焉,亦以等數(shù)約之,即得歲差、度母、周天實(shí)用之?dāng)?shù)。(6)此之一法,理極幽眇,所謂反覆相求,潛遁相通,數(shù)有冥符,法有偶會(huì),古歷家皆所未達(dá)。([2],2634頁(yè))
(1)給出與歲差常數(shù)構(gòu)造相關(guān)的常數(shù),為表述方便,將術(shù)文中各常數(shù)標(biāo)記如下:
日法A=39000(日分);
日度母AB=39000×160=6240000(度分);
其中,日法、日度母、回歸年、朔望月、月行速度為已知常數(shù),接下來(lái)周琮論述了如何利用這些已知常數(shù)推導(dǎo)周天分與歲差常數(shù)的過(guò)程。
(2)推算一天月亮運(yùn)行的時(shí)間距離(一朔之法):
根據(jù)盈不足術(shù),考察一個(gè)朔望月(約29.53059日)月亮運(yùn)行的時(shí)間距離。日法A=39000(日分)表示將一天的時(shí)間長(zhǎng)度分成39000分,30A表示30天的時(shí)間長(zhǎng)度,U=1151693(日分)表示一個(gè)朔望月的時(shí)間長(zhǎng)度,V表示月亮相對(duì)速度的分子1979,因此,月行“盈分”是指V(30A-U)=1979×18307(度分),表示30日盈出一個(gè)朔望月的部分(約0.46941日)月亮所運(yùn)行的時(shí)間距離。月行“不足分”是指V(U-29A)=1979×20693(度分),表示29日不足一個(gè)朔望月的部分(約0.53059日)月亮所運(yùn)行的時(shí)間距離。將“盈”與“不足”相并,
V(30A-U)+V(U-29A)=VA=1979×39000(度分)
得到一朔之法VA,表示月亮(相對(duì)于太陽(yáng))一天運(yùn)行的時(shí)間距離。
(3)推算一個(gè)朔望月月亮運(yùn)行的時(shí)間距離(一朔之實(shí):周天分):
大月30個(gè)“不足分”與小月29個(gè)“盈分”之和為一朔之實(shí)VU,這就是周天長(zhǎng)度,即
30·V(U-29A)+29·V(30A-U)=VU
因此,周天分S=VU=1979×1151693=2279200447(度分)。
(4)解釋月亮運(yùn)行情況與朔望月之間的關(guān)系:
一朔之法VA是指月亮運(yùn)行一天的時(shí)間距離,一朔之實(shí)VU是指月亮運(yùn)行一個(gè)朔望月的時(shí)間距離,兩者相除,以等數(shù)V約之,得到“今有之?dāng)?shù)”朔望月的長(zhǎng)度
其中盈為朔虛30A-U=18307(分),不足為朔余U-29A=20693(分)。
(5)推算歲差常數(shù):
歲差常數(shù)由周天分與回歸年兩個(gè)常數(shù)做差得到,兩法分別指周天分和回歸年常數(shù)的分母AB與A,兩個(gè)分母相乘作為新的分母,具體推算過(guò)程如下:
所以,歲差常數(shù)P=VU-TB=1979×1151693-14244500×160=80447度分。
(6)周琮的自我評(píng)價(jià):周琮認(rèn)為自己獲取周天分與歲差常數(shù)的方法原理深妙,發(fā)現(xiàn)了朔望月、月行速度常數(shù)與歲差(周天分)等常數(shù)之間暗藏的相互關(guān)系,指出這是以往歷法家均未曾領(lǐng)悟到的高度。
在中國(guó)傳統(tǒng)歷法中,通常情況下周天分與歲差常數(shù)是基于上元積年調(diào)取出來(lái)的。在上元積年Nn確定后,結(jié)合恒星年與歲差參照值以及制歷當(dāng)年的冬至點(diǎn)宿度,構(gòu)造同余式
pNn≡β(mods),0≤β
(1)
其中,s為恒星年長(zhǎng)度(周天分),p為歲差長(zhǎng)度。由(1)式知,從實(shí)測(cè)的制歷年Nn天正冬至赤道日度起算,β度之外就是上元冬至所在宿度([3],129頁(yè)),然后根據(jù)上元必起于虛宿,調(diào)取合適的歲差與周天分常數(shù)。顯然,周琮并未照搬以往歷法家的傳統(tǒng)方法,而是在脫離上元積年的前提下,根據(jù)日月合朔思想構(gòu)造周天分與歲差常數(shù)。
圖1 月亮運(yùn)行與周天關(guān)系分析圖
日月合朔時(shí)刻是指日月同黃經(jīng),且月球位于日地之間的時(shí)刻。根據(jù)太陽(yáng)和地球的相對(duì)運(yùn)動(dòng),如圖1所示,以地球?yàn)閰⒄瘴?,從日月合朔EM1S1開(kāi)始,經(jīng)過(guò)一個(gè)朔望月后,到達(dá)下一次日月合朔EM2S2,在這個(gè)運(yùn)行過(guò)程中,太陽(yáng)運(yùn)行距離長(zhǎng)度為S1S2(一個(gè)朔望月長(zhǎng)度),月亮的平行速度為13.36875(度/日),其運(yùn)行長(zhǎng)度為一個(gè)周天圓周與一個(gè)朔望月長(zhǎng)度M1M2之和,其中S1S2與M1M2長(zhǎng)度相同。考察太陽(yáng)、月亮的相對(duì)運(yùn)動(dòng),取月亮相對(duì)于太陽(yáng)的運(yùn)行速度為12.36875(度/日),減去相對(duì)運(yùn)動(dòng)的S1S2長(zhǎng)度,則相對(duì)于太陽(yáng)來(lái)說(shuō),月亮在一個(gè)朔望月的運(yùn)行距離為一個(gè)周天長(zhǎng)度。即
周天S=月亮相對(duì)速度×朔望月長(zhǎng)度U=1979×1151693=2279200447(度分)
與回歸年常數(shù)做差通分,即可獲得歲差常數(shù)80447。
可以看出,周琮根據(jù)月亮運(yùn)行速度來(lái)確定周天分與歲差常數(shù),這種基于日月運(yùn)行規(guī)律進(jìn)行常數(shù)構(gòu)造的思路,確如周琮自己所言,為“古歷家皆所未達(dá)”。在《明天歷議》中,除了“調(diào)日法”外,另有一段單獨(dú)介紹周天分常數(shù)的術(shù)文([2],2637頁(yè)),如下:
周天分:二十二億七千九百二十萬(wàn)四百四十七。本齊日月之行,會(huì)合朔而得之。在調(diào)日法。使上考仲康房宿之交,下驗(yàn)姜岌月食之沖,三(十)[千]年間,若應(yīng)準(zhǔn)繩,則新歷周天,有自然冥符之?dāng)?shù),最為密近。
周琮在此處重申了《明天歷》周天分常數(shù)是基于日月合朔思想確定的,其數(shù)值由月行速度與朔望月常數(shù)的乘積推算,并指明此方法在調(diào)日法部分已經(jīng)論述。周琮指出往前考驗(yàn)夏朝仲康時(shí)期房宿的日食,往下與姜岌月食沖法相互驗(yàn)證,考驗(yàn)三千年天象,新歷的周天分常數(shù)皆是吻合自然之法的理想選擇。雖然周琮對(duì)周天分常數(shù)的精度有言過(guò)其實(shí)之嫌,但是其構(gòu)造周天分及歲差常數(shù)的方法在中國(guó)古代歷法史上的確是獨(dú)一無(wú)二的。
中國(guó)傳統(tǒng)歷法是以上元的選擇為核心,構(gòu)成一個(gè)天文常數(shù)系統(tǒng)。通常根據(jù)朔望月和回歸年兩個(gè)基本常數(shù)將上元確定之后,再由此調(diào)取其他歷取常數(shù),如恒星年、近點(diǎn)月、交點(diǎn)月與五星會(huì)合周期等歷取值[9]。周琮《明天歷》的歲差常數(shù)是利用日月合朔思想構(gòu)造出來(lái)的,獨(dú)立于上元積年確定。那么,《明天歷》歲差常數(shù)是否參與了上元積年的選???它與上元積年之間是怎樣的邏輯關(guān)聯(lián)?本文試做以下分析。
曲安京廓清了中國(guó)古代歷法上元積年推算的歷史發(fā)展脈絡(luò)[10],對(duì)早期上元積年的推算方法[11]和唐宋時(shí)期演紀(jì)上元進(jìn)行了深入研究,同時(shí)對(duì)《明天歷》上元積年計(jì)算也進(jìn)行了分析[12]。以下討論將在其研究基礎(chǔ)上進(jìn)行。
一般情況下,唐宋歷法家利用回歸年和朔望月常數(shù)構(gòu)造同余式組
(2)
其中,T為回歸年常數(shù),R0為所求年歲名序號(hào)(甲子為0,乙丑為1,…),R1為所求年冬至?xí)r刻距前一甲子日夜半時(shí)分的分?jǐn)?shù),R2為所求年冬至?xí)r刻距11月合朔時(shí)刻的分?jǐn)?shù)。首先結(jié)合制歷當(dāng)年冬至?xí)r刻等實(shí)測(cè)數(shù)據(jù),由同余式組(2)推算一個(gè)上元積年Nn值。如果推算結(jié)果不滿(mǎn)足Nn<108和R1、R2誤差在正負(fù)1刻以?xún)?nèi)這兩個(gè)條件,則重新調(diào)整日法,利用同余式組(2)推算新的Nn。經(jīng)過(guò)若干輪數(shù)學(xué)推算,選取滿(mǎn)足上述兩個(gè)條件的上元積年([3],54頁(yè))。
《歷議》中給出了治平元年(1064)的天正冬至與天正經(jīng)朔時(shí)刻([2],2636頁(yè)),曲安京利用兩個(gè)數(shù)據(jù)復(fù)原了《明天歷》對(duì)應(yīng)的同余式組(2),并經(jīng)過(guò)一系列數(shù)學(xué)推理,將基于同余方程組(2)的求解問(wèn)題歸結(jié)為如下同余方程
m≡596420r2+905809(mod 1151693)
其中,0≤m≤21366,|r2|<390。由于滿(mǎn)足上式的(m,r2)共9組,將9個(gè)數(shù)值m代入式子N1064=400+60×78×m,獲得9組可選的上元積年N1064,見(jiàn)表1([3],79頁(yè))。于是,產(chǎn)生了一個(gè)新的問(wèn)題,周琮基于何種原因在9組可選上元積年數(shù)值中選擇了711760?以下將承接曲安京的工作,給出這個(gè)問(wèn)題的答案。
p×Nn≡β(mods),0≤β
根據(jù)制歷當(dāng)年(1064)實(shí)測(cè)的天正冬至赤道日度(斗宿7.3度)反推β度,得到9組可能的上元時(shí)刻赤道日度值,詳見(jiàn)表1?;谥袊?guó)古代歷法中上元必起于虛宿某度([3],129頁(yè)),直接排除第2~8組。除《儀天歷》選擇上元在虛宿2度外,《明天歷》之前的唐宋歷法通常選擇上元在虛宿(共10度有余)中間某度,同時(shí)第9組數(shù)據(jù)稍大,不利于計(jì)算,經(jīng)綜合考慮后,周琮選擇了數(shù)值最小且上元起于虛6的711760作為《明天歷》的上元積年。
表1 《明天歷》上元積年的9種可選數(shù)據(jù)分析
可以看出,以往歷法家通過(guò)回歸年和朔望月常數(shù)構(gòu)造同余式組(2),由此確定合適的上元積年,然后利用同余式(1)調(diào)取合適的歲差(周天分)常數(shù)。但是周琮卻采用了不同的思路,首先利用“日月合朔”思想確定歲差與周天分常數(shù),然后將歲差與周天分常數(shù)引入上元積年的選取過(guò)程,構(gòu)造新的同余式組(3)
(3)
在9個(gè)可選的上元積年數(shù)值中,直接排除掉其他不合適的可能,選擇出最合用的數(shù)值711760,周琮與以往歷法家獲取上元積年和歲差的路線(xiàn)對(duì)比如圖2。
通過(guò)對(duì)《明天歷議》中相關(guān)術(shù)文的分析發(fā)現(xiàn),周琮在日月合朔思想指導(dǎo)下,直接利用月行速度與朔望月常數(shù)乘積確定周天分常數(shù),將其與回歸年做差獲得歲差常數(shù),這種確定歲差常數(shù)的方法在中國(guó)古代歷法史上是絕無(wú)僅有的。同時(shí),周琮將歲差常數(shù)引入上元積年的選取,在上元必起于虛宿等條件下選取合適的上元積年,這種思路改變了以往歲差常數(shù)附會(huì)上元積年的傳統(tǒng),使得歲差常數(shù)不但獨(dú)立于上元積年確定,而且參與了上元積年的選取,從而改變了上元積年在歷法中的核心地位。本研究對(duì)認(rèn)識(shí)《明天歷》常數(shù)系統(tǒng)構(gòu)造中的特殊性,為更加全面地理解中國(guó)古代歷法天文常數(shù)系統(tǒng)的特征提供了新的思路。