王榮彬
(中國民主同盟中央委員會,北京 100006)
中國古代歷法內(nèi)容十分豐富,一般包括日、月、五星運(yùn)動和位置的計算,日、月食的預(yù)報,晷影算法與時間制度等,其算法涉及眾多周而復(fù)始的量,因此,歷算家編制歷法時自然會想到去尋找這些周期量的共同起點(diǎn)——上元。從上元到歷法編制完成年份或所要推算年份的年數(shù)叫做上元積年。在傳統(tǒng)古歷中往往將上元設(shè)定成一種非常特別的理想狀態(tài),比如南北朝時期祖沖之的《大明歷》(463)即規(guī)定上元應(yīng)位于某個甲子年天正十一月的甲子日夜半,恰逢合朔、冬至?xí)r刻,月亮經(jīng)過黃白道交點(diǎn)之一,五大行星同時會聚在冬至點(diǎn),且要求冬至點(diǎn)在虛宿一度([1],頁1747)。類似的奇特天象,在人類實際天象觀測歷史上可能是不存在的。
但從存世的史料來看,早在太初改歷的時候(前104)就有了上元的推求實踐,劉歆據(jù)之改編《三統(tǒng)歷》時(約前7)則具體推算并給出了上元積年數(shù),從漢唐到兩宋,1000多年來古代歷算家們代代相傳,孜孜以求。但實際上,這種復(fù)雜的理想上元推求是完全不必要的。
從數(shù)學(xué)上來說,推求上元通常是求解一個同余式組。因為古歷從上元起算的天文周期很多,到祖沖之的《大明歷》,與上元有關(guān)的相互獨(dú)立的項目已經(jīng)多達(dá)12個,如果它們?nèi)繀⑴c上元推算,則應(yīng)列出11個聯(lián)立的一次同余式。然而,求解包含11個同余式的同余式組,不用說1500多年前,就是用今天的數(shù)學(xué)工具也不是輕而易舉的事,所以數(shù)學(xué)史家們一直認(rèn)為推求上元問題是個謎題[2]。
錢寶琮曾推測:“大約在三世紀(jì)中,歷法工作者開始應(yīng)用剩余定理計算上元積年。我們認(rèn)為《孫子算經(jīng)》里‘物不知數(shù)’問題解法不是作者的向壁虛造,而很可能是依據(jù)當(dāng)代天文學(xué)家的上元積年算法寫出來的。”[3]這一論斷產(chǎn)生了廣泛的影響。
雖然正史歷志中一般不記載其收錄的歷法算法之演算過程,古代天文機(jī)構(gòu)當(dāng)時使用的工具書如算草和數(shù)表等今天少有傳世,但有幸在秦九韶《數(shù)書九章》(1247)中記載了“大衍術(shù)”(即中國剩余定理)與“演紀(jì)術(shù)”兩種求解一次同余式組的方法。特別是其“治歷演紀(jì)”題,引用了宋代《開禧歷》(1207)推算上元的算例,詳細(xì)記錄了其演算步驟[4—6]?!堕_禧歷》正是秦九韶生活和著述年代的行用歷法,唐代以來歷法的開篇所給出的上元積年數(shù)值一般皆稱為“演紀(jì)上元”,故秦九韶所記載的演紀(jì)之術(shù)應(yīng)該就是當(dāng)時歷算家實際應(yīng)用的推求上元積年的算法[7,8]?!堕_禧歷》的作者鮑澣之也曾指出:“國初《應(yīng)天》而至于《紹熙》《會元》,所更者十二書,無非推求上元開辟為演紀(jì)之首,氣朔同元,而七政會于初度?!盵9]特別值得注意的是,據(jù)秦九韶的記載和現(xiàn)代天算史家的進(jìn)一步實際驗算與理論分析,證明了以日名、歲名、回歸年、朔望月4項條件,幾乎可以推出每一部歷法的上元,從而排除了其他從上元起算的歷法項目實際參與上元推算的可能性。換言之,相關(guān)歷法常數(shù)都應(yīng)是參考實測值進(jìn)行調(diào)整而附會到上元起始的數(shù)值[10]。無獨(dú)有偶,除上述秦九韶《數(shù)書九章》的算例之外,清代學(xué)者張敦仁[11]、宋景昌[12]、黃宗憲[13]、李銳[14]等皆以這4個條件進(jìn)行推算而得出所求上元積年。
上述諸多天算史家的深刻研究表明,古歷關(guān)于上元積年的推求,不僅計算任務(wù)繁難,而且還會損害不參與上元推算的歷法常數(shù)選取的精度,特別是,這項費(fèi)力的工作是完全可以省略的。
當(dāng)然,關(guān)于上元推求法的繁難和缺陷問題,身體力行的古代歷算家自然是深有體會。所以到楊偉《景初歷》(237)時,首次設(shè)置了“交會差率”與“遲疾差率”,意思是黃白道交點(diǎn)和月亮過近地點(diǎn)不從上元同時出發(fā)。其實,《景初歷》推算上元積年所用的條件為:“魏黃初元年十一月小,……己亥歲,十一月己卯朔旦冬至?!盵15]也就是說,《景初歷》也是用了同期歷法類似的方法進(jìn)行了上元積年推算,其創(chuàng)立的兩個“差率”與上元積年推算無關(guān),僅與其交食周期和近點(diǎn)月值的選取便利并提高對應(yīng)歷取常數(shù)的精度相關(guān)。
隨后,何承天《元嘉歷》(443),又將五星會合周期各立“后元”,即五星會合周期皆不從上元起算(楊偉和何承天的這種歷元設(shè)置法常被稱為“多歷元法”)。何承天因此將東漢以來數(shù)百年間徘徊乃至倒退的五星會合周期精度大幅提高[16]。祖沖之則對《景初歷》和《元嘉歷》的多歷元法評論道:“算自近始,眾法可同,但《景初》之‘二差’,承天之‘后元’,實以奇偶不協(xié),故數(shù)無盡同,為遺前設(shè)后,以從省易?!?[1],頁1770)可見,祖沖之指出了《景初歷》與《元嘉歷》多歷元法在計算量方面無疑有其便利性,但他同時也明確表示對這種做法并不贊成。
當(dāng)然,楊偉與何承天的創(chuàng)舉不僅“以從省易”,更重要的意義是提高了不從上元起算的歷法數(shù)據(jù)的精度,因而還是得到了后世不少歷算家的響應(yīng)。南宋楊忠輔在其《統(tǒng)天歷》(1199)中更是反對把歷元同所謂的開天辟地之年相關(guān)聯(lián),《統(tǒng)天歷》雖然推算有上元積年,但楊氏設(shè)立了相應(yīng)的“七差”,以多個起算點(diǎn)來選取相應(yīng)的天文常數(shù)([17],頁510)。
應(yīng)該強(qiáng)調(diào)指出的是,自楊偉到楊忠輔等所采用的多歷元法,皆保留了上元積年的推算。其實,上元僅是由日名、歲名、回歸年和朔望月決定的,從上元起始的其他數(shù)值都是附會到上元的,楊偉、何承天、楊忠輔等將一些本來就不參與上元推算的項目另設(shè)起點(diǎn),只是減少附會參數(shù)的數(shù)量并增加相關(guān)參數(shù)的精度,并不構(gòu)成上元算法的實質(zhì)變化。但在傳統(tǒng)天學(xué)和歷算家看來,還是有損其歷元設(shè)置的神圣性。實際上,歷算家完全可以從編制歷法的年份或所要推算的年份選取一個時間節(jié)點(diǎn)(比如冬至)作為歷元,稱按照這種思路選擇歷元且徹底放棄推算上元的歷元設(shè)置方法為“近距歷元法”。以下,本文將分析說明,在中國古代歷法史上,傅仁均《戊寅歷》(618)已經(jīng)首創(chuàng)了這種“近距歷元法”。但《戊寅歷》棄用上元法而改用近距歷元法的創(chuàng)舉,在其歷法還在行用期間即被反對聲淹沒,在朝廷下令修訂《戊寅歷》時,修訂者即恢復(fù)了上元法。其后續(xù)歷法的上元積年數(shù)還上演了越來越大之勢。
唐建中至元和年間(780—820),曹士蔿編制了一部與古歷傳統(tǒng)有諸多不同特點(diǎn)的歷法——《符天歷》。如它以顯慶五年(660)庚申歲為歷元,以雨水為歲首,用定氣注歷等,被認(rèn)為是“始變古法”。五代時馬重績承襲《符天歷》法,編制《調(diào)元?dú)v》(940),以唐天寶十四年(755)乙未歲為歷元,也以雨水為歲首。根據(jù)新舊《五代史》的記述,《符天歷》和《調(diào)元?dú)v》可能皆不推算上元積年,所用歷元法應(yīng)該就是近距歷元法([18],頁2406)??上У氖?,正因為《符天歷》和《調(diào)元?dú)v》采用了若干和傳統(tǒng)歷法格格不入的革新做法,在傳統(tǒng)歷算家眼里,它們被視為流俗不經(jīng)的“小歷”。《符天歷》未被新舊《唐書》收錄,《調(diào)元?dú)v》雖獲得官方正式頒行使用了五年,新舊《五代史》也未收錄(這是不符合正史歷志習(xí)慣的)。此二歷皆已失傳。不過《符天歷》曾在民間流行且傳入日本產(chǎn)生了較大影響,在日本發(fā)現(xiàn)了《符天歷》抄本的殘頁,引起了中日學(xué)者的關(guān)注[19—21]。但學(xué)者往往認(rèn)為其中與傳統(tǒng)迥異的內(nèi)容都來源于印度天文學(xué)([22],頁177—186;[23])。
綜上,近距歷元法在唐初創(chuàng)立后旋即又被上元法取代,上元法“廢”而不“止”。中唐后,《符天歷》等再次運(yùn)用了近距歷元法,仍然被傳統(tǒng)天算家所不容。以往,中國天算史論著中一般認(rèn)為,使用近距歷元法且徹底廢棄了上元積年法的代表作是《授時歷》。《授時歷》在上元積年問題上與傳統(tǒng)如此決絕,也被學(xué)者認(rèn)為可能是受印度天文學(xué)的影響所致([22],頁186)。雖然《授時歷》徹底廢除了上元法,考慮到有明一代沿用《授時歷》,我們有理由懷疑,若不是傳統(tǒng)歷法在其頂峰之后而無后起者,或許《授時歷》的再次創(chuàng)新也會被復(fù)辟。
傳統(tǒng)歷法中上元法廢而不止的現(xiàn)象,可能與古代天算家的歷元價值觀有關(guān)。古歷作為皇權(quán)象征,頒朔是中央政府的壟斷權(quán)力,君權(quán)神授的理念根深蒂固。中國古歷的上元問題不僅是算法和數(shù)值精度問題,中國古歷發(fā)展的主旋律還是由那些主流天學(xué)大儒和正統(tǒng)的歷算家的價值觀主導(dǎo)的,在他們的價值觀里,天學(xué)是溝通人神的神圣而嚴(yán)肅的大學(xué)問。正史的歷志中,每部歷法經(jīng)文的前面往往會有一段緒論或前言,其中反復(fù)重申著這種理念。編制歷法或評議歷法的大儒們都是從歷法事關(guān)國家政權(quán)和民生大事的角度進(jìn)行討論或向朝廷建言。
《續(xù)漢書·律歷志》即記載著這種關(guān)于政權(quán)興廢與歷法關(guān)聯(lián)的生動圖景,當(dāng)時的學(xué)者認(rèn)為,帝王不僅要勤于治國理政,而且不能荒廢治歷([24],頁1510)。進(jìn)而,治歷要正元,要追求神圣的象征開辟的歷元?!敖v之本,必先立元,元正然后定日法,法定然后度周天,以定分至。三者有程,則歷可成也”([24],頁1490)。
在這樣的觀念下,即使有一些歷算家從技術(shù)角度出發(fā),找到了很好的革新方案,或者有一些技術(shù)性思維主導(dǎo)的歷算家接受了其他文明的先進(jìn)思想,從而主張對歷元算法進(jìn)行革新,但他們的努力都只會成為古歷發(fā)展史上的一個個插曲,難成大勢。
例如,技術(shù)派像何承天這樣的大儒,因為洞悉了《四分歷》的缺陷所在,從而決意改革。但同樣重量級的歷算大家祖沖之,就堅決反對何承天的觀點(diǎn)。他在上《大明歷》的奏表中說道:“以上元之歲,歷中眾條并應(yīng)以此為始,而《景初歷》交會、遲疾,元首有差。又承天法,日、月、五星,各自有元,交會、遲疾,亦并置差,裁合朔氣而已。條序紛互,不及古意。今設(shè)法,日、月、五緯、交會、遲疾悉以上元?dú)q首為始。則合璧之曜,信而有征,連珠之暉,于是乎在,群流共源,實精古法?!?[1],頁1744)祖氏說得很明白,“合璧之曜”“連珠之暉”是“群流共源”,是“古法”。因此,是歷算家的信仰,是價值觀。
另一個生動的例子是發(fā)生在南宋姚舜輔與鮑澣之兩位歷法大家之間的故事,兩人曾一起研究歷法。鮑澣之對《統(tǒng)天歷》的優(yōu)缺點(diǎn)了然于胸,當(dāng)《統(tǒng)天歷》頒行不久出現(xiàn)預(yù)報日食不效時,他便有的放矢地改進(jìn)了相關(guān)內(nèi)容,編制自己的新歷法《開禧歷》,成功顛覆了《統(tǒng)天歷》。
鮑澣之對《統(tǒng)天歷》有這樣的評論:“進(jìn)歷未幾,而推測日食已不驗,此尤可也。但其歷書演紀(jì)之始,起于唐堯百余年,非開辟之端也,氣、朔、五星,皆立虛加、虛減之?dāng)?shù)……以是而為術(shù),乃民間之小歷,而非朝廷頒正朔、授民時之書也?!盵9]雖然《統(tǒng)天歷》保留了上元,且上推“起于唐堯百余年”,但還算不上“開辟之端”。鮑瀚之說得明白,“推測日食不驗”是“此尤可也”,但歷元之事才茲事體大。即使鮑瀚之和姚舜輔有共同研究歷算之學(xué)的私誼,但在歷元問題上,他必須旗幟鮮明,因為事關(guān)道統(tǒng),不容差池。所以,他還是毫不猶豫地將《統(tǒng)天歷》歸為《符天歷》一類民間小歷,而加以排斥。
《戊寅歷》編制完成于唐高祖武德元年(618),于次年頒行。傅仁均抓住了唐朝建立之初有頒朔需要的契機(jī),以隋代張胄玄的《大業(yè)歷》為藍(lán)本,受命當(dāng)年即迅速地完成了《戊寅歷》的編制?!段煲鷼v》有兩項重要革新內(nèi)容:一是選擇了劉焯《皇極歷》(600)的定朔主張,而這一點(diǎn)正是當(dāng)年劉焯與張胄玄之間有過激烈爭論的問題(1)關(guān)于定朔算法問題,在中國古代歷法史上曾經(jīng)長期爭論不休。劉洪《乾象歷》(206)創(chuàng)立月行遲疾術(shù)以來,唐代以前有記載的關(guān)于定朔問題的著名爭論即有何承天與皮延宗、祖沖之與戴法興,而尤以隋初改歷時的爭論最為激烈。每次爭論的最終結(jié)果都是,用定朔法進(jìn)行交食推算,用平朔法排算歷譜?!段煲鷼v》則是第一部用定朔法排算歷譜的歷法。。二是創(chuàng)立了和《授時歷》方法實質(zhì)相同的近距歷元法。由于這兩點(diǎn)皆不合古歷傳統(tǒng),之后恰逢《戊寅歷》剛頒行三年即出現(xiàn)日食預(yù)報失誤,傳統(tǒng)歷法家于是就拿這兩項內(nèi)容責(zé)難傅氏。雖然傅仁均據(jù)理力爭,在定朔問題上說服了崔善為,但《戊寅歷》仍然被崔氏一干人等刪改了“數(shù)十條”([25],頁2119),首當(dāng)其沖的就是其歷元設(shè)置法。其定朔之法因后來李淳風(fēng)發(fā)現(xiàn)依法推算可能會出現(xiàn)“四朔頻大”,最終被改回平朔法([25],頁2120)??梢?,沖破傳統(tǒng)觀念是多么困難。
傳本《戊寅歷》分別見于《舊唐書》和《新唐書》的《歷志一》(以下分別簡稱“舊志”“新志”),舊志的《戊寅歷》不完整,僅存五星、交食和漏刻部分內(nèi)容,新志的《戊寅歷》是完整的,依次為氣朔、發(fā)斂、日躔、月離、定朔、五星、交食算法,新志出于宋代歷算名家劉羲叟之手。
舊志以武德九年崔善為等校定的歷經(jīng)為主,雜記有“仁均本術(shù)”。劉羲叟的新志則注明為“今所記者,善為所較也”([25],頁2120)。以下稱傅仁均于武德元年進(jìn)獻(xiàn)的歷法為“傅仁均原歷”,崔善為等校定的歷經(jīng)為“校定戊寅歷”。
新志開篇即曰:“《戊寅歷》上元戊寅歲至武德九年丙戌,積十六萬四千三百四十八,算外?!?([25],頁2120)天文學(xué)史家據(jù)之認(rèn)為傅仁均是“典型的上元法論者,出于將唐高祖登極之期神圣化的考慮,借用了多歷元法的形式,不自覺地發(fā)展了多歷元法,開啟了元代郭守敬等人《授時歷》實測多歷元法的先聲”([17],頁347)。但《戊寅歷》完成于武德元年,這到武德九年的上元積年當(dāng)是崔善為等推算的。新志曰:“九年,復(fù)詔大理卿崔善為與孝通等較定,善為所改凡數(shù)十條。初,仁均以武德元年為歷始,而氣、朔、遲疾、交會及五星皆有加減,至是復(fù)用上元積算?!?[25],頁2119)新志這段話明確交待了三個重要問題:其一,傅仁均原歷是以武德元年為“歷始”(即歷元)的;其二,傅仁均原歷的“氣、朔、遲疾、交會及五星”等項目皆設(shè)立了“加減差”;其三,上元積年推算是崔善為等人恢復(fù)的。
用現(xiàn)代天文學(xué)回推當(dāng)年的節(jié)氣時刻,得武德元年的天正冬至(時間在617年)和其天正月朔同為癸亥日,但冬至?xí)r刻已經(jīng)在夜半后2.57刻[26]。據(jù)此,傅氏當(dāng)年推算得到的結(jié)果可能正是“武德元年天正冬至恰為甲子日夜半合朔”,這是古代歷法推算需要的特別的節(jié)點(diǎn)天象。于是,傅仁均向皇帝報告:“唐以戊寅歲甲子日登極,歷元戊寅,日起甲子,如漢《太初》,一也?!?[25],頁2118)可見,傅仁均當(dāng)時是十分激動地告訴朝廷,戊寅歲冬至可以作為歷元,其意義等同于漢武大帝太初改歷時刻。傅仁均此請求迎合了朝廷的需求,自然很快得到了批準(zhǔn),其進(jìn)獻(xiàn)的歷法因此得名《戊寅元?dú)v》,這個“戊寅元”就是《戊寅歷》的編成年份——武德元年。
在《舊唐書·傅仁均傳》中,記錄有這樣一段傅仁均答辯王孝通駁難的文字,其中明確顯示了傅氏的歷元觀念:“夫理歷之本,必推上元之歲,日月如合璧,五星如連珠,夜半、甲子、朔旦、冬至(2)“朔旦、冬至”是古歷的一種習(xí)慣表述,意思是合朔和冬至在同一日?!八返敝杆吠碌摹俺跻弧?。“夜半、甲子、朔旦、冬至”的意思即為,合朔和冬至?xí)r刻同在甲子日的夜半時刻。。自此以后,既行度不同,七曜分散,不知何年更得余分普盡,還復(fù)總會之時也?唯日分氣分得有可盡之理,因其得盡,即有三端之元。故造經(jīng)立法者,小余盡即為元首,此乃紀(jì)其日數(shù)之元,不關(guān)合璧之事矣。時人相傳,皆云大小余俱盡,即定夜半、甲子、朔旦、冬至者,此不達(dá)其意故也。何者?冬至自有常數(shù),朔名由于月起,既月行遲疾無常,三端豈得即合?故必須日月相合與冬至同日者,始可得名為合朔冬至耳。故前代諸歷,不明其意,乃于大余正盡之年而立其元法,將以為常,而不知七曜散行,氣朔不合。今法唯取上元連珠、合璧、夜半、甲子、朔旦、冬至、合朔之始,以定一九相因行。至于今日常取定朔之宜,不論三端之事。皮延宗本來不知,何承天亦自未悟,何得引而相難耶?”[27]傅氏的大意是說,“日月如合璧,五星如連珠,夜半、甲子、朔旦、冬至”,是理想上元時刻的天象。由于上元的數(shù)字一般都很大,理想上元之天象人們并無實際觀測之可能。七曜自上元時刻同時出發(fā),而后散行,不知何年才能“還復(fù)總會之時也”,天算家能夠看到的無非朔分和氣分同時為0之時恰在甲子日的“天象”,此“天象”發(fā)生的頻率乃1紀(jì)1次。但如果就此即把這種理論上可能發(fā)生的天象之時刻作為“夜半、甲子、合朔、冬至”(即日月相合恰好發(fā)生在冬至日的夜半時刻),還是錯誤的。傅仁均的結(jié)論是:“冬至自有常數(shù),朔名由于月起,月行遲疾無常,三端安得即合?!奔纯紤]到日月不均勻運(yùn)動,“三端”仍然不能相合??傊凳详P(guān)于歷元問題的態(tài)度就是:上元不過就是一個理想概念,實際“造經(jīng)立法”時,則“常取定朔之宜,不論三端之事”,也“不關(guān)合璧之事矣”!
首先來看《戊寅歷》的求“入平交分”術(shù)。舊志曰:“置入上元已來積月,以交會法去之。余以朔差乘之,滿交會法又去之。(仁均本術(shù),武德年加交差七百七十五萬五千一百六十四分。)余為所求年天正朔入平交分。”[28]新志對應(yīng)的術(shù)文則為“以朔差乘積月,滿交會法去之,余得天正月朔入平交分”([25],頁2135)。所謂“天正月朔入平交分”即推求所求年前十一月平朔時刻日月到黃白道交點(diǎn)的距離。我們知道,古歷的上元時刻,七曜是同度的?!八凡睢蹦怂吠屡c交點(diǎn)月值的差,用上元以來的“積月”數(shù)乘以朔差,所得為上元以來合朔點(diǎn)與交點(diǎn)分離的總量,即傅仁均所說的“散行”值。滿交會法去之,所余即為圖1中所示的“交差”。對于校定《戊寅歷》,此術(shù)的所求年是武德九年,而傅仁均原歷的所求年就是武德元年。舊志術(shù)文中括號內(nèi)的文字原來是用小字夾注給出的,且明確說明了所加交差值(7755164分)是“仁均本術(shù)”。按此分析,此“仁均本術(shù)”是不用計算上元以來“積月”的,傅仁均原歷的“交差”和《授時歷》的“交應(yīng)”不僅概念相同,其在相應(yīng)算法中的作用也是相同的。
圖1 《戊寅歷》推天正月朔入平交分示意圖
古歷的歷法數(shù)值一般都是用分?jǐn)?shù)表示,不同數(shù)值的加減需要先進(jìn)行通分,但在古歷術(shù)文中經(jīng)常會省略其通分環(huán)節(jié)。以上舊志的術(shù)文中還先用交會法直接“滿去”積月數(shù),這是從《大業(yè)歷》繼承來的,目的是“滿去”的效率更高,不過算理上比較晦澀。新志的術(shù)文表述則更加干凈利落,這是劉羲叟整理的特色(3)劉羲叟編撰的《新唐書·歷志》和《新五代史·司天考》中在專門術(shù)語和語言表達(dá),乃至歷法結(jié)構(gòu)和算法表述等方面皆有出色的精煉或優(yōu)化。。
遺憾的是,舊志缺失推氣、朔、遲疾算法,其推五星算法也殘缺了可能用到五星會合周期差率值的“行五星法”,致使我們不可能更多地了解傅仁均原歷中除推交會算法以外的其他“加減差”內(nèi)容。新志的推“入平交分”術(shù)中沒有關(guān)于“交差”的注,其不缺的推氣、朔、遲疾、五星等術(shù)也都沒有傅仁均原歷各項“加減差”的影子,這應(yīng)該是劉羲叟對“近距歷元法”的態(tài)度所致。
其實,《新唐書·歷志》和《新五代史·司天考》類似這種涉及價值觀色彩的取舍例證很多,僅舉《新五代史·司天考》中與本文近距歷元法有關(guān)的一例即可見一斑。《舊五代史·歷志》記述了馬重績編制《調(diào)元?dú)v》的情況,以及馬重績進(jìn)獻(xiàn)歷法的表文,其記載內(nèi)容陳述較為客觀?!八咎毂O(jiān)馬重績始造新歷,奉表上之云:‘……自古諸歷,皆以天正十一月為歲首,循太古甲子為上元,積歲彌多,差闊至甚。臣改法定元,創(chuàng)為新歷一部二十一卷七章,上下經(jīng)二卷,算草八卷,立成十二卷。取唐天寶十四載乙未立為上元,以雨水正月朔為歲首?!瘯x高祖命司天少監(jiān)趙仁锜、張文皓,秋官正徐皓,天文參謀趙延乂、杜升、杜崇龜?shù)龋孕職v與《宣明》《崇玄》考核得失,俾有司奉而行之,因賜號《調(diào)元?dú)v》。仍命翰林學(xué)士承旨和凝撰序?!盵29]
但劉氏的《新五代史·司天考》則曰:“五代之初,因唐之故,用《崇玄歷》。至?xí)x高祖時,司天監(jiān)馬重績,始更造新歷,不復(fù)推古上元甲子冬至七曜之會,而起唐天寶十四載乙未為上元,用正月雨水為氣首。初,唐建中時,術(shù)者曹士蔿始變古法,以顯慶五年為上元,雨水為歲首,號《符天歷》。然世謂之小歷,只行于民間。而重績乃用以為法,遂施于朝廷,賜號《調(diào)元?dú)v》。然行之五年,輒差不可用,而復(fù)用《崇玄歷》?!?[18],頁2405—2406)更有甚者,《調(diào)元?dú)v》是施于朝廷的官歷(即大歷),按照正史歷志慣例,劉氏是應(yīng)該記載其歷法的,他毫不掩飾地說:“而《調(diào)元?dú)v》法既非古,《明玄》又止藏其家,《萬分》止行于民間,其法皆不足紀(jì)?!?[18],頁2406)就是說,即使《調(diào)元?dú)v》是大歷,但因其歷元法不是古法,在劉羲叟看來,它和小歷同樣“不足紀(jì)”。其“有色眼鏡”之義躍然紙上。
再來看《戊寅歷》的推氣與推朔術(shù)。舊志殘缺推氣、朔術(shù)。新志推朔術(shù)曰:“章月乘年,如章歲得一,為積月。以月法乘積月,如日法得一,為朔積日,余為小余。日滿六十去之,余為大余。命甲子算外,得天正平朔?!蓖茪庑g(shù)曰:“余數(shù)乘年,如氣法得一,為氣積日。命日如前,得冬至?!?([25],頁2122)《大業(yè)歷》的推朔、氣術(shù)分別為:“以月法乘積月,如法得一,為積日,余為小余。以六十去積日,余為大余,命以甲子算外,為所求年天正月朔日”“以月法乘閏余,又以章歲乘朔小余,加之,如氣法得一,為日,命朔算外,為冬至日”[30]。
凡推算上元積年的歷法,其推所求年天正氣、朔算法一般皆如《大業(yè)歷》的以上術(shù)文。推氣、朔法的算理可見圖2所示,其中“朔積”為上元以來的積年數(shù)乘以歷取朔望月值,“氣積”為積年數(shù)乘以回歸年值,或用圖2所示的關(guān)系:氣積=朔積+閏余。氣積、朔積的推算總是要使用積年數(shù)。但要特別注意的是,《戊寅歷》這里用“章月乘年”“余數(shù)乘年”,這里的“年”,對于校定戊寅歷即為圖2中的上元積年,而對于傅仁均原歷來說,則是所求年到歷元的年數(shù)。這里用“年”而不用“積年”,或許正是傅仁均原歷經(jīng)文未被劉羲叟抹去的痕跡。
圖2 推氣、朔算法意義圖示
為了更進(jìn)一步展示新志《戊寅歷》推氣、朔術(shù)文的意義與所透露的特點(diǎn),不妨再以《統(tǒng)天歷》和《授時歷》相應(yīng)術(shù)文比較如下。
《統(tǒng)天歷》求天正冬至術(shù)曰:“置上元距所求年積算,以歲分乘之,減去氣差,余為氣泛積?!瓭M紀(jì)實去之,不滿如策法而一為大余,不盡為小余。其大余命甲子算外,即得日辰?!逼淝筇煺?jīng)朔術(shù)曰:“置天正冬至氣定積,以閏差減之,滿朔實去之,不滿為天正閏泛余。用減氣定積,余為天正十一月朔泛積……滿紀(jì)實去之,不滿如策法而一為大余,不盡為小余。其大余命甲子算外,即得日辰?!盵31]
但《授時歷》的推天正冬至術(shù)則為:“置所求距算,以歲實(上推往古,每百年長一,下算將來,每百年消一)乘之,為中積。加氣應(yīng),為通積。滿旬周去之,不盡,以日周約之為日,不滿為分。其日命甲子算外,即所求天正冬至日辰及分。”其推天正經(jīng)朔術(shù)為:“置中積,加閏應(yīng),為閏積。滿朔實去之,不盡為閏余。以減通積,為朔積。滿旬周去之,不盡,以日周約之為日,不滿為分。即所求天正經(jīng)朔日及分秒。”[32]
《統(tǒng)天歷》術(shù)文中的省略部分與《授時歷》術(shù)文括號內(nèi)的注文意思一樣,是關(guān)于回歸年古大今小的計算,不在本文討論范圍。顯然,《統(tǒng)天歷》推氣、朔術(shù)中與“歲分”相乘的為“積算”(上元以來的積年數(shù)),而《授時歷》中與“歲實”相乘的則為“距算”。雖然二歷皆加減“氣差”或“氣應(yīng)”,“朔差”或“朔應(yīng)”,但是否從上元起算(即乘“歲分”或“歲實”的數(shù)是“積算”還是“距算”),才是關(guān)鍵所在。這一點(diǎn)取決于其歷法所用的歷元方法是“上元積年法”或是“近距歷元法”。
顯然,《戊寅歷》的“年”等同于《授時歷》的“距算”。從而,《統(tǒng)天歷》的歷元法為“上元積年法”,《戊寅歷》與《授時歷》的歷元法為“近距歷元法”。
綜合上述分析可以得到這樣的結(jié)論:傅仁均原歷并無上元積年推算,其在歷元問題上創(chuàng)造并使用了和《授時歷》歷元法實質(zhì)相同的“近距歷元法”。
我們知道,天文歷法史界從現(xiàn)代天文學(xué)的觀點(diǎn)出發(fā),對《授時歷》徹底廢除上元積年的改革之舉大加稱贊。但本文的考察表明,早在唐初,傅仁均已經(jīng)在其《戊寅歷》中得出了和《授時歷》歷元法實質(zhì)相同的創(chuàng)新,可惜很快就被崔善為等人于武德九年校歷時刪除了。按照今天的評價標(biāo)準(zhǔn),近距歷元法是中國歷法史上的一項重大創(chuàng)新,傅仁均的首創(chuàng)之功不應(yīng)該被淹沒。
在《授時歷議》中有這樣一段話:“古稱善治歷者,若宋何承天,隋劉焯,唐傅仁均、僧一行之流,最為杰出?!盵33]曾令筆者百思不得其解。因為我們知道,何承天、劉焯、僧一行皆是中國古代杰出的歷算大家,是中國天文學(xué)史上毫無爭議的三位里程碑式的人物。但以現(xiàn)有中國天文學(xué)史的研究成果來看,傅仁均可能和上述三位不在同一個檔次。現(xiàn)在看來,是《授時歷》作者十分看重傅仁均在歷元法及制歷理論方面的重要創(chuàng)新,而我們之前不知道其中的蹊蹺,從而無法讀懂《授時歷議》這段話。
上元的神圣價值觀存在于中國古代天文歷算家與文人大儒群體的心中。在這種大環(huán)境下,即使有技術(shù)派歷算家(如傅仁均)勇于革新,并且找到了好的方法可以棄上元而不用,那也僅是這些個別學(xué)者的勇敢實踐而已,在古歷發(fā)展史上往往只能是曇花一現(xiàn)。隨著中國傳統(tǒng)歷法不斷發(fā)展,上元積年法將“廢而不止”。我們今天盛贊《授時歷》徹底廢止了上元積年法,那可能是因為中國傳統(tǒng)歷法在其巔峰戛然停止了其發(fā)展腳步的緣故??傊瑢τ谏显e年法而言,“廢”與“止”是兩碼事。
致 謝感謝審稿專家提出的寶貴意見!