李 亮
(中國科學(xué)院自然科學(xué)史研究所,北京 100190)
從《細草》和“算式”看明清歷算的程式化
李 亮
(中國科學(xué)院自然科學(xué)史研究所,北京 100190)
本文通過明代《通軌》和清代《細草》等材料,闡釋明清官方如何借助“程式”和“算式”來操作天文算表,以實現(xiàn)歷法推算的“程式化”。通過中朝歷法交流中,李朝官員重賂欽天監(jiān),“密買”《細草》書冊等細節(jié),討論了《細草》的使用和傳播情況,及其在歷算中的重要性。此外,分析說明了《通軌》和《細草》在帶來推算便利的同時,也導(dǎo)致了歷法原理被忽視,影響了明清歷算的進一步發(fā)展。
通軌 細草 算式 崇禎歷書 西洋新法歷書
中國古代歷法通過一系列天文數(shù)據(jù)和天文表格的測算、相應(yīng)數(shù)學(xué)方法的創(chuàng)用以及具體推算方法的建立,有效地解決了各類天文學(xué)問題[1]。雖然不同的歷法在天文常數(shù)、數(shù)學(xué)方法和推算步驟上不盡相同,但通常都可以通過“公式法”和“立成法”這兩種方式來實現(xiàn)推算操作*如《明史·歷志》提到《授時歷經(jīng)》:“步七政盈縮遲疾,皆有二術(shù)。其一術(shù)以三差立算者,即布立成法也。其又術(shù)云,以其下盈縮分,乘入限分萬約之,以加其下盈縮積者,用立成法也。”其中將兩種方法稱為“布立成法”和“用立成法”。。其中,前者是依據(jù)歷法“術(shù)文”,以文字的形式給出具體推算方法及算式,后者則將推算結(jié)果事先編成各種算表,以“立成”*徐振韜主編《中國古代天文學(xué)詞典》對“立成”的解釋為:“指與日、月、五星不均勻運動改正相關(guān)的速算表格,類似于現(xiàn)代的表格計算法,立成多以日、度(或更小的單位)為表列間隔,日、度以下余數(shù)部分以比例內(nèi)插計算?!彪m然這一解釋依然不是很全面,不過“立成”是一種用于快速運算的算表,這一基本觀點是被廣泛接受的,而“立成”最遲在唐代大衍歷之后,被各歷法廣泛采用。等形式來實現(xiàn)推算*一些歷法同時介紹有這兩種方法,而部分歷法則以其中的一種為主。。如《崇禎歷書》記載“新歷任欲算某星經(jīng)緯,及交食等項,約有二法”[2],其一用諸三角形法推演,其二以先所推定諸表握算,二法皆為推步家當研尋者*文淵閣《四庫全書》的《天學(xué)會通》提要也記載:清代推算交食,凡有兩例,“一用積月、積日,以取應(yīng)用諸行度數(shù),由平三角、弧三角等法逐次比例,而得食分時刻方位者;一用立成表,按年月日時度數(shù),逐次檢取,角度加減,而得食分時刻方位者”[3]。而當時諸如薛鳳祚(1610—1656)等人的著作,即為“用表算之例,殊為簡捷精密”[4]。。
隨著對日月和行星運動以及插值計算等方面提出更高的要求,歷法的推算步驟和計算方法日趨復(fù)雜,僅通過“公式法”已經(jīng)無法應(yīng)對日常歷法運算帶來的大量計算負擔,于是“立成法”逐漸成為主要的推算手段。
明代郎瑛(1487—1566)曾指出“造歷之法,雖以氣盈朔虛,日月五星,推布挨算,然非至精至神之人不能也”,不過“若夫授以成算,則中人可為”[5]。他認為即便歷法推算非常復(fù)雜,倘若輔助以事先準備的算法和算表,普通人也可以進行推算,算表的使用讓歷算不再顯得那么復(fù)雜和專業(yè)。
由于史書篇幅的限制,縱觀正史《律歷志》中記載的各種歷法,通常是“雖有推法,而立成不能盡載”[6]。據(jù)《新唐書·藝文志》記載,《大衍歷》全文應(yīng)有四十七卷,其中包括“立成”十二卷,《宋史·藝文志》也提到唐宋歷法大都含有篇幅龐大的立成,不過多數(shù)《律歷志》中都將其舍棄,甚至鮮有提及。如《宋史·律歷志》雖多次提到“立成”,卻沒有給出相應(yīng)立成和介紹具體使用情況*《宋史》志第二十三、二十六、二十七和二十八卷曾多次提及“若用立成者”。。即便是詳細記載有授時歷的《元史·歷志》,也依舊放棄了立成部分*韓國奎章閣保存有《授時歷立成》,可參見 [7]。。這些資料的缺失,給我們認識古人如何實際操作歷法推算帶來了一定困難。
事實上,為了避免計算錯誤而造成嚴重的政治后果,古代歷法推算在很多方面都實現(xiàn)了高度的“程式化”,即通過一系列的規(guī)程來規(guī)范如何使用算表進行歷法推算。雖然由于資料的限制,我們無法探究早期歷法的使用情況,但通過一些新材料,我們還是可以對明清歷算的程式化獲得較為清晰的認識。
法國國家圖書館藏有一件朱印本清代歷法文獻,圖書館將其命名為《日食分秒時刻,并起復(fù)方位》(編號:Chinois 5015,見圖1),這份文獻篇幅不大,分為“日食算式”(共7頁)和“月食算式”(共4頁)兩部分,是兩份用于康熙年間日食和月食推算的空白表格。這兩份表格中,前者列有日食推算所需的16個步驟,后者列有月食推算所需的12個步驟,每個步驟下又給出了若干所需推算數(shù)值的名稱,并預(yù)留出空格,使用者可以依據(jù)“日、時、分、秒”或者“宮、度、分、秒”對各項進行逐一填寫。
圖1 法國國家圖書館藏“日食算式”(左)和“月食算式”(右)首頁
這份材料在以往的清代天文和歷法文獻中并不常見,因而顯得比較特殊。其中“日食算式”僅在梅文鼎《歷算全書》中有類似記載,梅文鼎將其抄錄于他所補遺和訂定的《交食蒙求》*分為《日食蒙求》和《月食蒙求》。之后,題為“步日食式”(見圖2)。比較兩者可以發(fā)現(xiàn),梅氏書中記載的算式與法國國家圖書館本的內(nèi)容基本一致,同樣分為“十六求”,只是部分步驟的先后順序做了調(diào)整(見表1)。月食部分,梅文鼎雖然沒有直接給出“算式”,但從其訂補的《月食蒙求》中可以得出相應(yīng)的步驟。兩者差異在于,與法圖本“月食算式”相比,梅氏書中多出了“求宿度”和“求各限地平經(jīng)緯”兩步(見表2)。此外,梅氏記載的“步日食式”書寫方式為“橫書”,而法圖本“日食算式”為“直書”*清初天文表格多為“直書”,此后大都改為“橫書”。。
圖2 梅文鼎訂補《交食蒙求》所附“步日食式”
法國國家圖書館藏《日食算式》梅文鼎訂補《日食蒙求》梅文鼎抄《步日食式》一、求諸平行一、求諸平行一、求諸平行二、求日月相距二、求日月相距二、求日月相距三、求實引三、求實引三、求實引四、復(fù)求日月相距四、復(fù)求日月相距四、求實距五、求實朔五、求實朔五、求實朔六、求躔離實度六、求實交周六、求實交周七、求宿度七、求躔離實度七、求日實度八、求視朔八、求視朔八、求視朔九、求實交周九、求徑距較數(shù)十、求徑距較數(shù)十、求徑距較數(shù)十、求近時十、求近時十一、求近時十一、求真時十一、求真時十二、求真時十二、求考定真時十二、求考定真時十三、求考時十三、求食分十三、求食分十四、求食分十四、求初虧時刻十四、求初虧時刻十五、求初虧時刻十五、求復(fù)圓時刻十五、求復(fù)圓時刻十六、求復(fù)圓時刻十六、求宿度十六、求宿度
表2 “月食算式”推算步驟比較
據(jù)梅文鼎所言,“《(崇禎)歷書》有《交食蒙求》《七政蒙引》二目,今刻本并皆逸去”[8]。查《治歷緣起》,徐光啟在1633年(崇禎六年九月二十九日)奏疏中提及有“《交食蒙求》一卷”*《崇禎歷書·治歷緣起》崇禎六年九月二十九日奏疏[9]。,并在次年第5次進呈崇禎皇帝的書目中稱其“系遠臣湯若望譯撰”*《崇禎歷書·治歷緣起》崇禎七年十二月初三日奏疏[9]。。雖然湯若望的《交食蒙求》在正式刻本中逸去,梅文鼎還是通過各種途徑將其復(fù)原,并為其訂補和附說*據(jù)日本天理圖書館藏江戶時代天文家、和算家戶板保佑(1708—1784)組織抄寫的朱□較訂《崇禎歷書》,其中《交食蒙求》即湯若望《測食》,全書分上下兩卷,題“交食蒙求”上、下,上卷由“總論”起,至“日食月食辯”止,下卷由“月影為地影所隔”至“食不言征應(yīng)”止。下卷第二十頁提到,“望承命以西洋法測”,知為湯若望所撰。至于梅氏《交食蒙求》的來源有待進一步考證。。
《交食蒙求》和《七政蒙引》與《崇禎歷書》中注重理論的《歷指》部分不同,它們是針對交食和七政具體推算的手冊,正如梅文鼎所言:“《崇禎歷書》之有《細草》,以便入算,亦尤授時歷之有《通軌》也,蓋即《七政蒙引》?!盵8]可見,《交食蒙求》和《七政蒙引》這兩部著作亦可被稱為《交食細草》和《七政細草》*梅文鼎《歷算全書》介紹有《交食細草》和《七政細草》。,其功能與明代歷法著作《大統(tǒng)歷法通軌》(下文簡稱《通軌》)相似。
《通軌》為明代洪武年間欽天監(jiān)監(jiān)正元統(tǒng)所編,是明代官方使用的歷算手冊*包括《歷日通軌》《太陽通軌》《太陰通軌》《交食通軌》(又分為《日食通軌》和《月食通軌》兩部分)《五星通軌》和《四余通軌》。?!睹魇贰v志》記有“《通軌》諸捷法,實為布算所須”[10]。據(jù)元統(tǒng)所言,該書由他“采諸正經(jīng),附以己意,輯為《通軌》”,用途是“俾幼學(xué)之士,遵而行之。亦得以掉臂長往,而無趑趄之患焉爾”[11]?!锻ㄜ墶穼嶋H上是介紹如何按規(guī)范使用算表和基本算法進行推算的手冊*石云里認為,《授時歷經(jīng)》在計算方法上以推步為主,使用立成的方法只是作為“又術(shù)”附錄其后,而《大統(tǒng)歷法通軌》則突出了以基于立成的“諸捷法”的地位。具體可參見《古代朝鮮學(xué)者的〈授時歷〉研究》[12]一文。,如其中《太陰通軌》和《五星通軌》就分別設(shè)有“九道行款格律程式”和“五星入式程規(guī)”等。初學(xué)者只需經(jīng)過基本訓(xùn)練,不需要太多理論基礎(chǔ),就可以實現(xiàn)操作?!锻ㄜ墶凡坏珜Ω黜棽僮饔忻鞔_的規(guī)定,作者甚至把全書的計算過程都設(shè)計成表格,并留出空位,稱為“程式”,以輔助推算。使用者只需在算表和算法的配合下,按照“程式”所示的步驟,按圖索驥,將每步計算的結(jié)果填入其中指定的位置,就可以逐步完成全套計算(見圖3和圖4)。各卷《通軌》通常都是先給出“用數(shù)目錄”*即羅列出已知的各種天文和歷法常量。,其次提供“程式”,列出需要計算的各步驟名稱和順序,然后以“格”為單位介紹各步驟所依據(jù)的術(shù)文,并且附有所需的算表,即該書各卷在內(nèi)容上大致分為“用數(shù)”“程式”“術(shù)文”和“立成”四大部分。
為了實現(xiàn)計算的“程式化”和“機械化”,書中各步驟都以“格”為單位安排,每一步推算都被設(shè)計成一格,如“推第幾格”*如《太陽通軌》的內(nèi)容就包括:推第一格四正定氣、推第二格相距日、推第三格四正加時黃道積度法、推第四格加時減分法、推第五格夜半積度法、推第六格黃道宿次法、推第七格相距度法、推第八格日差法。。書中“凡例”對此還做了明確的解釋,即“凡言格者,指界畫每一方科為之一格也。如第一、第二者,自上而下數(shù)之也。凡言推得者,言推得即算也,指當用之數(shù),今算得也”[13]。從該書各部分內(nèi)容來看,幾乎所有推算都是通過這種形式來實現(xiàn),如《交食通軌》明確要求“凡推算交食,必依此而錄之”,《五星通軌》有“凡推算五星者,依此式界劃填寫各數(shù)”,《四余通軌》也記有“凡推算四余,依洪武歲次各年躔度格式,今以洪武己巳為例,仿此”等[11]。*此為李朝銅活字印本,這段文字前有“中朝書來”字樣。
圖3 國家圖書館藏《交食通軌》中的“程式”
圖4 韓國奎章閣藏《交食通軌》所附已填寫完畢的“程式”①
事實上,除了《大統(tǒng)歷法通軌》,在元統(tǒng)所編的另一部回回歷法著作《緯度太陽通徑》[14],也采用了類似的推算方式。例如,其中介紹有“推緯度太陽程式”,通過含有九個“格”的“程式”來實現(xiàn)大統(tǒng)歷日和回回歷日,以及太陽黃道經(jīng)度位置的推算。
雖然梅文鼎提到“《崇禎歷書》之有《細草》,以便入算”,且《細草》與《通軌》相類似,不過從當時已刊刻的各種官方著作來看,無論是《崇禎歷書》還是此后的《西洋新法歷書》中,皆沒有提供《細草》,甚至幾乎沒有與《細草》相關(guān)的信息。那么《崇禎歷書》所含的《細草》究竟是一種什么著作?
《細草》是一種在中國古代數(shù)學(xué)著作中常見的題材,通常用于對經(jīng)典著作進行推理演算和詳細注釋,如《張丘建算經(jīng)》除了包括有甄鸞和李淳風(fēng)的注外,還有劉孝孫的細草。也有一些數(shù)學(xué)著作直接以“細草”為名,如北宋賈憲的《黃帝九章算經(jīng)細草》等,不過現(xiàn)存以《細草》為書名的數(shù)學(xué)著作,大多編撰于18世紀和19世紀*數(shù)學(xué)著作中常見的《細草》如:李潢(1746—1812)的《九章算術(shù)細草圖說》和《海島算經(jīng)細草圖說》,李銳(1768—1817)的《測圓海鏡細草》《勾股算術(shù)細草》和《弧矢算術(shù)細草》,羅士琳(1789—1853)的《四元玉鑒細草》,以及匿名的《透簾細草》等。。
相比數(shù)學(xué)著作,《細草》在中國古代天文和歷法著作中卻相對比較少見,也容易被人忽視*天文歷算中使用細草的傳統(tǒng)此后也傳入日本,在日本東北大學(xué)和日本東京天文臺至今還保存不少18世紀至19世紀的細草和算式文獻,如日本東北大學(xué)藏有戶板保佑編《崇禎歷法細草月食術(shù)》,其中使用了算式推算1773年(安永二年)癸巳八月十四日辛丑望食。。目前與《細草》有關(guān)的天文著作,除了梅文鼎訂補的《交食細草》*另據(jù)《勿庵歷算書記》中《交食蒙求訂補》條記載:“《交食細草》原只十六求,厥后復(fù)增為十七求者”??芍肺亩υ谟喲a中對《交食蒙求》做了一些調(diào)整。和《七政細草》*收入梅文鼎《七政細草補注》,包括:推日躔法、推月離法、推土木星法、推火星法(附假如),推金水星法,推凌犯法,考節(jié)氣法、定合朔弦望法、求月入宮(月升法)、求月孛羅計法、求五星伏見法、求五星退順入宮法、求五星留逆法。外,還有藏于故宮博物院和中國科學(xué)院自然科學(xué)史研究所的《細草》*中國科學(xué)院自然科學(xué)史研究所藏有抄本《天文書》一冊,編號:子520/131,其內(nèi)容與下文討論韓國奎章閣藏《七政細草》基本一致,屬于同一著作的不同抄本。,以及李朝天文學(xué)家抄回朝鮮的《玄象新法細草類匯》和《七政細草》等*其他《細草》又如金華人張作楠(1772—1850)所著的《交食細草》?!督皇臣毑荨纺甏鄬^晚,其內(nèi)容分為上下兩卷,上卷為“推道光三年(1823年)十二月十六日庚戌望月食”,下卷為“推道光四年(1824年)六月癸巳日食”,作者稱皆“依蘇州府北極出地三十一度二十三分偏東四度〇一分推算”且“草內(nèi)各四率及句股各術(shù),俱用對數(shù)表,以加減代乘除,以折半代開方”。序言中作者還指出撰寫此書的目的,因“草野之士每以不得讀中秘書為憾,而得其書者,又每以義蘊精深,無從入手”,所以依欽天監(jiān)求交食法,編撰該《細草》??梢?該書只是借用了官方《細草》的體例,實際是一部私人著述。。
故宮所藏《細草》為清康熙內(nèi)府抄本,因封面缺失,亦無序跋,圖書館將其題為《算七政交食凌犯法》(見圖5)。從該書內(nèi)容上看,實際是一套完整的《細草》*內(nèi)容包括:推日躔法、推月離法、推土木星法、推火星法、推金水二星法、求節(jié)氣時刻之法、求太陰入宮時刻之法、求五星入宮之法、求合朔弦望時刻之法、求月與五星同度時刻之法、求五星同度時刻之法、求月與恒星同經(jīng)度時刻之法、求五星與恒星同經(jīng)度時刻之法、求五星沖伏時刻之法、推日食法、推日帶食分法、推月食法、推帶食分法、求月凌犯恒星法、求月犯五星法、五星相凌犯法、求凌犯視差法。,其中“推日食法”(共十六求)和“推月食法”(共十二求)與法國國家圖書館藏《日食算式》和《日食算式》完全對應(yīng)*僅《日食算式》中的“十五求初虧時刻”,在該《細草》被誤抄為“十五求虧復(fù)時刻”。。基本上可以判斷這本《細草》與上文所介紹的“算式”是相互配合使用的。
圖5 故宮博物院圖書館藏《算七政交食凌犯法》
下面以該《細草》的“推日躔法”為例,說明其使用情況,部分內(nèi)容如下:
推日躔法
年根 一、察本年根,按各年根冬至起算,非各正月起算也,寫于年根格內(nèi)。隨錄本年高沖書于傍紙。
日數(shù) 二、察于本冬至后一日至某日,有幾日即用幾日之日數(shù)。至太陽周歲平行表內(nèi),一卷三十三張,其宮度分秒之數(shù)凡滿三十度,則進一宮,寫于日數(shù)格內(nèi),隨錄本日高行于傍紙下,相加得數(shù)記之。
時數(shù) 三、從子正起至某時,止有幾時,用此數(shù)。至周日時對準日行表,在一卷五十五張內(nèi),相對分秒寫于時數(shù)格內(nèi)。
平行 四、年根日數(shù)、時數(shù)、宮度分秒,一并相加于平行格內(nèi)。
高沖 五、將傍紙所記加得高沖之數(shù),寫于高沖格內(nèi)。
引數(shù) 六、平行內(nèi)減去高沖之數(shù),若不足減者,加十二宮減之,為引數(shù),寫于引數(shù)格內(nèi)。
均數(shù) 七、以引數(shù)宮度分至二卷加減差表內(nèi),察相對之均數(shù),記書加減號,得數(shù)寫于均數(shù)格內(nèi),但察均數(shù)前六宮,〇、一、二、三、四、五宮者,其度分在上順察,后六宮,六、七、八、九、十、十一宮者,其度分在下逆察。在上號加,在下號減,若用比例將先均數(shù)與后均數(shù), 相減所得之秒數(shù),用此秒與引數(shù)之余分相乘,所得數(shù)去尾數(shù)與先均數(shù)或加或減。若先均數(shù)大于后均數(shù),用減。若小于后均數(shù),用加,即得。本引數(shù)之均數(shù)寫于均數(shù)格內(nèi)。
實行 八、均數(shù)依加減號,或加或減于平行為實行,寫于實行格內(nèi)。[15]
以上文字用術(shù)文的形式介紹了如何通過查表和簡單的推算獲得太陽的“實行”,即太陽在黃道的實際經(jīng)度。從中我們可以看出《細草》的一些特點。
首先,每一個小的步驟都有各自名稱,如“年根”“日數(shù)”和“時數(shù)”等,并且這些步驟在“算式”中都有相應(yīng)的“格”。推算時,只需根據(jù)查表內(nèi)容,將相應(yīng)結(jié)果寫入對應(yīng)的格中,或者對之前若干“格”中的數(shù)據(jù)進行基本四則運算,就可得到下一步所需結(jié)果。
其次,部分步驟還明確給出所需查詢算表的名稱和頁碼,如求“日數(shù)”需要“至太陽周歲平行表內(nèi),一卷三十三張”,求“時數(shù)”則需要“至周日時對準日行表,在一卷五十五張內(nèi)”。根據(jù)這些算表的名稱和頁碼,我們可以判斷,與該《細草》配套使用的是《西洋新法歷書》的算表,而并非《崇禎歷書》*《西洋新法歷書》和《崇禎歷書》的日躔表內(nèi)容有所差異。《西洋新法歷書》中《日躔表》第一卷第三十三頁為“太陽周歲平行表,一名平行經(jīng)度”,五十五頁為“周日時對準日行表”。而《崇禎歷書》無法與此對應(yīng)。。其中諸如“一卷三十三張”,即指《西洋新法歷書》中《日躔表》第一卷的第三十三頁。
另外,值得注意的是,除了需要空白的“算式”表,推算中還需要“傍紙”用于記載臨時數(shù)據(jù)。如文中提到,在查“年根”的過程中,需要“隨錄本年高沖書于傍紙”??梢?哪些步驟和數(shù)據(jù)需要填入“算式”是有明確規(guī)范的,對于不是很重要的步驟以及部分臨時數(shù)值,則要單獨書寫在“傍紙”中。這也說明了“算式”的主要作用包括了指示和引導(dǎo)推算步驟,記錄和存儲重要的中間值,以及適當?shù)妮o助計算。
從這份故宮藏康熙內(nèi)府抄本《細草》和法國國家圖書館藏康熙年間的“算式”表比較來看,兩者需要搭配使用,缺一不可*另外,奎章閣藏《七政細草》“土木細草”部分記載有“土木細草:土星用土星表,木星用木星表,此二星格式與查算俱一樣法”,自然科學(xué)史所藏《天文書》也有“金水二星用法:金星表,水星表,此二星格式查算俱同一樣法,惟水星不用次實引”。這也反映出細草是與“格式”搭配使用。。即通過《細草》“術(shù)文”引導(dǎo)如何運用《西洋新法歷書》算表,進行查表運算,并將各步驟的結(jié)果挨個填入“算式”以方便推算和復(fù)查。
除了以上資料,還有李朝天文學(xué)家?guī)Щ爻r的《玄象新法細草類匯》和《七政細草》,這不但提供了中朝歷法交流的許多細節(jié),也為我們更好的認識和理解《細草》的使用和傳播情況提供了諸多旁證。
古代朝鮮統(tǒng)治者注重學(xué)習(xí)中國的天文歷法,中國的歷法最遲從元朝開始就系統(tǒng)地傳入朝鮮半島,其中就包括授時歷、大統(tǒng)歷和回回歷法等。入清之后,雖然朝鮮一直對清朝充滿了蔑視和憎惡,但迫于時局的壓力,不得不與其維持宗主和藩屬的關(guān)系,奉清朝“正朔”,使用清朝的歷法。
為了使本國歷法與清國保持一致,又不能每年被動地等待清國頒歷,1649年李朝“遣天文學(xué)正宋仁龍學(xué)西洋歷法于清國”。由于清初“歷書私學(xué),防禁至嚴”,他只得到湯若望的略加口授,并獲“贈縷子草冊十五卷”[16]。1652年金尚范被派往北京,希望通過“重賂學(xué)于欽天監(jiān)”和“密買”書冊的方式,學(xué)習(xí)西洋歷法的具體推算方法,但由于“彼處求索無厭”加之“門禁極嚴”,使得“所用賂物,極其過濫”*《承政院日記》(孝宗三年,順治九年,1652年9月24日條)[17]。,效果不佳。金尚范雖然購得《日躔表》《月離表》等書籍,并學(xué)會了《時憲歷》歷書的基本編算方法*也就是說,到1652年為止,金尚范只學(xué)得《時憲歷》日躔、月離之梗概,僅僅能滿足民用歷書的編算需求,但日月交食與五星算法則未能習(xí)得。。但苦于欽天監(jiān)內(nèi)部的線人“退托遷延”及“許多縷子,未及考出”*《承政院日記》(孝宗五年,順治十一年,1654年9月14日條)[17]。,以至七政推算等歷法的核心內(nèi)容尚未習(xí)得*《承政院日記》(孝宗五年,順治十一年,1654年9月14日條)記載:“今年始行新歷, 而七政仍存舊法,莫重改歷之舉, 尚未完了。上年入送金尚范, 而彼人退托遷延,最后肯許,求索禮物, 故因使臣,分付赍去三百兩貨,全數(shù)傳給,則彼以日勢已迫,許多縷子,未及考出” [17]。。
諸多線索表明,李朝使臣除了購買清廷公開出版的西洋歷法書籍,還十分注重“縷子”和“年根”等物的獲取,他們認為“雖不可送人請學(xué),今此使行之時,帶同日官一、二人,令譯官探問于欽天監(jiān),若得近歲作歷縷子,推考其法,解其疑難處而來,則庶可推測而知之矣”[18]。其中提到的“縷子草冊”和“縷子”等,實際就是用于推算歷法的《細草》以及填寫完畢的“算式”(即假如,又稱假令,為推算實例)。
此外,由于清朝的歷法曾先后多次調(diào)整,搜尋最新版本的《細草》,對朝鮮歷官就顯得尤其重要。如1727年(雍正五年):“入送歷官于燕京, 使之較準歷法,學(xué)來七曜算本,而第非《御定歷象考成》及《細草》等冊子,則亦不能推算成歷。云:此兩冊甚緊要,不可不及時貿(mào)來?!?《承政院日記》(英祖四年,雍正六年,1728年10月24日條)[17]。可見,除了急于購得清廷官方正式出版的《御定歷象考成》,欽天監(jiān)內(nèi)部使用的《細草》亦被認為是緊要之物。又如1735年(雍正十三年)記載有:“彼中,方有改正歷法之事,故上年陳奏使行,差送監(jiān)官安重泰,覓得新法《七曜歷理》十冊及《日躔表》《月離表》《細草》三冊而來,皆是歷家推步之緊要方書?!逼渲羞€強調(diào)需將“《日躔表》《月離表》《細草》及時印布于推算官,然后可以無弊成歷”*《承政院日記》(英祖十一年,雍正十三年,1735年5月19日條)[17]。。
目前在韓國奎章閣還保存有當年從清朝抄回的多份《細草》,其中最完善的是許遠的《玄象新法細草類匯》(簡稱《細草類匯》)。據(jù)該書序言記載:
乙酉冬(康熙四十四年,1705年)朝廷特令臣以踵尚范故事,臣遠受命而往燕京,從欽天監(jiān)官何君錫,書得兩歷法推步之術(shù)多種,文法書冊貿(mào)覔無遺,而事系禁秘,金、水年根、日躔高沖及交食推解之法,猶有所未盡學(xué)得,又于戊子冬(1708年)再往而覔來。莫重改歷之舉,經(jīng)營六十余年,今畢完了。蓋此法艱巨,授受之際,隨端問答,或以片札,或以小紙者有之,故合成卷軸,名之曰《細草類匯》。日月、五星、次舍、沖照、交食、凌犯、順逆、遲疾、南北經(jīng)緯、太陽之出入進退,以星求時,以時求星等術(shù),莫不畢載。此書之于歷家猶之工師之準繩規(guī)矩,舍此則無以立象成器,今星翁歷官執(zhí)籌而臨之,茫然自失之弊,開卷即得,瞭如指掌。從今以往二百年間,庶不復(fù)歷日、交食之注誤,而與天纖忽不爽矣,其于欽若授時之政,所補豈淺淺哉。[19]
通過這段文字,我們可以得知以下信息。首先,許遠強調(diào)了該書的作用及其重要性。該書內(nèi)容豐富,包括日月和五星運動、交食、凌犯等推算,基本涵蓋了歷算的各個方面*內(nèi)容包括:日躔細草、土木細草、金星細草、水星細草、火星細草、月離細草、推節(jié)氣、推合朔弦望時刻法、推太陰交宮法、推五星順行交宮法、推五星退行交宮法、推五星合伏時刻法、推五星合退伏時刻法、推五星順行同度時刻法、推五星合逆行同度時刻法、推五星一順一逆同度時刻法、取五星順退伏留同度沖等法、求日躔月離次年年根法、求月離年根法、推測時刻、晨見夕見晨不見夕不見法、取五星順退伏留同度沖等法、求月孛羅睺計都入宿法、天文科算中星。。使用此書不但可以快速推算,而且可以有章可循,減少出錯概率,即“開卷即得,瞭如指掌”,而避免“茫然自失之弊”。其中還強調(diào)“此書之于歷家,猶之工師之準繩規(guī)矩”,也表明了該書的性質(zhì)是指導(dǎo)和規(guī)范具體推算的操作手冊。
其次,許遠還指出,這些《細草》是通過欽天監(jiān)的何君錫獲得*另可參見“Another Look at the Introduction of the Shixian li 時憲歷 Calendrical System into Late Joseon Korea” ,[17]一文,見[20]。。另據(jù)《承政院日記》記載,起初是“本監(jiān)歷日與清歷每相差謬, 頃于乙酉年, 定送監(jiān)官員許遠于北京”,許遠貿(mào)得方書,學(xué)成歸來后,從此歷書的大小月、二十四氣、上下弦望時刻分秒等推算“無不脗合”。不過,此后又出現(xiàn)二百恒年表中的年根與算法不合的問題,故許遠又以書往復(fù)于何君錫,獲得1705—1713年(乙酉至癸巳年)的“年根”。“年根”實際上是恒年表中,歷年推算起點即冬至日時刻,天體各種平行運動數(shù)值,“年根”的推算往往是歷算的第一步,然而《西洋新法歷書》和《崇禎歷書》恒年表中部分內(nèi)容不一致,并且“年根”的查表結(jié)果與算法亦相互不合,這就給歷算給帶了極大的困難。以致于李朝官員感慨“所謂年根,乃作歷之宗法,無此,則布算者,無從下手”,所以必須設(shè)法定期從清朝獲得*《承政院日記》(肅宗三十四年,康熙四十七年,1708年6月20日條),見[17]。。
由于只從何君錫處得到數(shù)年的“年根”數(shù)據(jù),擔心“癸巳以后,實無推算之路”,且“日月食時刻分秒,每多違舛”,為了徹底解決這些問題,因此“必及何君錫未死之前,學(xué)得以來”,隨即許遠又于戊子冬被派往燕京。在付出不少酬勞后,終于從何君錫處習(xí)得未盡之法*據(jù)《承政院日記》(肅宗三十五年,康熙四十八年,1709年3月23日條)記載“所謂金、水星年根未透處及日月蝕法,可考諸冊,幸得貿(mào)來,而并與中間通言人所給情債,其數(shù)為一百兩”,見[17]。。其中,《細草》就是此次“貿(mào)來”的資料之一,許遠隨后將其匯集整理成《細草類匯》。
此外,值得注意的是,《細草類匯》中的部分內(nèi)容次序顛倒,如《日食細草》的第一求,在介紹“一格”后,就直接跳到“五格”“八格”等,極為混亂(見圖6)。造成這種現(xiàn)象的原因,或許如序言中所提,因為“事系禁秘”,許遠與何君錫的交流是通過“授受之際,隨端問答”的方式,而全書則是根據(jù)“或以片札,或以小紙者有之”的零散記錄抄成。在抄寫《細草》的同時,許遠還抄回一些“假令”,如康熙三十一年(1693)壬申歲正月初一日食,康熙三十四年(1695)乙亥歲十月十五日月食等,附于《細草》之后,這些“假令”實際就是此前欽天監(jiān)填寫完畢的“算式”,被抄回當作實例,用于學(xué)習(xí)和研究*日本東北大學(xué)圖書館也藏有朱校訂抄本《崇禎歷書》算式,其中詳細記載了使用新法推算的“萬歷丙申八月朔日食新法”“崇禎壬申三月望月食”“庚寅順治七年十月日食”“康熙十五年丙辰五月朔日食”細草算式。。
圖6 許遠《日食細草》(左)及其所附《日食假令》(右)
除了許遠的《細草類匯》,奎章閣還保存有其他幾種抄本《細草》,如《七政細草》*內(nèi)容包括:日躔細草、土木細草、金星細草、水星細草、火星細草、月離細草、推節(jié)氣 、推合朔弦望等。。不過從內(nèi)容上看,其內(nèi)容與《細草類匯》基本一致,應(yīng)當是基于《細草類匯》的重抄本。
在解決《細草》的內(nèi)容、特征及其與“算式”的關(guān)系后,還需要解決一些問題,如《細草》為何在官方文獻中鮮有記載?能否找到欽天監(jiān)在實際推算中使用“算式”的其他證據(jù)?
事實上,雖然一些官方著作沒有直接提及《細草》和“算式”的使用,我們依然可以在《崇禎歷書》中找到使用“算式”的痕跡。如《五緯歷指》中“木星新測”部分就有“用圖”和“算式”*《崇禎歷書·五緯歷指》卷三,第二十五頁,見[21]?!敖鹦切聹y”部分也記載有“用表算式”*《崇禎歷書·五緯歷指》卷五,第二十四頁 ,見[21]。,該書在討論“五緯犯恒星式”時也標明“算式圖列后”,并給出了1634—1635年(崇禎七年至八年)的3份推算木星犯積尸氣的算式*《崇禎歷書·五緯歷指》卷八,第二十九至三十頁,見[21]。。可見,在崇禎年間,官方的西法歷算中也使用了“算式”,只不過相關(guān)痕跡被淹沒在這部卷軼浩繁著作中,被我們所忽視。與“算式”相配套的《交食蒙求》和《七政蒙引》等著作,在正式刻本又皆逸去,所以未能引起我們的關(guān)注。
此外,需要指出的是,《崇禎歷書》“金星新測”中給出了1634年(崇禎七年十月十五日酉正時刻)的“用表算式”,但這部分內(nèi)容卻在此后的《西洋新法歷書》中被刪去。原因是作者在填寫該“算式”時誤用了“金星緯行表”,由于此表的數(shù)據(jù)前六宮與后六宮對稱,但讀取方向卻相反,“算式”的填寫者,在讀取算表時弄錯了方向,誤填了其中“后中分”的數(shù)據(jù),從而導(dǎo)致整個結(jié)果出錯,這個錯誤很可能在此后被發(fā)現(xiàn),再次刊印時該內(nèi)容被刪除??梢耘c此相印證的是,黃宗羲在其《西歷假如》中,也使用“金星算式”對此做了重新推算,并給出了正確的結(jié)果*另一點不同是《崇禎歷書》中的算式使用了“中比例”(即一次插值),而《西歷假如》直接取整,沒有插值。(見圖7)。
圖7 《崇禎歷書》金星“用表算式”(左),《西歷假如》“金星算式”(右)
這也反映出,在西法使用的初期,由于歷局官生對西方算表的使用并不熟練,即便有“算式”可依,還是有出錯的可能??梢韵胂?倘若沒有“算式”的協(xié)助,推算中出錯的概率可能更大。
由于“算式”的便捷,在當時不僅被歷局所采用,梅文鼎、黃宗羲和薛鳳祚、徐發(fā)等人也接觸到了這些方法,并通過不同的形式在其各自的著作中采用,如梅文鼎和黃宗羲在上文中已有介紹,而薛鳳祚在其《氣化遷流》中,甚至將“算式”用于星占所用的天宮圖的推算。徐發(fā)在其《天元歷理》中,也將“算式”之法用于自己的歷法中,如書中提到“五緯皆用此格推”,并且強調(diào)“挨序譜之,其各星之同舍、別舍、遲速、遠近燎然在目”[22]。
第一,優(yōu)秀的歷法,不僅需要有足夠的推算精度,而且還應(yīng)該內(nèi)容完備,便于學(xué)習(xí)和使用,如薛鳳祚所言“歷學(xué),理有解、圖有式、表有說,斯云大備”[23],《崇禎歷書》也記載“《日躔》《月離》二書,皆有歷指及表,歷指以明其理,表以著其數(shù),《五緯》如之,然不明其用,則算者無從下手”[21]。然而,《崇禎歷書》實為應(yīng)急之作,書中的理論、算法及算表,通常不相匹配,甚至自相矛盾,《西洋新法歷書》雖然對其做了少量的更正,但仍然談不上完備。甚至從兩部著作中,我們很難確定當時的西法推算依據(jù)何種算法和步驟,其中算表如何具體操作和使用亦不明晰。
通過《細草》和“算式”,使我們一定程度上了解了明末清初官方歷算的運作方式,也在一定程度上解釋了看似內(nèi)容混亂的官方著作背后,在歷局和欽天監(jiān)內(nèi)部還還存在這些有章可循的操作手冊,通過它來實現(xiàn)推算的程式化。無論是明代大統(tǒng)歷的《通軌》還是后來西洋歷法的《細草》,其本質(zhì)都是依據(jù)規(guī)范,按“程式”或“算式”中的流程,通過借助算表來進行快捷運算。這種方法,簡便易用,效率極高,也是明清欽天監(jiān)官方日常推算主要方式。
第二,明初元統(tǒng)編撰《通軌》的初衷是考慮到“元《授時歷經(jīng)》,玄奧而難明,歷官難于考步”[24]。通過《通軌》中簡單和機械的方法,可以讓初學(xué)者容易掌握和操作,迅速上手。然而《通軌》卻也導(dǎo)致了意想不到的后果,使用者通常只會依葫蘆畫瓢,完全忽視了歷法的原理,因此也備受批評。如鄭善夫(1485—1523)就強調(diào)“官生之徒明理實少,必須理明然后數(shù)精”[25],唐順之(1507—1560)認為“《立成》《通軌》云云者,郭氏之下乘也,死數(shù)也”[26]。梅文鼎也指出“疇人子弟皆以元統(tǒng)之《通軌》入算,逐末忘源”[8]??梢?明代《通軌》在帶來便利的同時,其弊端也是相當明顯的,這也是后來傳統(tǒng)歷法衰落的重要原因之一。明末西洋歷法傳入中國后,使用《通軌》及其“程式”的傳統(tǒng)也被借鑒,于是出現(xiàn)了《蒙求》《細草》等著作以及相應(yīng)的“算式”。
不過,在梅文鼎看來,雖然“《崇禎歷書》之有《細草》,以便入算”,然而“算者貪其簡便,而全部歷書或庋高閣矣”,長此以往必然會重蹈明代大統(tǒng)歷的覆轍。所以他才決定為《七政細草》補注,“以《歷指》大意,櫽括而注之,使用法之意瞭然,亦使學(xué)者知其所以然”,并且“以諸家所用《細草》,改其同異,參之《歷指》”為《交食蒙求》進行訂補,以便初學(xué)[8]??梢?《通軌》和《細草》的弊端,在當時就已經(jīng)引起了關(guān)注。
致 謝 本文曾分別于2015年2月19日和2015年9月12日在法國巴黎第七大學(xué)SAW項目研討會和中國科學(xué)院自然科學(xué)史研究所青年學(xué)者夏季研討會上進行報告,相關(guān)點評專家為本文提出了不少建議,在此一并表示感謝。
1 張培瑜, 薄樹人, 陳美東, 胡鐵珠等. 中國古代歷法[M]. 北京: 中國科學(xué)技術(shù)出版社, 2008. 1.
2 (明)李天經(jīng), 羅雅谷. 歷引[M]. 韓國首爾大學(xué)奎章閣圖書館藏明刊本.
3 (清)永瑢, 紀昀等主編. 《四庫全書》: 《天學(xué)會通》提要[M]. 文淵閣《四庫全書》本.
4 李亮, 石云里. 薛鳳祚西洋歷學(xué)對黃宗羲的影響[A]. 中西文化會通的先驅(qū):全國首屆薛鳳祚學(xué)術(shù)思想研討會論文集[C]. 濟南:齊魯書社, 2011. 218—230.
5 (明)郎瑛. 七修類稿(卷五): 天地類[M]. 上海: 上海書店, 2001. 49.
6 (明)黃宗羲. 黃梨洲答萬貞一論明史歷志書. 南雷文定后集卷一, 清康熙二十七[M]. 靳治荊刻本.
7 李銀姬, 景冰. 朝鮮奎章閣本的《授時歷立成》[J]. 中國科技史料, 1998,(2): 73—77.
8 (清)梅文鼎. 勿庵歷算書目[M]. 清華大學(xué)圖書館藏清康熙刻本.
9 (明)徐光啟, 李天經(jīng)等. 治歷緣起[M]. 美國哥倫比亞大學(xué)藏明刊本.
10 (清)張廷玉. 明史·歷志[M]. 志第十一. 清武英殿刊本.
11 (明)元統(tǒng). 大統(tǒng)歷法通軌[M]. 中國國家圖書館抄本, 館藏號: 16567.
12 石云里. 古代朝鮮學(xué)者的《授時歷》研究[J]. 自然科學(xué)史研究, 1998,(4): 312—392.
13 (明)元統(tǒng). 太陰通軌[M]. 中國國家圖書館抄本, 館藏號: 05931.
14 石云里, 魏弢. 元統(tǒng)《緯度太陽通徑》的發(fā)現(xiàn): 兼論貝琳《回回歷法》的原刻本. 中國科技史雜志, 2009,(1): 31—45.
15 佚名. 算七政交食凌犯法[M]. 故宮藏清康熙內(nèi)府抄本.
16 石云里. 中朝兩國歷史上的天文學(xué)交往(一)[J]. 安徽師范大學(xué)學(xué)報(自然科學(xué)版), 2014,(1): 6—15.
17 (朝鮮)承政院日記[M]. 韓國首爾大學(xué)奎章閣圖書館藏本.
18 (朝鮮)李朝實錄·仁祖實錄[M]. 卷四十六. 韓國首爾大學(xué)奎章閣圖書館藏本.
19 (朝鮮)許遠. 《細草類匯》序[M]. 韓國首爾大學(xué)奎章閣圖書館藏本.
20 Lim Jongtae. Learning “Western” Astronomy from “China”: Another Look at the Introduction of the Shixian li 時憲歷 Calendrical System into Late Joseon Korea”[J].TheKoreanJournalfortheHistoryofScience. 2012, 34: 205—225.
21 (明)徐光啟, 李天經(jīng)等, 潘鼐匯編. 崇禎歷書:附西洋新法歷書增刊十種[M]. 上海: 上海古籍出版社, 2009. 12.
22 (清)徐發(fā). 天元歷理[M]. 清康熙刻本.
23 (清)薛鳳祚. 歷學(xué)會通[M]. 入歷敘. 北京大學(xué)圖書館藏本.
24 (明)周相. 大明大統(tǒng)歷法[M]. 序. 日本國立公文圖書館藏本.
25 (明)陳九德輯. 皇明名臣經(jīng)濟錄[M]. 卷十三禮部四, 鄭善夫“奏改歷元事宜”. 明嘉靖二十八年刻本.
26 (明)唐順之. 荊川先生文集[M]. 卷七. 明萬歷刊本.
Calendric Practices using Detailed Procedures and “Template Table” in the Ming and Qing Period
LI Liang
(Institute for the History of Natural Sciences, CAS, Beijing 100190, China)
This article introduces the handbooksGeneralRulesandDetailedProceduresused in Ming and Qing period. A type of form named “template table”, which is designed to guide the process of calendrical astronomy calculations is explained. With the assistance of another kind of text named “detailed procedures”, the users can finish the calculations easily by operating the “template table” and picking-up data in appropriate numerical tables. This method not only normalizes the usage of numerical tables but also connects the instructions with the corresponding tables in computational practices, and it was widespread from the Ming period onwards. In order to achieve this effective technology, the Joseon court of Korea even sent capable officers to learn it from China secretly. We can perceive the importance of this method in calendrical calculations from its circulation. The article also discusses the advantages and disadvantages of using this method. As a rigid tool, this method was thought to be one of the reasons that caused the declination of traditional Chinese astronomy from Ming period.
GeneralRules,DetailedProcedures, template tableChongzhenLishu,XiyangXinfalishu
2016- 02- 01;
2016- 07- 28
李亮,1986年生,安徽蕪湖人,博士,中國科學(xué)院自然科學(xué)史研究所副研究員,研究方向為天文學(xué)史,liliang@ihns.ac.cn。
中國科學(xué)院青年創(chuàng)新促進會項目(編號:Y42201101C);國家自然科學(xué)基金青年項目(編號:11403111)。
N092
A
1673- 1441(2016)04- 0426- 15