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