魏尚书郎杨伟上表说:“我阅览古籍,考察决断历数的作用,季节用来综理农事,月份用来综理人事,它们的由来已久了。少昊时,依据燕子归来之类的物候判断分至;颛顼、帝学时,重黎掌管天;唐帝、虞舜时,羲和掌管日,三代时沿袭了这种传统,每个朝代都有日官。曰官掌管历法,把它颁布给诸侯,诸侯得到以后,再在境内颁布。夏后时,羲和沉迷于酒中,使得历法紊乱,《书》把这件事写在《胤征》裹面。由此看来,明悉农时,重视人事,历代都是这样。一直到周室衰落,战国纷起,告朔用的羊,废弃而不继承,登台祭祀天地的礼仪,灭绝而不遵守,闰月设置乖错而不知道,正月安排与时令不符而不悟,大火星犹在西,却以蛰虫不隐藏为怪。当时,天子不协调时令,掌管历法的官员不写明日辰的吉凶禁忌,诸侯不尽职,日官连朔日也不推算,人事不恤,废弃农时。仲尼在《春秋》这部书裹进行拨乱反正,依托褒贬来纠正错误,掌管历法的官员设置闰月不当,则在书中记录以讥讽之,登台颁布朔,则说他有礼。从此以后,一直到秦、汉,仍然以孟冬作为一年的开始,闰月为后九月,中气节气错乱,季节、月份错误,修正值落后于实际天象,日食不在朔时发生,多年沿袭,很久都没有改变。到武帝元封七年,才意识到上述错误,于是更改正月所在,改变历法的基本数据,命令有大才的博学之人,造《太初历》,考校中气、朔时的误差,以改正闰分;观测中星得到相应的度数,以考察历法的疏密。以建寅之月作为正月,以黄钟之月作为历法的开始。这部历法的斗分太大,后来误差逐渐增大。到丞和二年,再次行用《四分历》,一直使用到现在,考察日食,经常发生在晦日,这是斗分太多的缘故,所以先精密后来粗疏,现在已不可用。我先前利用制典的空余时间,推算考察天体的运行,考核以前的典籍,以日食和朔验证,详细精密,建立了更为精密的历法,推算不先不后,与古今天象相符。以前在唐帝时,协调时日,诚信地治理百姓,各种事业都很兴旺。想要使当今国家的典礼和各种制度都符合往古,非常完备充足,于是更改正月所在,改变历法的基本数据,以大吕之月作为一年的开始,以建子之月作为历法初始月。我认为在颛顼时代,历法称为《颛顼》,在轩辕时代,历法称为《黄帝》,到汉孝远帝改革正朔,变更历法,改元叫作太初,因而其历法命名为《太初历》。现在改元为景初,应该把历法叫作《景初历》。我所制定的《景初历》,方法数据简明扼要,施用则接近精密,研究它则节省功效,学习它则容易明白。即使再让堑垂心算,蓥直运筹,重墼掌管日晷,盏勉考察日影、天象,推算验证日月的运行,穷究其精妙幽微之处,达到术敷的极限,也不可能像我的历法一样精妙。所以历代的历法都粗疏而不精密,自黄帝以来,不停地改变。”
壬辰元以来,至景初元年丁巳,积四千零四十六年,算上。
这个历元以天正建子黄钟之月为历法的初始,每元的第一年,甲子朔日半夜零点冬至。
元法:一万一千零五十八。
纪法:一千八百四十三。
纪月:二万二千七百九十五。
章岁:十九。
章月:二百三十五。
章闰:七。
通数:十三万四千六百三十。
日法:四千五百五十九。
余数:九千六百七十。
周天:六十七万三千一百五十。
纪岁中:十二。
气法:十二。
没分:六万七千三百一十五。
没法:九百六十七。
月周:二万四千六百三十八。
通法:四十七。
会通:七十九万零一百一十。
朔望合数:六万七千三百一十五。
入交限数:七十二万二千七百九十五。
通周:十二万五千六百二十一。
周日日余:二千五百二十八。
周虚:二千零三十一。
斗分:四百五十五。
甲子纪第一
纪的开始合朔,月亮在黄道南。
交会差率,四十一万二千九百一十九。
迟疾差率,十万三千九百四十七。
甲戌纪第二
纪的开始合朔,月亮在黄道南。
交会差率,五十一万六干五百二十九。
迟疾差率,七万三千七百六十七。
甲申纪第三
纪的开始合朔,月亮在黄道南。
交会差率,六十二万零一百三十九。
迟疾差率,四万三千五百八十七。
甲午纪第四
纪的开始合朔,月亮在黄道南。
交会差率,七十二万三千七百四十九。
迟疾差率,一万三千四百零七。
甲辰纪第五
纪的开始合朔,月亮在黄道南。
交会差率,三万七千二百四十九。
迟疾差率,十万八千八百四十八。
甲寅纪第六
纪的开始合朔,月亮在黄道南。
交会差率,十四万零八百五十九。
迟疾差率,七万八千六百六十八。
交会纪差为十万三千六百一十。这个数据的计算方法是,用一纪的积月二万二千七百九十五,乘以通数十三万四千六百三十,连续减去会通七十九万零一百一十,所得小于会通之数即为交会纪差。以交会纪差加上前纪的交会差率,所得为后纪的交会差率。加上交会纪差后所得交会差率如果仍小于会通,则纪首这一年天正合朔时月亮在黄道南;如果大于会通,减之,月亮在黄道北。一直累加至大于等于会通,则月亮在黄道南;再一直累加至大于等于会通,则月亮在黄道北。
迟疾纪差三莴零一百八十。逭个数据的计算方法是,用一纪的积月二万二千七百九十五,乘以通数十三万四千六百三十,连续减去通周十二万五千六百二十一,余下小于通周部分九万五千四百四十一,用通周减之,所得为迟疾纪差。以上一纪的迟疾差率减去迟疾纪差,得到后一纪的迟疾差率。如果不足减,则加上通周后再减之。
求次元的纪差率:用前元甲寅纪的差率减去纪差,所得为次元甲子纪差率。求次纪差率,与前面的方法一样。
推朔积月方法:
以上元壬辰至所求年的积年,减去一,除以纪法一千八百四十三,所得商数算外,得到入纪敷,余数为入纪年数。以章月二百三十五乘以入纪年数,再除以章岁十九,所得商敷为积月,余数为闰余。闰余在十二以上,当年有闰月。闰月的确定以无中气之月为准。
推朔的方法:
以通敷十三万四千六百三十乘以积月,为朔积分。除以日法四千五百五十九,所得商敷为积曰,余数为小余。积日连续减去六十,余下不满六十的部分为大余。大余以所在纪干支起算,算外,为所求年天正十一月朔日。
求次月朔日:在上月基础上加大余二十九,小余二千四百一十九,如果加后小余满日法四千五百五十九,则化入大余,起算命名的方法舆前面一样,所得为次月朔日。小余在二千一百四十以上,则当月大。
推弦望日:
在朔日基础上加大余七,小余一千七百四十四,小分一,小分满二则化入小余,小余满日法四千五百五十九则化入大余,大余满六十则减之,余下不满六十的部分从所在纪干支起算,算外,即上弦日。用同样的方法连加,依次可得望、下弦、后月朔日。如果望时有月食,且定小余在中节者则舆之最近的中气或节气的间限、限数以下,则算上以确定其所在日。望在中气或节气前后四天以内,看限数而定,望在中气或节气前后五天以上,看间限而定。
推二十四中气、节气的方法:
以入纪年减去一,乘以余数九千六百七十,除以纪法一千八百四十三,所得商数为大余,余数为小余。大余满六十则减之,余下不满六十部分从所在纪干支起算,算外,即得天正十一月冬至日。
求次气:在上一气的基础上加大余十五,小余四百零二,小分十一,如果小分满气法十二则化入小余,小余满纪法则化入大余,起算命名的方法与前面一样,所得为次气日。
推闰月的方法:
以章岁十九减去闰余,乘以岁中十二,乘积满章闰七得一月;剩下不满章闰部分如果在三点五以上,也得一月。这样所得的月敷从天正十一月起算,算外,得到闰月。如果闰月设置有出入,以有无中气作为判据。
大雪十一月节限数千二百四十二间限千二百四十八
冬至十一月中限数千二百五十四间限千二百四十五
小寒十二月节限数千二百三十五间限千二百二十四
大寒十二月中限数千二百一十三间限千一百九十二
立春正月节限数千一百七十二间限千一百四十七
雨水正月中限数千一百二十二间限千九十三
惊蛰二月节限数千六十五间限千三十六
春分二月中限数千八间限九百七十九
清明三月节限数九百五十一间限九百二十五
谷雨三月中限数九百间限八百七十九
立夏四月节限数八百五十七间限八百四十
小满四月中限数八百二十三间限八百一十二
芒种五月节限数八百间限七百九十九
夏至五月中限数七百九十八间限八百一
小暑六月节限数八百五间限八百一十五
大暑六月中限数八百二十五间限八百四十二
立秋七月节限数八百五十九间限八百八十三
处暑七月中限数九百七间限九百三十五
白露八月节限数九百六十二间限九百九十二
秋分八月中限数千二十一间限千五十一
寒露九月节限数千八十间即千一百七
霜降九月中限数千一百三十三间限千一百五十七
立冬十月节限数千一百八十一间限千一百九十八
小雪十月中限数千二百一十五间限千二百二十九
推没、减的方法:
沿用冬至积日,如果有小余,再加一,乘以没分六万七千三百一十五,除以没法九百六十七,所得商敷为大余,余数为小余。大余满六十则减之,余下不满六十部分从所在纪干支起算,算外,即得去年冬至后没日。
求次没:加大余六十九,小余五百九十二,小余满没法九百六十七得一,加入大余,起算命名的方法如前。小余尽,为灭。
推五行用事日:
立春、立夏、立秋、立冬曰,即木、火、金、水开始用事日。在上述四个节气的基础上各减去大余十八,小余四百八十三,小分六,余下的从所在纪干支起算,算外,即得土用事日。大余不足减,加六十;小余不足减,大余减一,加纪法一千八百四十三;小分不足减,小余减一,加气法十二。
推卦用事日:
沿用冬至大余,小余乘以六,以之确定的时间即《坎卦》用事日。加小余一万零九十一,满元法一千一百五十八化入大余,即得《中孚》用事日。
求次卦:各加大余六,小余九百六十七。四正的确定沿用中日大余,小余乘以六。
推太阳所在宿度的方法:
以纪法一千八百四十三乘以朔积日,满周天六十七万三千一百五十则除去,余下不满周天部分除以纪法一千八百四十三,所得商敷为度,余数为分。度分从牛宿前五度起算,满一宿则除去,到剩下度分不满所在宿大小时,则此即为天正十一月朔夜半太阳所在宿度及分。
求次日:每天加一度,分不加,经过斗宿时除去斗宿分,如果分少不足减,度数减一化为分,再减之。
推月亮所在宿度的方法:
以月周二万四千六百三十八乘以朔积日,满周天六十七万三千一百五十除去,余下不满周天部分除以纪法一千八百四十三,所得商数为度,余数为分,起算命名方法与求太阳所在宿度时一样,可得天正十一月朔夜半月亮所在宿度及分。
求次月:小月加度二十二,分八百零六;大月再加一天,度加十三,分六百七十九;分满纪法一千八百四十三化入度,最后所得为次月朔夜半月亮所在宿度及分。其冬下旬,月在张宿、心宿之日作出标记。
推合朔所在宿度的方法:
以章岁十九乘以朔小余,所得满通法四十七化为大分,余下不足通法部分为小分。以大分加朔夜半太阳度分,分满纪法一千八百四十三化入度,起算命名方法如前,可得天正十一月合朔太阳、月亮共合时的宿度分。
求次月;在上月基础上加度二十九,大分九百七十七,小分四十二,小分满通法四十七化入大分,大分满纪法一千八百四十三化入度,经过斗宿时除去斗宿分,所得为次月合朔太阳、月亮共合时的宿度分。
推弦、望时太阳所在宿度分:
在合朔时太阳度分的基础上加度七,大分七百零五,小分十,微分一,微分满二化入小分,小分满通法四十七化入大分,大分满纪法一千八百四十三化入度,起算命名方法舆前面一样,则可得上弦时太阳所在宿度分。用同样的办法连续加,可依次得望、下弦、后月朔太阳所在宿度分。
推弦、望时月亮所在宿度分:
在合朔时月亮度分的基础上加度九十八,大分一千二百七十九,小分三十四,小分至大分,大分至度的转化及宿度分的推算与前面一样,可得上弦时月亮所在宿度分。用同样的办法连续加,可依次得望、下弦、后月朔月亮所在宿度分。
推太阳和月亮昏、明度分的方法:
推算太阳以纪法一千八百四十三,月亮以月周二万四千六百三十八,乘以舆所求日最靠近的节气的夜漏,除以二百,所得分别为太阳和月亮的明分。推算太阳以纪法,月亮以月周分别减去各自的明分,所得为各自的昏分。以各自明分、昏分加各自夜半度分,分满纪法化入度,可得太阳和月亮昏、明时所在宿度分。
推合朔交会月食的方法:
以所入纪的朔积分,加所在纪下交会差率,除去会通七十九万零一百一十,余下的即为所求年天正十一月合朔时的去交度分。加上通数十三万四千六百三十,满会通则除去,余下的即为次月合朔时的去交度分。以朔望合敷六万七千三百一十五各加当月合朔时的去交度分,满会通则除去,余下的为当月望时的去交度分。朔和望时的去交度分,如果在朔望合数六万七千三百一十五以下,或入交限数七十二莴二千七百九十五以上,朔贝交会,望则月食。
推合朔交会月食时月亮在黄道南北的方法:
以所入纪的朔积分,加所在纪的交会差率,除去会通的两倍,余下的如果不满会通,则纪首时月亮在黄道北,天正合朔时月亮也在日道表;纪首时月亮在黄道南,天正合朔时月亮也在黄道南。余下的如果满会通则除去,纪首时月亮在黄道北,则天正合朔时月亮在黄道南;纪首时月亮在黄道南,则天正合朔时月亮在黄道北。
求次月:以通敷十三万四千六百三十加上月合朔去交度分,满会通则除去,如果上月合朔月亮在黄道南,加通敷后满会通,则月亮变为在黄道北,不满会通,则仍在黄道南;如果上月合朔月亮在黄道北,加通数后满会通,则月亮变为在黄道南,不满会通,则仍在黄道北。如果先交会后月食,合朔时月亮在黄道北则望时月亮也在黄道北,合朔时月亮在黄道南则望时月亮也在黄道南。先月食后交会,看见月食之月合朔时月亮在黄道南则望时月亮在黄道北,合朔时月亮在黄道北则望时月亮在黄道南。交会月食如果在朔望合数六万七千三百一十五以下,则交在前,会在后;如果在入交限敷七十二万二千七百九十五以上,则会在前,交在后。前交后会情形下,接近限数时应在前月预候;前会后交情形下,接近限数时应在后月候之。
求去交度的方法:
交在前会在后的,以去交度分除以日法四千五百五十九,所得为交点后去交度。会在前交在后的,以会通七十九万零一百一十减去去交度分,余下的除以日法四千五百五十九,所得为交点前去交度。余数均为度分。去交度在十五以上,虽然交但不发生食,在十以下,必然发生食,在十以上,食亏很少,祇是光影相及而已。食亏具体多少,以十五作为分母来表达。
求日食亏起方位角的方法:
如果月亮在外道,交在先会在后,日食从西南角起亏;会在先交在后,日食从东南角起亏。如果月亮在内道,交在先会在后,日食从西北角起亏;会在先交在后,日食从东北角起亏。日食亏分的多少,与月食一样,以十五为分母来表达。日月相会于交中则食尽。月食时月亮在舆太阳相对的位置,起亏的方位角与上面相反。
月行迟疾度损益率盈缩积分月行分
一日十四度十四分益二十六盈初二百八十
二日十四度十一分益二十三盈积分118534二百七十七
三日十四度八分益二十盈积分223391二百七十四
四日十四度五分益十七盈积分314571二百七十一
五日十四度一分益十三盈积分392714二百六十七
六日十三度十四分益七盈积分451341二百六十一
七日十三度七分损盈积分483254二百五十四
八日十三度一分损六盈积分483254二百四十八
九日十二度十六分损十盈积分455900二百四十四
十日十二度十三分损十三盈积分410310二百四十一
十一日十二度十一分损十五盈积分351413二百三十九
十二日十二度八分损十八盈积分282658二百三十六
十三日十二度五分损二十一盈积分200596二百三十三
十四日十二度三分损二十三盈积分104857二百三十一
十五日十二度五分益二十一缩初二百三十三
十六日十二度七分益十九缩积分95739二百三十五
十七日十二度九分益十七缩积分182336二百三十七
十八日十二度十二分益十四缩积分259863二百四十
十九日十二度十五分益十一缩积分323689二百四十三
二十日十二度十八分益八缩积分373838二百四十六
二十一日十三度三分益四缩积分410311二百五十
二十二日十三度七分损缩积分428546二百五十四
二十三日十三度十二分损五缩积分428546二百五十九
二十四日十三度十八分损十一缩积分405751二百六十五
二十五日十四度五分损十七缩积分355602二百七十一
二十六日十四度十一分损二十三缩积分278099二百七十七
二十七日十四度十二分损二十四缩积分173242二百七十八
周日十四度十三分有小分六百二十六分
损二十五有小分六百二十六
缩积分63826二百七十九
有小分六百二十六
推合朔交会月食入迟疾历的方法:
以所求年入纪朔积分,加所在纪迟疾差率,除去通周十二万五千六百二十一,余下不满通周部分除以日法四千五百五十九得入历天数,余数为日余,天数从所在纪干支起算,算外,可得所求年天正十一月合朔入历。
求次月:加一天,余四千四百五十。求望,加十四天,El余三干四百八十九。日余满曰法四千五百五十九化入天,天数满二十七减去。再以日余减去周日日余二千五百二十八,曰余不足减,天数减去一,加固虚二千零三十一。
推合朔交会月食定大小余:
以入历let余乘以所入历的对应损益率,以增减盈缩积分,所得为定积分。以所入历日对应的月行分减去章岁十九,以定积分除以其差,所得如果是盈积分则以平朔小余减之,如果是缩积分则以平朔小余加之,可得为定小余。缩加以后,小余满日法四千五百五十九,则交会加时在后一天;平朔小余不足减盈积分,则交会加时在前一天。月食,同样由定大余小余以确定加时。如果入历日在周曰,以周日日余二千五百二十八乘以缩积分,所得为定积分。以损益率乘以入历日余,再乘以周日日余二千五百二十八,加周日度小分六百二十六,用定积分减之,余下的为后定积分。以周月行分减章岁十九,乘以周曰日余,加周Ellet度小分,用后定积分除以它,所得加本小余,可得定小余。剩下的方法与上面一样。
推加时:
以十二乘以定小余,满曰法四千五百五十九得一辰,所得辰数从子时起算,算外,即为朔望加时所在之辰。有余数,乘以四,再除以曰法四千五百五十九,如果得一,则为少(四分之一),如果得二,则为半(二分之一),如果得三,则为太(四分之三)。再有余数,乘以三,除以日法四千五百五十九,如果得一,则为强(十二分之一),如果在四千五百五十九的一半以上,入为一,得强(十二分之一),在四千五百五十九的一半以下则舍去。以强(十二分之一)与少(四分之一)合并为少强(三分之一),以强(十二分之一)与半(二分之一)合并为半强(十二分之七),以强(十二分之一)与太(四分之三)合并为太强(六分之五)。如果得二强则为少弱(六分之一),以少弱(六分之一)舆少(四分之一)合并为半弱(十二分之五),以少弱(六分之一)与半(二分之一)合并为太弱(三分之二),以少弱(六分之一)与太(四分之三)合并为一辰弱(十二分之十一)。以其所在辰命名,各自得该辰少、太、半及其强、弱。如果月食在中气或节气前后四天以内,看限数;在中气或节气前后五天以上,看问限。定小余在间限、限数以下,以算上为月食所在日。
斗二十六分四百五十五
牛八女十二虚十危十七室十六壁九
北方九十八度分四百五十五
奎十六娄十二胃十四昴十一毕十六觜二
参九
西方八十度
井三十三鬼四柳十五星七张十八翼十八轸十七
南方百十二度
角十二亢九氐十五房五心五尾十八箕十一
东方七十五度
表略
以上中气、节气共二十四气,按历数推求,可得每年冬至十一月中气时有关的数据。在此基础上加得次月节气数据,节气加得其月中气。中星的确定以太阳所在作为判据,以所求年二十四节气小余乘以四,除以Et法四千五百五十九,如果得一,为少(四分之一);如果达不到少(四分之一),乘以三,除以Et法为强(十二分之一);以所得减其节气,则昏明中星各个都能确定。
推五星术:
五大行星,木星又名岁星,火星又名荧惑星,土星又名镇星,金星又名太白星,水星又名辰星。五大行星的运行,有快有慢,有留有逆。白天地开辟,清浊刚分开时,太阳、月亮、五大行星相聚于星纪。从星纪出发,在天上运行,有快有慢,有留有逆,相互赶上。行星与太阳相会,处在同一宿同一度,叫做合。从合到下一次合,叫做终。各以一终的时间与一年的时间通分相约,分子为合终岁数,分母为合终合数。遗两个数确定后,则其他的基本数据也有了。以章岁十九乘以合数,所得为合月法。以纪法一千八百四十三乘以合数,所得为度法。以章月二百三十五乘以岁数所得为合月分;除以合月法所得商数为合月数,余数为月余。以通数十三万四千六百三十乘以合月数,除以日法四千五百五十九,所得商数为大余。以大余连续除去六十,余下不满六十的部分为行星合朔大余。大余之外的余数为朔小余。以通数乘以月余,以合月法乘以朔小余,二者相加,除以日法四千五百五十九与合月法之积,所得商数为行星合入月数。余数除以通法四十七,所得为入月日余。以朔小余减去日法,所得为朔虚分。以历斗分四百五十五乘以合数,所得为星度斗分。木星、火星、土星以各自的岁数减去合数,余下的乘以周天六十七万三千一百五十,除以日度法,所得商数为行星度数,余数为度余。金星、水星以周天乘以各自岁数,除以日度法,所得商敷为行星度数,余数为度余。
木星:
合终岁数:一千二百五十五。
合终合数:一千一百四十九。
合月法:二万一千八百三十一。
日度法:二百一十一万七千六百零七。
合月数:十三。
月余:一万一千一百二十二。
朔大余:二十三。
朔小余:四千零九十三。
入月日:十五。
月余:一百九十九万五千六百六十四。
朔虚分:四百六十六。
斗分:五十二万二千七百九十五。
行星度:三十三。
度余:一百四十七万二千八百六十九。
火星:
合终岁数:五千一百零五。
合终合数:二千三百八十八。
合月法:四万五千三百七十二。
日度法:四百四十万一千零八十四。
合月敷:二十六。
月余:二万零三。
朔大余:四十七。
朔小余:三千六百二十七。
入月日:十三。
日余:三百五十八万五千二百三十。
朔虚分:九百三十二。
斗分:一百零八万六千五百四十。
行星度:五十。
度余:一百四十一万二千一百五十。
土星:
合终岁数:三千九百四十三。
合终合敷:三千八百零九。
合月法:七万二千三百七十一。
日度法:七百零一万九千九百八十七。
合月数:十二。
月余:五万八千一百五十三。
朔大余:五十四。
朔小余:一千六百七十四。
入月日:二十四。
日余:六十七万五千三百六十四。
朔虚分:二千八百八十五。
斗分:一百七十三万三千零九十五。
行星度:十二。
度余:五百九十六万二千二百五十六。
金星:
合终岁数:一千九百零七。
合终合敷:二千三百八十五。
合月法:四万五千三百一十五。
日度法:四百三十九万五千五百五十五。
合月敷:九。
月余:四万零三百一十。
朔大余:二十五。
朔小余:三千五百三十五。
入月日:二十七。
日余:十九万四千九百九十。
朔虚分:一千零二十四。
斗分:一百零八万五千一百七十五。
行星度:二百九十二。
度余:十九万四千九百九十。
水星:
合终岁数:一千八百七十。
合终合数:一万一千七百八十九。
合月法:二十二万三千九百九十一。
日度法:二千一百七十二万七千一百二十
合月数:一。
月余:二十一万五千四百五十九。
朔大余:二十九。
朔小余:二干四百一十九。
入月日:二十八。
日余:二千零三十四万四千二百六十一。
朔虚分:二千一百四十。
斗分:五百三十六万三千九百九十五。
行星度:五十七。
度余:二千零三十四万四千三百六十一。
推五星的方法:
以壬辰元至所求年的年数,乘以合终合数,除以合终岁数,所得商数命名为积合,余数命名为合余。以合余除以合终合敷,如果商敷得一,则行星去年舆太阳合,如果商敷得二,则行星前年与太阳合,如果商数无所得(为零),则行星在所求年与太阳合。合终合敷减去余数,为度分。金星、水星的积合为偶数时,早晨舆太阳合,积合为奇数,晚上与太阳合。
推五星合时所在月:
以月数、月余各乘以积合,月余满合月法化入月,最后所得为积月,不满合月法部分为月余。以积月除以纪月二万二千七百九十五,所得商数算外,为所入纪,余数为入纪月。以章闰乘以入纪月,除以章月二百三十五,所得为闰月数,以入纪月减之,差数大于岁中十——N除去,余下不满十二部分为入岁月,从天正十一月起算,算外,为行星会合时所在月份。如果正好在闰月,则按照朔日确定。
推会合所在月朔:
以通数乘以十三万四千六百三十乘以入纪月,除以日法,所得商数为积日,余数为小余。以积日连续减去六十,余下不满六十部分为大余,以所入纪干支起算,算外,为行星会合时所在月朔日。
推行星会合时入月日:
以通数十三万四千六百三十乘以月余,合月法乘以朔小余,二者相加,除以日度法,所得商数为行星会合时入月数,余数为日余。日敷从朔日起算,算外,为行星会合时入月日。
推行星会合时所在宿度:
以周天六十七万三千一百五十乘以度分,除以日度法,所得余数为行星会合时度数,余数为度余。度数从牛宿前五度起算,算外,为行星会合时所在宿度。
求下次会合时所在月份:
以月数加上次会合时入岁月,月余加上次会合时月余,所得月余在合月法以上,则化入月数。如果月数小于岁中十二,则行星在本年会合;如果月数大于等于岁中,减之,有闰月亦减之,余下小于岁中,则会合在上次会合的后一年;如果余下的仍大于等于十二,则会合在上次会合的后二年。金星、水星加一次会合后由早晨会合变为晚上会合,晚上会合变为早上会合。
求下次会合时所在月朔日:
以朔大余、朔小余,加上次合月大余、小余,加后满一月,再加大余二十九,小余二千四百一十九,小余满日法四千五百五十九部分,化为大余,起算命名的方法如前。
求下次会合时的入月日:
以入月日、日余,加上次会合时入月日、日余,日余满日度法部分,化为日。如果上次会合朔小余大于等于对应虚分,则减一日;如果本次会合小余大于等于二千四百一十九,减去二十九日;小于二千四百一十九,减去三十曰,余下的为本次会合时入月曰,以朔日起算。求下次会合时所在宿度,以度数及分加上次会合时度数及分,从上次会合时所在宿度起算,所得即为本次会合时所在宿度。
木星:早晨舆太阳会合,伏,顺行,十六天九十九万七千八百三十二分,共运行二度一百七十九万五千二百三十八分,转而早晨在东方出现,在太阳之后。顺行,快,每天运行五十七分之十一度,五十七天共运行十一度。再顺行,慢,每天运行九分,五十七天共运行九度,留。二十七天不动而转向。逆行,每天运行七分之一度,八十四天共退行十二度,再留。二十七天停止不动,再慢行,每天运行九分,五十七天共运行九度而顺行。快,每天运行十一分,五十七天共运行十一度,在太阳之前,晚上隐伏于西方。顺行,十六天九十九万七千八百三十二分,共运行二度一百七十九万五千二百三十八分,与太阳会合。总计一终,三百九十八天一百九十九万五千六百六十四分,运行三十三度一百四十七万二千八百六十九分。
火星:早晨与太阳会合,隐伏不见,七十二天一百七十九万二千六百一十五分,运行五十六度一百二十四万九千三百四十五分,转而早晨在东方出现,在太阳之后。顺行,每天运行二十三分之十四度,一百八十四天运行一百一十二度。再顺行,慢,每天运行十二分,九十二天运行四十八度而留。十一天不动,转向。逆行,每天运行六十二分之十七度,六十二天退行十七度,再留。十一天后转为顺行,慢,每天运行十二分,九十二天运行四十八度,速度变快。每天运行十四分,一百八十四天运行一百一十二度,在太阳之前,晚上隐伏于西方。顺行,七十二天一百七十九万二千六百一十五分,运行五十六度一百二十四万九千三百四十五分,与太阳会合。总计一终,七百八十天三百五十八万五千二百三十分,运行四百一十五度二百四十九万八千六百九十分。
土星:早晨与太阳会合,隐伏不见,十九天三百八十四万七千六百七十五点五分,运行二度六百四十九万一千一百二十一点五分,转而早晨在东方出现,在太阳之后。顺行,每天运行一百七十二分之十三度,八十六天运行六点五度而留。三十二点五天不动,转向。逆行,每天运行十七分之一度,一百零二天退行六度,再留。三十二点五天不动,转而顺行,每天运行十三分,八十六天运行六点五度,在太阳前面,晚上隐伏于西方。顺行,十九天三百八十四万七千六百七十五点五分,运行二度六百四十九万一千一百二十一点五分,与太阳会合。总计一终,共三百七十八天六十七万五千三百六十四分,运行十二度五百九十六万二千二百五十六分。
金星:早晨与太阳会合,伏,逆行,六天退行四度,转而早晨在东方出现,在太阳之后,逆行。慢,每天运行五分之三度,十天退行六度。留,七天不动,转向。顺行,慢,每天运行四十五分之三十三度,四十五天运行三十三度,顺行。快,每天运行一又九十一分之十四度,九十一天运行一百零五度而顺行。更快,每天运行一又九十一分之二十一度,九十一天运行一百一十二度,在太阳之后,早晨隐伏于东方。顺行,四十二天十九万四千九百九十分运行五十二度十九万四千九百九十分,与太阳会合。一合,总计二百九十二天十九万四千九百九十分,运行二百九十二度十九万四千九百九十分。
金星:晚上与太阳会合,隐伏不见,顺行,四十二天十九万四千九百九十分运行五十二度十九万四千九百九十分,转而晚上在西方出现,在太阳之前。顺行,快,每天运行一又九十一分之二十一度,九十一天运行一百一十二度,再顺行。慢,每天运行一度十四分,九十一天运行一百零五度,再顺行。更慢,每天运行四十五分之三十三度,四十五天运行三十三度而留。七天不动,转向。逆行,每天运行五分之三度,十天退行六度,在太阳之前,晚上隐伏于西方。逆行,六天退行四度,舆太阳会合。总计二次会合,一终,五百八十四天三十八万九千九百八十分,运行五百八十四度三十八万九千九百八十分。
水星:早晨与太阳会合,隐伏不见,十一天退行七度,早晨在东方出现,在太阳之后。逆行,快,一天退行一度而留。一天不动,转向。顺行,慢,每天运行八分之七度,八天运行七度,顺行。快,每天运行一又十八分之四度,十八天运行二十二度,在太阳之后,早晨隐伏于东方。顺行,十八天二千零三十四万四千二百六十一分运行三十六度二千零三十四万四千二百六十一分,舆太阳会合。一合,共五十七天二千零三十四万四千二百六十一分,运行五十七度二千零三十四万四千二百六十一分。
水星:晚上与太阳会合,隐伏不见,十八天二千零三十四万四千二百六十一分运行三十六度二千零三十四万四千二百六十一分,晚上在西方出现,在太阳之前。顺行,快,每天运行一又十八分之四度,十八天运行二十二度,顺行。慢,每天运行八分之七度,八天运行七度而留。一天不动,转向。逆行,一天退行一度,在太阳之前,晚上隐伏于西方。逆行,十一天退行七度,与太阳会合。总计二次会合,一终,一百一十五天一千八百九十六万一千三百九十五分,运行一百一十五度一千八百九十六万一千三百九十五分。
五星历步术:
把给定行星隐伏时的天数、度数及其余数,加入到此行星会合时的时间、所在宿度及其余数,余数大于日度法则化为天数、度数加之,命名的方法舆前面一样,即可得到此行星出现的时间和所在宿度。以行星每天运行分数的分母乘以该星首次出现时的度数,度余除以日度法得一,如果度余达到日度法的一半以上也得一,每天加上所运行的分数,分数大于等于其对应之分母得一度。逆行和顺行时所用分母不同,以现行的对应分母乘以前面的运行分,除以前面运行分对应的分母,所得为对应于现行分母的运行分。当行星留时,宿度沿用前面的不变,逆行则减之,伏时不写出每天运行的度数,经过斗宿时除去斗分,以现行分母作为比率。运行分有增有减,前后相互照应。
武帝时的侍中平原人刘智,以斗历修改历法,推崇《四分法》,三百年减一天,以一百五十为度法,三十七为斗分。推算甲子作为上元,到泰始十年,即甲午年,共九万七千四百一十一年,上元天正甲子朔夜半冬至,太阳、月亮、五大行星从星纪开始,得到上元之首的开端。以虚浮之说作为饰辞,名为《正历》。
当阳侯杜预著《春秋长历》,说:
太阳运行一度,月亮运行十三又十九分之七度多,掌管历法的官员根据太阳、月亮运动的快慢,以考察晦、朔,设置闰月。闰月没有中气,北斗斜指于两辰之间,因此与其他十二个月不一样。以此连续推算,则四时八节没有乖错,这才能够成岁,其间达到极为精微细密的境界。得其精微,以合天道,则事情有序而不错乱。所以《传》说:“闰月用来校正纪时,纪时用来指导人事。”但是阴阳的运转,随着本身的移动而产生误差,误差不断积累,于是舆历法乖错。所以仲尼、丘明每次在朔和闰月时作记录,是为了矫正历法的得失,以此阐明历数。
刘子骏造《三正历》,以之研习《春秋》,《春秋》所载日食,带日干支的有三十四次,而按《三正历》推算衹得一次,与其他历法相比,最为粗疏。并且六千多年一天,凡是年应该由每天累积而成,而故意增加,其不可行达到了极点。
自古以来,那些讨论《春秋》的历家多有荒谬,或者用自己造的历法,或者用黄帝以来各家历法,推算经传中的朔El,都与经传不合。日食发生在朔日,这是符合自然的规律,《经》、《传》上又写着,朔日Et食,可以称为得天,而刘、买等各人的学说,都认为日食可在月初二或初三发生,公然违背圣人的明文,他们的弊端在于,衹认定一个上元,而不根据实际天象进行改正。
我感慨于上述有关《春秋》历法之事,曾经着《历论》,极言历法的通理。大体的意思是:天运行不息,太阳、月亮和行星各自在天上运行,都是运动的天体。天体运动则不可能总保持一致,纵然它们的行度大量可得并且限定在一定的范围之内,日积累而成为月,月积累而成为年,新的和旧的相互关联,不可能没有微小的误差,这是很自然的道理。所以春秋时有的连续两个月都有日食,有的多年都没有日食,按理不可能统一,而历法推算所用的基本数据保持不变,所以按历法推算的结果都与实际天象有先有后。开始的误差很小,因此觉察不到,误差积累而变大,以至于推算所得弦、望、晦、朔与实际不符,则不得不修改历法,使之与实际天象相符。这就是《书》所说的“钦若昊天,历象日月星辰”,《易》所说的“治历明时”,认为历法的制定应该顺应实际天象以求得二者的符合,而不是先制定历法,然后验证实际天象是否与之相符。推而论之,春秋二百多年间,肯定有多次修改历法以顺应天象。虽然春秋时的历法已经堙减不传,追寻《经》和《传》中隐含的旨意,从大量事实可以得知,时令的违谬,《经》和《传》上均有凭据。学者们本应当探寻《经》和《传》中记载的月、日和日食,以考察晦、朔,推演它们是否与实际时间一致;但他们却不这样做,各自根据自己的历法,推算春秋月、日和日食,这样做无异于以自己的脚印为标准,去削他人之足。
我着《历论》之后,至咸宁年问,有善于计算的奎壁、上题两人,依据我的论述制造了名为《干度历》的历法,上于朝廷。他们的历法,太阳运动用《四分历》的基本数据,仅仅增加了月亮运行的速率,用三百年修改历法的说法,用二元推算七十余年的天象,误差甚小,对天体运行的描述可以推演到遥远的年代。当时的尚书和史官用《干度历》和《泰始历》参校古今记注,发现《干度历》大大胜过《泰始历》,于是上奏它胜过官历的具体的四十五个事例。现在他们的历法都还保存着。又同时用古今十部历法推算检验《春秋》,从中可知,《三统历》最为粗疏。
《春秋》上总共记载了七百七十九个干支日,三百九十三日在《经》上,三百八十六日在<传》上。三十七次日食。三次没有日干支。
《黄帝历》推算四百六十六日和一次日食符合。
《颛项历》推算五百零九日和八次日食符合。
《夏历》推算五百三十六日和十四次日食符合。
《真夏历》推算四百六十六日和一次日食符合。
《殷历》推算五百零三日和十三次日食符合。
《周历》推算五百零六日和十三次日食符合。
《真周历》推算四百八十五日和一次日食符合。
《鲁历》推算五百二十九日和十三次日食符合。
《三统历》推算四百八十四日和一次日食符合。
《干象历》推算四百九十五日和七次日食符合。
《泰始历》推算五百一十日和十九次日食符合。
《干度历》推算五百三十八日和十九次日食符合。
现在的《长历》推算七百四十六和三十三次日食符合。三十三不符,<经》、《传》有误;四次日食不符,其中三次无干支。
汉末,宋仲子搜集七种历法考证《春秋》,经研究,其中夏、周二历都与《艺文志》所记载的不同,所以更名为《真夏历》、《真周历》。
穆帝永和八年,著作郎琅邪人王朔之造《通历》,以甲子为上元,积九万七千年,四千八百八十三为纪法,一千二百零五为斗分,沿用其上元作为开辟之始。
后秦姚兴时,孝武太元九年,即甲申年,天水人姜岌造《三纪甲子元历》,大略说:“研治历法的方法,先必须捆究、月的运行,然后才可以上考天时,下察地化。一旦失去了这个根本,则四时季节的安排就会杂乱无序。所以仲尼创作《春秋》,以继月,月以继时,时以继年,年以首事,明悉天时是人事的根本,所以历代帝王都很重视历法。自皇羲以来,直到汉、魏,各朝都制定了自己的历法,以求与天象相符。考察历法是粗疏还是精密,衹能用交食作为判据。然而书中所记,衹有《春秋》上载有日食,从隐公到哀公,总计二百四十二年间,人日食三十六次,考察其晦、朔,不知道用的是什么历法。班固认为《春秋》沿用《鲁历》,《鲁历》不正,所以闰月设置不当。鲁以闰余为一的这年作为部首,考查《春秋》中设置闰月的方法,与此首不符。《命历序》上说:孔子为了研究《春秋》,曾专门研治殷朝的历法,使之可以传于后世。如果真是这样的话,《春秋》月、El和交食的校正应该用《殷历》。现考查《春秋》上的交食,与《殷历》不符,用《殷历》考查《春秋》,月朔日多数与《春秋》不一样,再以之对比《经》,都多一Et,《传》则少一日。但《公羊》、《经》与《传》上朔日不一样,从道理上也说得过去,然而《经》上有日食于朔日的证据,《传》却认为失朔。服虔用太极上元注解《传》,太极上元乃是刘歆《三统历》所制造的历元,哪裹能施用于《春秋》呢?研究《春秋》而用《汉历》,从义理上来说不是差得太远了吗?《传》中不对的地方很多,不祇是这件事而已。襄公二十七年冬十一月乙亥朔日食。《传》上说:‘日月相会在申,掌管历法官员出错,两次失闰。’考察朔Et太阳月亮的去交分,交食应该在此月,而不是两次失闰。用刘歆的历法考查《春秋》日食,衹有一次在朔,其余的多发生在月初二,因此刘歆在其历法后面附《五行传》,著述牵强附会之说:春秋时诸侯多不施行德政,所以月亮运行经常缓慢。刘歆不但不认为日食不发生在朔是历法推算的失误,反而为之作错误的辩解。日食发生在朔,乃是天经地义之事,而刘歆反而据自己的历法非议实际天象,这是倚恃历法而冤屈天。杜预又认为周曲衰落,国家动荡不安,学者们没有得到当时真正施用的历法,现在传世的七种历法,都未必是各个王朝实际行用的历法。现今如果以遣七家历法考察古今交食,确信不可能得到验证,这都是由于斗分粗疏所致。《殷历》以四分之一为斗分,《三统历》以一千五百三十九分之三百八十五为斗分,《干象历》以五百八十九分之一百四十五为斗分,现在的《景初历》以一千八百四十三分之四百五十五为斗分,疏密不同,方法和基本数据也不一样。《殷历》斗分太大,所以不能施用于现在。《干象历》斗分太小,所以不能用于古代。《景初历》斗分虽然在二者之间,但日所在宿度仍与实际相差四度,日月亏损,都不在对应的位置,假使在东井宿食,以月验算,却在参宿六度,相差这么大,怎么可以用来考察天时人事呢?现在研治的新历,以二千四百五十一分之六百零五为斗分,日在斗宿十七度,天正之首,往上推考可以以《春秋》作为判据,往下可以看它是否舆现在的实际天象符合。用它来考察《春秋》三十六次日食,正好在朔日的有二十五次。日食二的有二次,在晦日的有二次,有误的五次,总计三十三次,其余日食经中没有标明干支,没办法用来考证其得失。圆纬上都说‘三百年修改历法,。以上述新历施用于春秋时代,日食多在朔日。从春秋到现在,共一千多年,交会弦望,衹不过三次交食算对,新历可以永远施用,哪裹需要三百年修改一次呢?”
甲子上元以来,至鲁隐公元年己未,总共八万二千七百三十六年,至晋孝武太元九年甲申,总共八万三千八百四十一年,算上。
元法,七千三百五十三。
纪法,二千四百五十一。
通数,十七万九千四十四。
日法,六千六十二。
月周,三万二千七百六十六。
气分,万二千八百六十。
元月,九万九百四十五。
纪月,三万三百一十五。
没分,四万四千七百六十一。
没法,六百四十三。
斗分,六百五。
周天,八十九万五千二百二十。一名纪日。
章月,二百三十五。
章岁,十九。
章闰,七。
岁中,十二。
会数,四十七。日月八百九十三岁,凡四十七会,分尽。
气中,十二。
甲子纪交差,九千一百五十七。
甲申纪交差,六千三百三十七。
甲辰纪交差,三千五百一十七。
周半,一百二十七。
朔望合数,九百四十一。
会岁,八百九十三。
会月,万一千四十五。
小分,二千一百九十六。章数:一百二十九。
小分:二千一百八十三。
周闰大分:七万六千二百六十九。
历周:四十四万七千六百一十。半周天。
会分:三万八千一百三十四。
差分:一万一千九百八十六。
会率:一千八百八十二。
小分法:二千二百零九。
入交限:一万零一百零四。
小周:二百五十四。
甲子纪差率,四万九千一百七十八。
甲申纪差率,五万八千二百三十一。
甲辰纪差率,六万七千二百八十四。
通周:十六万七千零六十三。
周日日余:三千三百六十二。
周虚:二千七百零一。
五星约法,根据行星的出现作为推算的基点,不系于上元。然而推步总要追寻到元初,约法可在现在施用,探求其中的旨趣,则各有其优越之处,所以作者把两种方法并列。姜岌利用月食测量日所在宿度,为研治历法的人所宗仰。又着《浑天论》,于黄道推算太阳的运行,驳斥前儒的错误,所论都很合适。