辽朝建国的时候,就设立了幽州和营州,逐渐完善了礼乐制度,国家规模越来越大,沿用颁布的历法达两百多年。现在奉命修撰辽史,体例和宋史、金史差不多,所以辽朝的《大明历》就不可或缺了。但是,辽朝的历法记录很难找到,《大明历》的原本也找不到,后来从一个史官那里找到了祖冲之的历法。祖冲之的历法,是不是辽朝历法的来源呢?咱们国家以前也用过祖冲之的历法。用祖冲之的历法推算,一直推算到辽朝改历的那一年,再根据起元推算,这就是辽朝的《大明历》了。虽然辽朝的历法可以根据祖冲之的历法来补充,但是我们没这么做,因为史书贵在真实可靠,缺失内容也没关系。史官记录了历法,天文官员也履行了职责,《辽史》里记载这些就足够了。所以,我写了一篇《历象志》。

大同元年,太宗皇帝从后晋的汴京迁都,把各部门的官员、技术人员和天文历法方面的专家都带到了中京,辽朝这才有了自己的历法。在此之前,后梁和后唐都还在用景福年间的《崇玄历》。后晋天福四年,司天监马重绩上奏了一部新的历法,叫做《乙未元历》,又叫《调元历》,太宗皇帝从汴京带走的历法就是这个。穆宗应历十一年,司天监官员王白、李正等人又进献了一部历法,其实还是《乙未元历》。圣宗统和十二年,可汗州刺史贾俊进献了一部新历法,这就是《大明历》。高丽编写的《大辽古今录》记载,统和十二年辽朝开始颁布新的历法和年号,这和贾俊进献《大明历》的时间相符。《大明历》是根据宋朝祖冲之的历法制定的,沈约的《宋书》里记载得很清楚。具体内容如下:

宋武帝大明六年,祖冲之上奏了《甲子元历》的算法,但还没来得及实行,就以年号命名为《大明历》。

从上元甲子年到宋大明七年癸卯年,一共是五万一千九百三十九年。(这部分是推算结果,并非历法本身)

元法:五十九万二千三百六十五。

纪法:三万九千四百九十一。

章岁:三百九十一。

章月:四千八百三十六。

章闰:一百四十四。

闰法:十二。

月法:十一万六千三百二十一。

日法:三千九百三十九。

余数:二十万七千四十四。

岁余:九千五百八十九。

没分:三百六十万五千九百五十一。

没法:五万一千七百六十一。

周天:一千四百四十二万四千六百六十四。

虚分:一万四千四百四十九。

行分法:二十三。

小分法:一千七百一十七。

通周:七十二万六千八百一十。

好家伙,这堆数字和术语,看着就头大!咱们一句一句掰扯掰扯,尽量用大白话解释。

首先,“会周:七十一万七千七百七十七”,意思是说,一个周期的总天数是七十一万七千七百七十七天。 “通法:二万六千三百七十七”,这个“通法”大概指一个什么标准数值,是二万六千三百七十七。 “差率:三十九”,这个“差率”是三十九,具体指什么,得结合后面的内容看。

接下来是“推朔术”,这部分讲的是怎么推算农历每月的初一(朔日)。 “置入上元年数算外,以章月乘之,满章岁为积月,不尽为闰余”,意思是先把上元年的年数放一边,然后用一个叫“章月”的数值去乘以它,乘出来的结果如果能被“章岁”整除,就是积月数,除不尽的部分就是闰余。 “闰余二百四十七以上,其年有闰”,如果这个闰余超过二百四十七,那这一年就是闰年。后面那些“以月法乘积月,满日法为积日,不尽为小余。六旬去积日,不尽为大余。大余命以甲子,算外,所求年天正十一月朔也。小余千八百四十九以上,其月大。” 说的都是一些计算方法,用各种数值和方法计算出农历十一月初一,以及这个月是大小月。 总之,就是一堆复杂的计算步骤,目的是算出农历日期。

“求次月:加大余二十九,小余二千九十。小余满日法从大余,大余满六旬去之,命如前,次月朔也。” 这部分是说怎么算下一个月的初一,用不同的数值和方法进行计算。 “求弦望:加朔大余七,小余千五百七,小分一。小分满四从小余,小余满日法从大余,命如前,上弦日也。又加得望,又加得下弦,又加得后月朔也。” 这部分讲的是怎么算农历的弦望日(上弦、满月、下弦)。 还是一堆计算公式,目的是算出这些特殊日子。

“推闰术:以闰余减章岁,余满闰法得一月,命以天正,算外,闰所在也。闰有进退,以无中气为正。” 这部分是推算闰月的方法,通过计算闰余来确定闰月在哪个月。 “推二十四气:置入上元年数算外,以余数乘之,满纪法为积日,不尽为小余。六旬去积日,不尽为大余。大余命以甲子,算外,天正十一月冬至日也。” 这部分是推算二十四节气,特别是冬至的日期。 “求次气:加大余十五,小余八千六百二十六,小分五。小分满六从小余,小余满纪法从大余,命如前,次气日也。” 这部分是说怎么算下一个节气的日期。

“求土王用事:加冬至大余二十七,小余万五千五百二十八,季冬土用事日也。又加大余九十一,小余万二千二百七十,次土用事日也。” 这部分似乎在算某个特定日子,跟“土王用事”有关,具体是什么,我也不知道。 “推没术:以九十乘冬至小余,以减没分,满没法为日,不尽为日余,命日以冬至,算外,没日也。” “求次没:加日六十九,日余三万四千四百四十二,余满没法从日,次没日也。日余尽为灭。” 这两部分讲的是“没”的推算方法,具体“没”指什么,我需要更多上下文才能解释。

“推日所在度术:以纪法乘朔积日为度实,周天去之,余满纪法为积度,不尽为度余。命以虚一,次宿除之,算外,天正十一月朔夜半日所在度也。” 这部分是推算某一天在天空中的位置,用度数来表示。 “求次月:大月加度三十,小月加度二十九,入虚去度分。” 这部分是说怎么计算下一个月的星宿位置。 “求行分:” 最后一句只给了一个“求行分”,没有具体内容,所以无法翻译。

总而言之,这段文字描述的是一套相当复杂的历法计算方法,里面充满了各种专业术语和计算公式,即使对于现代人来说,理解起来也相当困难。 需要具备一定的古代天文历法知识才能完全理解其含义。

这段文字描述的是一种古代历法计算方法,用现代汉语口语解释如下:

首先,用小分法来计算余数,得到行分(大概相当于度数的更细分),不够一个单位的就叫小分。小分满了就加到行分里,行分满了就加到度数里。

接下来是算第二天:加一度,然后从虚数里减去行分6,小分147。

然后是推算月亮所在的位置:用朔日(农历初一)的小余数乘以124得到度数的余数,再用朔日的小余数乘以860得到微分(更小的单位)。微分满了就加到度数余数里,度数余数满了就加到总度数里。最后用这个结果减去朔日半夜月亮的位置,就能得到月亮当前的位置。

算下个月:大月加35度,度数余数是31834,微分是77967;小月加22度,度数余数是17261,微分是62736。然后从虚数里减去这些度数。

这里有个迟疾历(表格省略),计算方法是:用通法乘以朔日积日得到通实,再减去通周,剩下的余数如果满了通法就等于一天,不满就作为日余。 记住这个日数,天正十一月朔日半夜开始计算历日。

算下个月:大月加两天,小月加一天,日余都是11746。历法满了27天,日余是14631,就减掉它。

算第二天:加一天。

计算当天月亮的精确度数:用半夜开始计算的历日余数乘以损益率,然后根据损益盈缩积分进行调整,最后得到的结果,满纪法为度数,不满的为度数余数。用盈数加,亏数减,调整平行度数和余数,得到最终的度数。如果加多了或减少了,就根据纪法进行调整。计算度数和行分的方法和前面一样。算第二天,就加上迟疾历里对应的数值。然后,像之前一样,从虚数里减去多余的分数。

最后是阴阳历(表格省略),计算方法是:把通实减去会周,不满358888.5(交数)的部分就是朔日进入阳历的分数,分别减去,得到朔日进入阴历的分数。每个满通法都算一天,不满的部分是日余。记住这个日数,天正十一月朔日半夜开始计算历日。

算下个月:大月加两天,小月加一天,日余都是27779。历法满了13天,日余是15987.5,就减掉它。阳历完了就进入阴历,阴历完了就进入阳历。

算第二天:加一天。

这段文字描述的是古代天文计算的方法,非常专业,咱们一句一句地用现代话来说说。

第一段:

“求朔望差:以二千二十九乘朔小余,满三百三为日余,不尽倍之为小分,则朔差数也。” 意思是:算朔望的差值,用2029乘以朔日余数,每333个余数算作一天的余数,剩下的再乘以2,得到小分,这就是朔差。

“加一十四日,日余二万一百八十六,小分百二十五。小分满六百六从日余,日余满通法为日,即望差数也。” 再加14天,日余数变成21186,小分是125。小分每666个从日余数里扣除,日余数每满一定的数量就换算成天数,这样就得到望差。

“又加之,后月朔也。” 再把望差加上去,就是下个月的朔日了。

第二段:

“求合朔月食:置朔望夜半入阴阳历及余,有半者去之,置小分三百三,以差数加之。” 要计算合朔月食,先把朔望日的半夜时间以及阴阳历的余数放进去,如果有半数就舍去,然后放进333个小分,再把差值加进去。

“小分满六百六从日余,日余满通法从日,日满一历去之。命日算外,则朔望加时入历也。” 小分每666个从日余数里扣除,日余数每满一定的数量就换算成天数,天数每满一个历法周期就扣除。算完后剩下的天数,就是朔望日需要加上的时间。

“朔望加时入历一日,日余四千一百九十八,小分四百二十八以下,十二日,日余万一千七百八十八,小分四百八十一以上,朔则交会,望则月食。” 如果朔望日加上的时间是一天,日余数是4198,小分小于428;如果是12天,日余数是11788,小分大于481,那么朔日就发生交会,望日就发生月食。

第三段:

“求合朔月食定大小余:令差数日余加夜半入迟疾历余,日余满通法从日,则朔望加时入历也。” 确定合朔月食的大小余数:把差值的日余数加上半夜时间的迟疾历余数,日余数每满一定的数量就换算成天数,这样就得到朔望日需要加上的时间。

“以入历余乘损益率,以损益盈缩积分,如差法而一,以盈减缩加本朔望小余为定小余。” 用加上的时间余数乘以损益率,根据盈亏情况进行积分运算,方法与差值法相同,最后把结果加上朔望日的小余数,得到确定的余数。

“益之或满法,损之或不足,以日法进退日。” 如果结果超过了法定数值,就按天数的算法向前推算;如果结果不足,就向后推算。

第四段:

“求合朔月食加时:以十二乘定小余,满日法得一辰,命以子,算外,加时所在辰也。” 计算合朔月食需要加上的时间:用12乘以确定的余数,每满一定数量得到一个时辰,以子时为起点,算出需要加上的时间所在的时辰。

“有余者四之,满日法得一为少,二为半,三为太。又有余者三之,满日法得一为强,以强并少为少强,并半为半强,并太为太强。” 如果有余数,就乘以4,每满一定数量分别算作“少”、“半”、“太”;如果还有余数,就乘以3,每满一定数量算作“强”,然后把“强”分别与“少”、“半”、“太”相加,得到“少强”、“半强”、“太强”。

“得二者为少弱,以并少为半弱,并半为太弱,并太为一辰弱,以前辰名之。” 如果得到两个余数,就分别算作“少弱”、“半弱”、“太弱”、“一辰弱”,并用前面的时辰来命名。

第五段:

“求月去日道度:置入阴阳历余乘损益率,如通法而一,以损益兼数为定。定数十二而一为度。不尽四而一,为少、半、太。又不尽者三而一,一为强,二为少弱,则月去日道数也。” 计算月亮与太阳的度数差:把阴阳历的余数乘以损益率,按照常规方法计算,得到一个确定的数值。这个数值除以12得到度数,余数除以4得到“少”、“半”、“太”,如果还有余数,除以3得到“强”或“少弱”,这就是月亮与太阳的度数差。

“阳历在表,阴历在里。” 阳历在外面,阴历在里面。(指计算方法或图表位置)

第六、七、八段:

测景漏刻中星数:(表略) 测量日影、漏刻和星辰数量:(表格省略)

求昏明中星:各以度数如夜半日所在,则中星度。 计算黄昏和黎明时星辰的位置:根据度数,如同半夜太阳所在的位置一样,就能确定星辰的度数。

推五星术:木率:千五百七十五万三千八十二。火率:三千八十万四千一百九十六。土率:千四百九十三万三百五十四。金率:二千三百六万一十四。 推算五星运行:木星的比率是1575382,火星是30804196,土星是1493354,金星是23614。

总而言之,这段文字描述的是一套复杂的天文计算方法,涉及到许多专业术语和复杂的运算步骤,用现代汉语口语解释后,仍然显得比较抽象。 这套方法体现了古代天文观测和计算的精湛技艺。

水率是四百五十七万六千二百四。

接下来是推算五星的办法:先把各自的度数用水率去除,剩下的用这个水率再减,一直这样算下去,直到结果小于水率,这就叫做入岁日(一年中行星进入某一位置的日子),不够一天的部分就是日余。然后,以天正朔(一年开始的日子)为基准,剩下的部分,就是行星和太阳会合的那一天。

计算行星会合的度数:用入岁日和日余,从天正朔那天开始累积度数和余数,如果超过一年的度数(360度),就减去360度,剩下的就是虚一(剩余度数),计算完后,就知道行星和太阳会合时的度数了。

计算行星出现的日子:把计算出的伏日(行星隐没的日子)和日余,加上行星和太阳会合的那一天和日余,如果超过一年的天数,就减去一年,剩下的就是行星出现的日子。

计算行星出现的度数:把计算出的伏度(行星隐没时的度数)和余数,加上行星和太阳会合时的度数和余数,如果超过一年的度数,就减去360度,剩下的就是行星出现的度数。

接下来是五星运行方法的说明:用小分法去除度数的余数,得到的结果就是行星每天运行的度数(行分),不够一天的叫做小分。把每天运行的度数加上日数,如果超过一年的度数,就减去360度,剩下的继续用前面的方法计算。如果行星逆行,就要减去这个度数。行星运行到一定位置后会停止,然后继续计算,直到运行到虚一(360度的余数),这时要减去行分(每天运行的度数)的六倍,和小分(不足一天的度数)的147倍。如果行星逆行离开虚一,就要加上这些数值。

我们以木星为例:木星刚开始和太阳会合的时候是隐没的,16天后,日余是17832,运行了2度,度数的余数是37554,清晨在东方出现。之后,每天运行4分,112天运行19度11分。然后停留28天。之后逆行,每天运行3分,86天后退11度5分。又停留28天。之后再次运行,每天运行4分,112天后,傍晚在西方隐没,日度余数和开始时一样。一个周期一共398天,日余是35664,运行了33度,度数的余数是25215。

火星:…… (此处内容待续)

一开始,土星和太阳重合了,然后就潜伏起来,七十二天,一共走了六百八个太阳日,行程五十五度,剩余两万八千八百六十五度,早晨出现在东方。接下来,它速度很快,每天走十七分,九十二天走了六十八度。速度稍微慢一点的时候,每天走十四分,九十二天走了五十六度。速度很慢的时候,每天走九分,九十二天走了三十六度。然后停顿了十天。接着它反向运行,每天走六分,六十四天倒退了十六度十六分。又停顿了十天。之后它又开始顺行,速度慢的时候,每天走九分,九十二天;速度稍微快的时候,每天走十四分,九十二天;速度很快的时候,每天走十七分,九十二天。最后它在傍晚潜伏到西方,剩余度数和一开始一样。整个周期是七百八十天,一共走了六百八个太阳日加一千二百一十六个剩余日,行程四百一十四度,剩余三万两千五十八度。减去一个完整的圆周,最终确定它运行了四十九度,剩余一万九千八百九十度。

土星的情况是:一开始,它和太阳重合了,然后就潜伏起来,十七天,一共走了1378个太阳日,行程一度,剩余一万九千三百三十三度,早晨出现在东方,运行方向是顺行的,每天走二分,八十四天走了七度七分。然后停顿了三十三天。接着它反向运行,每天走一分,一百一十天倒退了四度十八分。又停顿了三十三天。之后它又开始顺行,每天走二分,八十四天,傍晚潜伏到西方,剩余度数和一开始一样。整个周期是三百七十八天,一共走了2756个太阳日,行程十二度,剩余三万一千七百九十八度。

金星:(此处原文缺失,无法翻译)

一开始呢,水星和太阳重合了,然后就隐没不见了,藏了39天。这期间太阳走了38126度,水星也走了49度,同样是38126度。到了晚上,它出现在西方。接着,水星运行速度很快,每天走1度5分,92天走了112度。速度稍微慢一点的时候,每天走1度4分,92天走了108度。速度最慢的时候,每天只走17分,45天走了33度6分。然后它停顿了9天。速度慢下来后,每天走16分,9天倒退了6度6分,晚上又隐没在西方。它隐没5天,倒退了5度,然后又和太阳重合了。再过5天,又倒退了5度,早晨出现在东方。这时它开始逆行,每天走16分,持续9天,然后又停顿了9天。之后,它开始运行,速度慢,每天走17分,持续45天。速度稍快些,每天走1度4分,持续92天。速度最快的时候,每天走1度5分,持续92天。最后,它在早晨隐没在东方,太阳的度数和最初一样。整个周期是583天,太阳走了36761度,水星的运行情况也和之前一样。减去一个周期,水星实际运行了218度,剩余度数是26313度。合计291天,太阳走了38126度,水星的运行情况也和之前一样。

水星的情况是这样的:一开始和太阳重合,然后隐没,持续了14天。这期间太阳走了37115度,水星走了30度,同样是37115度。晚上,它出现在西方。接着,水星快速运行,每天走1度6分,23天走了29度。速度慢下来后,每天走20分,8天走了6度22分。然后它停顿了2天。速度慢下来后,每天走11分,2天倒退了22分,晚上又隐没在西方。它隐没8天,倒退了8度,然后又和太阳重合了。再过8天,又倒退了8度,早晨出现在东方。这时它开始逆行,每天走11分,持续2天。然后又停顿了2天。之后,它开始运行,速度慢,每天走20分,持续8天。速度快的时候,每天走1度6分,持续23天。最后,它在早晨隐没在东方,太阳的度数和最初一样。整个周期是115天,太阳走了34739度,水星的运行情况也和之前一样。一个周期是57天,太阳走了37115度,水星的运行情况也和之前一样。

上元那年,是甲子年,天正甲子年的正月初一晚上半夜冬至,日月五星都聚集在虚宿的起始位置,“阴阳迟疾亦自此始”。

公元504年,梁武帝天监三年,梁武帝的儿子萧暅上书,说何承天制定的历法有错误,不能用。

九年后,也就是公元510年正月,梁武帝下令采用祖冲之编制的《甲子元历》,正式颁布使用。 陈朝继承梁朝的制度,也沿用了祖冲之的历法。

到了辽朝,辽圣宗采纳了贾俊献上的新历法,不过沿用了宋朝《大明历》的旧名称继续使用。金朝则把它改名为《重修大明历》。

元朝沿用了金朝的名称,也叫它《重修大明历》。后来元朝又改用《授时历》,并且专门设立了司天监来负责历法的研究和修订,每年甲子年冬至都要重新修订历法。相关的书籍都保存在太史院,严禁外传。