话说从公元元年开始,咱们就用着《三统历》这本历法,用了好一百多年呢。可这历法慢慢地跟实际情况对不上了,月亮的朔日(农历初一)总比历法上算的要早,有时候甚至出现在农历的最后一天(晦日),月亮初现也跟历法对不上号。仔细研究研究,发现这历法算出来的太阳运行,总是不够准,老是往后拖;而月亮的运行,却总是提前。
建武八年的时候,有个叫朱浮的太仆和叫许淑的太中大夫,好几次上书给皇上,说这历法算的朔日不对,应该改改了。当时这误差还不算太大,皇上觉得天下刚平定,没工夫管这事儿。一直到永平五年,官府的历法上说七月十六日要发生月食,结果呢,一个叫杨岑的待诏发现,这实际的月食时间,好多次都比历法上算的要早。他琢磨着,是不是太阳运行的计算有误差,就上书皇上说:“月亮应该在十五日发生月食,官府的历法算错了!”皇上就下令让杨岑好好观察,跟官府的历法比比看。从七月到十一月,一共观察了五次月亮的弦望(农历初八和廿三),官府的历法全错了,杨岑却次次都对。
后来,皇上就下令让杨岑负责计算月食和弦望的时间,还让张盛、景防、鲍邺这几个待诏,用《四分法》跟杨岑一起算,比比谁更准。一年多下来,张盛他们算对的次数,比杨岑少了好几回呢。永平十二年十一月丙子日,皇上就下令让张盛和景防代替杨岑,负责计算月食和弦望的时间,加上时间修正。《四分法》这才开始正式使用。不过,那时候张盛他们还没完全搞清楚历法的根本原理,也没能彻底校正度数,所以只是先用它来算弦望的时间而已。
话说,九年过去了,有个叫董萌的太史令上奏说,现在用的历法不对。这事儿就交给了三公和太常寺那些懂历法的人去讨论,一直到十年四月,也没人能拿出个明确的证据来说明到底对不对。到了元和二年,发现《太初历》跟实际情况偏差越来越大,日月星辰的位置都对不上号了。大家都知道冬至那天的太阳应该在斗宿二十一度附近,可现在还没到牵牛星五度的位置呢!而且,按照《太初历》算,一天的长度跟实际差了四分之一,朔望日也差了一天,星宿位置也差了五度。汉章帝知道这历法有错,就问了史官,史官们虽然知道不对,但也没办法改。所以,章帝就召集了李梵、刘表(此处应为刘表,原文有误)等懂历法的专家,让他们一起研究这个问题。二月初一,章帝下了一道诏书,说:“我听说古代圣明的君王,都是顺应天时,不违背天意。《河图》上说:‘赤九会昌,十世以光,十一以兴’,又说‘九名之世,帝行德,封刻政’。我德行不够,却承载着这么大的事业,每天都战战兢兢,不敢有丝毫懈怠。我这个小人物,国家兴衰都掌握在我手里,怎么能延续祖宗的基业,拯救黎民百姓呢?《尚书璇玑钤》说:‘述尧世,放唐文’,《帝命验》说:‘顺尧考德,题期立象’。再说,历法各有优劣,何况我们现在用的历法这么粗糙,根本无法胜任!就算我想沿用,也做不到啊!每次看到这些书,心里就特别难受。最近几年,国家政事不顺,阴阳失调,灾害不断,瘟疫流行,连牛都死了,农民也无法耕种。这些灾害的征兆,都反映在我的身上,看来我的确有所不足,该怎么弥补呢?《尚书》上说:‘惟先假王正厥事’,又说:‘岁二月,东巡狩,至岱宗,柴,望秩于山川。遂觐东后,叶时月正日’。我要效法尧帝去泰山祭祀,统一度量衡,参考璇玑玉衡,来修正历法,希望能有所改善。《春秋保乾图》上说:‘三百年斗历改宪’。现在史官们用的是《太初历》邓平的算法,每三百年就会多出一分,时间一长,误差就越来越大,导致冬至的太阳位置和历法上说的对不上,立春也提前了一天。用这样的历法来断案判刑,已经违背了自然规律;用这样的历法来推算节气,也早就偏差太远了。现在,我决定改用《四分历》,来效法尧帝,顺应孔子的‘奉天’思想,希望天下百姓同心同德,共同努力,国家能够太平盛世,以此来光宗耀祖。”于是,《四分历》就开始使用了。
但是,李梵和刘表(此处应为刘表,原文有误)认为,十一月应该先大后小,这样才能使朔望日和月相协调,才能使每个月的日数固定,十九年七闰也能成立,这样朔望日就不会出现偏差。可是这个方法还没用多久,章帝又开始思考这个问题,查阅了各种典籍,就让左中郎将贾逵去询问卫承、李崇、梁鲔、严勖、徐震、苏统、刘表(此处应为刘表,原文有误)、李梵等十位专家。他们认为,月份应该先小后大,因为《春秋经》只记载朔日,不记载晦日,这是因为朔日一定有明有暗,而朔日一定是在这个月里。如果先大后小,那么一个月就会有两个朔日,下一个月就没有朔日,这样就不符合实际情况了。李梵等人认为应该先大后小,是因为这样才能使望日固定在十六日,月球亏损的时候,晦日就应该消失。而且,晦日和朔日不能在同一天。章帝了解了李梵和刘表(此处应为刘表,原文有误)的观点后,下令不要拘泥于已经颁布的历法,决定从天元元年开始,月份应该先小后大。这样一来,后来的历法就准确了。永元年间,又让史官用《九道法》来推算朔望日,结果发现没有误差。贾逵把这些专家的意见都整理成文,后来的历法制定者都参考了他的意见,所以这里详细记载下来。
逵说啊,你看《太初历》上写着,冬至那天太阳在牵牛座的起始位置,也就是牵牛星附近。可是古时候,从黄帝时代到夏、商、周、鲁朝,冬至太阳都在斗宿(也就是我们现在说的北斗七星)的位置。《太初历》算出来斗宿在黄道上是26度385分,而牵牛座只有8度。你看史官的记录,冬至和夏至的实际观测结果,跟《太初历》算出来的结果总差个不到5度,实际观测的冬至太阳位置在斗宿21度又四分之一度。石申的《星经》里写着:“黄道经过牵牛座起始位置,正好是斗宿20度,距离北天极25度。” 按照赤道坐标系算,那就是斗宿21度。 《四分历》和史官的观测结果在天体度数上是一致的。《尚书考灵曜》里也说:“斗宿22度,没有多余的分数,冬至就在牵牛座升起的地方”。 还有编修历法的人,根据现在的观测,发现冬至太阳的位置距离牵牛座中心还有5度,大概在斗宿21度四分之一度,这跟《考灵曜》的结果差不多,所以就用这个结果来确定冬至的日期。
元和二年八月,皇帝下诏说:“石申的观点不能抛弃!” 然后就让两个小组分别观测,看谁算得更准。太史令玄他们从元和二年一直观测到永元元年,一共五年,测算出太阳每天运行的度数,最终得出冬至太阳位置在斗宿21度四分之一度,这跟古代历法里说的斗宿位置以及《考灵曜》里的记载都吻合,星体之间的距离也跟石申的记录一样。 那些认为冬至太阳在牵牛座起始位置的人,他们的说法从此就被否定了。
逵说啊,用《太初历》去推算汉元帝太初元年到太初元年结束的23次日食,其中17次符合朔日,4次符合晦日,2次符合朔日后的第二天;用新历推算,则有7次符合朔日,14次符合晦日,2次符合朔日后的第二天。再用《太初历》推算太初元年到更始二年结束的24次日食,其中10次符合晦日;用新历推算,则有16次符合朔日,7次符合朔日后的第二天,1次符合晦日。最后,用《太初历》推算建武元年到永元元年结束的23次日食,其中5次符合朔日,18次符合晦日;用新历推算,则有17次符合朔日,3次符合晦日,3次符合朔日后的第二天。
另外,用新历向上推算《春秋》里记载的日食和朔日,一共24次,结果有23次都不准。这天道的运行啊,参差不齐,肯定会有盈余,而盈余的大小也不一样,不能一概而论。历法学家通常用76年为一个周期,这样就能把盈余的部分逐渐消减或增加,差不多能差出一整天。所以《易经》里讲金火相革的卦象说:“君子以治历明时。”又说:“汤、武革命,顺乎天,应乎人。”意思是说,圣人一定得根据日月星辰的运行规律来制定历法,计算的数字不可能精确到几千万年,期间必然要进行修改调整,先要根据距离推算出度数,再让它符合日月星辰的实际位置。所以说,推算度数,使其符合日月星辰的运行,这是一种跨越时代的技巧。《太初历》用不到现在,新历也推算不到汉元帝时期。一种历法大概只能用三百年左右。所以谶文说“三百年斗历改宪”。汉朝建立以后,长期使用《太初历》而不修改,直到太初元年一百二十年后才改。所以在此之前,有时会提前一天合朔,到了成帝、哀帝时期,就以两天为朔日,所以合朔的日子往往在晦日,这充分说明了这一点。
逵说:“我以前跟傅安他们一起用黄道来计算日月盈亏,结果算得很准。可是史官却用赤道来算,跟日月的实际运行不一样,现在算出来的盈亏时间,跟实际情况能差上一天以上!他们就上奏说要改历法,甚至说太阳运行速度变慢了,倒着走了。但如果用黄道来算,就能得到正确的运行速度,根本不需要改。” “我想请太史官把日月星辰运行的记录和星图拿来,跟专门研究天文的官员一起核对一下。”皇上准了。
然后逵仔细查阅了史料,说:“以前有人说过,冬至太阳离北极一百一十五度,夏至离北极六十七度,春秋分则离北极九十一度。《洪范》里说‘日月运行,决定了冬夏的变化’;《五纪论》里也说‘日月沿着黄道运行,最南到牵牛星,最北到东井星,太阳每天运行一度,月亮每天运行十三度十九分之七’。现在史官却用赤道来计算,跟日月实际运行的路径不一样。比如,在斗宿、牵牛星、东井星、舆鬼星附近,赤道测得的度数是十五度,而黄道测得的只有十三度半;在东壁、奎宿、娄宿、轸宿、角宿、亢宿附近,赤道测得的度数是七度,黄道测得的却是八度。有时候月亮运行的距离多了,日月之间的距离反而少了,他们就说太阳倒着走了!”
“我查阅了资料,黄道经过牵牛星时,比赤道南边偏离二十四度;经过东井星和舆鬼星时,比赤道北边偏离二十四度。赤道是天球的赤道,距离北极都是九十一度,它并不是日月运行的轨道。用赤道来测量日月运行,当然会出错!我查了太史官从元和二年九月以来的观测记录,有四十九次观测月亮在牵牛星和东井星附近运行,没有一次是运行十一度的;有三十七次观测月亮在娄宿和角宿附近运行,也没有一次是运行十五六度的,这都跟以前说的不一样。”“我问了姚崇、井毕等十二位天文官员,他们都说:‘星图是有规律的,日月确实是沿着黄道运行的,只是官府没有合适的仪器,所以不知道怎么计算。’”
“甘露二年,大司农中丞耿寿昌上奏说,他用天文仪器测量日月运行,检验天象变化的情况,发现日月运行到牵牛星和东井星附近时,太阳每天运行一度,月亮每天运行十五度;运行到娄宿和角宿附近时,太阳每天运行一度,月亮每天运行十三度。这是赤道测量的结果,也是古人一直都知道的。但是,如果用黄道来计算,就能符合天象,太阳就不会出现倒退的现象,日月盈亏的时间也不会差上一天,比用赤道计算更精确,应该采用黄道来计算。”“很多官员都同意我的意见。” 这是逵在永元四年提出的论点。
直到永元十五年七月甲辰,皇上才下令制造黄道铜仪,上面标注了各个星宿之间的度数:角宿十三度,亢宿十度,氐宿十六度,房宿五度,心宿五度,尾宿十八度,箕宿十度,斗宿二十四又四分之一度,牵牛七度,须女十一度,虚宿十度,危宿十六度,营室十八度,东壁十度,奎宿十七度,娄宿十二度,胃宿十五度,昂宿十二度,毕宿十六度,觜宿三度,参宿八度,东井三十度,舆鬼四度,柳宿十四度,星宿七度,张宿十七度,翼宿十九度,轸宿十八度,总共三百六十五度四分之一度。冬至太阳位于斗宿十九度四分之一度。史官虽然用这个仪器来计算日月运行和盈亏,算得比较精确,但并没有因此而改变原来的记录方式。因为黄道铜仪测量黄道上的度数和运行轨迹比较困难,所以实际使用中还是很少采用。
逵说:“现在史官推算朔日、弦日、望日和月食的时间,大多不准,是因为他们不懂月亮运行速度的快慢变化。永平年间,朝廷下诏让前任太史待诏张隆用《四分法》来计算弦日、望日和月食的时间。张隆说他能用《易经》的九、六、七、八爻来推算月亮运行的多少。现在看来,张隆推算的结果大多出错。我让张隆反推他以前推算的结果,对不上,有时候,不准的地方和天体实际位置的差距,甚至超过十多度。我和梵统仔细查阅史官的记录,月亮运行确实有快有慢,这并不一定只发生在牵牛、东井、娄、角这些星宿附近,也不是什么‘朓’、‘侧匿’之类的现象,而是由于月亮运行的轨道有远近出入造成的。大概一个月月亮会经过它运行速度最快的地方三次,九个周期后又回到原点,一共九个周期,一百七十一岁,十一月合朔,冬至这天与《春秋》和《三统历》中九个周期的终结数相符,这样就可以推算朔日、弦日、望日和月食的时间了。根据官方的天文度量单位计算,用这种方法上溯建武年间以来的月食记录,一共三十八次,误差很小,效果很好,应该推广学习。”
史官以前有套叫《九道术》的推算方法,后来废弃不用了。熹平年间,前任治历郎梁国宗整理上交了《九道术》,朝廷下诏让太史令参考旧法,看看两者是否相符。太子舍人冯恂负责审核,冯恂也重新编写了一套《九道术》,对原来的方法做了增减修改,并将它和梁国宗的版本一起进行比较,结果冯恂的版本更准确一些。太史令飏用冯恂的方法来推算弦日和望日。然而,推算出的时间与实际情况仍然有先后之差,误差大的甚至超过十多度。
公元78年,宫里负责天文历法的官员霍融给皇帝上奏章说:“咱们现在用的漏壶,九天的时间就差一刻钟,跟天上的时间对不上,有时候甚至差到两刻半,不如夏历的计时精准。” 皇帝就下令给太常寺,让史官们和霍融一起用天文仪器来校准时间,看看哪个更准。
太史令舒、承、梵等人反驳说:“咱们现在用的漏壶计时方法,是按照《令甲》第六篇《常符漏品》规定的,这是汉宣帝地节三年十二月乙酉日颁布,建武十年二月壬午日正式实施的。漏壶计时是根据每天日照时间的长短来计算的,每天太阳南北移动二度四分,漏壶就相应增加或减少一刻钟。一个节气一共十五天,每天太阳离北极或南极的距离都不一样。现在宫里的漏壶,九天才差一刻钟,它没有随着太阳的运行而变化。而夏历的漏壶计时是根据每天日照长短变化的,比宫里的漏壶更精准,完全可以实行。”
同年十一月甲寅日,皇帝下诏书说:“告诉司徒和司空:漏壶的作用是用来计时,确定日夜的时长。日夜长短的变化,是由于太阳离北极或南极的距离远近造成的,太阳的运行轨迹是圆形的,不能用固定的比例来计算,应该根据天文仪器测量,再参考日影的长短来确定。现在宫里的漏壶是用固定的比例来计算日夜长短的,九天就差一刻钟,这与实际情况不符。太史待诏霍融也上奏说,宫里的漏壶跟天上的时间对不上。太常寺的史官们用天文仪器测量后发现,宫里的漏壶跟天上的时间相差最多能达到三刻钟。而用日影的长度来计时,误差就小很多,经过验证也比较准确。现在我们就用日影的长度来制作新的漏壶,一共四十八支箭,做好之后送到各官府使用,等官吏们都领到后,再统一发放。”因为内容太多,所以这里只摘录二十四节气太阳所在的位置,以及黄道离北极的距离、日影长度、漏壶计时、日夜长短和中星的时刻。
话说啊,咱们古代的《太初历》,那可是从元封年间开始筹划,到元凤年间才最终确定下来,前后花了三十年时间,才算是把对错都弄清楚了。 后来又用了《四分历》,从建武年间开始推行,一直到永元年间,前后七十年多,才算把各种仪式和规矩都完善好,天文观测也才有了标准。你看,天文这玩意儿,多神秘多复杂,搞清楚它有多难啊!
从汉朝中兴以后,那些预言图谶满天飞,像《考灵曜》、《命历序》这些书里,都提到过甲寅元。 这甲寅元啊,是根据《四分历》庚申元之后一百一十四年算出来的,结果算出来的朔日(初一)还差了两天。 那些在乡下研究天文的学者,他们是怎么算出准确结果的呢?这真是让人难以置信啊! 再说了,《太初历》之后,人们发现它算天数算得越来越快,那些搞天文的人就说:“一百四十四年后,太岁就要超出一个辰(十二辰之一),一百七十一后,就要去掉朔余六十三,中间还要加上一千一百九十七,这样才能一直用下去。” 可是从太初元年到永平十一年,正好一百七十一岁,该去掉的朔余却没去掉,所以历法就越来越不准了。
这两种历法,各自都坚持自己的方法,想方设法地推行,结果经常发生争论。每次有人提出异议,朝廷的大臣们都要开会讨论,一大堆儒生就绞尽脑汁地分析,各抒己见。 这些争论啊,对大家增长见识可是很有帮助的,所以我就把这些情况详细地记录下来了。
安帝延光二年,有个叫亶的中谒者说应该用甲寅元历法,河南梁丰则说应该继续用《太初历》。尚书郎张衡和周兴都精通历法,他们和亶、丰辩论,有的答不上来,有的说法有错误。张衡和周兴查阅了仪注,考证了古今历法,认为《九道法》最精确。然后皇帝下令让公卿们详细讨论。
太尉恺等人向侍中施廷等人汇报讨论结果:“《太初历》计算天象有误,每天的运行度数不对,弦望(农历每月初八和廿三)也不准确,月亮在晦日(农历每月最后一天)出现在西方,日食的发生时间与天象计算也不相符;元和年间改用《四分历》,虽然《四分历》比《太初历》精确,但也并不完全准确,所以这两个历法都不适用。甲寅元历与天象相符,也符合图谶的预言,可以实行。”博士黄广、大行令任佥也认为应该用《九道法》。河南尹祉、太子舍人李泓等四十人则认为:“如果采用甲寅元历,就必须去掉《元命苞》中关于天地开辟和获麟(祥瑞)记载的114年,还要调整闰月和日期,这样一来,朔日(农历每月初一)、晦日、弦望和二十四节气的星宿度数就会出现很多不符的情况。如果用《九道法》来计算朔日,每月的大小就会出现很大的差异,很不合理。元和年间更改历法是为了响应《保乾图》中‘三百岁斗历改宪’的记载。《四分历》本来就是根据图谶制定的,最符合实际情况,不应该轻易更改。”太尉恺等84人则认为应该沿用《太初历》。
尚书令忠上奏说:“那些主张沿用《太初历》的人,都没有什么实际的证据,只是说因为世宗皇帝时期疆域扩大,国祚绵长,所以《太初历》好。有人说孝章皇帝改用《四分历》后,灾异很多,没有带来什么好处。我认为,圣王兴起,历法也会随之改变,这是符合历史规律的。汉高祖受命后,沿用了秦朝的纪年方法,十月为一年之首,闰月都在年末。我们不应该不考察前代的历法,违背祖宗的制度。太宗皇帝时期,修订历法后,社会安定,祥瑞出现,刑罚公正,国家安定。哀帝、平帝时期,都使用《太初历》,但灾难不断。那些主张用《太初历》的人,没有认真比较历法的优劣,而是盲目地相信一些不靠谱的说法,把好处都归于《太初历》,把坏处都归咎于《四分历》。《太初历》是很多贤人制定的,是非功过已经确定,永平年间没有仔细审查就又更改了弦望的计算方法。《四分历》虽然有错误,但也不能实行。元和年间凤鸟的出现,与历法并没有什么关系。远古的历法,可以说明其吉祥;近代更改历法,往往会掩盖其好处。现在这些说法,不能成立。我再次仔细审查了张衡和周兴的意见,他们认为五纪论推算的步度比较接近实际,但仍然没有考证古代的历法。以前向子歆想用历法来印证《春秋》,随意更改年数,减少夏朝的年数增加周朝的年数,与史书记载相比,出入很大。两历相比,相差6156年,《太初历》多出一天。冬至太阳直射斗宿,而《太初历》却说在牵牛星附近。这些错误太大了,不能再使用了。这些都是史官们共同看到的,并非只有张衡和周兴两人如此认为。以前认为《九道法》比较精确,现在大家又说它有错误,甲寅元历也有很多错误,这些历法都不能采用。孔子曾顺应假马之名,来尊崇君主的义理,更何况天象历法,更不能凭空臆测,以错误的代替正确的!”皇帝采纳了他的意见,停止了更改历法的计划。
汉顺帝安二年,有个叫边韶的尚书侍郎给皇帝上奏说:天下衰败是因为违背了自然规律,国家兴盛是因为遵循了自然规律。违背规律,万物就会衰败;遵循规律,国家就会昌盛。孝武帝非常聪明,在元封七年十一月甲子朔旦冬至那天,下令让太史令司马迁和负责历法的邓平等人重新制定《太初历》,更改纪元和朔日,采用夏朝的历法,用《乾凿度》里“八十一分取四十三”的方法计算日数,设置了专门观测天象的清台,观察六种异常天象,考核历法计算的精确程度,《太初历》是最准确的。后来刘歆对历法研究得很深入,他根据《春秋》的记载,参考《易经》的原理,利用《河图帝览嬉》、《雒书乾曜度》来完善《九道历法》,计算出171年进退63分的周期,144年一次大的调整,这与天象变化相符,很少有错误。从太初历到永平十一年,一共171年,进退余分63,负责历法的人不知道怎么处理这些余分。推算出来的十二次弦望也不准确,一些人钻研那些被废弃的历法,把他们的说法混淆进来。到了元和二年,小周期结束的数值逐渐超过了,余分也慢慢增加了,月亮的晦朔出现的时间也不准了。孝章帝根据《保乾图》中“三百年斗历改宪”的说法,采用了《四分历》。他把太白星复归甲子年的年份定为癸亥年,用天象来验证计算结果,和眼前的情况相符。他又把庚申年定为纪元,但没有明确的文字记载;说是因为那年获得了麒麟,但这和《感精符》中单阏年不符。历代史官互相沿袭,形成了很多疑问,很少有人能深入研究,追本溯源。其实只要观察弦望就能知道准确与否。
这道圣旨下达后,三公和百官们纷纷议论。太史令虞恭和负责历法的宗等人也提出了自己的意见:
建历的基础,首先要确定历法的起始点,也就是元正,有了元正才能确定每日运行的度数,确定了每日运行的度数才能推算周天运行,从而确定节气。这三者都确定了,历法才能制定出来。《四分历》的起始点,是从孝文皇帝后元三年,庚辰年开始算起的。往上推算四十五年,是乙未年,那是汉朝建立的第一年。再往上推算二百七十五年,是庚申年,那是孔子得到麟的年份。推算二百七十六万年,继续往上推,又会得到庚申年。年年相承,从下往上推算,计算不会出错。这是《四分历》元明文图谶里记载的内容。太初元年是丁丑年,往上推算到它的起始点,应该是庚戌年,但书上却说是丙子年,说是因为一百四十四年多出一个辰,一共多出了九百九十三次,一年空行八十二周多一点,才得到丙子年。分析一下年份的偏差,在甲子年十一月朔日冬至那天,日月都出现了偏差。太阳每天运行一度,三百六十五又四分之一度就是一个周天,叫做一年。一年对应一个辰,如果太阳运行中没有空出周天,那么一年就不会出现超出辰的现象。一百七十一岁等于两个蔀加一个章,余下六十三,这是自然数的规律。数字是从极小的单位积累起来的,毫氂积累起来就变成分寸。阴阳二气既已确定,日月就开始运行。最初运行产生分,分积累成度。太阳每天运行一度,一年就运行完一个周天。所以制定历法的人,各有各的度数算法,有的用九百四十,有的用八十一。算法有粗有细,产生两种历法,但最终目的都是一样的。日法,就是太阳每天运行的度数。太阳运行规律明确,运行有固定的节律,日法所包含的内容,广泛而无穷无尽。如果增减毫厘,就会差之千里,从这里可以看出,数字计算不能有丝毫的差错。现在想弥补平年闰年的失误,减少日法中的度数,恐怕会破坏历法的根本规律。用步数来计算日月运行的度数,最终结果不同,四章之后也无法得到朔余一。虽然说《九道》可以调整进退,恐怕不足以弥补它的缺陷。而且,推算历法的办法,是根据日月盈亏、月食天象来验证的,这非常重要。现在用减少六十三分的办法来制定历法,验证章和元年以来日食二十次,月食二十八次,与《四分历》相比,误差更大,用定课相除,《四分历》反而误差更小,而且更方便。孝章皇帝对历法度数进行了仔细校正,制作了仪器和漏刻,与天象相符,不能再采用其他的历法了。《文曜钩》说:“高辛氏受命,重黎制定历法。唐尧即位,羲和制定浑天仪。夏朝制定礼乐制度,昆吾氏祭祀天神。周朝改换纪年,苌弘负责分管历法。”《运斗枢》说:“常占官有专门的历法,史书上都有记载。”《洪范五纪论》说:“民间也有黄帝时代的各种历法,但不如史官记载的准确。”从古到今,圣明的帝王,都参考羲和、常占官的意见,用仪器仔细校正,解决各种疑问,把历法秘藏在中书省,沿用《四分历》的原本方法。光武皇帝多次下诏书,开始着手制定历法,孝明皇帝校对历法,孝章皇帝颁布历法。历经三代圣君,经过几十年的时间,经过验证,最终颁布实施。它的起始点追溯到开天辟地,它的算法沿袭了《四分历》。应该像甲寅年诏书那样处理。
准奏。
皇上批准了。
熹平四年,也就是汉灵帝在位期间,有个叫冯光的五官郎中和一个叫陈晃的沛县相府上计掾,他们上奏说:“现在用的历法元气不正,所以益州才闹妖民叛乱,盗贼横行。历法应该以甲寅为元,而不是庚申。那些天文图书里也没有把庚申作为历法的起始年。庚申元是秦朝沿用周朝的,根本不对。太史令下面的郎中郭香、刘固,他们瞎编乱造,故意弄虚作假,请求查明庚申元历法的真实情况,严惩这些欺骗朝廷的人。” 二月乙卯日,皇帝下诏书给三公九卿和儒林里有名望的学者,让他们认真讨论,务必找到正确的历法。让大家一起在司徒府开会讨论。
议郎蔡邕参加了会议,发表了他的意见:
好家伙,这讲的是古代历法的事儿,听着就头大!咱们一句一句慢慢捋。
首先,“历数精微,去圣久远,得失更迭,术无常是。” 这句是说,历法这玩意儿,很精细复杂,距今久远,历朝历代都有变化,没有一成不变的办法。
然后,“汉兴承秦,历用颛顼,元用乙卯。” 汉朝建立后,继承了秦朝之前的颛顼历,起始年份是乙卯年。
“百有二岁,孝武皇帝始改正朔,历用《太初》,元用丁丑,行之百八十九岁。” 汉武帝在位一百零二年的时候,改革了历法,开始用《太初历》,起始年份是丁丑年,用了189年。
“孝章皇帝改从《四分》,元用庚申。” 汉章帝又改用了《四分历》,起始年份是庚申年。
“今光、晃各以庚申为非,甲寅为是。”现在光禄勋和太史令都认为庚申年作为起始年不对,甲寅年才对。
“案历法,黄帝、颛顼、夏、殷、周、鲁,凡六家,各自有元。光、晃所据,则殷历元也。” 查阅历法史料,黄帝、颛顼、夏、商、周、鲁六个朝代,各自有自己的历法起始年。光禄勋和太史令依据的是殷朝的历法起始年。
“他元虽不明于图谶,各自一家之术,皆当有效于当时。” 其他朝代的历法起始年虽然在图谶里没明确记载,但它们在当时都是有效的。
“武帝始用《太初》丁丑之后,六家纷错,争讼是非。” 汉武帝开始使用《太初历》之后,六种历法就混杂在一起,大家争论不休。
“太史令张寿王挟甲寅元以非汉历,杂候清台,课在下第,卒以疏阔,连见劾奏,《太初》效验,无所漏失。” 太史令张寿王拿甲寅年作为起始年,来否定汉朝的历法,结果因为办事粗心大意,屡次被弹劾,但《太初历》的预测还是很准的,没有出现什么差错。
“是则虽非图谶之元,而有效于前者也。及用《四分》以来,考之行度,密于《太初》,是又新元有效于今者也。” 所以说,虽然甲寅年不是图谶里记载的起始年,但在之前也是有效的;而自从使用《四分历》以来,它的计算更精确,所以新的起始年也同样有效。
“延光元年,中谒者亶诵亦非《四分》庚申,上言当用《命历序》甲寅元。公卿百寮参议正处,竟不施行。” 延光元年,中谒者亶诵也认为《四分历》的庚申年不对,建议用《命历序》里的甲寅年,但朝中大臣讨论后,最终没采纳。
“且三光之行,迟速进退,不必若一。术家以算,追而求之,取合于当时而已。故有古今之术。” 再说,日月星辰的运行速度并不总是相同的,历法家们用计算的方法,力求与当时的实际情况相符,所以历法才会随着时代变化。
“今术之不能上通于古,亦犹古术之不能下通于今也。” 现在的历法无法与古代的历法完全吻合,就像古代的历法也无法与现在的历法完全吻合一样。
“《元命苞》《乾凿度》皆以为开辟至获麟二百七十六万岁;及《命历序》积获麟至汉,起庚午蔀之二十三岁,竟已酉、戊子及丁卯蔀六十九岁,合为二百七十五岁。” 《元命苞》和《乾凿度》都认为从天地开辟到鲁哀公十四年获麟一共276万年;而《命历序》计算从获麟到汉朝,一共是275年。
“汉元年岁在乙未,上至获麟则岁在庚申。推此以上,上极开辟,则元在庚申。谶虽无文,其数见存。” 汉朝元年是乙未年,推算到鲁哀公十四年获麟,是庚申年;继续推算到天地开辟,起始年也是庚申年。虽然图谶里没有文字记载,但数字是存在的。
“而光、晃以为开辟至获麟二百七十五万九千八百八十六岁,获麟至汉,百六十一岁,转差少一百一十四岁。云当满足,则上违《乾凿度》《元命苞》,中使获麟不得在哀公十四年,下不及《命历序》获麟至汉相去四蔀年数,与奏记谱注不相应。” 但是光禄勋和太史令认为,从天地开辟到获麟是275万9886年,从获麟到汉朝是161年,这与其他说法相差114年。如果要让他们的说法成立,就会与《乾凿度》、《元命苞》以及《命历序》的记载相矛盾。
现在是正月癸亥朔,但是光、晃他们却认为是乙丑朔。乙丑和癸亥这两个日期,没有明确的记载可以用来区分,只能通过观察月亮盈亏来验证。可是光、晃的历法是根据《考灵曜》来的,它里面记载的二十八宿度数和冬至日的位置,跟现在史官甘、石他们以前记录的不一样,根本没法考证;用现在的浑天仪来观测天文,也和《考灵曜》对不上。如果光、晃他们能根据自己的方法,重新制作观测仪器,来精确测量天象,那就能比书上的记载更准确,也能更好地反映日月星辰的运行规律,这样就能取代甘、石的历法,让其他各种历法都黯然失色了,那确实应该采用他们的历法。但是我们问他们的时候,他们只会说些图谶之类的东西,根本解释不清楚。
元和二年二月甲寅,皇帝下诏说:“我听说古代圣明的君王,顺应天意,不违背天理,同时又遵循天时。史官现在用的是太初历邓平的算法,冬至那一天,太阳在斗宿二十一度,可是历法却把它定在牵牛星附近,立春提前一天,也就是四分历的立春,用这种历法来判案定罪,已经和实际情况不符了,用这种历法来求得太平盛世,显然是不现实的。现在我们改用《四分历》,这是为了遵循尧舜的制度,顺应孔子的‘奉天’思想。”这就是开始使用《四分历》的庚申元诏书。诏书里大量引用《河图》、《洛书》之类的图谶来证明历法的正确性,这可不是史官自己想出来的。
但是光、晃他们却认为这是香、固故意编造的谎言,违背了经文,简直是荒谬至极。以前尧帝命令羲和观测日月星辰制定历法,舜帝沿用并完善了它,商汤、周武王革命后也制定了新的历法,这些历法都算比较准确的,但即使这样,也还是会遇到水灾旱灾,古代帝王还会告诫大家要警惕“蛮夷入侵,盗贼作乱”。而光、晃却认为阴阳失调、奸臣当道、盗贼横行都是元和年间的过错,这根本说不通。元和二年采用庚申纪元,到现在已经九十二年了。而光、晃却说秦朝取代周朝用的也是庚申纪元,他们不知道从秦朝开始,汉朝就改过三次纪元,庚申纪元并不是一成不变的。光、晃他们只是死守自己的学说,胡乱编造谎言欺骗人。至于改换纪元,以前寿王的方法已经证明行不通了,大家也没有采纳他的建议,元和年的诏书写得很清楚,不是大臣们能够随意更改的。
太尉耽、司徒隗、司空训这三位大佬,因为光、晃俩人办事不敬,按照律法要狠狠处罚他们。结果皇帝下令:算了,别追究了。
《太初历》算出来的月食,好多次都不准。《四分历》是根据《太初历》的方法改进的,它以河平癸巳年为起始年,用了五年。永元元年,天上七月份就发生了月食,可是《四分历》却算在八月份。到了永元二年正月十二,有个叫蒙公乘宗绀的大佬上书说:“这个月十六号月亮要被吃掉,可是历法上却写的是二月份!”到了那一天,果然跟宗绀说的一样。太史令觉得宗绀这小子真有两下子,就给他升官加薪,让他当了待诏。甲辰这天,皇帝下令,正式采用宗绀的方法来计算。这方法用了五十六年,一直到本初元年,天上十二月份发生月食,可是历法却算在第二年正月,这会儿才开始出现偏差。到了熹平三年,算上这二十九年,之前历法算错的月食就有十六次。
常山有个长史叫刘洪,他写了一本《七曜术》。甲辰这天,皇帝让太史部郎中刘固和舍人冯恂他们去研究一下,看看这玩意儿靠谱不靠谱。结果他们又搞了个《八元术》出来,刘固他们还搞了个《月食术》,大家一起研究研究,互相参考参考。刘固的算法跟《七曜术》差不多。关于月食的计算,大家意见都不统一,比如算到岁在己未那年,有的说四月发生月食,有的说三月,官方历法却说是五月。太官们一起研究,最后选了个靠谱的算法,正式开始使用。丁巳这天,皇帝批准了。
到了熹平四年,宗绀的孙子宗诚也上书说:“我爷爷的方法也该改改了,今年十二月要发生月食,可是官历上却写的是明年正月。”结果到了那一天,果然跟宗诚说的一样。皇帝高兴坏了,直接给宗诚升官,让他当了舍人。丙申这天,皇帝下令,正式采用宗诚的方法。
光和二年,是己未年。三月和五月都阴雨连绵,太史令修和部舍人张恂他们根据推算的结果,认为三月比较接近,四月比较远。最终决定采用四月份。于是奏请废除修的算法,采用张恂的算法。
三年后,修的哥哥整上书说:“去年三月没下雨,应该用四月的数据。史官废除了修正确的算法,采用了恂不正确的算法。”整上书给太史令,但是太史令却始终没有承认三月近四月远的说法。他说,下雨与否应该以实际情况为准,不用考虑远近。于是皇帝下诏书给太常寺,说:“你们要仔细查阅记录,认真比较各种算法的优劣,验证它们的真伪。”
太常寺就请侍中韩说、博士蔡较、谷城门候刘洪、右郎中陈调这几个人到太常寺,重新校对记录,讨论有争议的问题。张恂和修都陈述了自己的算法。张恂的算法是以五千六百四十个月中有九百六十一场雨为标准,然后进行计算,推算建武年以来,共有三百二十七场雨,其中十五场雨计算错误。根据官方以往的记录,天上有雨九十八次,和两种算法都差不多,但张恂的算法误差有两千一百次。修的算法是以一百三十五个月,每个月二十三场雨为标准,然后根据建康以前和建康以后的情况分别减去四十一场和三十五场雨,因为这两段时间没有下雨。张恂的算法改变了旧的算法,而修的算法在中间又进行了减损,论其优劣,其实差别不大。双方都引用经书和天文典籍来证明自己,但这些文字没有实际意义,只是为了迎合天象而已。
日月运行的规律,太阳沿着黄道运行,月亮沿着九条不同的轨道运行。用赤道仪测量,冬至时太阳距离北极点都是一百一十五度。太阳进入二十八宿时,赤道在斗宿二十一度,黄道在斗宿十九度。两条轨道相互交错,日月运行的轨迹,弯曲程度不同,从而产生进退的变化。所以月亮运行到井宿、牛宿时,超过十四度;运行到角宿、娄宿时,超过十二度。这些都不符合常规的运行规律。所以说,算法如果不准确就不应该采用,如果不适用就不应该使用。天道精微奥妙,度数难以确定,算法多种多样,历法记录也不尽相同,没有验证就无法知道其正确与否,没有出现偏差就无法知道其错误之处。出现错误之后再改正,正确之后再采用,这叫做“允执其中”。现在修的算法没有明显的错误,张恂的算法也没有明显的优势,因为没有验证就更改没有错误的算法,是为了以后验证正确性。修的算法是一百三十五个月二十三场雨,记载在书籍中,学者们一直沿用,实行时间很长。官吏们遵循这个规律,推算日月运行,长期以来没有错误,深受天文界信赖,只是沿用而不创新。张恂长期在候部工作,心思缜密,善于思考,能够掌握仪器和度量,制定算法,推算过去,校对现在,也和实际情况相符。
但是,制定历法,制定正史,应该敬畏上天,应该遵循旧例,就像甲辰年和丙申年的诏书一样,应该以实际情况为准。现在应该采用修的算法,放弃张恂的算法,史官要监督,以后如果有效验,再实行他的方法,以验证算法,以顺应变化。太常寺根据韩说等人的意见上奏,皇帝同意了。张恂、整、修又分别上书,张恂说不应该采用修的算法,整说不应该再采用张恂的算法。因为刘洪的意见占据了上风,这件事被交给了永安台复查,结果都不如张恂和修的意见。于是弹劾他们欺骗皇上。皇帝下诏,张恂和修各被罚款赎罪两个月。整被罚做左校两个月。最后采用了刘洪等人的意见,实行修的算法。
光和二年,万年县令王汉上交了一篇关于月食的注解。从章和元年到今年,他已经九十三岁了,一共经历了一百九十六次月食;他使用的历法是河平元年制定的历法,以己巳年为纪元。这事儿交给了太史令去处理,太史令上奏说:“王汉的注解有两件事跟实际观测的月食对不上,还有二十九件事是把相同的现象说成不同的。”然后朝廷就召来了谷城门的候补官员刘洪。皇帝下令说:“之前的郎中冯光、司徒掾陈晃都曾经就历法问题争论过,议郎蔡邕也参与过修订历法的工作。现在你刘洪就去跟王汉一起研究,推算一下历法的纪元和闰余,仔细核对月食记录。如果王汉的己巳纪元比较准确,而且有可靠的依据,你就认可他的说法;如果不行,你就直接驳斥他。”
刘洪上奏说:“如果按照王汉的己巳纪元来推算,《考灵曜》中所说的旃蒙之岁,应该是乙卯年为纪元。这跟冯光、陈晃所用的甲寅纪元就互相矛盾了。用这个来推算天象,校对日月星辰的运行规律,现在看来有很多疏漏。孔子在《春秋》中记载一件事却出现两种说法,这说明历法的制定和废除,要根据天象的变化而调整。甲寅历法在孔子时代是有效的;己巳历法是颛顼时期制定的,秦朝沿用,汉朝初年也沿用,所以没有更改。到了元封年间,发现这个历法有很大的偏差,于是改用了《太初历》,历法一共改了三百多次。甲寅、己巳这两个纪元虽然在文献中有记载,但对具体的年份记载比较模糊,所以学者们说法不一,导致推算的结果也无法统一。甲寅纪元,正月初一甲子日是冬至;七曜的起始点在牛宿的初度。乙卯纪元,正月初一己巳日是立春;日月星辰在天空的庙度是五度。比较这两个纪元,闰余相差一百五十二分之三,朔日相差三百四天,节气相差二十九天。因为很难验证哪个更准确,王汉也解释不清楚,只说这是祖上留下的资料。如果采用王汉的注解来指导历法实践,就会出现二十九件事与实际情况不符,还有两件事与观测到的月食对不上。我认为王汉只是看到己巳纪元这个说法,就盲目地相信,他根本不知道圣人制定历法有兴废更迭的道理,史官也有根据天象精密推算历法的秘术。甲寅、己巳纪元,以前都曾经使用过,后来因为效果不好才被废弃。河平历法也有疏漏,史官已经废除了,而王汉却还在争论过去的事,这恐怕不是他的本意。即使他的说法有依据,也跟实际情况不符。他的推算方法,是术数家都明白的常识,没有什么值得采纳的。”最后,朝廷把王汉打发回老家了。