网页版书目

宋史 · 卷七十四·志第二十七

宋史 · 目录

〔1〕△明天历

这是《明天历》的章节标题,明天历是宋代使用的一部历法。

〔2〕《崇天历》行之至于嘉祐之末,英宗即位,命殿中丞、判司天监周琮及司天冬官正王炳、丞王栋、主簿周应祥、周安世、马杰、灵台郎杨得言作新历,三年1036而成。琮言:“旧历气节加时,后天半日;五星之行差半次;日食之候差十刻。”既而司天中官正舒易简与监生石道、李遘更陈家学。于是诏翰林学士范镇、诸王府侍讲孙思恭、国子监直讲刘攽考定是非,上推《尚书》“辰弗集于房”与《春秋》之日食,参今历之所候,而易简、道、遘等所学疏阔,不可用,新书为密。遂赐名《明天历》诏翰林学士王珪序之,而琮亦为义略冠其首。今纪其历法于后:

《崇天历》一直用到嘉祐末年。英宗即位后,命令殿中丞、判司天监周琮以及司天冬官正王炳、丞王栋、主簿周应祥、周安世、马杰、灵台郎杨得言等人制作新历法,三年后完成。周琮说:“旧历法的节气时刻,比实际落后了半天;金木水火土五颗行星的运行位置差了半次;日食的预测时刻差了十刻。”不久,司天中官正舒易简和监生石道、李遘也各自陈述自家的历法学说。于是皇帝下诏让翰林学士范镇、诸王府侍讲孙思恭、国子监直讲刘攽考定是非,他们向上推考《尚书》中“辰弗集于房”的记载和《春秋》中记载的日食,再参照现今历法观测的结果,认为舒易简、石道、李遘等人的学说粗略疏阔,不可采用,新历法更精密。于是赐名《明天历》,下诏让翰林学士王珪作序,而周琮也写了《义略》放在书的前面。现在将它的历法记录在后面:

〔3〕调日法(朔余、周天分、斗分、岁差、日度母附)

调日法是一种古代历法调整方法,它包括了朔余、周天分、斗分、岁差以及日度母这些附属参数。

〔4〕造历之法,必先立元,元正然后定日法,法定然后度周天,以定分、至,三者有程,则历可成矣。日者,积余成之;度者,积分成之。盖日月始离,初行生分,积分成日。自《四分历》洎古之六历,皆以九百四十为日法。率由日行一度,经三百六十五日四分之一,是为周天;月行十三度十九分之七,经二十九日有余,与日相会,是为朔策。史官当会集日月之行,以求合朔。

制作历法的方法,必须先确定推算的起点(元),起点定准了然后确定日法(计算日的分母),日法定妥了然后推算周天(太阳运行一周的度数),从而确定春分、秋分、夏至、冬至这些节气,这三项有了标准,历法就能做成了。所谓“日”,是由余数积累而成的;所谓“度”,是由分数积累而成的。因为太阳和月亮最初分开运行时,开始产生分数,分数积累起来就成了日。从《四分历》到古代的六种历法,都用九百四十作为日法。大体上,太阳每天运行一度,经过三百六十五又四分之一天,这就是周天;月亮每天运行十三又十九分之七度,经过二十九天多的时间和太阳相会,这就是一个朔望月的长度。史官应当汇总太阳和月亮的运行数据,来推算它们相会的时刻。

〔5〕自汉太初至于今,冬至差十日,如刘歆《三统》复强于古,故先儒谓之最疏。后汉刘洪考验《四分》,于天不合,乃减朔余,苟合时用。自是已降,率意加减,以造日法。宋世何承天更以四十九分之二十六为强率,十七分之九为弱率,于强弱之际以求日法。承天日法七百五十二,得一十五强一弱。自后治历者,莫不因承天法、累强弱之数,皆不悟日月有自然合会之数。

从汉武帝太初年间到现在,冬至相差了十天,像刘歆的《三统历》比古代历法更加粗疏,所以以前的学者认为它是最疏漏的。后汉的刘洪检验《四分历》,发现与天象不合,于是减少朔望月的余数,勉强符合当时的使用。自此以后,历法家随意加减,来制定日法。南朝宋的何承天用四十九分之二十六作为强率,十七分之九作为弱率,在强弱之间求出日法。何承天的日法是七百五十二,得到十五个强率和一个弱率。此后研究历法的人,没有不遵循何承天的方法,累积强弱之数的,但他们都没有领悟到日月有自然交会的规律。

〔6〕今稍悟其失,定新历以三万九千为日法,六百二十四万为度母,九千五百为斗分,二万六百九十三为朔余,可以上稽于古,下验于今,反覆推求,若应绳准。又以二百三十万一千为月行之余,(月行十三度之余。)以一百六十万四百四十七为日行之余。(日行周天之余。)乃会日月之行,以盈不足平之,并盈不足,是为一朔之法。(日法也,名元法。)今乃以大月乘不足之数,以小月乘盈行之分,平而并之,是为一朔之实。(周天分也。)以法约实,得日月相会之数,皆以等数约之,悉得今有之数。(盈为朔虚,不足为朔余。)又二法相乘为本母,各母互乘,以减周天,余则岁差生焉,亦以等数约之,即得岁差、度母、周天实用之数。此之一法,理极幽眇,所谓反覆相求,潜遁相通,数有冥符,法有偶会,古历家皆所未达。(以等数约之,得三万九千为元法,九千五百为斗分,二万六百九十三为朔余,六百二十四万为日度母,二十二亿七千九百二十万四百四十七为周天分,八万四百四十七为岁差。)

现在逐渐明白了旧历法的失误,制定了新历法。以三万九千作为日法,六百二十四万作为度母,九千五百作为斗分,二万六百九十三作为朔余。这些数值可以用来上考古代,下验当今,反复推算,完全符合标准。又用二百三十万一千作为月行余数(即月球运行十三度多的余数),用一百六十万四百四十七作为日行余数(即太阳运行周天的余数)。然后综合日月的运行,用盈和不足的数值来平衡,合并盈与不足,这就是计算朔(一个朔望月)的方法(日法,也叫做元法)。现在用大月乘以不足的数值,用小月乘以盈行的分数,平衡后合并,就得到一朔的实际数值(即周天分)。用日法去除实际数值,得到日月相会的数目,都用等数约简,就得到现在使用的数值(盈就是朔虚,不足就是朔余)。又把两种法数相乘作为本母,各个母互相乘,用以减去周天,余数就是岁差,也用等数约简,就得到岁差、度母、周天实用的数值。这一方法,道理极为深奥微妙,所谓反复推算,暗中相通,数字有暗合,方法有偶合,古代历法家都没有达到此境。(用等数约简后,得到三万九千为元法,九千五百为斗分,二万六百九十三为朔余,六百二十四万为日度母,二十二亿七千九百二十万四百四十七为周天分,八万四百四十七为岁差。)

〔7〕岁余:九千五百。(古历曰斗分。)

一年的余数是九千五百(古代历法中把这个余数叫做“斗分”)。

〔8〕古者以周天三百六十五度四分度之一,是为斗分。夫举正于中,上稽往古,下验当时,反覆参求,合符应准,然后施行于百代,为不易之术。自后治历者,测今冬至日晷,用校古法,过盈,以万为母,课诸气分,率二千五百以下、二千四百二十八已上为中平之率。新历斗分九千五百,以万平之,得二千四百二十五半盈,得中平之数也。而三万九千年冬至小余成九千五百日,满朔实一百一十五万一千六百九十三,年齐于日分,而气朔相会。

古代把周天划分为三百六十五又四分之一度,这叫做“斗分”。确立标准要取中,向上考察古代,向下验证当时,反复参详求证,符合标准之后,就可以施行于百代,成为不变的方法。后来从事历法的人,测量现在的冬至日影,用古法来校对,发现有余数,就以一万作为分母,推算各个节气,比率在二千五百以下、二千四百二十八以上的作为中平比率。新历的斗分是九千五百,用一万来平均,得到二千四百二十五半盈,这就是中平的数。而三万九千年的冬至小余成为九千五百日,满足朔实一百一十五万一千六百九十三,年与日分相齐,而节气与朔日相会。

〔9〕岁周:一千四百二十四万四千五百。以元法乘三百六十五度,内斗分九千五百,得之,即为一岁之日分,故曰岁周。(若以二十四均之,得一十五日、余八千五百二十、秒一十五,为一气之策也。)

岁周是指一年的日数,具体数值是一千四百二十四万四千五百。这个数是用元法乘以三百六十五度,再加上斗分九千五百得到的,这就是一年的总天数,所以叫它岁周。(如果把一年平均分成二十四份,每份是十五天又八千五百二十秒十五,这叫做一个节气的长度。)

〔10〕朔实:一百一十五万一千六百九十三。本会日月之行,以盈不足平而得二万六百九十三,是为朔余,(备在调日法术中。)是则四象全策之余也。今以元法乘四象全策二十九,总而并之,是为一朔之实也。古历以一百万平朔余之分,得五十三万六百以下、五百七十已上,是为中平之率。新历以一百万平之,得五十三万五百八十九,得中平之数也。(若以四象均之,得七日,余一万四千九百二十三、秒,是为弦策也。)

朔实是一百一十五万一千六百九十三。这本来是依据太阳月亮运行的情况,通过用过剩和不足平衡的方法计算得到的二万六百九十三,这个数就是朔余(详细记载在调日法术中)。朔余就是四象全策的余数。现在用元法乘以四象全策的二十九,然后把结果合并起来,就是一个朔望月的实际长度(即朔实)。古代历法用一百万来平分朔余的分数,得到的结果在五十三万六百以下、五百七十以上,这就是中平的比率。新历用一百万来平分,得到五十三万五百八十九,这就是中平的数值。(如果按照四象平均分配,得到七天,余下一万四千九百二十三秒,这就是弦策。)

〔11〕中盈、朔虚分:(闰余附)日月以会朔为正,气序以斗建为中,是故气进而盈分存焉。置中节两气之策,以一月之全策三十减之,每至中气,即一万七千四十、秒十二,是为中盈分。朔退而虚分列焉,置一月之全策三十,以朔策及余减之,余一万八千三百七,是为朔虚分。综中盈、朔虚分,而闰余章焉。(闰余三万五千三百四十五、秒一十三。)从消息而自致,以盈虚名焉。

中盈分和朔虚分(附带闰余)。太阳和月亮以会朔为基准,节气顺序以斗柄指向为中间,所以气前进而产生盈分。设置中节两气的长度,用一月的完整长度三十减去,每到中气,就得到一万七千零四十又秒十二,这就是中盈分。朔后退而产生虚分,设置一月的完整长度三十,用朔策及其余数减去,余下一万八千三百零七,这就是朔虚分。综合中盈分和朔虚分,闰余就显现出来了(闰余是三万五千三百四十五又秒十三)。从消长变化自然得到,用盈和虚来命名。

〔12〕纪法:六十。《易·乾》象之爻九,《坤》象之爻六,《震》《坎》、《艮》象之爻皆七,《巽》《离》《兑》象之爻皆八。综八卦之数凡六十,又六旬之数也。纪者,终也,数终八卦,故以纪名焉。

纪法这一节说的是六十。在《易经》中,乾卦的爻用九表示,坤卦的爻用六,震、坎、艮卦的爻都用七,巽、离、兑卦的爻都用八。把八卦的这些数字加起来一共是六十,正好也是六十天的数目。所谓“纪”,就是终结的意思,因为数字终结在八卦这里,所以用“纪”来命名。

〔13〕天正冬至:大余五十七,小余一万七千。先测立冬晷景,次取测立春晷景,取近者通计,半之,为距至泛日;乃以晷数相减,余者以法乘之,满其日晷差而一,为差刻;乃以差刻(求冬至,视其前晷多则为减,少则为加,求夏至者反之。)加减距至泛日,为定日;仍加半日之刻,命从前距日辰,算外,即二至加时日辰及刻分所在。如此推求,则加时与日晷相协。今须积岁四百一年,(治平元年1064甲辰1064岁,气积年也。)则冬至大、小余与今适会。

冬至的时刻为:从历法起始点算起,整数天数是57天,小数部分是17000(这里的“大余”“小余”是古代历法记日术语,大余指整天数,小余指不足一天的分数)。推算方法如下:先测量立冬那天的日晷影子长度,再测量立春那天的日晷影子长度,取两者中较接近的那个(指立冬或立春,取决于哪个离冬至更近),把两个晷长加起来除以二,得到“距至泛日”(大致是冬至或夏至的影子长度对应的日数)。接着,把两个晷长相减,余数乘以一个固定的“法”数(这里“法”是历法中的常数,用于换算),再除以每天晷影的变化率(“日晷差”),结果就是“差刻”(即需要调整的时刻数)。然后,用这个差刻去调整“距至泛日”:如果求冬至,当前面测得的晷影更长,差刻要减去;如果前面晷影更短,就加上。求夏至时则相反。这样调整后得到的日数就是“定日”。最后再加上半天的刻数,从前面取用的那个节气(立冬或立春)的日子开始算,超出范围的就是冬至(或夏至)发生的具体时辰和刻数。用这套方法推算,就能使计算出的时刻与实际的晷影变化相吻合。现在需要积累401年的冬至数据(从治平元年甲辰年开始的积累年数),才能使此时算出的冬至大余、小余与今天实测的值恰好吻合。