卷十七历三上

作者:欧阳修、宋祁等朝代:北宋类别:纪传体断代史 · 白话译文

本文永久链接:https://shishuguan.com/books/xintangshu-baihuawen-full/volume-2/chapter-27

开元九年,《麟德历》标注的日食大多不准确,皇帝下诏让僧一行编撰新历法,用大衍数来推算,与经史典籍记载的气朔、日名、宿度等可考证的内容全部吻合。十五年,草稿完成而一行去世,皇帝下诏命特进张说与历官陈玄景等人整理成《历术》七篇、《略例》一篇、《历议》十篇,玄宗亲自过问的部分则称为制旨。第二年,张说上表进呈,从十七年开始颁发给有关部门。当时擅长算术的瞿坛譔,因没能参与改历而怀恨在心,二十一年,他与陈玄景上奏说:“《大衍历》抄袭《九执历》,其算法并不完善。”太子右司御率南宫说也非议这部历法。皇帝下诏命侍御史李麟、太史令桓执圭比较灵台的观测记录,《大衍历》十有七八准确,《麟德历》只有三四成准确,《九执历》仅一二成准确。于是给张说等人定罪,而否定了之前的说法。

从《太初历》到《麟德历》,历法共有二十三家,与天象虽接近但不够精密。到一行时,历法精密了,他依靠数字制定法则,确实无可替代。后世虽有改作,都是依样模仿而已,所以详细记录。《略例》是为了阐明著述的本旨;《历议》是为了考辨古今的得失。这些论述都足以成为将来取舍的标准。概括其要点,著录于篇的有十二篇。

其一《历本议》说:

《周易》:“天数为五,地数为五,五位相互搭配各有结合,从而形成变化并运行鬼神。”天数从一开始,地数从二开始,结合两个开始来定位刚柔。天数到九结束,地数到十结束,结合两个终点来记载闰余。天数以五为中,地数以六为中,结合两个中点来贯通律历。天有五音,用来掌管日;地有六律,用来掌管辰。三五相互循环,穷尽于六十,圣人由此看到天地的本心。从五往下,是五行的生数;从六往上,是五材的成数。交错相乘,用生数推演成数之位。一和六退至极点,五和十增至极点;一和六是爻位的统领,五和十是大衍之母。成数乘以生数,其数为六百,是天中的积数。生数乘以成数,其数也是六百,是地中的积数。合计一千二百,用五十约分,则四象环绕六爻;用二十四约分,则太极包含四十九用。综合成数,约分中积,都是十五。综合生数,约分中积,都是四十。合并为天地之数,用五位来取,又得到二中的结合了。蓍草数目的变化,九和六各有一,是乾坤的象征;七和八各有三,是六子的象征。所以爻数贯通于六十,策数运行于二百四十。因此大衍是天地枢纽,如同圆环没有尽头,大概是律历的大纲。

数象精微于三和四,显明于七和八。卦有三微,策有四象,所以二微的结合,在开始与中间之际。蓍草以七完备,卦以八周遍,所以二章的结合,在中间与终结之际。中极位于五六之间,由于开合交互,而在章微之际的,是人神的极点。天地中积一千二百,用四来揲算,得爻率三百;用十位来乘,得二章之积三千;用五材乘以八象,得二微之积四十。合并章微之积,是气朔的分母。用三极来参校,加倍六位来除,共七百六十,称为辰法,而与代轨齐同。用十位来乘,加倍大衍来除,共三百零四,称为刻法,而与德运齐同。取一半气朔分母一千五百二十,得天地出符之数,再乘以三,得四千五百六十,对应七精返回初次的会合。《周易》从三微开始而生一象,四象形成之后八卦显明。三次变化都刚健,是太阳之象;三次变化都柔顺,是太阴之象;一刚二柔,是少阳之象;一柔二刚,是少阴之象。少阳的刚健,有开始、有壮大、有终结;少阴的柔顺,有开始、有壮大、有终结。兼三才而两两配合,神明在其中运行。所以四十九象,而大业的功用完备了。数的属性是圆,所以用三来记载而变化于七;象的属性是方,所以用四来记载而变化于八。

人在天地之中,观察盈虚的变化,闰余开始的时候,是气朔所虚之处。以终合通于大衍之母,减去地数十,得九百四十为通数。用终合来除,得中率四十九,余十九分之九,是一年终了的弦月,而斗分恢复初次的朔日。地在终极之际,减去十而顺从于天,所以远离疑阳的战斗。十九分之九,盈九而虚十。乾盈九,隐没于龙战之中,所以不见其首;坤虚十,以引导潜龙之气,所以不见其成。周日的朔分,周岁的闰分,与一章的弦月,一蔀的月份,都合于九百四十,大概是取自中率。

一策的分母是十九,而章法产生;一揲的分母是七十六,而蔀法产生。一蔀的天数是二万七千七百五十七,用通数约分,得二十九日余四百九十九,日月在朔日相交,这是六爻的纲纪。以卦对应年,以爻对应月,以策对应日,三十二岁为小终,二百八十五个小终与卦运的大终结相应,二百八十五,是三五二终的结合。数象已经相合,而遁行的变化在其中了。

所谓遁行,是用爻率乘以朔余,得十四万九千七百,用四十九用、二十四象来虚化,再用爻率约分,得四百九十八、微分七十五太半,是章微的中率。二十四象,每象有四十九蓍草,共一千一百七十六。所以虚遁之数是七十三,取半气朔分母,用三极乘以三五,用两仪乘以二十四变,合并相加,得一千六百一十三,为朔余。四次揲算气朔分母,用八气九精遁去其十七,得七百四十三,为气余。岁数八万九千七百七十三而气朔会合,称为章率。岁数二亿七千二百九十万九百二十而没有小余,合于夜半,称为蔀率。岁数一百六十三亿七千四百五十九万五千二百而大余与岁建一同终结,称为元率。这是不可改变的法则。

策用来纪日,象用来纪月。所以乾坤之策三百六十,是日度的标准。乾坤之用四十九象,是月弦的检核。日行一度,不满全策;月行一弦,不满全用。所以策余一万五千九百四十三,是十二个中气所盈之数。用差一万七千一百二十四,是十二个朔日所虚之数。综合盈虚之数,五年有两次闰月。中气与节气的间距,都相当于三五;弦月与望月的间距,都相当于二七。升降的对应,发散与收敛的候应,都用策来记载而遵从日。表里运行,朓朒变化,都用用来记载而遵从月。

积算称为演纪,日法称为通法,月气称为中朔,朔实称为揲法,岁分称为策实,周天称为乾实,余分称为虚分。气策称为三元,一元之策,是天一遁行。月策称为四象,一象之策,是朔、弦、望的间距。五行当令,称为发敛。候策称为天中,卦策称为地中,半卦称为贞悔。旬周称为爻数,小分母称为象统。日行称为躔,其差称为盈缩,积累盈缩称为先后。古代平朔,月朝见称为朒,夕见称为朓。如今根据日的盈缩、月的迟疾来增减,有时进退其日,作为定朔。舒缓与急遽的程度,是数字导致这样,日月运行相互交错,一起用来增减,所以同样称为朓朒。月行称为离,迟疾称为转度,母称为转法。迟疾有衰减,其变化是趋势所致。月蜿蜒屈曲,运行不沿中道,进退迟速,不遵循常规。超过中道则快,不到中道则慢。积累慢称为屈,积累快称为伸。阳,执守中道而发号施令,所以称为先后;阴,蕴含文采而听从命令,所以称为屈伸。日不到中道则减损,超过中道则增益。月不到中道则增益,超过中道则减损,尊卑作用不同,而达到中道的志向相同。观察晷影的进退,知道轨道的升降。轨道与晷影名称不同而含义一致,其差就是水漏所依据的。总称为轨漏。中晷的长短称为陟降。晷影长则夜短,晷影短则夜长。积累其升降,称为消息。游交称为交会,交会一周称为交终。交终不到朔日,称为朔差。交中不到望日,称为望差。日道表称为阳历,其里称为阴历。五星出现隐伏的周期,称为终率。以分从日称为终日,其差为进退。

其二《中气议》说:

历法气节从冬至开始,考证实际,大概取自晷影。《春秋传》记载鲁僖公五年正月辛亥朔日,日南至。用《周历》推算,进入壬子蔀第四章,在辛亥一分合朔冬至,《殷历》则是壬子蔀首。鲁昭公二十年二月己丑朔日,日南至。鲁史失记闰月,冬至不在正月。左氏记载这事,以惩戒司历官的过错。《周历》得己丑二分,《殷历》得庚寅一分。《殷历》的南至常在十月晦,所以中气滞后。《周历》的蚀朔与《经》有时相差两天,所以合朔超前。《传》所依据的是《周历》,《纬》所依据的是《殷历》。气节合于《传》,朔日合于《纬》,这就对了。《戊寅历》的月气专门合于《纬》,《麟德历》专门合于《传》,偏取一方,所以两者都有失误。又《命历序》认为孔子修订《春秋》用《殷历》,以使他的数字可以传于后世。考察其蚀朔不与《殷历》吻合,到开元十二年,朔差五天,气差八天。上不合于《经》,下不足以传于后代,大概是哀帝、平帝年间研究甲寅元历法的人假托的,并非古历。又汉太史令张寿王用黄帝《调历》非议《太初历》。有关部门弹劾:“官府有黄帝《调历》与寿王的不同,寿王所研究的乃是《殷历》。”汉朝自中兴以来,图谶泄露,而《考灵曜》、《命历序》都有甲寅元,其起源在《四分历》庚申元之后一百一十四年。延光初年谒者亶诵、灵帝时五官郎中冯光等人,都请求用这历法,最终没有施行。《纬》所记载的壬子冬至,就是其遗存的方法。《鲁历》的南至又比《周历》早四分之三日,而朔后九百四十分之五十一,所以僖公五年辛亥为十二月晦,壬子为正月朔。又推算日食比《殷历》精密,其以闰余一为章首,也是取合于当时。

开元十二年十一月,在阳城测量晷影,以癸未日最长,比较其前后所差,则夜半前尚有余分。新历大余十九,加时九十九刻,而《皇极》、《戊寅》、《麟德历》都得甲申日,以《玄始历》气分二千四百四十三为率,向上推算,则失《春秋》辛亥,这是减分太多。以《皇极历》气分二千四百四十五为率,向上推算,虽合于《春秋》,但失元嘉十九年乙巳冬至及开皇五年甲戌冬至、七年癸未夏至;如果用《麟德历》率二千四百四十七,又失《春秋》己丑,这是减分太少。所以新历以二千四百四十四为率,而旧历所失的都中了。

汉会稽东部尉刘洪因《四分历》疏阔,由于斗分太多,改用五百八十九为纪法,一百四十五为斗分,减余太过,因此不到四十年而加时逐渐感觉超前。韩翊、杨伟、刘智等都稍有增减,另造新术,但都依据谶纬“三百年改宪”的说法,考证《经》的合朔多中,比较《传》的南至则不对。《玄始历》认为十九年七闰,都有余分,因此中气逐渐有差。根据浑天说,二分是东西之中,而晷影不等;二至是南北之极,而进退不齐。这是古人所未达到的。于是依据刘洪的纪法,增加十一年为章岁,而减少闰余十九分之一。春秋后五十四年,岁在甲寅,对应应钟章首,与《景初历》的闰余都尽。虽然减少章闰,但中气的加时仍有差,所以未合于《春秋》。其斗分几乎得中了。

后代的历法家,都沿袭《玄始历》,但增减有时过度。大致上古历没有减少斗分,其比率在二千五百以上。《乾象历》到《元嘉历》,没有减少闰余,其比率在二千四百六十以上。《玄始历》、《大明历》到《麟德历》都减分破章,其比率在二千四百二十九以上。比较前代史官的记载,只有元嘉十三年十一月甲戌日影最长,《皇极历》、《麟德历》、《开元历》都得到癸酉,这是因为太阳运行度数变化无常罢了。祖冲之既然弄错了甲戌冬至,认为加时太早,就增加小余来附会它。而十二年戊辰日影最长,得到己巳;十七年甲午日影最长,得到乙未;十八年己亥日影最长,得到庚子。合起来错了一个,却错了三个,他的错误更多。刘孝孙、张胄玄沿袭这种方法,小余更加增强,又把十六年己丑日影最长弄成庚寅了。研究历法的人综合众多相同之处,来考察其中的差异,如果只有一处不同,那么运行失常就可以知道了。现在勉强迁就其中一点,而少的错三个,多的错五个,这是舍弃常数而顺从运行失常。周建德六年,以壬辰日影最长,而《麟德历》、《开元历》都得到癸巳。开皇七年,以癸未日影最短,而《麟德历》、《开元历》都得到壬午。先后互相矛盾,不能协调,这都是太阳运行有盈缩造成的。

大凡历法在于常数,而不在于变化的运行。既然符合正常运行的平均比率,就可以两边均衡先后的变化了。《麟德历》以前,实录所记载的,是依照当时的历法书写的,不是通过观测日影得到的。又近年观测日影,长短不均匀,是由于加时有早有晚,运行度数有盈有缩。

从春秋以来,到开元十二年,冬、夏至共有三十一件事,《戊寅历》得到十六件,《麟德历》得到二十三件,《开元历》得到二十四件。

第三篇《合朔议》说:

日月相合为朔。没有什么可依据的,就依据日食。《春秋》记载日食有干支的共三十四条。《殷历》、《鲁历》提前一天的十三条,推后一天的三条;《周历》提前一天的二十二条,提前两天的九条。它们的错误就可以知道了。

庄公三十年九月庚午朔,襄公二十一年九月庚戌朔,定公五年三月辛亥朔,应当根据盈缩、迟速来确定定朔。《殷历》虽然符合,只是偶然罢了,并非正确。僖公五年正月辛亥朔,十二月丙子朔,十四年三月己丑朔;文公元年五月辛酉朔,十一年三月甲申晦;襄公十九年五月壬辰晦;昭公元年十二月甲辰朔,二十年二月己丑朔,二十三年正月壬寅朔、七月戊辰晦:这些都与《周历》符合。所记载的多是周、齐、晋的事情,大概是周王颁布的历法,齐、晋使用它。僖公十五年九月己卯晦,十六年正月戊申朔;成公十六年六月甲午晦;襄公十八年十月丙寅晦,十一月丁卯朔,二十六年三月甲寅朔,二十七年六月丁未朔:这些与《殷历》、《鲁历》符合。这不是因为发生日食,所以孔子沿袭当时史官,所记载的多是宋、鲁的事情,与齐、晋不同就可以知道了。

昭公十二年十月壬申朔,原舆人驱逐原伯绞,与《鲁历》、《周历》都差一天,这是左丘明根据他所听到的记载的。僖公二十二年十一月己巳朔,宋、楚在泓地交战。《周历》、《殷历》、《鲁历》都提前一天,这是楚国人奔赴报告的。昭公二十年六月丁巳晦,卫侯与北宫喜盟誓;七月戊午朔,于是与国人盟誓。三种历法都提前两天,这是卫国人奔赴报告的。这说明列国的历法不能用同一种方法统一。而《长历》如果日子不在那个月,就改变闰余,想要借此吻合。所以闰月相距,近的十几个月,远的也许七十几个月,这是杜预非常错误的地方。合朔在天象之前,那么《经》就记载日食来纠正它。中气在天象之后,那么《传》就记载冬至来表明它。当朔日在晦日或初二,就根据定朔来得到它。列国的历法有时不同,就考察六家的方法来确定它。这四点,都是研究历法的关键,而杜预不明白的原因。

新历根据《春秋》日食、古史交会加时以及史官观测记录的详细情况,考察其进退的中数,来建立常数。然后用太阳运行、月亮运行、先后、屈伸的变化,一起进行增减。所以经朔虽然得到其中数,但太阳月亮运行有时失去正常;如果太阳月亮运行各自符合其度数,而经朔有时失去其中数,那么参酌历代情况,必定会有误差。这三者互相作为基准,就像天平互相平衡,使得一千五百年间朔日一定在白天,望日一定在夜晚,其加时又吻合,那么三种方法的交会,自然各自符合其正常,这是最精微的。如果天体运行的盈虚,随时间消长,在常数之外显示警示,在隐微之中变化常度,那么圣人尚且不能确知,不是推算历法所能达到的。

从前的人考究天象,大多不知道定朔。假如日食在初二,而常朔的早晨,月亮出现在东方;日食在晦日,那么常朔的傍晚,月亮出现在西方。这是理数自然如此。而有人认为是朓朒的变化运行,有人认为是历法疏略,遇到常朔早晨出现就增加朔余,傍晚出现就减少朔余,这是纪历所以屡次变迁的原因。汉代编䜣、李梵等人又因为晦日仍有月亮出现,想要让蔀首先是大月。贾逵说:“《春秋》记载朔、晦,朔日一定有朔,晦日一定有晦,晦日、朔日一定在那个月之前。先是大月,那么一个月有两个朔日,后一个月没有朔日,这样朔日就不能确定了。编䜣、李梵等人想要凑合十六日、月亮在黄昏出现、晦日应当看不见罢了。又晦日和合朔同时,不能在不同日子。”考察贾逵等人所说,大概是知道了。晦朔之交,首尾相接,那么月光尽、月光生的界限,度数应当均匀。所以合朔在子正,那么晦日早晨,如同朔日傍晚,因此月亮都看不见;如果合朔在午正,那么晦日早晨,如同初二黄昏,因此月亮有时都出现。如果阴阳迟速、漏刻加时不同,取其中数的比率,距离太阳十三度以上而月亮出现,这是常态。而且晦日的光没有完全消失,如同初二的光已经生出。有人认为对,有人认为错。又常朔进退,那么定朔的晦日、初二。有人认为是变化,有人认为是常态。这是没有通晓四种、三种交合比较的理论。

综合近代的各种历法,以百万为比率来统一,它们的误差,少则一分,多至十几分。考察《春秋》只差一刻,而数百年间不足以形成朓朒的差异。施行不久,又变得疏略,这是由于不知道太阳运行和经朔互相求索。李业兴、甄鸾等人想要寻求天象验证,总是加减月分,不断变更,朓朒互相矛盾,又不知道昏明界限和定朔的缘故。杨伟采用《乾象历》制作迟疾阴阳历,虽然知道加时滞后,日食不在朔日,但未能有所改变。

何承天想要用盈缩来定朔望的小余。钱乐之认为:“推算交会时刻虽然精确,但月亮连续三次大月两次小月。日食不只在朔日,也有在晦日、初二的。”皮延宗又认为:“纪元首日的合朔,大余小余应当正好用完,如果每月确定,那么纪元首位有余,应当退回一日,便应该用旧年的晦日作为新纪元的首日。立法制度,似乎不方便。”何承天于是停止。虞广刂说:“所谓朔在会合,如果躔次已经相同,何必担心连续大月?日月相互分离,何必担心连续小月?”《春秋》日食不记载朔日的有八次,《公羊传》说:“是初二。”《谷梁传》说:“是晦日。”《左氏传》说:“是史官失记。”刘孝孙推算都得到朔日,认为左丘明正确,于是与刘焯都议论定朔,被主管官员压制未能施行。傅仁均开始采用定朔,而说“晦日月亮不东见,朔日月亮不西朓”,认为黄昏晦日应当看不见,这也是编䜣、李梵的论调。李淳风沿袭《皇极历》,《皇极历》比《麟德历》精密,用朔余乘以三千零四十,然后除以一万,取整得到一千六百一十三。又用九百四十乘它,除以三千零四十,得到四百九十八秒七十五太强,这是《四分历》的余率。

刘洪认为古历的斗分太强,时间长了就会滞后,于是先纠正斗分,然后求朔法,所以朔余的分母繁琐。韩翊认为《乾象历》的朔分太弱,时间长了就会超前,于是先考定朔分,然后反过来求度数之法,所以度余的分母繁琐。何承天反复互相求索,使气朔的分母符合简易的比率,而星数不能同元。李业兴、宋景业、甄鸾、张宾想要让六甲之首众术同元,而气朔的余分,非常细致。《麟德历》有总法,《开元历》有通法,所以积累年数如同月分之数,而后闰余一起用尽。

考察汉元光以来史官记载,日食有加时的共三十七件事,《麟德历》得到五件,《开元历》得到二十二件。

第四篇《没灭略例》说:

古代以中气盈余的日子为没,没分全部用尽的为灭;《开元历》以中分盈余为没,朔分亏缺为灭。综合全年没分,称为策余;全年灭分,称为用差。都归于揲易再扐而后挂。

第五篇《卦候议》说:

七十二候,源于周公《时训》。《月令》虽然颇有增益,但先后的次序相同。自从后魏开始记载于历法,于是依据《易轨》所传,不合经义。现在改为遵从古制。

第六篇《卦议》说:

十二月卦出于《孟氏章句》,它解说《易》本于气,而后以人事说明它。京房又用卦爻配合日子的时刻,坎、离、震、兑,它们用事从二分二至的开始,都得八十分之七十三。颐、晋、井、大畜,都得五日十四分,其余都是六日七分,只用于占卜灾祸与吉凶善恶之事。至于观察阴阳的变化,就错乱而不明白。从《乾象历》以来,都沿袭京房。只有《天保历》依据《易通统轨图》。从八十二节、五卦、初爻,依次用事,到上爻而与中气一起结束,这并非京房本意以及《七略》所传。按郎顗所传,卦都是六日七分,不以初爻依次用事,齐历错了。又京房减去七十三分,作为四正的节气,他的说法没有根据,想要附会《纬》文《七日来复》罢了。

阳精之道消尽,静而无迹,不过极尽正数,到七就通了。七,是阳的正数,哪里在于增加它的小余,让七天之后才雷动地中呢?应当依据孟氏,从冬至开始,中孚用事,一个月的策数,九六、七八,这就是三十。而卦以地六,候以天五,五六相乘,消息一变,经过十二变而年岁复初。坎、震、离、兑,二十四气,依次主一爻,其初爻就是二至、二分。坎以阴包阳,所以从北正,微阳在下面发动,上升而未通达,极于二月,凝冻之气消尽,坎的运行终结。春分出于震,开始占据万物的元始,为主于内,那么群阴化而从它,极于南正,而丰大之变穷尽,震的功用终结。离以阳包阴,所以从南正,微阴在下面生发,积累而未彰显,到八月,文明之质衰弱,离的运行终结。仲秋阴在兑成形,开始循着万物的末端,为主于内,群阳下降而承它,极于北正,而天泽之施穷尽,兑的功用终结。所以阳七之静始于坎,阳九之动始于震,阴八之静始于离,阴六之动始于兑。所以四象的变化,都兼有六爻,而中节的对应完备了。《易》爻对应日子,十二个中气,正值全卦之初;十二个节气,正值全卦的中。齐历又把节放在贞,气放在悔,不对。

第七篇《日度议》说:

古代历法,太阳运行有固定度数,天体运行一周为一年终了,所以将星宿的度数固定在节气上。这种说法看似合理实则错误,因此时间越久误差越大。虞喜发现了这一点,认为天体运行和年份是独立的,于是设立了岁差来追踪这种变化,使每五十年退一度。何承天认为这太过分,于是将年限加倍,结果反而达不到。《皇极历》取两家的中数七十五年,大致接近。考察古代史书和日官观测记录,用通法的三十九分之三十九作为一年的岁差。从帝尧开始推算历法起点,在虚宿一度。到如今的开元甲子年,已经退行了三十六度,而乾策又回到了起点。太阳在虚宿一度时,鸟、火、昴、虚四星都在仲月黄昏时位于中天,与《尧典》相符。

刘炫依据《大明历》四十五年差一度,那么冬至时太阳在虚宿、危宿之间,而夏至时火星已经过了中天。梁武帝根据虞广刂的历法,一百八十六年差一度,那么唐尧、虞舜之际,太阳在斗宿、牛宿之间,而冬至时昴宿尚未到达中天。(梁武帝)认为这都是因为闰月之后、节气之前,月份倒退造成的。但《尧典》所记载的是一整年的事,不可能一下子有四个闰月,所以李淳风为此解释说:“如果冬至时昴宿位于中天,那么夏至和秋分时火星、虚宿都在未正之西。如果夏至时火星居中,秋分时虚宿居中,那么冬至时昴宿在巳正之东。互相之间有所盈亏,不足以作为岁差的证据。”这种说法也是不对的。现在用四象划分天体,北正玄枵的中点,是虚宿九度;东正大火的中点,是房宿二度;南正鹑火的中点,是七星七度;西正大梁的中点,是昴宿七度。总计昼夜刻数来约算周天,确定距中星,那么春分时南正星位于中天,秋分时北正星位于中天。冬至黄昏,西正在午正东十八度;夏至黄昏,东正在午正西十八度:这是由晷影漏刻造成的。冬至时,太阳在虚宿一度,那么春分黄昏时张宿一度位于中天;秋分时虚宿九度位于中天;冬至时胃宿二度位于中天,昴宿距星正对午正东十二度;夏至时尾宿十一度位于中天,心宿后星正对午正西十二度。四季进退,不超过午正之间。而李淳风认为不合,这是错误的。另外,王孝通说:“如果岁差从昴宿到壁宿,那么尧前七千多年,冬至时太阳应该在东井。东井最靠北,所以炎热;斗宿最靠南,所以寒冷。寒暑位置互换,必然不是这样。”所谓岁差,是太阳与黄道一起移动。假如冬至时太阳运行到大火宿的中段,那么春分时黄道交于虚宿九度,而南至的轨道更出于房宿、心宿之外,距赤道也是二十四度。即使太阳在东井,岁差也是如此。如果太阳在东井,仍然离北极最近,表影最短,那么春分、秋分、夏至、冬至就始终在固定位置。黄道不移动,太阳运行不后退,又怎么能叫做岁差呢?王孝通和李淳风认为冬至时太阳在斗宿十三度,黄昏时东壁宿位于中天,昴宿在巽维之左,朝向光明的位置,并非没有星辰。水星黄昏时正对,可以作为仲月的标志,何必非要援引昴宿在初次显现之际,来迷惑百姓的视听呢!

夏朝四百三十二年,太阳退行了五度。太康十二年戊子年冬至,太阳应该在女宿十一度。

《尚书》说:“到了季秋月的初一,日月没有在房宿会合。”刘炫说:“房,是日月所停留的次舍。集,是会合。会合,就是相遇。没有相遇就可以知道发生了日食。有人把房当作房宿星,知道并非如此,而且太阳的位置正可以用来推算。君子对疑惑之事谨慎,难道应当以太阳所在的星宿作为文辞吗?近代擅长历法的人,推算仲康时九月朔日,太阳已经在房宿之北了。”按:古文“集”与“辑”意义相同。日月美好地相会,阴阳和睦,那么阳气不会在它的位置上生病,从而保持光明;阴气也含藏文采显示谦冲,从而隐藏它的形体。如果变化而互相伤害,就不和睦了。房宿是辰星所停留的次舍,星是所停留之处的名称,道理是一样的。另外《春秋传》说“辰在斗柄”、“天策焞焞”、“降娄之初”、“辰尾之末”,君子谈论这些,不认为有错,为什么唯独对房宿谨慎怀疑呢?新历仲康五年癸巳年九月庚戌朔日,日食发生在房宿二度。刘炫认为《五子之歌》中,仲康应当是其中一位,他开始统治天下,又修明大禹的典章,其五年时,羲氏、和氏失职,于是王命令前去征伐。虞广刂认为是仲康元年,这是不对的。

《国语》中单子说:“辰角出现而雨停止,天根出现而水干涸,本出现而草木凋零,驷出现而开始降霜,火出现而清风告诫寒冷。”韦昭认为这是夏后氏的法令,周人沿袭。推算夏后氏的初期,秋分后五天,太阳在氐宿十三度,龙角全部出现,时雨可以停止了。又早于寒露三天,天根在早晨出现,《时训》说“于是开始收潦”,而《月令》也说“水干涸”。寒露后十天,太阳在尾宿八度而本出现,又五天而驷出现。所以降霜时昆虫蛰伏封闭洞穴。郑康成根据当时所见,认为天根在早晨出现,在季秋之末,认为《月令》错误。韦昭认为仲秋水开始干涸,天根出现才竭尽。都不对。霜降后六天,太阳在尾宿末尾,火星初次出现,营宿黄昏时位于中天,于是开始修整城郭、宫室。所以《时儆》说:“营宿位于中天,土木工程开始。火初次出现,期会于司理。”《麟德历》霜降后五天,火星隐伏。小雪后十天,早晨出现。到大雪而后定星位于中天,太阳早晨南至,冰冻结实地面裂开。又不是土木工程开始的时候。

《夏历》的十二次,立春时,太阳在东壁宿三度,在《太初历》中星距壁宿一度三分之一。

《颛顼历》的上元是甲寅年正月甲寅日早晨初刻合朔立春,七曜都正对艮维之首。这是因为重黎在颛顼时受职,九黎扰乱德教,两位官员都被废黜,帝尧恢复他们的子孙的官职,命他们掌管天地四时,一直到虞、夏。所以根据其起源,命名为《颛顼历》,实际上就是《夏历》。汤作《殷历》,改用十一月甲子日合朔冬至为上元。周人沿用,距离羲、和时代千年,黄昏和黎明时的中星大约相差半个次舍。夏时直接对应月节,都应当有十二个中星,所以沿袭夏时的历法。后来吕不韦得到它,作为秦朝的历法,重新考定中星,截取近距,以乙卯年正月己巳日合朔立春为上元。《洪范传》说:“历法记载开始于颛顼上元太始阏蒙摄提格之年,毕陬之月,朔日己巳立春,七曜都在营室五度。”就是如此。秦《颛顼历》的元起始于乙卯,汉《太初历》的元起始于丁丑,向上推算,都不符合甲寅,仍然因为日月五星再次得到上元本来的星度,所以命名为阏蒙摄提格之年,而实际上并不是甲寅。

《夏历》的章、蔀、纪的首日,都在立春,所以其考核中星、测量斗建以及闰余的盈缩,都以十二个节气作为损益的中点。而《殷历》、《周历》、《汉历》,章、蔀、纪的首日都正对冬至,所以其观察发敛,也以中气为主。这就是它们的差异。

《夏小正》虽然颇为疏略简朴而失传,却是羲、和的遗迹。何承天遵循大戴的说法,又采用夏时的历法,改用正月甲子夜半合朔雨水为上元,向前违背《夏历》,向后不符合周正,所以近代推究《月令》、《小正》的人,都不与古时相合。《开元历》推算夏时立春,太阳在营宿之末,黄昏时东井宿二度位于中天。古历以参宿右肩为距星,正是南正星的位置。所以《小正》说:“正月初昏,北斗的斗柄悬在下方。”魁星枕在参宿之首,用来显示参宿的位置在正中。季春时,太阳在昴宿十一度半,距离参宿距星十八度,所以说:“三月,参宿隐伏。”立夏时,太阳在井宿四度,黄昏时角宿位于中天。南门右星进入角宿距星西五度,南门左星进入角宿距星东六度,所以说:“四月黄昏,南门正对。昴宿出现。”五月节,太阳在舆鬼宿一度半。参宿离太阳运行轨道最远,用浑仪测量,参宿的星体才开始出现,其肩部和股部还在昏暗中。房宿正好位于中天。所以说:“五月,参宿出现。初昏,大火位于中天。”“八月,参宿位于中天则天将亮”,这是失传了。辰星隐伏则参宿出现,不是位于中天。“十月黄昏,南门出现”,也是失传了。定星正好位于中天,则南门隐伏,不是黄昏时出现。

商朝六百二十八年,太阳退行了八度。太甲二年壬午年冬至,太阳应该在女宿六度。

《国语》说:“武王伐商,岁星在鹑火次,月亮在天驷宿,太阳在析木之津,辰星在斗柄,星宿在天鼋。”旧说岁星在己卯,推算其月初,是文王去世、武王成为君主之年。其明年,武王即位,新历孟春定朔丙辰,在商朝是二月,所以《周书》说:“维王元祀二月丙辰朔,武王访问周公。”《竹书》:“十一年庚寅,周开始伐商。”而《管子》和《家语》认为是十二年,大概是通算成君之年。先儒认为文王受命九年去世;到十年,武王在盟津阅兵;十三年,又伐商。推算元祀二月丙辰朔,距离伐商的日期,不是相隔四年。这种说法不对。武王十年,夏正十月戊子,周师开始出发。根据岁差,太阳在箕宿十度,就是析木津。早晨初刻,月亮在房宿四度。在《易》中,雷乘乾称为大壮卦,房宿、心宿象征它。心宿是乾的精气,而房宿是升阳之驷。房宿与岁星实际互相经纬,隶属灵威仰之神,后稷感此而生。所以《国语》说:“月亮所在的位置,是辰马农祥,我祖后稷所经纬的地方。”又过三日得周正月庚寅朔,日月会合于南斗一度。所以说“辰在斗柄”。壬辰日,辰星晚上出现,在南斗二十度。第二天,武王从宗周出发驻扎在军队所在地。凡是月朔而未出现称为“死魄”,晚上发光则称为“朏”。朏有时在二日,有时在三日,所以《武成》说:“维一月壬辰,旁死魄。翌日癸巳,王朝步自周,于征伐商。”这时辰星与周师一起前进,从建星之末,经过牵牛、须女,进入颛顼之虚。戊午日,军队渡过盟津,而辰星隐伏在天鼋。辰星,是汁光纪的精气,用以告知颛顼而完成水行的运数,并且是木帝所由生。所以《国语》说:“星与日辰的位置都在北维,颛顼所建立,帝喾承受。我周氏出自天鼋;至于析木,有建星、牵牛,则是我皇妣太姜之侄、伯陵之后逢公所凭借的神。”这一年,岁星开始到达鹑火。第二年,周开始革命。岁星又退行,停留在鹑首,而后前进到达鸟帑,所以反复其道,经纶周室。鹑火正对轩辕之虚,以发展农耕,稷星系在这里,而成周的大汇集。鹑首位于山河之右,太王因此兴起,后稷受封于此,而宗周所居。岁星与房宿实际互相经纬,而相距七舍;木星和水星交替终始,而相距七月。所以《国语》说:“岁星所在的位置,则是我周的分野。从鹑火到天驷共七列,南北之距七月。”其二月戊子朔,月光初现,王自克商返回,到达酆,在周朝是四月。新历推定望日为甲辰,而乙巳为其旁日。所以《武成》说:“维四月,既旁生魄,粤六月庚戌,武王在周庙祭祀。”《麟德历》中,周师开始出发时,岁星在降娄次,月亮宿于天根,太阳运行到心宿而辰星会合在尾宿,水星隐伏在星纪,没有到达天鼋。又《周书》,革命六年而武王去世。《管子》、《家语》认为是七年,大概是通算克商之年。

周公摄政七年二月甲戌朔,己丑望,后六日乙未。三月定朔甲辰,三日丙午。所以《召诰》说:“二月既望之后,第六天乙未,王早晨从周步行到酆”,“三月丙午朏,后三天戊申,太保早晨到达洛邑。”第二年,成王即位。三十年四月乙酉朔甲子,哉生魄。所以《书》说:“四月,才生魄。”甲子,作《顾命》。康王十二年,岁在乙酉,六月戊辰朔,三日庚午。所以《毕命》说:“十二年六月庚午朏,后三天壬申,王用成周的民众命令毕公。”从伐纣到此时,五十六年,朏魄和日名,上下没有不符合的。而《三统历》以己卯为克商之年,是错误的。有效于古代的,应当合于现代。《三统历》从太初到开元,朔日比实际晚三天。往上推算到周初,又比实际早,错误更加严重。因此知道与刘歆相符的,必定不是克商之年。

从周朝到春秋末期,太阳退行八度。康王十一年甲申岁冬至,应在牵牛六度。

《周历》的十二次,星纪初,南斗十四度,在《太初历》中星距斗十七度少。

古历分率简易,年代久了就会产生误差。通晓历数的人随时变迁改革,以符合变化。所以三代兴起时,都测量天象,考正星次,作为一代的制度。正朔改变后,服色也随之改变。到继承先王、遵守成法时,历官代代继承,就谨慎遵循先王旧制。

《国语》说:“农祥晨正,日月底于天庙,土乃脉发。先时九日,太史告稷曰,自今至于初吉,阳气俱蒸,土膏其动。弗震不渝,脉其满眚,谷乃不殖。”周初,先立春九日,太阳到达营室。古历距离中星九十一度,这天早晨初刻,大火星正中,所以说“农祥晨正,日月底于天庙”。在《易》象中,升气穷尽而临卦承接,从冬至后七日,乾精开始复苏。到大寒,地统之中,阳气调和于万物根柢,与萌芽一同上升,木在地中之象,升气已经通达,就应当推而广之,所以用临卦承接。在消息卦中,龙德在田,得到地道之和泽,而在地中运动,升阳充盈,土气震动生发,所以说:“自今至于初吉,阳气俱蒸,土膏其动。”又先立春三日,小过卦主事,阳气喜好节止于内,动作于外,矫枉过正,然后返回寻求中正。因此到达艮维,则山泽通气,阳精打开门户,甲壳裂开的萌芽显现,而莩谷之际分离,所以说:“不震不渝,脉其满眚,谷乃不殖。”君子之道,必须比拟然后发言,岂能仅凭臆测而已!韦昭认为日月到达天庙,在立春之初,是错误的。在《麟德历》中则又晚立春十五日。

《春秋》“桓公五年,秋,大雩”。《传》说:“记载不合时令。凡是祭祀,启蛰而郊,龙见而雩。”《周历》立夏太阳在觜觿二度。按轨漏,昏时角宿一度中,苍龙全部出现。那么应当在建巳之初,这是周礼。到春秋时,太阳已潜退五度,节气提前而月建退后,仍在建辰。《月令》认为是五月,《吕氏春秋》用《颛顼历》芒种亢宿中,则龙在立夏昏见,不知道有岁差,所以雩祭错过时令。那么唐礼应当在建巳之初,农祥开始出现时举行雩祭。如果依据《麟德历》,在小满后十三日,则龙角过中,不合时令了。《传》说:“凡是土功,龙见而毕务,戒事。火见而致用,水昏正而栽,日至而毕。”十六年冬,修筑向邑城墙。十一月,卫侯朔出奔齐。“冬,修筑向邑城墙,记载合时。”用岁差推算,周初霜降,太阳在心宿五度,角宿、亢宿晨见。立冬,火星出现在营室中。后七日,水星昏正,可以兴土工。所以祖冲之认为“定之方中”,正当营室八度。这年九月六日霜降,二十一日立冬。十月之前,水星昏正,所以《传》认为合时。杜氏依据晋历,小雪后定星才正中,季秋修筑向邑城墙,似乎太早,于是说:功役之事,都是总指天象,不与历数相同。引《诗》云“定之方中”,是未正中的说法,不对。《麟德历》,立冬后二十五日火星出现,到大雪后营室才正中。而《春秋》记载九月合时,岂不是太早吗?大雪,周朝的孟春,阳气静复,用来修缮城隍,治理宫室,这叫做发天地之房,与立春断狱相比,失误很多。那么唐制应当在玄枵中天时兴土功。

僖公五年,晋侯伐虢。卜偃说:“能战胜。童谣说:丙之辰,龙尾伏辰,袀服振振,取虢之旂,鹑之贲贲,天策焞焞,火中成军。’大概在九月十月之交!丙子日早晨,太阳在尾宿,月亮在策星,鹑火中,必定是此时。”策星,进入尾宿十二度。新历这年十月丙子定朔,日月合于尾宿十四度黄道。古历太阳在尾宿,月亮在策星,所以说“龙尾伏辰”,在古历距张宿中而天亮,正当鹑火之末,开始将要西降,所以说“贲贲”。

昭公七年四月甲辰朔,日食。士文伯说:“离开卫地,到达鲁地。于是有灾,鲁国实际承受。”新历这年二月甲辰朔入常,雨水后七日,在奎宿十度。周度为降娄之始,则是鲁、卫交界。从周初到此时,已退七度,所以入雨水。七日方及降娄,虽然日度潜移,但周礼未改,其配神主祭的星宿,应当记载于建国之初。淳风驳《戊寅历》说:“《汉志》降娄初在奎五度,今历日食在降娄之中,依无岁差法,食于两次之交。”这又不对。议论者明白十二次产生的原因,然后可以明辨其得失。且刘歆等人所定辰次,并非能洞察阴阳之奥秘,而得到鬼神启示,各自依据当时的中节星度罢了。刘歆用《太初历》冬至日在牵牛前五度,所以降娄正直东壁八度。李业兴《正光历》,冬至在牵牛前十二度,所以降娄退至东壁三度。到祖冲之之后,以为日度渐渐有差,则应当依据列宿四正之中来定辰次,不再联系于中节。淳风认为冬至常在斗十三度,则应当以東壁二度为降娄之初,怎能固守汉历反驳仁均呢?又《三统历》昭公二十年,己丑,日南至,与《麟德》及《开元历》相同。那么入雨水后七日,也入降娄七度,不是鲁、卫交界。三十一年十二月辛亥朔,日食。史墨说:“日月在辰尾,庚午之日,太阳开始有灾。”《开元历》这年十月辛亥朔,入常立冬。五日,太阳在尾宿十三度,在古历距辰尾之初。《麟德历》太阳在心宿三度黄道,退而正对房宿。

哀公十二年冬十二月,螽虫。《开元历》推算置闰应当在十一年春,到十二年冬,失闰已久。这年九月己亥朔,先寒露三日,按定气,太阳在亢宿五度,距离心宿近一个星次。火星明亮,尚未应当隐伏。到霜降五日,才开始潜伏日下。而《月令》“蛰虫咸俯”,则火星未伏,应当在霜降前。虽然节气极晚,不得在十月昏见。所以仲尼说:“丘闻之,火伏而后蛰者毕。今火犹西流,司历过也。”当夏后氏之初,八月辰星伏,九月内火,到霜降之后,火已早晨出现在东方,距春秋末千五百余年,却还说“火伏而后蛰者毕”。假使冬至常居其位,则仲尼不得以西流未伏,明确是九月之初。从春秋至今又千五百年,《麟德历》以霜降后五日,太阳在氐宿八度,房宿、心宿初伏,确定增加二日,用月食冲校勘,仍差三度。闰余稍多,则建亥之初,火仍见于西方。假使星宿位置不移,则仲尼不得以西流未伏,明确不是十月的时节。从羲和以来,火星出现和隐伏,三次看到其变化。那么左丘明的记载,是想让后世作者参求微象,以探求仲尼的旨意。这年失闰已久,季秋中气后于天象三日,等到明年仲冬,又得一闰。领悟仲尼之言,补正时历,而十二月仍可以有螽虫。到哀公十四年五月庚申朔,日食。用《开元历》考校,则日食前又增一闰,《鲁历》正确。《长历》从哀公十年六月,到十四年二月,才置一闰,不对。

战国及秦,太阳退行三度。始皇十七年辛未岁冬至,应在斗宿二十二度。秦历上元正月己巳朔,晨初立春,日、月、五星俱起于营室五度。蔀首日名都对应四孟。假使朔日退后十五日,则闰月在正月前。朔日前进十五日,则闰月在正月后。因此十二节,都在盈缩之中,而晨昏宿度随之。用《颛顼历》依照《月令》从十二节推算,与吕不韦所记相合。而颍子严等人认为《月令》晨昏距宿,应当在中气,导致雩祭太晚,自相违背左氏之文,而杜预又依据《春秋》,认为《月令》不对。都是错误的。梁《大同历》夏后氏之初,冬至日在牵牛初,认为《明堂》《月令》是夏时的记载,依据中气推算不合,改用中节之间为正,才稍微相符。不知进在节初,自然契合。从秦初到现在,又将千年,节初的星宿,都对应于中气。淳风因此说:“今孟春中气,日在营室,昏明中星,与《月令》不差。”按秦历立春,日在营室五度。《麟德历》在启蛰之日才到营室,其昏明中宿十二建,认为没有差,荒谬。

古历,冬至昏明中星距离太阳九十二度,春分、秋分一百度,夏至一百一十八度,大致每气差三度,九日差一刻。

秦历十二次,立春在营室五度,在《太初历》中星距危宿十六度少。昏时,毕宿八度中,《月令》参宿中,指肩股。晨时,心宿八度中,《月令》尾宿中,在《太初历》星距尾宿。仲春昏时,东井十四度中,《月令》弧星中,弧星入东井十八度。晨时,南斗二度中,《月令》建星中,在《太初历》星距西建星。《甄耀度》及《鲁历》,南方有狼、弧,无东井、鬼,北方有建星,无南斗,井、斗度长,弧、建度短,所以用来校正昏明。

古代历法中的星宿度数以及汉代落下闳等人所测量的结果,星星之间的距离远近不同,但二十八宿的总体结构没有差异。古代以牵牛星的上星作为距离基准,《太初历》改用中星,进入古历牵牛星大半度,在节气法上相当于三十二分之二十一。因此《洪范传》说冬至时太阳在牵牛星一度,比《太初历》的星距减少了二十一分,正好在斗宿二十六度十九分。《颛顼历》立春从营室星五度开始,冬至在牵牛星一度稍少。《洪范传》冬至起始没有余分,所以立春在营室星四度太。祖冲之从营室星五度,用《太初历》的星距来命名,于是说秦历的冬至,太阳在牵牛星六度。虞广等人沿袭了祖冲之的错误,解释说:“夏朝时的冬至,太阳在斗宿末尾,用岁差来考察,牵牛星六度是颛顼时代的。汉代虽然觉察到这种差异,一下子移动了五度,所以冬至还在牵牛星初度。”按照《洪范传》古今星距,只差四分之三,都是从牵牛星一度开始。虞广等人说的,也是不对的。鲁宣公十五年,丁卯年,《颛顼历》第十三蔀首与《麟德历》都在丁巳年平旦立春。到秦始皇三十三年丁亥年,一共三百八十年,得到《颛顼历》壬申蔀首。这一年,秦历以壬申年寅初立春,而《开元历》与《麟德历》都以庚午年平旦,相差两天,太阳应当在斗宿二十二度。古代历法落后两天,又增加了两度。那么秦历的冬至,一定在午前二度。节气落后两天,太阳落后天象两度,细微而难以察觉,所以《吕氏春秋》沿用了它。

到汉朝兴起,张苍等人也认为《颛顼历》与另外五家历法相比虽然粗略但最近于精确。现在考察月食的冲点,那么开元历的冬至,往上到牵牛星初度正好差一次。李淳风认为古代历法疏漏错误,即使弦望、昏明相差十五度还不知道。又引用《吕氏春秋》,黄帝在仲春乙卯日太阳在奎宿,开始演奏十二钟,命名为《咸池》。到现在三千多年,而春分也在奎宿,反而说秦历与现在没有差异。按吕不韦所记载的,因为他的《月令》孟春在奎宿,说黄帝的时候也在奎宿,就像淳风历冬至在斗宿十三度,于是说黄帝时也在建星一样。经籍所记载的,符合岁差的,李淳风都不取,而专门取用《吕氏春秋》。如果说十二纪可以作为标准,那么立春在营室星五度,本来应当不变,怎么能突然移动使它符合启蛰的节气?这又是他没有思考的地方。

汉朝四百二十六年,太阳后退了五度。汉景帝中元三年甲午年冬至,应当在斗宿二十一度。

太初元年,《三统历》和《周历》都以十一月夜半合朔冬至,太阳和月亮都从牵牛星一度开始。古代历法与近代精密率比较,二百年节气差一天,三百年朔差一天。往上推,时间越久越超前;往下推,时间越久越落后。鲁僖公五年,《周历》正月辛亥朔,余四分之一,冬至。用岁差推算,太阳在牵牛星初度。到鲁宣公十一年癸亥年,《周历》与《麟德历》都以庚戌日中午冬至,而月朔还比《麟德历》早十五辰。到鲁昭公二十年己卯年,《周历》以正月己丑朔日中午冬至,《麟德历》以己丑日平旦冬至。鲁哀公十一年丁巳年,《周历》进入己酉蔀首,《麟德历》以戊申日禺中冬至。周惠王四十三年己丑年,《周历》进入丁卯蔀首,《麟德历》以乙丑日日昳冬至。吕后八年辛酉年,《周历》进入乙酉蔀首,《麟德历》以壬午日黄昏冬至;其十二月甲申日,人定合朔。太初元年,《周历》以甲子夜半合朔冬至,《麟德历》以辛酉日禺中冬至,十二月癸亥日晡时合朔。节气差三十二辰,朔差四辰。这是疏密的大致情况。

鲁僖公五年,《周历》、汉历、唐历都以辛亥日冬至。之后五百五十多年,到太初元年,《周历》、汉历都得到甲子夜半冬至,唐历都以辛酉日,那么汉历落后三天了。祖冲之、张胄玄提前上章岁到太初元年,祖冲之以癸亥日鸡鸣冬至,而张胄玄以癸亥日日出。想让它合于甲子,却正好与《鲁历》相合。由此推算僖公五年,《鲁历》以庚戌冬至,而两家都以甲寅。而且僖公登上观台观望而记载云物,出于表晷天验,不是史官臆度。违背了左丘明正确记时的意思,以附会刘歆的失误。现在考麟德元年甲子年,唐历都以甲子冬至,而《周历》、汉历都以庚午。那么从太初往下到麟德差四天,从太初往上到僖公差三天,不值得怀疑。

用岁差考察太初元年辛酉年冬至的加时,太阳在斗宿二十三度。汉历,节气落后三天,而太阳超前三天,所差还少。所以落下闳等人虽然观测昏明中星,推算太阳所在,还是没有察觉这种差异。然而《洪范》、《太初》所测,冬至黄昏奎宿八度中,夏至黄昏氐宿十三度中,依照汉历,冬至太阳在牵牛星初度大半度,用昏距中星来命名,奎宿十一度中;夏至,房宿一度中。这些都是落下闳等人所测,自差三度,那么刘向等人大概已经知道《太初历》冬至比天象晚了三度了。

到永平年间,治历者考核实际天象,史官注记太阳位置,常常比《太初历》差五度。然而诸儒坚守谶纬,认为应当在牵牛初度,所以贾逵等人议论:“石氏的星距,黄道规牵牛初度正对斗宿二十度,在赤道上是二十一度。《尚书·考灵耀》斗宿二十二度,没有余分。冬至,太阳在牵牛初度,没有牵年所起的文字。编䜣等人根据今天所离牵牛中星五度,在斗宿二十一度四分一,与《考灵耀》相近。”于是改历从斗宿二十一度开始。但是古代历法以斗魁首为距,到牵牛为二十二度,没听说移动牵牛六度来附和《太初历》的星距。贾逵等人以末学偏于所传,而昧于天象,所以用权变欺骗,而后听从其他方法,认为太阳在牵牛初度的说法,从此被废除。

现在的岁差,往后推,那么辛酉年冬至,太阳在斗宿二十度,符合精密率,而且在今天有验证;往前推,那么甲子年冬至,太阳在斗宿二十四度,黄昏奎宿八度中,而在古代有证据。它虚退的度数,又正好到牵牛之初。而祖冲之虽然提前减少节气分数,希望符合汉历,仍然差六度,没有达到天象。而《麟德历》冬至不移动,那么昏中星就差了半次。李淳风认为太初元年得到本来的星度,日月合璧,都从建星开始。贾逵考历,也说古代历法冬至都从建星开始。两汉冬至,太阳都落后,所以它的宿度多在斗宿末尾。现在用仪器测量,建星在斗宿十三四度之间,自古以来冬至没有差,确实。

按古代的六种历法,都同于《四分》。《四分》的方法,时间久了就落后。推求古代历法的制作,都在汉初,却比较《春秋》,朔都超前,那么不是三代之前是明确的。

古代历法,南斗到牵牛上星二十一度,进入《太初历》星距四度,上直西建之初。所以六家有的以南斗命度,有的以建星命度。正当周、汉之交,太阳已经暗中后退,那些沿袭《春秋》旧历的,认为在牵牛之首;那些考察当时验证的,认为进入建星度中。然而气朔前后不超过一天,所以汉历冬至,应当在斗宿末尾。认为建星上得《太初历》本来的星度,这是明确的证据。《四分》法虽然粗略,但先贤谨慎于天象,其变迁革新的意图,都在当时有效验,所以太史公等人观测二十八宿疏密,立晷仪,设漏刻,来考察晦朔、分至、躔离、弦望,其赤道遗法,后世无法非议。所以杂候清台,《太初历》最精密。如果当时太阳在建星,已经正对斗宿十三度,那么寿王的《调历》应该允当得中,怎么能容许突然差一个节气而不知道其错误?不能观察时变,而想大力诬蔑古人。

之后一百多年,到永平十一年,用《麟德历》比较,节气应当落后两天半,朔应当落后半天。这一年《四分历》得到辛酉蔀首,已经减少了《太初历》四分之三,确定落后两天大半。《开元历》以戊午日禺中冬至,太阳在斗宿十八度半弱,暗中退到牵牛前八度。进到辛酉夜半,太阳在斗宿二十一度半弱。《续汉志》说:“元和二年冬至,太阳在斗宿二十一度四分之一。”是的。

祖冲之说:“《四分历》立冬影长一丈,立春九尺六寸,冬至南至极太阳晷影最长。二个节气离冬至的天数既然相同,那么中午的影长应该相等。却相差四寸,这是冬至落后的验证。二个节气的中午影长,每天差九分半弱,进退调匀,几乎没有盈缩。各退二日十二刻,那么影长都是九尺八寸。由此推算冬至落后也是二日十二刻了。”东汉的晷漏确定于永元十四年,那么是《四分》法施行后十五年。

二十四节气的加时,进退不等,其离午正极远的,有四十九刻有余。日中的晷影,颇有盈缩,所以治历者都取其中率,以午正来说。而《开元历》所推的节气及太阳度数,都在子半的开始。其未到日中,还有五十刻。因此加二日十二刻,正好得到二日大半。与祖冲之所算及破章二百年间就差一天的数目,都相合。

从汉时辛酉冬至,用后天的天数减去它,那么符合于今历岁差斗十八度。从今历戊午冬至,用后天的天数加上它,那么符合于贾逵所测斗二十一度。反复都相同。而李淳风冬至常在斗十三度,难道当时知道不及牵牛五度,而不知道超过建星八度吗?

晋武帝太始三年丁亥年冬至,太阳应当在斗宿十六度。晋朝用魏《景初历》,其冬至也在斗宿二十一度少。太元九年,姜岌重新制作《三纪术》,退到斗宿十七度。说:“古历斗分强,所以不可用于今;《乾象》斗分细,所以不可通于古。《景初》虽然得其中,但太阳所在,却差四度,合朔亏盈,都不在其位。假如月亮在井宿一度蚀,用太阳检验,却在参宿六度。”姜岌用月食的冲点知道太阳度数,由此躔次就正了,成为后代治历者的宗主。

宋文帝时,何承天上《元嘉历》,说:“《四分》、《景初历》,冬至同在斗宿二十一度,我以月食检验之,现在应当在斗宿十七度。又用土圭测二至,晷差三天有余,那么天的南至,太阳在斗宿十三四度了。”事情下交太史考验,如何承天所上。用《开元历》考察元嘉十年冬至,太阳在斗宿十四度,与何承天所测相合。

大明八年,祖冲之上《大明历》,冬至在斗宿十一度,《开元历》应在斗宿十三度。梁天监八年,祖冲之的儿子员外散骑侍郎祖暅之献上其家传历法。诏令太史令将作大匠道秀等比较之,上距大明又五十年,太阳度数更加差。其明年,闰月十六日,月蚀,在虚宿十度,太阳应在张宿四度。何承天历在张宿六度,祖冲之历在张宿二度。

大同九年,虞广刂等人商议说:“姜岌、何承天都用月食时对冲着太阳的位置来推算太阳所在的位置。何承天虽然把姜岌的(冬至日所在)移动了三度,但他的冬至也比姜岌早了三天。何承天(认为冬至日)在斗宿十三四度之间,而姜岌在斗宿十七度。其实并非移动。祖冲之认为这是实际差值,用来推算现在的冬至,太阳在斗宿九度,再用中星来检验则不符合。从姜岌到现在,将近二百年,而冬至在斗宿十二度。然而太阳所在位置难以知晓,用中星来检验,则漏刻又不稳定。汉代观测昏明中星,方法已经很粗浅。现在观测半夜的中星,来求取太阳对冲的位置,接近于精确。但水有清浊,壶有增减,有时被积尘堵塞,所以漏刻有快慢。我们连续几夜观测中星,而前后相差有时达到三度。大致上冬至最远不超过斗宿十四度,最近不超出斗宿十度。”又用大同九年三月十五日半夜,月亮在房宿四度发生月食。九月十五日半夜,月亮在昴宿三度发生月食。用其对冲推算,冬至都在斗宿十二度。从姜岌、何承天所测,下至大同,太阳已经后退了二度。而李淳风认为晋、宋以来三百多年,用月食对冲考定,本来就在斗宿十三四度之间,这是不对的。

刘孝孙的《甲子元历》,推算太初年间冬至在牵牛星初度,下至晋太元、宋元嘉都在斗宿十七度。开皇十四年,在斗宿十三度。而刘焯的历法仁寿四年冬至,太阳在黄道斗宿十度,在赤道斗宿十一度。后来刘孝孙改而从刘焯的方法,而仁寿四年冬至,太阳也在斗宿十度。刘焯死后,张胄玄用他的前历上元起于虚宿五度,推算汉太初,仍然达不到牵牛星,于是改起于虚宿七度,所以太初在斗宿二十三度,永平在斗宿二十一度,都与现在的历法相合。而仁寿四年,冬至在斗宿十三度,用来检验近期之事,又不如他的前历了。《戊寅历》,太初元年辛酉冬至,进到甲子,太阳在牵牛星三度。永平十一年,得到戊午冬至,进到辛酉,在斗宿二十六度。到元嘉,中气比景初历早三天,而冬至仍在斗宿十七度。想要以此求合,反而更加失误。又曲意顺从刘孝孙的论断,却不知道刘孝孙已经改变而从《皇极历》,所以被李淳风等人驳斥。岁差的方法,因此未能推行。

用太史注记的月食对冲来考定太阳度数,麟德元年九月庚申日,月食在娄宿十度。到开元四年六月庚申日,月食在牛宿六度。与《麟德历》相比大致差三度,那么现在冬至确实在赤道斗宿十度。

又《皇极历》的岁差都是从黄道来规定的,它每一周天分度,常与冬至的轨道相当,与赤道相比,所减更多。计算黄道差三十六度,赤道差四十余度,虽然每年推行,不算过分。但制定历法的原则,应该穷尽本源,所以《开元历》都从赤道推算,再用今有术变通为黄道。

历法第三下

其八《日躔盈缩略例》说:

北齐张子信长期观测合朔和交食的时刻,发现太阳运行有入气差,但损益的数值不准确。到刘焯,创立了盈缩躔衰的方法,与四象升降相配合。《麟德历》沿用了它,改名为躔差。凡是阴阳往来,都是逐渐积累而变化的。太阳运行到南至,速度最快,快而逐渐减慢,到春分及中而后变慢。等到太阳运行到北至,速度最慢,慢而逐渐加快,到秋分又到中而后加快。快极则寒冷,慢极则炎热,到中则雨晴之气相交,这是自然的规律。刘焯的方法在春分前一天最快,后一天最慢;秋分前一天最慢,后一天最快。快慢与二至相同,而中间一天匀速。这种说法不对。应当用二十四气的晷影,考察太阳运行的盈缩而精确地确定交食时刻。

其九《九道议》说:

《洪范传》说:“太阳有中道,月亮有九行。”中道,就是黄道。九行,是青道两条,出于黄道东;朱道两条,出于黄道南;白道两条,出于黄道西;黑道两条,出于黄道北。立春、春分,月亮向东从青道;立夏、夏至,月亮向南从朱道;立秋、秋分,月亮向西从白道;立冬、冬至,月亮向北从黑道。汉代史官的旧事,九道的方法废弃已久,刘洪稍微采用来撰写迟疾阴阳历,但原本以消息为奇,而方法没有流传。

推算阴阳历交点在冬至、夏至时,则月亮运行青道、白道,它们所交的宿度相同,但出入的运行不同。所以青道到春分的宿度,以及它的对冲位置,都在黄道正东;白道到秋分的宿度,以及它的对冲位置,都在黄道正西。如果阴阳历交点在立春、立秋,则月亮沿朱道、黑道运行,所交相同,但出入运行不同。所以朱道到立夏的宿度,以及它的对冲,都在黄道西南;黑道到立冬的宿度,以及它的对冲,都在黄道东北。如果阴阳历交点在春分、秋分的宿度,则月亮行朱道、黑道,所交相同,但出入运行不同。所以朱道到夏至的宿度,以及它的对冲,都在黄道正南;黑道到冬至的宿度,以及它的对冲,都在黄道正北。如果阴阳历交点在立夏、立冬,则月亮沿青道、白道,所交相同,但出入运行不同。所以青道到立春的宿度,以及它的对冲,都在黄道东南;白道到立秋的宿度,以及它的对冲,都在黄道西北。这些大体都包含两条道,而实际上分别主管八个节气,合于四正四维。

按阴阳历中终所交之处,则月亮运行正当黄道,离开交点七日,运行九十一度,相当于一象的比率,而得到八行中的位置。八行与中道合为九,这就是九道。凡是八行在春秋时正,它们离黄道六度,则交点在冬夏;在冬夏时正,它们离黄道六度,则交点在春秋。《周易》的九六、七八,是交替为始终的象征。乾坤定位,则八行各当其正。等到寒暑相推,晦朔相易,则在南的变为北,在东的变为西,这是屈伸消息的象征。

黄道的差值,从春分、秋分开始,赤道所交前后各五度为一限。最初,黄道比赤道增多二十四分之十二,每限减少一分,到九限为止,数终于四,比率是赤道四十五度而黄道四十八度,到四立之际,多一度稍强,依平均。再从四开始,初限五度,赤道比黄道增多二十四分之四,每限增加一分,到九限为止,终于十二,比率是赤道四十五度而黄道四十二度,又得到冬夏至的中位。

月道的差值,从交初、交中开始,黄道所交也距交前后五度为一限。初限,月道比黄道增多四十八分之十二,每限减少一分,到九限为止,数终于四,比率是黄道四十五度而月道四十六度半,多一度强,依平均。再从四开始,初限五度,月道比黄道少四十八分之四,每限增加一分,到九限为止,终于十二,比率是黄道四十五度而月道四十三度半,到阴阳历二交的一半。凡是靠近交初限增加十二分的,到半交末限减少十二分,离交四十六度得到损益的平均率。

太阳运行与岁差一同迁移,月亮运行随交限而变化,遁伏相互抵消,朓朒相互补充,则九道的数目可知。月道所交与二分同度,则赤道、黑道靠近交初限,黄道增加二十四分之十二,月道增加四十八分之十二。到半交之末,减少也如此。所以在九限之际,黄道差三度,月道差一度半,这是损益的数目相等。如果所交与四立同度,则黄道在损益之中,月道差四十八分之十二。月道到损益之中,黄道差二十四分之十二。在九限之际,黄道差三度,月道差四分之三度,都是朓朒相互补充。如果所交与二至同度,则青道、白道靠近交初限,黄道减少二十四分之十二,月道增加四十八分之十二。到半交之末,黄道增加二十四分之十二,月道减少四十八分之十二。在九限之际,黄道与月道差相同,这是遁伏相互抵消。

太阳出入于赤道二十四度,月亮出入于黄道六度,相距则四分之一,所以对于九道的变化,以四立为中交。在二分,增加四分之一,而与黄道度数相半。在二至,减少四分之一,而与黄道度数正好相等。所以推极数目,引申开来,每气移一候。月道所差,增损九分之一,七十二候而九道穷尽。

凡是月亮交点一终,退回前所交一度及余数八万九千七百七十三分之四万二千五百零三少半,累积二百二十一月及分数七千七百五十三,而交道周天。因此半之,将近九年而九道终结。

用四象考察,各据合朔所交,进入七十二候。则其八道的运行。以朔交为交初,望交为交中。如果交初在冬至初候而进入阴历,则行青道。又十三日七十六分之四十六,到交中得到所冲的宿度,变为进入阳历,也行青道。如果交初进入阳历,则是白道。所以考察交初所入,而周天的度数可知。如果望交在冬至初候,则减去十三日四十六分,看大雪初候的阴阳历而确定其运行。

其十《晷漏中星略例》说:

太阳运行有南北,晷漏有长短。然而二十四气晷影差速不同,是勾股造成的。正对规中则差慢,与勾股数相等则差快。随辰极高下,所遇不同,如黄道刻漏。这是数中浅显的,近代尚且不晓。现在推算黄道去极,与晷影、漏刻、昏距、中星四种方法反复互相求取,消息同率,互相为中,以合九服的变化。

其十一《日蚀议》说:

《小雅》“十月之交,朔日辛卯”。虞广刂用历法推算,在幽王六年。《开元历》定交分四万三千四百二十九,进入蚀限,加时在白天。交会而食,是数的常理。《诗经》说:“彼月而食,则维其常。此日而食,云何不臧。”太阳,是君道,没有朏魄的变化;月亮,是臣道,离远则日益明亮,靠近则日益亏缺。望时与太阳轨道相会,则移动而逐渐远离,远极又逐渐靠近交点,这是用来显示臣人的象征。望时正对黄道,这叫做臣子干预君明,则阳气就会蚀它。朔时正对黄道,这叫做臣子壅蔽君明,则阳气为它所蚀。而且十月之交,按历法应当有食,君子还认为是变异,诗人哀悼它。然而古代太平之时,太阳不食,彗星不出现,应该是有的。

如果过了至分而未分,月亮有时改变运行而避开;或者五星潜藏在太阳下面,抵御而救助它;或者交食数值浅,或者在阳历,阳盛阴微则不食;或者德行休明,而有小灾,则上天为之隐藏,虽然交而不食。这四种情况,都是德教所产生的。

四季之中,分时同道,至时相过,交而有食,则是天道之常。如刘歆、贾逵,都是近古大儒,难道不知道轨道所交,朔望同一方法吗?因为日食不寻常,所以缺而不论。

黄初以来,治历者开始考核日食的疏密,到张子信而更加详细。刘焯、张胄玄之徒自负其术,认为日月都可以用精密率来求得,这是专于历法纪纲的人。

用《戊寅历》、《麟德历》推算《春秋》中的日食,大多都进入蚀限。按历法应当有食而《春秋》未记载的还很多,则日食一定在交限之内,但进入限度的未必都食。开元十二年七月戊午朔,按历法应当食一半强,从交趾到朔方,观测却没有食。十三年十二月庚戌朔,按历法应当食大半,当时东封泰山,回程停在梁、宋之间,皇帝撤去膳食,不奏乐,不张伞,穿素服,太阳也没有食。当时群臣与八方君长来助祭的人,降下器物等待,不可胜数,都奉寿称庆,肃然神服。虽然算术乖舛,不应如此,然后知道德行感动上天,不须等待终日。如果因为开元两次日食,曲意改变交限而从之,则差错更多。

从开元年间开始修订历法,史官每年都会比较节气正午的日影长度,并据此检验时间的小余(小数部分)。虽然大体的数值有固定规律,但也会随时间推移而变化,每年都不相同。日影变长,说明太阳运行到黄道以南;日影变短,说明太阳运行到黄道以北。太阳运行到南边,阴历的交会就可能出现差错;运行到北边,阳历的交会也可能出现差错。太阳在黄道中间都会有变化,更何况月亮运行在九条轨道上呢?杜预说:“日月是运动的天体,虽然运行度数有大致的标准,但不能没有小小的盈缩差异。所以有时虽逢交会却不发生月食,有时连续交会却发生月食。”说的正是这个道理。

因此,检验历法必须考证古代史书记载,对于月食的深浅、时间快慢、阴阳变化,只要数值相互吻合,就反复推求,从历法的数字中,去符合天象的变化;观察天象的变化,反过来推求历法的数字。归纳它们相同之处,就能掌握常理;辨别它们不同之处,就能了解变化。符合规律的就与历法吻合,偏离运行的就与占卜相应。占卜之道顺应而成,常坚持常理来追踪变化;历法之道逆向推算,常坚持常理来等待变化。明白这个道理,天道就像在手掌中一样清晰可辨。

《略例》说:旧历法考定日食的深浅,都源自张子信所传,说是长期观测积累所得,但并未明白其中的道理。用圆形仪器测量日月的直径,于是用月球直径的一半减去进入交会初限的一度半,剩余的就是暗虚半径。用月球离开黄道每度的差数,让两个直径相互掩映,来检验食分,再用进入交会那天的迟疾速度乘上直径,得出泛用的刻数,大致上离开交会不到三度,月球就运行到暗虚中,都进入食既的界限。又取日月直径的一半,减去春分进入交会初限的相距度数,剩余的就是斜射造成的差数。于是考定差数,来建立食既的界限。而在两度之间灵活进退,也让两个直径相互掩映,以此了解日食的食分。月球直径越过食既界限向南,那么即使在阴历,所亏缺的情况也类似外道,这是斜望造成的。在食既界限之外,应该向外发生日食,外道的交分,准用这个例子。用这种方法检验古今四十三次日食、九十九次月食,考核结果都是第一等。

如果日食都不能用常数推算,就无法检验历法的疏密。如果都能用常数推算,就无法了解政治教化的吉凶。现在重新设置考定日食或限的方法,得到常数就符合历法数字。另外,日月交会时大小相似,而月亮在太阳下方,从京城斜望过去,假设中原地区日食食既,那么南方太阳正下方的地方所亏只有一半,从月亮外侧反过来看,则会交会而不发生日食。测量各地日影来定食分,晨昏漏刻随地域而变化,那么宇宙虽然广阔,也可以用一种方法统一起来。

其十二《五星议》说:

岁星从商周之际直到春秋末期,大致一百二十多年就超行一次。战国以后它的运行逐渐加快,到汉代还稍有偏差,到哀帝、平帝年间,余势才尽,变为八十四年超行一次,并以此成为常例。这是它与其它星体不同的地方。周王室出自灵威仰的精气,承受了木行的正气。岁星主管农事吉兆,后稷依靠它,所以周人常观察它的吉凶征兆,来了解善恶成败。周朝开始称王时,岁星在鹑火,由此通达天鼋。等到周朝衰落时,岁星过度停留在玄枵,危害了鸟帑。后来群雄争霸,礼乐崩坏,而合纵连横、攻守之术兴起。所以岁星常过量运行在上天,而诸侯王公不安于下界,那么木星失去运行的态势,应该极盛于火运之中,这是天理和运数的必然。

开元十二年正月庚午日,岁星在进贤星东北一尺三寸,正对着轸宿十二度,按《麟德历》是在轸宿十五度。向上推至汉代河平二年,那年的十月下旬,岁星在轩辕座南端大星西北一尺左右。《麟德历》在张宿二度,正对着轩辕大星。上下相距七百五十年,考校它的运行度数,还没有明显的盈缩,可见哀帝、平帝之后并非每年都逐渐偏差。再向上推一百二十年,到汉景帝中元三年五月,岁星在东井、钺星之间。《麟德历》在参宿三度。又向上推六十年,得到汉元年七月,五星聚于东井,以岁星为主,按秦历正当乙未年,夏历正当甲午年。《麟德历》在白露后八日,岁星停留在觜觿一度。第二年立夏,隐伏在参宿。这是由于偏差运行未尽,而用常数推算造成的。又向上推二百七十一年,到鲁哀公十七年,岁星在鹑火,《麟德历》初次出现在舆鬼二度。立冬后九日,停留在星宿三度。第二年惊蛰后十日,退行到柳宿五度,仍然没有到达鹑火。又向上推一百七十八年,到鲁僖公五年,岁星应当在大火。《麟德历》初次出现在张宿八度,第二年隐伏在翼宿十六度,确定在鹑火,差了三次。哀公以后,偏差运行逐渐变慢,相差还较近;哀公以前,通常运行较慢。而旧历法仍用快速率,不知道配合变化,所以相差越来越大。武王革命时,岁星也正在大火,而《麟德历》在东壁三度,那么尧舜以上,实际相差已满一周天了。

《太初历》、《三统历》认为岁星十二周天超行一次,推算商周之间的事情,大致都吻合。检验开元年间注记,相差九十多度,这是因为不知道岁星后来运行速率的缘故。《皇极历》、《麟德历》认为七周天超行一次,用来推算汉魏之间的事情尚且没有差错。向上检验《春秋》所记载的,也相差九十多度,这是因为不知道岁星先前运行速率的缘故。《天保历》、《天和历》得到了两种速率的中间值,所以向上符合《春秋》,向下也接近注记。用它们推算永平、黄初年间的事情,远的有时相差三十多度,这是因为不知道战国以后岁星运行变化的缘故。从汉代元始四年,到开元十二年,共十二个甲子,向上距鲁隐公六年,也是十二个甲子。而这两种历法在其中相合,但有的在古代相差两次,有的在今天相差三次,它们与古今都相合的,中间也有乖离。想用一种方法来推算,是不可能做到的。

《开元历》岁星的前期速率,是三百九十八天,余数二千二百一十九,秒九十三。从鲁哀公二十年丙寅之后,每加一度余数一分,到四百三十九次合日,下一次合日就加秒十三而停止,共三百九十八天,余数二千六百五十九,秒六,并与太阳相合,这就是岁星的后期速率。从此成为常数,进入汉代元始六年。

《岁星差合术》说:“设置鲁哀公二十年冬至的合日余数,加入差行以来积累的积分,用前期速率约分,得到入差合数。余数按历法推算方法纳入,反过来求出冬至后的合日,然后副簿列出入差合数,在下面位置增加一算,乘以一半,满《大衍》通法为一日,不满为日余,用来加合日,就是差合所在。求岁星差行的直接方法,用后期总率约分上元以来的积累积分,也能得到所求。如果考察实际运行,应当从元始六年设置差步推算,那么前后相距,间不容发,而上元之首,没有细微的空积。”

成汤讨伐夏桀,岁星在壬戌年,《开元历》中岁星与太阳合于角宿,停留在氐宿十度之后才退行。第二年,汤开始建立商朝作为元年,岁星顺行与太阳合于房宿,以此记录商人的天命。

此后六百零一算到纣王六年,周文王初次在毕宿举行禴祭,十三年岁星在己卯年,星在鹑火,武王继承王位。伐商那年,岁星前进到舆鬼,又退守东井。第二年,周朝开始革命,岁星顺行与太阳合于柳宿,前进停留在张宿。考察它们的分野,正好在陕东与陕西之间,与三监封域的边界。

成王三年,岁星在丙午年,星在大火,唐叔开始受封,所以《国语》说:“晋国开始受封时,岁星在大火。”《春秋传》僖公五年,岁星在大火,晋公子重耳从蒲城逃往狄国。十六年,岁星在寿星,重耳经过齐国卫国,乡下人给他土块,子犯说:“这是上天赐予的,天事必有征兆,岁星到了鹑火一定有此结果!再回到寿星,一定能获得诸侯。”二十三年,岁星在胃宿、昴宿。秦伯接纳了晋文公。董因说:“岁星在大梁,将集天行。元年,实沈之星,是晋人的居所。君主的出行,岁星在大火,是阏伯之星,这叫做大辰。辰以善成,后稷辅助它,唐叔因此受封。而且以辰星出来而以参星进入,都是晋国的祥兆。”二十七年,岁星在鹑火,晋侯攻打卫国,夺取五鹿,在城濮击败楚军,开始获得诸侯地位。岁星正好到达寿星,都与《开元历》吻合。

襄公十八年,岁星在陬訾口,《开元历》大寒后三日,岁星与太阳相合,在危宿三度,于是顺行到营室八度。第二年,郑国子蟜去世。将要下葬时,公孙子羽和裨灶早晨会面商议事情,经过伯有氏家,他家门上长着杂草,子羽说:“那杂草还在那里吧?这时岁星在降娄中天而天亮。”裨灶指着说:“还可以过完这一年,但岁星不会到达这个位置。”《开元历》中,岁星在奎宿;奎宿是降娄。《麟德历》中,岁星在危宿;危宿是玄枵。二十八年春天,没有结冰。梓慎说:“岁星在星纪,却过度停留在玄枵。”裨灶说:“岁星离开了它应居的位置,而寄居在明年的位置,以此危害鸟帑。周、楚两国会有灾祸。”《开元历》中,岁星到达南斗十七度,然后退守在西建星之间,再顺行,与太阳合于牛宿初度。本应在星纪,但盈行前进到了虚宿,所以叫“淫”。停留在玄枵两年,到三十年。《开元历》中,岁星顺行到营室十度,停留。距离子蟜去世正好一个周期。那年八月,郑国人杀了良霄,所以说“到他死时,岁星在陬訾口。”第二年,才到降娄。

昭公八年十一月,楚国灭亡陈国。史赵说:“还没有。陈国是颛顼的后代。岁星在鹑火时,才会最终灭亡。现在岁星在析木津,还会复兴。”《开元历》中,岁星在箕宿八度,是析木津。十年春天,前进到婺女初度,在玄枵的边界。《传》说:“正月,有星出现在婺女。”裨灶说:“今年岁星在颛顼的废墟。”这一年岁星与太阳合于危宿。第二年,前进到营室,又到了豕韦之次。景王问苌弘说:“今年诸侯哪个吉利?哪个凶险?”回答说:“蔡国凶险。这是蔡侯般杀他国君的那年,岁星在豕韦,不会超过这个年份了,楚国将占有它。岁星到大梁时,蔡国复兴而楚国凶险。”到十三年,岁星在昴宿、毕宿,而楚国弑杀灵王,陈国、蔡国重新受封。起初,昭公九年,陈国火灾。裨灶说:“五年后,陈国将重新受封。岁星五次到达鹑火,然后陈国最终灭亡。”从陈国火灾五年后,岁星在大梁,陈国重新建国。哀公十七年,岁星五次到达鹑火,楚国灭亡陈国。这一年,岁星与太阳合于张宿六度。昭公三十一年夏天,吴国攻打越国。这是吴国开始对越国用兵。史墨说:“越国得到岁星而吴国攻打它,一定会受到凶祸。”这一年,岁星与太阳合于南斗三度。从前僖公六年,岁阴在卯,岁星在析木。昭公三十二年,也是岁阴在卯,而岁星在星纪。所以《三统历》因此作为超次的速率。考察实际情况,仍然是一百二十多年。近代各种历法,想用八十四年统一它,这是它们的迷惑。三十八年后越国灭亡吴国。岁星三次到达斗、牛,已经进入差合两年了。

五事在心中感应,五行的祥兆在下面应验,五纬的变化在上面显现。就像声音发出而回响应和,形体运动而影子跟随,所以如果背离了典刑的正道,那么星辰就会乱行;扰乱了伦理的次序,那么天事就会失去形象。当它们乱行、无象时,又可以用历法来统一吗?所以襄公二十八年,岁星在星纪,过度停留在玄枵。到三十年八月,才到达陬訾口,超次前进,守了两年。

汉代元鼎年间,金星进入天苑,偏离运行,在黄道南三十多度。隔了一年,武帝北巡,登上单于台,部署十八万骑兵,到诛杀大宛时,马匹大量死在军中。

晋代咸宁四年九月,金星应当出现却没有出现,占卜说:“这叫做失去舍次,没有破军,必有亡国。”当时将要讨伐吴国,第二年三月,出兵,金星才开始在傍晚出现于西方,而吴国灭亡。

永宁元年,正月到闰月,五星经过天空,纵横无常;永兴二年四月丙子日,金星侵犯狼星,偏离运行,在黄道南四十多度;永嘉三年正月庚子日,火星侵犯紫微星:都是天象从未有过的,最终导致两位皇帝被俘,天下大乱。

后魏神瑞二年十二月,火星停留在瓠瓜星中,一夜之间忽然消失,不知去向。崔浩根据干支时辰推算,说:“庚午日傍晚到辛未日早晨,天空有阴云,火星消失就在这两天。庚午日属土,未日也属秦地,辛日对应西夷。现在姚兴占据咸阳,这是火星进入秦地了。”此后火星果然出现在东井宿,停留盘旋,秦中地区大旱,土地干裂,昆明池水干涸。第二年,姚兴去世,两个儿子互相攻战。第三年,后秦灭亡。

齐永明九年八月十四日,火星应该退行到昴宿三度,但此前已经运行到毕宿;二十一日才开始逆行,向北转,接近立冬时,形状颜色更加明亮。北魏永平四年八月癸未日,火星在氐宿,傍晚隐没在西方,也提前了五十多天,虽然当时历法粗疏,也不应该如此。

隋大业九年五月丁丑日,火星逆行进入南斗宿,颜色赤红如血,大小像三斗容器,光芒闪耀,长七八尺,在南斗中曲折运行,这也是天象从未有过的变异。后来杨玄感反叛,天下大乱。

所以五星停留、逆行、隐伏、出现的效应,以及隐显盈缩的运行,都关联着时运,并在政事上显现征兆。政事有小过失就有小变异,事情微小则征兆微小,事情显著则征兆显著。已经显示出吉凶的征兆,又会改变运行,偏离常规轨道。否则,上天为何要暗中庇佑下民,警示警醒君主呢!近代推算历法的人不明天象,占星的人迷于术数,看到五星运行失常,都认为是历法有误。即使七曜遵循轨道运行,仍然有人称之为天灾。最终导致术数天象互相混淆,两者都失去真相。所以检验历法必须考察古今记载,节气均匀则运行度数整齐,上下相距,反复推求。如果单独与常规不同,那么运行失常就可以知道了。

凡是两颗星靠近,多会运行失常。三颗星以上,失常更加严重。《天竺历》按照《九执》的规律,认为行星都有好恶。遇到它们所喜欢的星,就靠近而行进速度快,离开而行进速度慢。

张子信历法关于辰星应当出现而不出现的推算方法:辰星早晨傍晚距离太阳前后四十六度以内、十八度以外,如果有木、火、土、金中的一颗星出现,辰星就会显现,否则就不会显现。张胄玄历法,朔望日在交食限内,有星隐伏在太阳下方,木星、土星出现十天后,火星出现四十天后,金星出现二十二天后,都不增减差值,这都是精气相互感应造成的。

日月用来显示尊卑不变的象征,五星用来昭示政教顺应时势的意义。所以日月运行失常,微小而少见;五星运行失常,显著而多见。现在大略考察常规数据,用以检验历法的疏密。

《略例》说:“节气进入时的加减,也是从张子信开始的,后人没有不遵循使用的。但从开始到终结,多有不合。现在比较《麟德历》,火星、金星的隐现运行超过或不及,火星共四十八件事,金星二十一件事。其余星宿的误差,细小不值得考察。而且盈缩的运行,应当与四象暗中相合,但二十四节气加减不均匀。重新推算易数加以校正,又分别设立岁差,以探究五精运行二十八宿的变化。比较史官记载,岁星二十七件事,火星二十八件事,镇星二十一件事,金星二十二件事,辰星二十四件事,《开元历》考核都排在第一。”

到唐肃宗时,山野之人韩颖上奏说《大衍历》有误。皇帝怀疑此事,任命韩颖为太子宫门郎,在司天台当值。他又增减历法方法,每个节气增加两天,改名为《至德历》,从乾元元年开始使用,直到上元三年结束。