肖 堯
(清華大學(xué)科學(xué)史系,北京 100084)
太初改歷作為西漢最重要的歷法改革,在中國(guó)古代天文學(xué)發(fā)展中有著重要意義。我們甚至可以說(shuō),中國(guó)古代天文學(xué)“漢范式”的確立是自太初改歷而起的。漢初,天文學(xué)理論諸家并存,而后經(jīng)改歷歸為一統(tǒng),并且以“歷本之驗(yàn)在于天”奠定后世天文學(xué)的發(fā)展之基。因此對(duì)太初改歷這一過(guò)程,應(yīng)給予更多關(guān)注,本文對(duì)太初改歷中的兩個(gè)具體問(wèn)題進(jìn)行討論,力圖還原更為清晰、具體的改歷過(guò)程,并借此加強(qiáng)中國(guó)傳統(tǒng)天文學(xué)范式的研究。
歷元作為中國(guó)古代歷法的起算點(diǎn),是影響歷法準(zhǔn)確性的關(guān)鍵參數(shù),因此確定準(zhǔn)確(合天)的歷元至關(guān)重要。西漢武帝太初元年(前104)頒行新歷《太初歷》,其歷元定為太初元年歲前十一月甲子朔日夜半?!短鯕v》以既是合朔時(shí)刻又是冬至?xí)r刻的(太初元年歲前)十一月甲子夜半作為歷法起算點(diǎn),無(wú)疑相當(dāng)完美,一般認(rèn)為,這個(gè)完美歷元由漢顓頊歷推算而得。本文對(duì)太初改歷中的歷元確定問(wèn)題進(jìn)行仔細(xì)分析,認(rèn)為《太初歷》的歷元并非全憑(西)漢初歷法推算而定。在對(duì)《太初歷》歷元確定問(wèn)題的考察中,太初改歷中的兩樁疑案——“(歷)不能為算”和“藉半日法”之謎也將有新的解答。
太初改歷發(fā)生在西漢武帝時(shí)期,其最終結(jié)果是國(guó)家頒行鄧平等人所制的新歷《太初歷》?!短鯕v》“以律起歷”,以八十一為日法,定太初元年歲前十一月甲子朔日夜半為歷元,這些都與《三統(tǒng)歷》(1)《三統(tǒng)歷》為中國(guó)第一部有完整術(shù)文傳世的歷法。相同,因此一般認(rèn)為《三統(tǒng)歷》是劉歆(約前53—前23)根據(jù)《太初歷》改編而成,兩歷的內(nèi)容并無(wú)區(qū)別。但這種看法并不準(zhǔn)確,薄樹(shù)人已經(jīng)指出《太初歷》和《三統(tǒng)歷》在幾個(gè)方面的明顯區(qū)別,《三統(tǒng)歷》實(shí)際上有別于《太初歷》[1]?!度y(tǒng)歷》與《太初歷》的差異,要求學(xué)者們研究《太初歷》的相關(guān)問(wèn)題更需謹(jǐn)慎。事實(shí)上,《太初歷》作為西漢行用時(shí)間最長(zhǎng)、影響最大的歷法,對(duì)其研究仍相對(duì)薄弱,而在關(guān)于《太初歷》的研究中,歷元確定問(wèn)題最為關(guān)鍵,它可以被看作是串聯(lián)整個(gè)《太初歷》制定過(guò)程的線索,本文接下來(lái)就對(duì)其進(jìn)行分析。
《太初歷》經(jīng)由太初改歷而定出,其制定過(guò)程相對(duì)復(fù)雜,我們先來(lái)梳理太初改歷的始末。關(guān)于太初改歷的起因可見(jiàn)《漢書(shū)·律歷志》的記載:
至武帝元封七年,漢興百二歲矣,大中大夫公孫卿、壺遂、太史令司馬遷等言“歷紀(jì)壞廢,宜改正朔”。是時(shí)御史大夫兒寬明經(jīng)術(shù),上乃詔寬曰:“與博士共議,今宜何以為正朔?服色何上?”寬與博士賜等議,皆曰:“帝王必改正朔,易服色,所以明受命于天也。創(chuàng)業(yè)變改,制不相復(fù),推傳序文,則今夏時(shí)也。臣等聞學(xué)褊陋,不能明。陛下躬圣發(fā)憤,昭配天地,臣愚以為三統(tǒng)之制,后圣復(fù)前圣者,二代在前也。今二代之統(tǒng)絕而不序矣,唯陛下發(fā)圣德,宣考天地四時(shí)之極,則順陰陽(yáng)以定大明之制,為萬(wàn)世則。”于是乃詔御史曰:“乃者有司言歷未定,廣延宣問(wèn),以考星度,未能讎也。蓋聞古者黃帝合而不死,名察發(fā)斂,定清濁,起五部,建氣物分?jǐn)?shù)。然則上矣。書(shū)缺樂(lè)弛,朕甚難之。依違以惟,未能修明。其以七年為元年。”遂詔卿、遂、遷與侍郎尊、大典星射姓等議造漢歷。([2],頁(yè)1400—1401)
可見(jiàn),太初改歷明面上的直接原因是司馬遷等人上書(shū)“歷紀(jì)壞廢,宜改正朔”,此時(shí)漢初所用歷法誤差明顯,時(shí)常與實(shí)際天象不合,因此需要改歷。其后,漢武帝詔明于經(jīng)術(shù)的御史大夫倪寬(2)即上述引文中“兒寬”,“兒”作姓時(shí)同“倪”。詢(xún)問(wèn)此事,倪寬和博士賜等人商議后也支持改歷,在這樣的情況下,漢武帝才下令改元封七年為太初元年,并且命卿、遂、遷與侍郎尊、大典星射姓等人負(fù)責(zé)制定新歷。但《漢書(shū)·律歷志》緊跟著寫(xiě)道:
遂詔卿、遂、遷與侍郎尊、大典星射姓等議造漢歷。乃定東西,立晷儀,下漏刻,以追二十八宿相距于四方,舉終以定朔晦分至,躔離弦望。乃以前歷上元泰初四千六百一十七歲,至于元封七年,復(fù)得閼逢攝提格之歲,中冬十一月甲子朔旦冬至,日月在建星,太歲在子,已得太初本星度新正。姓等奏不能為算,愿募治歷者,更造密度,各自增減,以造漢《太初歷》。([2],頁(yè)1401)
這是說(shuō)大典星射姓等人受命制定新歷后馬上進(jìn)行觀測(cè),最終定下“中冬十一月甲子朔旦冬至”,并且“已得太初本星度新正”,但隨后這批制歷者突然上奏“(歷)不能為算”,而且提出要招募新的治歷者,重新制定新歷。此時(shí)間節(jié)點(diǎn)可作為太初改歷前后半段的分界點(diǎn),至此太初改歷的前半段結(jié)束。在太初改歷的前半段中,大典星射姓等人上奏“(歷)不能為算”這件事情令人十分疑惑,其奇怪之處有二:一是歷法的歷元和星星的位置都已確定,為何歷法還會(huì)“不能為算”;二是“不能為算”的困難之大竟然讓大典星射姓等人束手無(wú)策,以至于甘愿另請(qǐng)高明者重新造歷。這就是太初改歷中的第一樁疑案——“(歷)不能為算”之謎。
《漢書(shū)·律歷志》接著記載了太初改歷后半段的情形:
乃選治歷鄧平及長(zhǎng)樂(lè)司馬可、酒泉候宜君、侍郎尊及與民間治歷者,凡二十余人,方士唐都、巴郡落下閎與焉。都分天部,而閎運(yùn)算轉(zhuǎn)歷。其法以律起歷,曰:“律容一龠,積八十一寸,則一日之分也。與長(zhǎng)相終。律長(zhǎng)九寸,百七十一分而終復(fù)。三復(fù)而得甲子。夫律陰陽(yáng)九六,爻象所從出也。故黃鐘紀(jì)元?dú)庵^律。律,法也,莫不取法焉?!迸c鄧平所治同。于是皆觀新星度、日月行,更以算推,如閎、平法。法,一月之日二十九日八十一分日之四十三。先藉半日,名曰陽(yáng)歷;不藉,名曰陰歷。所謂陽(yáng)歷者,先朔月生;陰歷者,朔而后月乃生。平曰:“陽(yáng)歷朔皆先旦月生,以朝諸侯王群臣便。”乃詔遷用鄧平所造八十一分律歷,罷廢尤疏遠(yuǎn)者十七家,復(fù)使校歷律昏明?;抡叽居诹昵?fù)覆《太初歷》晦、朔、弦、望,皆最密,日月如合璧,五星如連珠。陵渠奏狀,遂用鄧平歷,以平為太史丞。([2],頁(yè)1401—1402)
在大典星射姓等人上奏“不能為算”之后,可視為太初改歷的后半段。漢武帝在得到“不能為算”的上書(shū)后又招募了新的治歷者,其中有官方治歷者,如鄧平,也有民間治歷者,如唐都、落下閎。這些治歷者將各自的歷法與實(shí)際天象核驗(yàn)比對(duì),以此選出最準(zhǔn)確的歷法定為《太初歷》。這次歷法比驗(yàn)的結(jié)果是:鄧平與落下閎所造的八十一分律歷最為準(zhǔn)確,其后此歷又通過(guò)復(fù)驗(yàn),最終被定為《太初歷》。
按《史記·太史公自序》《史記·孝武本紀(jì)》以及《漢書(shū)·武帝紀(jì)》所述:
五年而當(dāng)太初元年,十一月甲子朔旦冬至,天歷始改,建于明堂,諸神受紀(jì)。([3],頁(yè)3296)
其后二歲,十一月甲子朔旦冬至,推歷者以本統(tǒng)。天子親至泰山,以十一月甲子朔旦冬至日祠上帝明堂,每修封禪。([3],頁(yè)481)
太初元年冬十月,行幸泰山。十一月甲子朔旦,冬至,祀上帝于明堂。[4]
再結(jié)合《漢書(shū)·律歷志》的記載(3)可見(jiàn)上節(jié)的《漢書(shū)·律歷志》引用內(nèi)容。,可知在元封七年十一月之前,大中大夫公孫卿、壺遂、太史令司馬遷等人就上書(shū)說(shuō)過(guò)“歷紀(jì)壞廢,宜改正朔”的事情,而改元更歷,需要為新歷確定一個(gè)起點(diǎn)。本文認(rèn)為,司馬遷等人在提出改歷意見(jiàn)之時(shí)就已經(jīng)算出了一個(gè)“好日子”——太初元年歲前十一月甲子,它既是冬至又是朔日,而且日干支為甲子居首,可以說(shuō)是新歷起點(diǎn)的完美備選。因此,漢武帝才會(huì)在十一月甲子這天“祀上帝于明堂”,推改新歷。在新歷確定了新歷起點(diǎn)在甲子日之后,司馬遷等人更進(jìn)一步,將《太初歷》的歷元定為太初元年歲前十一月甲子夜半(0刻),它比十一月甲子更精準(zhǔn)也更完美,接下來(lái)我們將探析《太初歷》歷元確定的具體過(guò)程。
新歷《太初歷》的歷元作為歷法的起算點(diǎn),要求冬至?xí)r刻與合朔時(shí)刻相合,司馬遷等人在確定新歷歷元時(shí)自然需要先定出冬至?xí)r刻和合朔時(shí)刻,并依據(jù)這兩個(gè)時(shí)刻來(lái)確定歷元。需要說(shuō)明的是,根據(jù)之前的研究([5],頁(yè)5),西漢太初改歷時(shí)既不能以圭表測(cè)影定出冬至?xí)r刻,也不能用交食驗(yàn)天定出合朔時(shí)刻,因此司馬遷等人定冬至?xí)r刻和合朔時(shí)刻都只能依靠歷法推算。
推定冬至?xí)r刻和合朔時(shí)刻時(shí),新歷尚未制定,司馬遷等人和大典星射姓等人顯然無(wú)法使用新歷,但當(dāng)時(shí)他們所用的歷法目前未有定論,通常認(rèn)為,太初改歷之前,西漢用《顓頊歷》,但其中細(xì)節(jié)仍需要討論。因此在討論推算冬至?xí)r刻和合朔時(shí)刻問(wèn)題時(shí),我們有必要結(jié)合考古出土的西漢歷譜進(jìn)行分析。
接下來(lái)分析合朔時(shí)刻的推算?!短鯕v》之前,推算合朔時(shí)刻的方法尚沒(méi)有定論[8],但如果結(jié)合最新出土的胡家草場(chǎng)歷簡(jiǎn)[9]內(nèi)容,那么漢武帝元光元年至太初元年期間的合朔時(shí)刻推算方法當(dāng)以陳久金和陳美東的“借半日法”推步法[10,11]最為合理。此處需要解釋的是,“借半日法”推步法是指在推算合朔時(shí)刻時(shí)加半天,陳久金等人用“借半日法”這個(gè)名字來(lái)命名,但此合朔推步法與鄧平所言的“藉半日法”并非一回事,筆者認(rèn)為陳久金等人提出的合朔推步法更合適的名字應(yīng)是“加半日”推步法。
綜合來(lái)看,以上推冬至和推合朔方法都不能推出《太初歷》的歷元在十一月甲子夜半,因此,我們又考慮了其他可能。
在《新唐書(shū)·歷志》中,有這樣的記載:
顓頊歷上元甲寅歲正月甲寅晨初合朔立春,七曜皆直艮維之首。[12]
因此,我們就可以大致地還原太初改歷前半段的過(guò)程:元封七年十一月之前,司馬遷等人向漢武帝提議改歷,并且為漢武帝提供了一個(gè)漂亮的新歷起點(diǎn)——十一月甲子朔日冬至,于是漢武帝在十一月甲子這天“祀上帝于明堂”,之后漢武帝向其他明于經(jīng)術(shù)的大臣進(jìn)行問(wèn)詢(xún),最終下詔進(jìn)行新歷的制定工作。在改歷時(shí),大典星射姓等人推算出十一月甲子朔日恰為冬至,并且冬至?xí)r刻與夜半十分接近,因此甲子夜半正可以作為新歷的完美歷元。即便推算的合朔時(shí)刻有超過(guò)半天的偏差,改歷官員們還是決定以甲子夜半為歷元,應(yīng)對(duì)的方法則是將合朔時(shí)刻提前到甲子夜半。定出新歷歷元之后,改歷官員們接著進(jìn)行實(shí)測(cè)校驗(yàn)工作,可最后接近完工的時(shí)候,突然上書(shū)說(shuō)“不能為算”,下面我們將對(duì)此進(jìn)行解析。
對(duì)于“不能為算”這一問(wèn)題,薄樹(shù)人曾有過(guò)論斷,他認(rèn)為難以解決的問(wèn)題是太初元年的太歲紀(jì)年的年名矛盾,《史記·歷書(shū)》和《漢書(shū)·律歷志》中都有太初元年為閼逢攝提格(即甲寅年)的記載([14];[2],頁(yè)1401),但大典星射姓等人卻認(rèn)定“日月在建星,太歲在子”,即太初元年應(yīng)為丙子年,因此大典星射姓等人“不能為算”的主要原因是由于不能調(diào)和太初元年的太歲紀(jì)年年名矛盾。但此種解釋有三點(diǎn)疑議:首先,太歲紀(jì)年年名的問(wèn)題和推算不太相關(guān),如果是太歲紀(jì)年年名的矛盾不能解決,大典星射姓等人似乎不應(yīng)說(shuō)“不能為算”;其次,太歲紀(jì)年年名的矛盾雖然顯著,但這個(gè)矛盾的解決難度還不足以讓大典星射姓等人甘認(rèn)無(wú)能,并請(qǐng)皇帝另請(qǐng)高明,因?yàn)榘幢?shù)人所言,鄧平、落下閎對(duì)年名矛盾也只是采用含糊敷衍的辦法就應(yīng)對(duì)了過(guò)去([7],頁(yè)256);最后,太歲紀(jì)年年名的矛盾既然沒(méi)有實(shí)際解決,參與太初改歷后半段的侍郎尊、大典星射姓等人難道會(huì)毫無(wú)異議?這樣看來(lái),“不能為算”之謎的核心難題仍需要進(jìn)一步探究。
我們知道,新歷歷元在未確定之前,西漢必然有一部正在行用的歷法,司馬遷等人可能是根據(jù)這部歷法推定了新歷歷元(5)司馬遷等人在確定新歷歷元時(shí)也可能采用其他歷法進(jìn)行推算,比如司馬遷本人的歷法(通常認(rèn)為記載于《史記》中的歷數(shù)甲子篇是司馬遷所創(chuàng)的歷法),前文就此問(wèn)題已進(jìn)行了相關(guān)討論,但目前學(xué)界對(duì)此仍沒(méi)有共認(rèn)的回答。。此外,中國(guó)自周朝開(kāi)始就有頒朔、告朔的傳統(tǒng)[15],同時(shí)秦至西漢前期,皇朝將頒朔作為一項(xiàng)行政措施來(lái)執(zhí)行,目的是便于行政[16]。因此,太初元年歲前十月西漢官方應(yīng)進(jìn)行過(guò)頒歷活動(dòng)(6)當(dāng)時(shí)西漢仍以十月為歲首,因此按照傳統(tǒng),頒歷活動(dòng)應(yīng)于歲首十月進(jìn)行。,按當(dāng)時(shí)行用歷法的推算,其推算的歷日排布情況列于表1。這里需要說(shuō)明的是,結(jié)合考古出土的元光元年歷譜、胡家草場(chǎng)歷簡(jiǎn)及秦漢歷法的狀況[8,17],我們認(rèn)為當(dāng)時(shí)行用的歷法為四分歷,使用十九年七閏規(guī)則,并且在合朔時(shí)刻推算上采用陳美東和陳久金的“借半日法”推步法。
表1 新歷歷元確定前后的兩種歷日安排對(duì)照表
續(xù)表1
明顯地,太初改歷前使用的歷日安排(8)表1中所列太初元年朔望月止于九月,是因?yàn)樘醺臍v前頒布的舊歷截至太初元年九月,即太初元年歲前十月至太初元年九月,共計(jì)十二個(gè)朔望月。中,太初元年的歲前十一月、十二月以及正月分別為大月、小月、大月;而使用新歷歷元的歷日安排中,太初元年的歲前十一月、十二月以及正月分別為小月、大月、小月(9)需要說(shuō)明的是,雖然表1中列出了新歷的太初元年歲前十月的朔日,但我們不必考慮此月,因?yàn)榇嗽碌臍v日必然是按照舊歷安排的。因此在表2中我們不再列太初元年歲前十月的情況。。此外,上述兩種歷日安排中,太初元年二月至九月的各月朔日都相差1日。這樣一來(lái),司馬遷等人在確定新歷歷元之后就面臨一種困境:太初元年歲前十月剛剛頒布當(dāng)年的歷日安排,但按照新歷歷元,全年的歷日安排都需要進(jìn)行改動(dòng)。如果選擇改動(dòng),那就說(shuō)明剛頒布的歷日安排有誤,這對(duì)于治歷官員而言是大過(guò)錯(cuò),更嚴(yán)重地講,這表明漢武帝一直以來(lái)未得天授正統(tǒng);而如果不改動(dòng),歷法的后天將更加嚴(yán)重,同時(shí)改制新歷也將不能完成。在這樣兩難的境地下,司馬遷等人如何應(yīng)對(duì)呢?《漢書(shū)·律歷志》中記載:“姓等奏不能為算,愿募治歷者,更造密度,各自增減,以造漢《太初歷》?!?[2],頁(yè)1401)這大概是讓大典星射姓出頭,言明自己能力不足,新歷難以為算,并希望皇帝另請(qǐng)賢人來(lái)繼續(xù)制定新歷。由此筆者認(rèn)為新歷在確定新歷元時(shí)產(chǎn)生的困境才是“不能為算”之謎的關(guān)鍵問(wèn)題。
在大典星射姓等人提出“不能為算”之后,漢武帝為了繼續(xù)改歷又下令招募賢才解決難題,于是有十八家歷法參與第二輪的太初改歷,經(jīng)過(guò)比歷,最終鄧平的歷法被定為《太初歷》。
在《史記·孝武本紀(jì)》和《漢書(shū)·武帝紀(jì)》中,有以下記載:
(太初元年)夏,漢改歷,以正月為歲首,而色上黃,官名更印章以五字。因?yàn)樘踉辍?[3],頁(yè)483)
(太初元年)夏五月,正歷,以正月為歲首。[4]
這表明在太初元年的五月,鄧平歷已被定為《太初歷》。同時(shí),在《漢書(shū)·律歷志》中,還專(zhuān)門(mén)介紹了鄧平的“藉半日法”,它將一部歷法區(qū)分為“陽(yáng)歷”和“陰歷”,并且說(shuō)“陽(yáng)歷朔皆先旦月生,以朝諸侯王群臣便”。令人疑惑的地方在于:鄧平為何將歷法區(qū)分為“陽(yáng)歷”和“陰歷”,此舉的目的是什么?這可以視為太初改歷過(guò)程中的第二樁疑案,一般稱(chēng)為“藉半日法”之謎。
關(guān)于鄧平的“藉半日法”,《漢書(shū)·律歷志》記載是:
先藉半日,名曰陽(yáng)歷;不藉,名曰陰歷。所謂陽(yáng)歷者,先朔月生;陰歷者,朔而后月乃生。平曰:“陽(yáng)歷朔皆先旦月生,以朝諸侯王群臣便?!?[2],頁(yè)1401)
前人在分析“藉半日法”時(shí),首先的爭(zhēng)論是“陽(yáng)歷”是后天的歷法還是先天的歷法(10)陳美東和陳久金在《從元光歷譜及馬王堆帛書(shū)〈五星占〉的出土再探顓頊歷問(wèn)題》中認(rèn)為“陽(yáng)歷”是一種后天的歷法,新月在朔日之前就能看見(jiàn);而薄樹(shù)人在《中國(guó)古代歷法》中則認(rèn)為“陽(yáng)歷”應(yīng)是一種先天的歷法。。按鄧平所說(shuō),“陽(yáng)歷”要先藉半日,關(guān)鍵是看“藉”字做何解。但“藉”字本身理解為“加”和“減”都可,因此,只能再看其他對(duì)“陽(yáng)歷”的表述。
“陽(yáng)歷”是“先朔月生”,一般來(lái)解,“月生”指新月出現(xiàn),則“先朔月生”是說(shuō)在朔日之前新月出現(xiàn),因?yàn)樾略乱话愠霈F(xiàn)在初二、初三,因此這是明顯的歷法后天。同時(shí),“陽(yáng)歷朔皆先旦月生”,這句話比較奇怪,因?yàn)槿绻础霸律睘樾略鲁霈F(xiàn)解釋?zhuān)敲创司渚褪钦f(shuō)在“陽(yáng)歷”的朔日新月先于太陽(yáng)升起,它本身的含義沒(méi)有問(wèn)題,但其后緊接“以朝諸侯王群臣便”,是說(shuō)方便諸侯王和群臣朝見(jiàn)皇帝(11)“朝諸侯王群臣”中的“朝”為使動(dòng)用法,意為使諸侯王群臣朝,此用法也可見(jiàn)《漢書(shū)·武帝紀(jì)》中的“二年春正月,朝諸侯王于甘泉宮,賜宗室”。。如此一來(lái),整句話就翻譯為:“陽(yáng)歷”的朔日這天新月出現(xiàn)會(huì)早于日出,這是為了方便諸侯王和群臣朝見(jiàn)皇帝。但我們知道,新月傍晚在西邊出現(xiàn),這對(duì)諸侯王和群臣朝見(jiàn)皇帝來(lái)說(shuō)并沒(méi)有什么便利。事實(shí)上,能為群臣朝見(jiàn)皇帝提供方便的情況是殘?jiān)略谔?yáng)升起前出現(xiàn)在東方,這樣凌晨的月光就能夠方便群臣更早地出發(fā)。如果按這樣理解,那么“陽(yáng)歷朔皆先旦月生”的含義就變?yōu)椋骸瓣?yáng)歷”的朔日這天月亮(東方殘?jiān)?在太陽(yáng)升起前出現(xiàn),也即“月生”指月亮出現(xiàn),而不是特指新月出現(xiàn)。在這種理解下,“陽(yáng)歷朔皆先旦月生”中的“陽(yáng)歷”將是一種先天的歷法,而“先朔月生”的“陽(yáng)歷”常被認(rèn)為是一種后天的歷法(12)認(rèn)為“先朔月生”的“陽(yáng)歷”的是一種后天的歷法,根據(jù)是“月生”指新月出現(xiàn)。,薄樹(shù)人即持此種觀點(diǎn)([7],頁(yè)253、257)。但筆者認(rèn)為,史料中前后句里的同一個(gè)特有名詞不太可能含義不同,“先朔月生”的“陽(yáng)歷”實(shí)際上也可能是先天的歷法。
前面已經(jīng)提過(guò),“月生”指月亮出現(xiàn),而不是特指新月出現(xiàn)。那么“先朔月生”中的月亮就可以是東方殘?jiān)?,那么“先朔月生”就是說(shuō):殘?jiān)略谒啡涨俺霈F(xiàn),再結(jié)合“藉半日法”的說(shuō)法,即殘?jiān)聲?huì)在晦日出現(xiàn),而實(shí)際上殘?jiān)乱?jiàn)于晦前一、二日,因此“先朔月生”的“陽(yáng)歷”也是一種先天的歷法。這樣,“先朔月生”的“陽(yáng)歷”和“陽(yáng)歷朔皆先旦月生”的“陽(yáng)歷”含義一致,都是先天的歷法。
通過(guò)上述分析筆者確定鄧平的“陽(yáng)歷”是一種先天的歷法,那么“藉半日法”的“藉”即“減”的含義,實(shí)際操作時(shí)就是將合朔時(shí)刻提前半天。所以,在鄧平的“藉半日法”中,“陽(yáng)歷”需要將原本歷法的合朔時(shí)刻減去半天,“陰歷”即原本的歷法不變。接下來(lái)的問(wèn)題是:鄧平特意用“藉半日法”分出“陽(yáng)歷”和“陰歷”的目的何在?筆者認(rèn)為這種做法是為了解決“不能為算”的困境。
我們先來(lái)看鄧平的“陽(yáng)歷”和“陰歷”,“陰歷”顯然和太初元年年前十月頒布的歷日安排完全一致;而“陽(yáng)歷”將合朔時(shí)刻提前半天,會(huì)產(chǎn)生一個(gè)新的歷日安排,將它與“陰歷”推算歷日安排和新歷推算歷日安排列于表2。
表2 “陽(yáng)歷”“陰歷”和新歷推算的三種歷日安排對(duì)照表
我們知道,就頒布的歷法而言,表面上只需關(guān)注兩個(gè)內(nèi)容,即大小月和朔日。根據(jù)上表,“陰歷”(舊歷)的太初元年歲前十一月、十二月和太初元年正月分別為大月、小月和大月,與新歷皆不同,而朔日只有太初元年歲前十二月相差一日,其余兩月相同;從太初元年二月至九月,“陰歷”與新歷的大小月皆相同,朔日則皆差一日。而“陽(yáng)歷”和新歷相比,只有太初元年歲前十一月和十二月大小月相同,其后太初元年正月至九月,大小月皆不同;而朔日中,太初元年歲前十一月和十二月的朔日相同,其后太初元年正月至九月,奇數(shù)月的朔日相同,偶數(shù)月的朔日相差一日。顯然,鄧平的“陰歷”和“陽(yáng)歷”與新歷都有差別,細(xì)究這些差別,再結(jié)合上文對(duì)“陰歷”和“陽(yáng)歷”的分析,“藉半日法”之謎將有新的解答。
上文提到,太初改歷的首批治歷者由于新舊歷的歷日排布沖突而陷入改與不改的兩難,這是發(fā)起第二輪改歷的主要原因,也是第二輪改歷必要解決的問(wèn)題,筆者認(rèn)為鄧平的“藉半日法”正是為此而提。《太初歷》在太初元年五月正式頒行,也即是說(shuō)其年五月就要使用新歷(即《太初歷》)的歷日安排,從表2中可以看到,新歷的五月朔日在辛酉,而舊歷五月朔日在壬戌,新歷較舊歷早一日,同時(shí)新歷與舊歷的五月都是小月,因此鄧平的首要任務(wù)是調(diào)和新舊歷五月朔日的矛盾,以保證頒行新歷順利。我們可以看到,在鄧平那里,按照“陽(yáng)歷”,五月朔日在辛酉,和新歷一致;按照“陰歷”,五月朔日在壬戌,和舊歷一致。所以在鄧平那里,新舊歷的朔日都可視為正確,即新舊歷都是合理的,這就解決了之前“不能為算”的難題。但鄧平也知道,如果嚴(yán)格按照“陽(yáng)歷”,六月朔日會(huì)在辛卯,比新歷晚一日,并且“陽(yáng)歷”的大小月也與新歷不同。對(duì)此,筆者猜測(cè)鄧平的解釋策略如下:首先承認(rèn)舊歷(即“陰歷”)正確無(wú)誤,再通過(guò)“陽(yáng)歷”來(lái)說(shuō)明新歷的五月朔日也沒(méi)有錯(cuò)誤,那么五月為小月,但其朔日可以有兩個(gè),對(duì)不精歷術(shù)的人而言,會(huì)自然地推出太初元年六月的朔日也有兩個(gè),分別是辛卯和庚寅,并且六月為大月,以此方法類(lèi)推至太初元年九月,顯然新舊歷的歷日安排都正確無(wú)誤。因此鄧平只需要以“藉半日法”論證五月朔日在辛酉和壬戌皆可,就可以讓不精歷術(shù)的漢武帝等人同時(shí)接受新舊歷在太初元年的歷日安排。但做到這一步還不足夠,因?yàn)榕f歷的歷日排布到太初元年九月就終止了,鄧平顯然要讓其后的歷日按新歷安排,所以鄧平提出“陽(yáng)歷朔皆先旦月生,以朝諸侯王群臣便”,以此來(lái)說(shuō)明“陽(yáng)歷”更好。因?yàn)槭褂谩瓣?yáng)歷”便于諸侯王和群臣在朔日朝見(jiàn)皇帝,這實(shí)際上就確立了新歷在今后歷日排布時(shí)的優(yōu)勢(shì)地位,即保證了往后的歷日會(huì)按照新歷排布。
綜上,鄧平用“藉半日法”分出“陽(yáng)歷”和“陰歷”,用“陰歷”說(shuō)明原先的歷日安排沒(méi)有問(wèn)題,又用“陽(yáng)歷”說(shuō)明以新歷歷元推算的歷日安排也沒(méi)有問(wèn)題,在此基礎(chǔ)上,鄧平再用方便群臣朝見(jiàn)的理由強(qiáng)調(diào)“陽(yáng)歷”的優(yōu)越性,保證今后的歷日按照新歷推算進(jìn)行排布。因此,《太初歷》最終用鄧平的八十一分律歷,除了“以律起歷,合乎法理”和與天密合之外,“藉半日法”成功解決“不能為算”難題也十分關(guān)鍵?!稘h書(shū)·律歷志》中說(shuō)“乃詔鄧平所造八十一分律歷”之前,專(zhuān)門(mén)先寫(xiě)“藉半日法”和鄧平對(duì)“陽(yáng)歷”的說(shuō)明,也可以間接印證“藉半日法”的重要。
本文通過(guò)對(duì)歷元確定和“藉半日法”問(wèn)題的分析,還原出太初改歷的過(guò)程:在太初元年歲前十一月,漢武帝正式?jīng)Q定改制新歷,命卿、遂、遷與侍郎尊、大典星射姓等人負(fù)責(zé)制定新歷。這一批改歷者為新歷歷元尋找了一個(gè)完美時(shí)刻——十一月甲子夜半,它既不是由觀測(cè)直接確定,也不是憑歷法推算而定,這個(gè)完美歷元將推算合朔時(shí)刻提前了近一天。盡管新歷歷元十分理想,但由于調(diào)整合朔時(shí)刻導(dǎo)致新歷與舊歷的歷日安排不合,因此這一批改歷者陷入了兩難的境地——是否更改剛剛頒布的全年(13)全年指太初元年歲前十月至太初元年九月。歷日安排。面對(duì)改與不改都不是的困境,最終只好由大典星射姓出頭向漢武帝上書(shū)“不能為算”,并請(qǐng)漢武帝另尋高明繼續(xù)改歷。之后漢武帝重新召集了一批改歷者,其中既有首批的改歷官員,也有后加入的官、民兩方治歷者,按照記載,共有十八家歷法相互競(jìng)爭(zhēng),最終鄧平所造八十一分律歷被定為《太初歷》。明面上,鄧平歷獲得優(yōu)勝的理由有二,分別是“以律起歷,合乎法理”和“與天密合”,但根據(jù)本文的分析,筆者認(rèn)為另有一個(gè)重要原因隱于暗處,那就是鄧平解決了令首批治歷者“不能為算”的難題。鄧平以“藉半日法”成功化解了新舊歷歷日排布不一致的矛盾,通過(guò)“陽(yáng)歷”和“陰歷”使新舊歷的歷日排布都可被接受,再用一個(gè)巧妙的理由地讓后續(xù)的歷日可以按照新歷進(jìn)行排布。
本文通過(guò)對(duì)歷元確定和“藉半日法”這兩個(gè)具體問(wèn)題的分析,展現(xiàn)出不同以往的太初改歷過(guò)程,但相關(guān)分析論證仍有一些問(wèn)題值得注意。當(dāng)我們討論歷元確定問(wèn)題時(shí),太初改歷前官方使用何種歷法仍需更進(jìn)一步的明確。事實(shí)上,秦和漢初行用歷法問(wèn)題一直是學(xué)界關(guān)心的話題,近些年不斷出土的秦漢簡(jiǎn)牘大大豐富了研究資料,未來(lái)也許可以幫助我們確認(rèn)這一時(shí)期的歷法使用情況。此外,對(duì)于太初元年的歷日安排問(wèn)題,目前還缺少?zèng)Q定性的證據(jù)(比如太初元年的歷譜),它們將是判斷本文后半段分析是否正確的關(guān)鍵。最后,太初改歷還有很多方面值得關(guān)注,如郭津嵩認(rèn)為太初改歷的起始時(shí)間早于太初元年,其中一條主要證據(jù)是通過(guò)文獻(xiàn)版本考校所得。
致 謝本文由筆者博士論文的部分內(nèi)容重新整合而成,系在孫小淳教授指導(dǎo)下完成,郭津嵩、呂傳益等人對(duì)本文提供了完善意見(jiàn),特此感謝!