卷二十八律历八

作者:脱脱等朝代:类别:纪传体断代史 · 白话译文

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

明天历

晷漏推算方法

二至极限:一百八十一天六十二分。

一象度:九十一度三十一分。

消息常数:一万零六百八十九。

辰法:三千二百五十。

刻法:三百九十。

半辰法:一千六百二十五。

昏明刻分:九百七十五。

昏明:二刻一百九十五分。

冬至岳台晷影常数:一丈二尺八寸五分。

夏至岳台晷影常数:一尺五寸七分。

冬至后初限、夏至后末限:四十五天六十二分。

夏至后初限、冬至后末限:一百三十七天。

求岳台晷影进入二至后的日数:计入二至后的日数,用二至约余减去它,再加半日之分,即为进入二至后日正午积累数及分。

求岳台晷影日正午定数:放置所求日正午积累数,如果在初限以下则为在初;如果已超过,则用二至极限减去它,余数为在末。如果在冬至后初限、夏至后末限,用进入限的日数减去一千九百三十七半,为泛差;再用进入限的日分乘其日的盈缩积,(盈缩积在日度术中。)乘以五除以一百,用减泛差,为定差;然后用进入限的日分自乘,再乘定差,满一百万为一尺,不满为寸、为分及小分,用减冬至常晷,余数为其日正午晷影定数。如果所求在冬至后末限、夏至后初限,则将进入限的日分除以三,减四百八十五少,余数为泛差;再用盈缩差减极数,余数如果在春分后、秋分前,直接除以四,加泛差,为定差;如果在春分前、秋分后,用距离二分日数及分乘之,满六百除以一,用减泛差,余数为定差;然后用进入限的日分自乘,再乘定差,满一百万为一尺,不满为寸、为分及小分,用加夏至常晷,即为其日正午晷影定数。

求每日消息定数:放置所求日中日度分,如果在二至极限以下则为在息;如果以上则去掉它,余数为在消。再看入消息度加一象以下为在初;如果以上,则用二至极限减去它,余数为在末。其初、末度自乘,用一万乘再折半,满消息常数除之,为常数。然后复制一份,用减一千九百五十,余数乘其复制,满八千六百五十除之,所得加常数,为所求消息定数。

求每日黄道去极度及赤道内外度:放置其日消息定数,乘以四,满三百二十五除之为度,不满则退除为分,所得,在春分后加六十七度三十一分,在秋分后减一百一十五度三十一分,即为所求日黄道去极度及分。用黄道去极度与一象度相减,余数为赤道内、外度。如果去极度少,为日在赤道内;如果去极度多,为日在赤道外。

求每日晨昏分及日出入分:以其日消息定数,春分后加六千八百二十五,秋分后减一万零七百二十五,余数为所求日晨分;用减元法,余数为昏分。用昏明分加晨分,为日出分;减昏分,为日入分。

求每日距中距子度及每更差度:放置其日晨分,乘以七百,满七万四千七百四十二除为度,不满则退除为分,命名为距子度;用减半周天,余数为距中度。(如果倍距子度,除以五,即为每更差度及分。如果按司辰星漏历,则倍距子度,减去待旦三十六度五十二分半,余数除以五,即每更差度。)

求每日夜半定漏:放置其日晨分,用刻法除之为刻,不满为分,即所求日夜半定漏。

求每日昼夜刻及日出入辰刻:倍夜半定漏,加五刻,为夜刻。用减一百刻,余数为昼刻。用昏明刻加夜半定漏,满辰数除之为辰数,不满,刻法除之为刻,又不满,为刻分。从子正开始命名辰数,算外,即日出辰刻;用昼刻加它,同样命名,即日入辰刻。(如果用半辰刻加它,则从辰初开始命名。)

求更点辰刻:倍夜半定漏,除以二十五,为点差刻;乘以五,为更差刻。用昏明刻加日入辰刻,即甲夜辰刻;用更点差刻依次加它,满辰刻及分去掉,分别得更点所入辰刻及分。(如果按司辰星漏历,则倍夜半定漏,减去待旦一十刻,余数按方法求之,即同内中更点。)

求昏晓及五更中星:放置距中度,用其日昏后夜半赤道日度加并命名,即其日昏中星所格宿次,昏中星便为初更中星;用每更差度加并命名,即乙夜所格中星;依次累加,得逐更中星所格宿次。又倍距子度,加昏中星并命名,即晓中星所格宿次。(如果按司辰星漏历中星,则倍距子度,减去待旦十刻之度三十六度五十二分半,余数约分为五更,即同内中更点中星。)

求九服距差日:各在所在立表候测,如果地在岳台北,测冬至后与岳台冬至晷影相同者,累冬至后至其日,为距差日;如果地在岳台南,测夏至后与岳台晷影相同者,累夏至后至其日,为距差日。

求九服晷影:如果地在岳台北冬至前后,用冬至前后日数减距差日,为余日;用余日减一千九百三十七半,为泛差;按前法求之,用加岳台冬至晷影常数,为其地其日中晷常数。如果冬至前后日数多于距差日,则减去距差日,余数按前法求之,即得其地其日中晷常数。如果地在岳台南夏至前后,用夏至前后日数减距差日,为余日;然后除以三,减四百八十五少,为泛差;按前法求之,用减岳台夏至晷影常数,即其地其日中晷常数。如果夏至前后日数多于距差日,则减岳台夏至常晷,余数即晷在表南。如果夏至前后日多于距差日,则减去距差日,余数按前法求之,各得其地其日中晷常数。(如果求定数,按立成以求正午晷影定数。)

求九服所在昼夜漏刻:冬、夏二至各在所在下水漏,以确定其地二至夜刻,然后相减,余数为冬、夏至差刻。放置岳台其日消息定数,用其地二至差刻乘之,如岳台二至差刻二十除以一,所得,为其地其日消息定数。然后倍消息定数,满刻法约之为刻,不满为分,然后加减其地二至夜刻,(秋分后、春分前,减冬至夜刻;春分后、秋分前,加夏至夜刻。)为其地其日夜刻;用减一百刻,余数为昼刻。(其日出入辰刻及距中度五更中星,均按前法求之。)

月离推算方法

转度母:八千一百一十二万。

转终分:二百九十八亿八千二百二十四万二千二百五十一。

朔差:二十一亿四千二百八十八万七千。

朔差:二十六度。(余三千三百七十六万七千,约余四千一百六十二半。)

转法:一十亿八千四百四十七万三千。

会周:三百二十亿二千五百一十二万九千二百五十一。

转终:三百六十八度。(余三十八万二千二百五十一,约余三千七百零八。)

转终:二十七天。(余六亿一百四十七万一千二百五十一,约余五千五百四十六。)

中度:一百八十四度。(余一千五百零四万一千一百二十五半,约余一千八百五十四。)

象度:九十二度。(余七百五十二万零五百六十二太,约分九百二十七。)

月平行:十三度。(余二千九百九十一万三千,约分三千六百八十七半。)

望差:一百九十七度。(余三千一百九十二万四千六百二十五半,约分三千九百三十四。)

弦差:九十八度。(余五千六百五十二万二千三百一十二太,约分六千九百六十七。)

日衰:一十八、小分九。

求月行入转度:用朔差乘所求积月,满转终分去掉,不尽为转余。满转度母除为度,不满为余,(其余如果用一万乘,满转度母除,即得约分;如果用转法除转余,即为入转日及余。)即得所求月加时入转度及余。(如果用弦度及余依次加,即得上弦、望、下弦及后朔加时入转度及分;其度如果满转终度及余去掉。)其入转度如果在中度以下为月行在疾历;如果在中度以上,则减去中度及余,为月入迟历。

求月行迟疾差度及定差:放置所求月行入迟速度,如果在象度以下为在初。以上,则减去中度,余数为在末。(其度余用约分百为母。)放置初、末度于上,列出二百零一度九分于下,以上减下,余数以下乘上,为积数;满一千九百七十六除为度,不满则退除为分,命名为迟疾差度。(在疾为减,在迟为加。)用一万乘积数,满六千七百七十三半除,为迟疾定差。(疾加、迟减,如果用立成,则用其度下损益率乘度余,满转度母除以一,所得,随其损益,即得迟疾及定差。其迟疾、初末损益分为二日者,各加其初、末以乘除。)

求朔弦望所直度下月行定分:放置迟疾所入初、末度分,进一位,满七百三十九除,用减一百二十七,余数为衰差。然后用衰差疾初迟末减、迟初疾末加,均加减平行度分,为其度所直月行定分。(其度以百命为分。)

求朔弦望定日:各用日躔盈缩、月行迟疾定差加减经朔、弦、望小余,满或不足,进退大余,从甲子开始命名,算外,各得定日日辰及余。如果定朔干名与后朔干名相同则月大,不同则月小,月内无中气则为闰月。(凡注历,观察定朔小余,秋分后四分之三以上者,进一日;如果春分后,其定朔晨分差如春分之日者,除以三,减四分之三;如果定朔小余及此数以上者,进一日;朔或当交有食,初亏在日入以前者,其朔不进。弦、望定小余不满日出分者,退一日;其望或当交有食,初亏在日出以前,其定望小余虽满日出分者,也退之。又月行九道迟疾,历有三大二小;日行盈缩累增损之,则有四大三小,理数如此。如果循其常,则当观察加时早晚,随其所近而进退之,使月之大小不过连三。旧说,正月朔有交,必须消息前后一两月,移食在晦、二之日。且日食当朔,月食当望,是自然之理。夫日之食,是天垂示告诫,警悟时政,如果道化得中,则变咎为祥。国家务以至公理天下,不可私移晦朔,宜顺天诫。故《春秋传》书日食,乃纠正其朔,不可专移食于晦、二。其正月朔有交,一从近典,不可移避。)

计算定朔、弦、望时的加时日度:将朔、弦、望的中日及约分,用太阳运行盈缩的度数及分数进行盈加缩减,再用元法退除求得迟疾定差,疾加迟减,所得结果即为该朔、弦、望的加时定日。将天正冬至时的加时黄道日度加上并命名,就是所求朔、弦、望的加时定日所在宿次。(朔、望如果有交会,则依照后面的方法计算。)

计算月亮运行的九道:凡是朔日交会,冬天在阴历,夏天在阳历,月亮运行在青道。(冬至、夏至之后,青道的一半交会在春分之宿,位于黄道东方。立夏、立冬之后,青道的一半交会在立春之宿,位于黄道东南;到其所对应的宿位也是如此。)冬天在阳历,夏天在阴历,月亮运行在白道。(冬至、夏至之后,白道的一半交会在秋分之宿,位于黄道西方;立冬、立夏之后,白道的一半交会在立秋之宿,位于黄道西北;到其所对应的宿位也是如此。)春天在阳历,秋天在阴历,月亮运行在朱道。(春分、秋分之后,朱道交会在夏至之宿,位于黄道南方;立春、立秋之后,朱道的一半交会在立夏之宿,位于黄道西南;到其所对应的宿位也是如此。)春天在阴历,秋天在阳历,月亮运行在黑道。(春分、秋分之后,黑道的一半交会在冬至之宿,位于黄道正北。立春、立秋之后,黑道的一半交会在立冬之宿,位于黄道东北;到其所对应的宿位也是如此。)四季分为八节,阴阳交会之处,都与黄道相合,所以月亮运行有九道。分别看月亮所进入的正交积度(看正交九道宿度所进入的节候,就是其道、其节的起始点),满一个象度及分数就减去余数(入交积度及象度都在交会术中)。如果在一半象度以下,则属于初限。如果以上,则减去象度及分数,属于末限。用减去的度数减去一百一十一度三十七分,剩下的数用所进入的初、末限度及分数相乘,退一位,再除以二,满一百为一度,不满为分,所得结果就是月亮运行与黄道的差数。在距离半交之后、正交之前,用差数减去;在距离正交之后、半交之前,用差数加上。(这种加减出入六度,只是与黄道比较的数值,如果与赤道比较,则数值会随情况变化而不固定。)计算到二至以来的度数,乘以黄道上的差数,除以九十,得到月亮运行与黄道的差数。凡是太阳以赤道内为阴,赤道外为阳;月亮以黄道内为阴,黄道外为阳。所以月亮运行的宿度,如果进入春分交会后运行在阴历,秋分交会后运行在阳历,都属于同名;如果进入春分交会后运行在阳历,秋分交会后运行在阴历,都属于异名。在同名的情况下,差数应加的则加,应减的则减;在异名的情况下,差数应加的则减,应减的则加。都将加减应用于黄道宿积度,得到九道宿积度;用前一宿的九道宿积度减去本宿的九道宿积度,余数就是本宿的九道宿度及分数。(其分数就近取约为太、半、少三数。)

计算月亮运行九道的入交度:将本朔的加时定日度,减去本朔的交初度及分数,余数就是本朔加时月亮入交度及余数(余数用一万相乘,再用元法退除,得到约余)。用天正冬至时的加时黄道日度加上并命名,就是正交时月亮所在黄道宿度。

计算正交加时月亮在九道的宿度:将正交度及分数从一百一十一度三十七分中减去,余数用正交度及分数相乘,退一位,再除以二,满一百为一度,不满为分,所得结果称为定差。用定差加上黄道宿度,计算到冬至、夏至以来的度数,乘以定差,除以九十,所得结果按照同异名进行加减,如果不满或有余,则调整度数,按前述方法命名,就是正交加时月亮在九道的宿度及分数。

计算定朔、弦、望加时月亮所在宿度:分别将当日的加时日躔位置,转换为九道位置,依次相加。凡是合朔加时,月亮运行在太阳下方,与太阳同度,这就是加时月亮所在的宿次。(先设置朔、弦、望加时的黄道宿度,减去正交加时的黄道宿度,余数加上正交加时的九道宿度,从正交宿次开始算起,算外,就是朔、弦、望加时所对应的九道宿度。如果合朔加时不是正对近点,那么太阳在黄道、月亮在九道各自进入宿度,虽然多少不同,但考察其离极点的距离,如同符合准绳。所以说月亮运行在太阳下方,与太阳同度。)分别用弦、望的度数及分数加上其所对应的九道宿度,满一个宿次就减去,各自得到加时九道月亮所在的宿次。

计算定朔夜半入转:用所求经朔的小余减去本朔加时入转日的余数(经朔的小余,用二万七千八百七相乘,就是转法的分母),得到经朔夜半入转。如果定朔的大余有进退,也要相应地进退转日,没有进退则保持经朔为定值(其余数用转法退收,得到约分)。

计算下月定朔夜半入转:根据定朔夜半入转,大月加二日,小月加一日,余数及分数都加四千四百五十四,满转终日及约分就减去,得到下月定朔夜半入转;逐日加一,按前述方法去掉满数,各自得到每日夜半入转日及分数。

计算定朔、弦、望夜半月度:分别设置加时小余(如果不是朔、望有交会的情况,则用定朔、弦、望的小余),用该日月行定分相乘,满元法得到一度,不满则退除为分,称为加时度。用加时度减去该日加时月度,就各自得到所求的夜半月度。

计算晨昏月:用晨分乘以该日月行定分,除以元法,得到晨度;用月行定分减去晨度,余数为昏度。分别用晨昏度加上夜半月度,就得到所求的晨昏月所在宿度。

计算朔、弦、望的晨昏定程:分别用本朔的昏定月减去上弦的昏定月,余数为朔后昏定程;用上弦的昏定月减去望的昏定月,余数为上弦后昏定程;用望的晨定月减去下弦的晨定月,余数为望后晨定程;用下弦的晨定月减去次朔的晨定月,余数为下弦后晨定程。

计算转积度:计算四七日的月行定分,用日衰加减,得到逐日的月行定程;然后从所入日计算求得定值,就是该程的转积度分(四七日的月行定分,最初每日迟缓一千二百一十,第七日逐渐加速一千三百四十一,第十四日减速一千四百六十一,第二十一日逐渐减慢一千三百二十八,观察其迟疾的极差进行增减,以一百为分母)。

计算每日晨昏月:用转积度与晨昏定程相减,余数用距离后程的天数除,得到日差(定程多则为加,定程少则为减)。用日差加减每日月行定分,得到每日转定度及分。用每日转定度及分加上朔、弦、望的晨昏月,满九道宿次就减去,得到每日晨、昏月亮所在宿度及分(凡是注历,朔后注昏,望后注晨)。前面的月度,都依据九道推算,以穷尽算术的精微。如果注历需要快速简便的方法,则依照后面的方法来推算黄道月度。

计算天正十一月定朔夜半平行月:用天正经朔小余乘以平行度分,除以元法得到度,不满则退除为分秒,所得结果为经朔加时度。用经朔加时度减去该朔中日,就是经朔晨前夜半平行月积度(如果定朔有进退,用平行度分加减)。得到天正十一月定朔之日晨前夜半平行月积度及分。

计算下月定朔之日夜半平行月:设置天正定朔之日夜半平行月,大月加三十五度八十分六十一秒,小月加二十二度四十三分七十三秒半,满周天度分就减去,得到每月定朔之晨前夜半平行月积度及分秒。

计算定弦、望夜半平行月:计算弦、望距离定朔的天数,乘以平行度及分秒,加上该定朔夜半平行月积度及分秒,得到定弦、望之日夜半平行月积度及分秒(也可以直接求朔望,不再求度,从简)。

计算天正定朔夜半入转度:设置天正经朔小余,用平行月度及分相乘,满元法除为度,不满则退除为分秒,称为加时度;用加时度减去天正十一月经朔加时入转度及约分,余数为天正十一月经朔夜半入转度及分。如果定朔大余有进退,也要相应进退平行度分,得到天正十一月定朔之日晨前夜半入转度及分秒。

计算下月定朔及弦、望夜半入转度:根据天正十一月定朔夜半入转度分,大月加三十二度六十九分一十七秒,小月加十九度三十二分二十九秒半,各自得到下月定朔夜半入转度及分。分别用朔、弦、望相距的天数乘以平行度分并相加,满转终度及秒就减去,如果在中度以下则为疾;如果以上则减去,余数为入迟历,各自得到下次朔、弦、望定日晨前夜半入转度及分(如果用平行月度及分收之,则得到定朔、弦、望入转日)。

计算定朔、弦、望夜半定月:用定朔、弦、望夜半入转度分乘以该度下的损益衰,除以一万得约分,除以一百得约秒,然后加减该度下的迟疾度,得到迟疾定度。然后用迟加、疾减的方式调整夜半平行月,得到朔、弦、望夜半定月积度。用冬至加时黄道日度加上并命名,得到定朔、弦、望夜半月离所在宿次(如果有求晨昏月,用该日晨昏分乘以该日月行定分,除以元法,得到晨昏度;加上该夜半定月,得到朔、弦、望晨昏月度)。

计算朔、弦、望定程:分别用朔、弦、望的定月相减,余数为定程(如果求晨昏定程,则用晨昏定月相减,朔后用昏,望后用晨)。

计算朔、弦、望转积度分:计算四七日的月行定分,用日衰加减,得到逐日月行定分;然后从所入日计算,得到该程的转积度分(四七日的月行定分,最初每日迟缓一千二百一十,第七日逐渐加速一千三百四十一,第十四日减速一千四百六十一,第二十一日逐渐减慢一千三百二十八,观察其迟疾的极差进行增减,分以一百为母)。

计算每日月亮离宿次:分别用该朔、弦、望的定程与转积度相减,余数为程差。用距离后程的天数除,得到日差(定程多为益差,定程少为损差)。用日差加减月行定分,得到每日月行定分;用每日月行定分累加定朔、弦、望夜半月在宿次,命名,得到每日晨前夜半月离宿次(如果求晨昏宿次,则得到每日晨昏月度)。

交会术

交度母:六百二十四万。

周天分:二十二亿七千九百二十万四百四十七。

朔差:九百九十万一千一百五十九。

朔差:一度、余三百六十六万一千一百五十九。

望差:空度、余四百九十五万五百七十九半。

半周天:一百八十二度。(余三百九十二万二百二十三半,约分六千二百八十二。)

日食限:一千四百六十四。

月食限:一千三百三十八。

盈初限缩末限:六十度八十七分半。

缩初限盈末限:一百二十一度七十五分。

求交初度:设置所求的积月,用朔差相乘,满周天分就减去,不尽的数再减去周天分,满交度母除为度,不满为余,得到所求月的交初度及余;用半周天加上,满周天就减去,余数为交中度及余(如果用望差减去,则得到该月望交初度及余;用朔差减去,则得到次月交初度及余;用交度母退除,得到余分。如果用天正黄道日度加上并命名,则各自得到交初、交中所在宿度及分)。

求算日月食甚的小余和加时辰刻:用朔日或望日的月亮运行迟疾定差(疾加迟减)来调整经朔或经望的小余。如果不够减,就退一个大余,加上元法再减;如果加后满元法,只累计其数。用1337乘以这个结果,除以该度数对应的月行定分,得到月行差数。再用太阳运行盈缩定差(盈加缩减)调整,余数就是朔或望的食甚小余。凡是加减如果满或不足,就进退其日。这里的朔望加时是为了推算月亮运行迟疾的数,如果没有交会,直接用经定小余作为定数。把它放在那里,按照前面发敛加时的方法处理,就得到日食或月食食甚所在的晨刻。看食甚小余,如果小于半法,就用半法减去它,余数是午前分;如果大于等于半法,就减去半法,余数是午后分。

求算朔望加时的日、月度数:用朔或望的加时小余与经朔或经望的小余相减,余数按元法退位收整,用来加减其朔或望的中日及约分(经朔望小余少就加,多就减),得到朔或望加时的中日。然后用所入日的升降分乘以所入日的约分,除以一万,所得结果,随其损益该日下的盈缩积,得到盈缩定度。用盈加缩减加时中日,得到朔或望加时的定日。望日还要再加上半周天,得到加时的定月。用天正冬至加时的黄道日度加上并命名,就得到所求朔或望加时的日月所在宿度及分数。

求算朔望日月加时距交点的度数分数:取朔望日月的加时定度与交初、交中度相减,余数是去交度分(就近者相减,度数乘以100化为分)。加时度数多的为后,少的为前,就得到其朔望去交的前后分。交初后、交中前,是月行外道阳历;交中后、交初前,是月行内道阴历。

求算日食四正食差定数:取该朔加时定日,如果小于半周天,则为在盈;如果大于半周天,则减去半周天,余数为在缩。看它,如果在初限以下,则为在初;如果以上,则减去二至限,余数为在末。取初、末限度及分(盈初限、缩末限者加倍),放在上位,下面列出243度半,以上减下,用余数乘以上数,再乘以106,除以3093,得到东西食差泛数。用这个数减508,余数为南北食差泛数。求南北食差定数时,看午前、后分,如果小于四分法之一,则用四分法之一减它,余数乘泛数;如果大于四分法之一,则去掉它,余数乘泛数,都除以9750,得到南北食差定数。盈初缩末限者(食甚在卯酉以南,内减外加;食甚在卯酉以北,内加外减)。缩初盈末限者(食甚在卯酉以南,内加外减;食甚在卯酉以北,内减外加)。求东西食差定数时,看午前、后分,如果小于四分法之一,则乘泛数;如果以上,则用半法减它,余数乘泛数,都除以9750,得到东西食差定数。盈初缩末限者(食甚在子午以东,内减外加;食甚在子午以西,内加外减)。缩初盈末限者(食甚在子午以东,内加外减;食甚在子午以西,内减外加)。就得到其朔四正食差的加减定数。

求算日月食的去交定分:看其朔的四正食差,加减定数,同名相加,异名相消,余数为食差加减总数。用这个数加减去交分,余数为日食的去交定分。如果去交定分不够减,就反过来减食差总数。如果阳历反减入阴历,则进入食限;如果阴历反减入阳历,则不进入食限。凡是加后超过食限以上的,也不进入食限。望食的情况,直接用望的去交分作为其望月食的去交定分。

求算日月食的分数:日食的情况,看去交定分,如果小于食限的三分之一,则加倍,类似阳历食分。如果以上,则用食限减它,余数为阴历食分。都进一位,除以976得到大分,不满则退位为小分,以十为限,就是日食的大、小分。月食的情况,看去交定分,如果小于食限的三分之一,则食既;如果以上,则用食限减它,余数进一位,除以892得到大分,不满则退位为小分,以十为限,就是月食的大、小分。如果食分不满大分,虽然交会但数浅,可能不见食。

求算日食泛用刻分:将阴、阳历食分放在上面,下面列出1952,以上减下,用余数乘以上数,除以271,得到日食泛用刻分。

求算月食泛用刻分:取去交定分,自乘,交初除以459,交中除以540,所得结果,交初用3900减,交中用3315减,余数为月食泛用刻分。

求算日月食定用刻分:取日月食泛用刻分,乘以1337,除以所对应度下的月行定分,得到日月食定用刻分。

求算日月食亏初和复满的时刻:用定用刻分减食甚小余,得到亏初小余;加食甚,得到复满小余。各除以辰法得到辰数,余数除以刻法得到刻数,不满为分。从子正开始计算辰数,算外,就得到亏初、复末的辰、刻及分。如果加上半辰数,就从时初开始命名。

求算日月食初亏复满的方位:日食在阳历的,初食西南,食甚在正南,复于东南;日在阴历的,初食西北,食甚在正北,复于东北。食分超过八分的,都是初食正西,复于正东。月食的情况,月在阴历,初食东南,食甚在正南,复于西南;月在阳历,初食东北,食甚在正北,复于西北。食分八分以上的,都是初食正东,复于正西。这些都是审视食甚所向,根据午正而论,其余方向要观察斜正,则初亏、复满就可以知道了。

求算月食更点定法:将望日的晨分加倍,除以五,得到更法;再除以五,得到点法。如果按照司辰星注历,同内中更点,则加倍晨分,减去待旦十刻的分,余数除以五得到更法;再除以五得到点法。

求算月食入更点:分别取初亏、食甚、复满的小余,如果小于晨分则加晨分,如果大于昏分则减昏分,余数除以更法得到更数,不满则以点法除之得到点数。更数从初更开始,算外,就得到各所入的更、点。

求算月食既内外刻分:取月食去交分,反减食限的三分之一(不够减则为食不既),余数放在上位;下面列出三分之二,以上减下,用余数乘以上数,除以170,所得结果,乘以定用刻分,除以泛用刻分,得到月食既内刻分;用定用刻分减它,余数为既外刻分。

求算日月带食出入所见分数:看食甚小余,如果小于日出分,则为月见食甚、日不见食甚;用日出分减复满小余;如果食甚小余大于日出分,则为日见食甚、月不见食甚;用初亏小余减日出分,各为带食差。如果月食既,用既内刻分减带食差,余数乘所食分,除以既外刻分,如果不够减,则为带食既出入。再乘以所食之分,除以定用刻分,就得到日带食出、月带食入所见之分。凡是亏初小余大于日出分为在昼,复满小余大于日出分为在夜,不带食出入。如果食甚小余小于日入分,则为日见食甚、月不见食甚;用日入分减复满小余;如果食甚小余大于日入分,则为月见食甚、日不见食甚;用初亏小余减日入分,各为带食差。如果月食既,用既内刻分减带食差,余数乘所差分,除以既外刻分,如果不够减,则为带食既出入。再乘以所食之分,除以定用刻分,就得到日带食入、月带食出所见之分。凡是亏初小余大于日入分为在夜,复满小余小于日入分为在昼,都不带食出入。

五星步法

木星终率:15556504。

终日:398日(余34504,约分8847)。

历差:61750。

见伏常度:14度。

火星终率:30417536。

终日:779日(余36536,约分9368)。

历差:61240。

见伏常度:18度。

土星终率:14745446。

终日:378日(余3446,约分883)。

历差:61350。

见伏常度:18.5度。

金星终率:22772196。

终日:583日(余35196,约分9024)。

见伏常度:11度少。

水星终率:4519184(改9194)。

终日:115日(余34184,约分8765)。

见伏常度:18度。

求算五星天正冬至后各段中积和中星:取气积分,分别用其星终率去除,余数反减终率,余数除以元法得到日数,不满退位为分,就是天正冬至后该星平合的中积。重复列出作为中星,以此为前一段的初,用各段的变日、变度累加或累减,就得到各段的中星(变日加减中积,变度加减中星)。

求算木火土三星入历:用其星历差乘积年,除以周天分,余数除以度母得到度数,不满退位为分,称为差度;用它减该星平合中星,得到平合入历度分;用其星该段历度加上,满周天度分则去掉,得到各星各段入历度分(金、水星附日而行,不求历差。木、火、土三星前变是晨,后变是夕。金、水二星前变是夕,后变是晨)。

求算木火土三星各段盈缩定差:木、土二星,取其星其段入历度分,如果小于半周天则为在盈;如果大于半周天,则减去半周天,余数为在缩。取盈缩度分,如果小于一象则为在初限;如果大于,则反减半周天,余数为在末限。将初、末限度及分放在上面,下面列出半周天,以上减下,用下面乘上面(木进一位,土乘九),都除以100得到分,分满100为度,称为盈缩定差。火星,取盈缩度分,如果小于初限则为在初;如果大于,则反减半周天,余数为在末(以45度65.5分为盈初、缩末限度,以136度96.5分为缩初、盈末限度分)。将初、末限度放在上面(盈初、缩末乘以三),下面列出273度93分,以上减下,用余数乘以上数,再乘12,除以100得到度,不满则除以100得到分,称为盈缩定差。如果用立成法,用其度下损益率乘度下约分,满一百则用它损益其度下盈缩差度,得到盈缩定差;若在留退段,则在盈缩泛差。

计算木星、火星、土星留退差:设置后退、后留的盈缩泛差,分别列出各星在盈缩状态下的极度(木星极度八度三十三分;火星极度二十二度五十一分;土星极度七度五十分)。用上方的极度减去下方的极度,余数乘以下方的极度(水星、土星乘以三,火星乘以二),结果除以一百得到度数,称为留退差。(后退初始阶段取一半,后留阶段全部使用。)这个留退差,在盈时增加或减少,在缩时减少或增加该段的盈缩泛差,得到后退、后留的定差。(因为后迟初段的定差,需要各自与前留的定差比较,观察其盈缩情况,以判断降差。)

计算五星各段的定积:分别设置各星各段的中积,用该段的盈缩定差(盈时加、缩时减)调整,得到该星该段的定积及分数;加上天正冬至的大余和约分,满纪法后去掉,余数从甲子开始计数,算外即得日辰。(五星的合见、伏,即作为推算段的定日;之后求见、伏合的定日,即历注中的日期。)

计算五星各段所在的月日:分别设置各段的定积,加上天正闰日和约分,满朔策及分数后去掉,得到月数;余数为入某月以来的日数及分数。月数从天正十一月开始计数,算外即得该星该段入该月经朔的日数及分数。(若定朔有进退,也相应调整日期,以日辰为准。若用气策和约分去掉定积,从冬至开始计数,算外即得该段入气的日数及分数。)

计算五星各段加时定星:分别设置各星各段的中星,用该段的盈缩定差(盈时加、缩时减)调整,即得五星各段的定星。若用天正冬至加时黄道日度加上并命名,即得该段加时定星所在的宿次。(五星皆以前留作为前退初定星,后留作为后顺初定星。)

计算五星各段初日晨前夜半定星:木星、火星、土星,用其星其段的盈缩定差与该次度下的盈缩定差相减,余数作为该度的损益差;乘以该段初行率,除以一百,所得结果用来加减该段初行率(盈时增加或减少,缩时减少或增加),再乘以一百,作为初行积分;再设置一百分,也按同样数加减,用以除初行积分,得到初日定行分。用该数乘以该段初日约分,除以一百,顺行时减、退行时加该段定星,得到该段初日晨前夜半定星;用天正冬至加时黄道日度加上并命名,即得所求。(金星、水星,直接以初行率作为初日定行分。)

计算太阳盈缩度:分别设置各段的定积,若在二至限以下则在盈;以上则去掉二至限,余数在缩。再观察入盈缩度,若在一象以下则在初;以上则用二至限减去余数,余数在末。设置初、末的限度及分数,按前文日度术计算,即得所求。(若用立成表,直接以其度下的损益分乘度余,除以一百,所得结果损益其度下的盈缩差,也得到所求。)

计算各段日度率:用两段日晨相距作为日率,再用两段夜半定星相减,余数作为该段的度率及分数。

计算各段平行分:分别设置各段的度率及分数,用该段日率除之,得到该段平行分。

计算各段泛差:分别用该段平行分与后段平行分相减,余数为泛差;加上前段泛差,乘以四,退一等,作为该段总差。(五星前留前、后留后的一段,皆用六乘平行分,退一等,作为该段总差;水星为半总差。在退行段时,木、火、土用十二乘其段平行分,退一等,作为该段总差。金星退行时,用其段泛差为总差,后变则反过来用初、末。水星退行时,用其段平行分为总差;若在前后顺第一段,则用次段总差的一半作为其段总差。)

计算各段初末日行分:各取其段总差的一半,加减该段平行分,得到该段初、末日行分。(前变加为初、减为末;后变减为初、加为末。在退行段时,前则减为初、加为末;后则加为初、减为末。若前后段行分多少不匹配,则取平均值;或总差不备大分时,也取平均值:皆需比较前后初、末,不可失去其增减趋势。)

计算各段日差:将该段日率减一,用其除该段总差,得到该段日差。(后行分少则为损,后行分多则为益。)

计算每日晨前夜半星行宿次:设置该段初日行分,用日差逐日增减,得到每日行分。用每日行分逐日加减该段初日晨前夜半宿次,命名,即得每日星行宿次。

直接求某日的宿次:设置所求日,减一,乘以日差,再加减初日行分(后少则减,后多则加),得到所求日行分;然后加上初日行分并取半,乘以所求日数,得到直接求得的积度;再加减该段初日宿次,命名,即得直接求得的该日星宿次。

计算五星定合定日:木星、火星、土星,用其段初日行分减去一百分,余数除以其日太阳盈缩余,得到日数,不足则退除为分,称为距合差日及分。用差日及分减去太阳盈缩分,余数为距合差度。用差日、差度在盈时减、缩时加。金星、水星平合时,用一百分减初日行分,余数除以其日太阳盈缩余,得到日数,不足则退除为分,称为距合差日及分。再减去太阳盈缩分,余数为距合差度。用差日、差度在盈时加、缩时减。金星、水星再合时,用初日行分加一百分,除以其日太阳盈缩分,得到日数,不足则退除为分,称为再合差日;再减去太阳盈缩分,余数为再合差度。用差日、差度在盈时加、缩时减(差度则反其加减)。都用来加减定积,得到再合定日。用天正冬至大余和约分加上并命名,即得定合日辰。

计算五星定见伏:木星、火星、土星,各用其段初日行分减去一百分,余数除以其日太阳盈缩分,得到日数,不足则退除为分,在盈时减、缩时加。金星、水星夕见、晨伏时,用一百分减初日行分,余数除以其日太阳盈缩分,得到日数,不足则退除为分,在盈时加、缩时减。其晨见、夕伏时,用一百分加其段初日行分,除以其日太阳盈缩分,得到日数,不足则退除为分,在盈时减、缩时加。都用来加减其段定积,得到见、伏定日。加上冬至大余和约分,满纪法后去掉,从甲子开始计数,算外即得五星见、伏定日日辰。

刘琮又论述历法说:“古今的历法,必定有技术超过前人,且能成为万世法则的,才算优胜。比如一行作《大衍历》,其议论和略例,校正历代历法,以探求历法的强弱,是历家的纲要,得到了中平之数。刘焯领悟到太阳运行有盈缩的差异(旧历推算太阳每日平行一度,至此才悟出太阳运行有盈缩,冬至前后定日八十八日八十九分,夏至前后定日九十三日七十四分,冬至前后太阳每日运行一度有余,夏至前后每日运行不足一度)。李淳风领悟了定朔的方法,并将气朔、闰余统一于同一算法(旧历定朔平注一大一小,至此用太阳盈缩、月亮迟疾来加减朔余,余数为定朔、望加时,以定大小,不超过三数。从此日食在朔,月食在望,不再有晦、二之差。旧历都需用章岁、章月之数,使闰余有差,李淳风造《麟德历》,将气朔、闰余同归一母)。张子信领悟到月亮运行有交道表里,五星有入气加减(北齐学士张子信因葛荣之乱,隐居海岛三十余年,专门用圆仪观测天道,才悟出月亮运行有交道表里,在表为外道阳历,在里为内道阴历。月亮运行在内道,则日食发生;在外道则无食。若月外之人北户向日之地,则反观有食。又旧历五星皆无盈缩,至此才悟出五星皆有盈缩、加减之数)。宋何承天开始领悟用测景来确定气序(景最长时是冬至,最短时是夏至。他立八尺表,连续测量十余年,才知道旧《景初历》冬至常比天象迟三天。于是造《元嘉历》,冬至加时比旧历退减三天)。晋姜岌开始领悟用月食所冲的宿位,作为太阳所在的位置(太阳所在宿度不知,至此用月食所冲之宿,作为太阳所在宿度)。后汉刘洪作《乾象历》,开始领悟到月亮运行有迟疾之数(旧历月亮每日平行十三度十九分度之七,至此才悟出月亮运行有迟疾之差,最迟则每日十二度强,最疾则每日十四度太,迟疾极差五度有余)。宋祖冲之开始领悟岁差(《书·尧典》说:‘日短星昴,以正仲冬;宵中星虚,以殷仲秋。’至今三千余年,中星位置相差三十余度,因此知道每年有渐差之数,造《大明历》以四十五年九月退差一度)。唐徐升作《宣明历》,领悟到日食有气、刻差数(旧历推算日食皆平求食分,多不吻合,至此推算日食,用气刻差数增减,测定日食分数,稍接近天象验证)。《明天历》领悟到日月会合为朔,所立日法、积年有自然之数,以及立法推求晷景,知道气节加时所在(自《元嘉历》后所立日法,以四十九分之二十六为强率、以十七分之九为弱率,并强弱之数为日法、朔余,以后诸历效仿。殊不知日月会合为朔,并朔余虚分为日法,是自然之理。其气节加时,晋、汉以来约略取用,有半日之差,如今立法推求,得以穷尽数理)。后来的造历者,无不遵用这些方法。其中疏谬严重的,是苗守信的《乾元历》、马重绩的《调元历》、郭绍的《五纪历》。大概没有超越这些的了。然而造历者,都必须会合日月运行,以定晦朔之数,验证《春秋》日食,以明强弱。对于气序,则取验于《左传》的南至。其太阳盈缩、月亮迟疾、五星加减、日月食差、日宿月离、中星晷景、立数立法,都本于前人之说。然后检验,上自夏仲康五年九月‘辰弗集于房’,直到现在,其星辰气朔、日月交食等,使三千年间如同符合准绳。而有前有后、有亲有疏的,即为中平之数,才可以施用于后世。其检验则依一行、孙思恭,取数多而不取数少,以得为亲密。检验日月交食,若一分二刻以下为亲,二分四刻以下为近,三分五刻以上为远。若历注有食而天象无食,或天象有食而历注无食,则为失。检验星度,则以差天二度以下为亲,三度以下为近,四度以上为远;检验晷景尺寸,以二分以下为亲,三分以下为近,四分以上为远。若检验古时而得数多,又接近当代,且立法、立数得理而通于根本的,为最上等。”刘琮自称擅长历法,曾说:“世上懂历法的人很少,近世只有孙思恭精妙。”而孙思恭又曾推举刘羲叟为懂历法之人。