卷十八历四上

作者:欧阳修、宋祁等朝代:北宋类别:纪传体断代史 · 白话译文

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

《开元大衍历》的演算从上元阏逢困敦之年开始,到开元十二年甲子年,累积九千六百九十六万一千七百四十算。

○第一:步中朔术

通法为三千零四十。

策实为一百一十一万零三百四十三。

揲法为八万九千七百七十三。

减法为九万一千二百。

策余为一万五千九百四十三。

用差为一万七千一百二十四。

挂限为八万七千零一十八。

三元之策为十五,余数为六百六十四,秒七。

四象之策为二十九,余数为一千六百一十三。

中盈分为一千三百二十八,秒十四。

朔虚分为一千四百二十七。

爻数为六十。

象统为二十四。

用策实乘以积算,得到中积分。中积分除以通法,整数部分为积日。再除以爻数,余数从甲子算起,得到天正中气。余数称为小余,整数称为大余。加上三元之策,得到下一个节气。凡是累加时,下面的余数和秒数,都按同类合并。满法后进位,加到上位。日数满爻数则去掉。

用揲法去除中积分,余数称为归余之挂。用归余之挂减去中积分,得到朔积分。朔积分除以通法得到日数,按前述方法确定起始点,得到天正经朔。加上一象之日的七日和余数一千一百六十三少,得到上弦。加倍得到望。乘以三得到下弦。乘以四,称为一揲,得到后一个月的朔日。凡四分,一份为少,三份为太。综合中盈分和朔虚分,累加到归余之挂上,得到每月的闰衰。凡归余之挂达到五万六千七百六十以上,该年有闰月。再考察闰衰,满挂限以上的月份应设置闰月。有时需要调整,都以定朔无中气为准。

凡常气小余不满通法、且小于或等于中盈分一半时,用象统乘小余,加上秒分,再乘以三和五,减去策实;余数不足时,以策余为除数得到日数。从常气初日算起,得到没日。凡经朔小余不满朔虚分时,用小余减去通法,余数再乘以三和五,减去灭法;余数不足时,以朔虚分为除数得到日数。从经朔初日算起,得到灭日。

○第二:发敛术

天中之策为五,余数为二百二十一,秒三十一;秒法为七十二。

地中之策为六,余数为二百六十五,秒八十六;秒法为一百二十。

贞悔之策为三,余数为一百三十二,秒一百零三。

辰法为七百六十。

刻法为三百零四。

各按中节命名,得到初候。加上天中之策,得到次候。再加一次,得到末候。按中气命名,得到公卦用事。用地中之策累加,得到次卦。如果用贞悔之策加到侯卦上,得到十二节气之初的外卦用事。按四立命名,得到春木、夏火、秋金、冬水用事。用贞悔之策减去季月的中气,得到土王用事。凡相加减时秒母不同,应让分母互乘分子,再进行加减;分母相乘作为分母。

各用能法约去该月的闰衰,得到日数,得出中气距经朔的日数。求卦、候时,各用天、地之策累加或累减。凡发敛加时,各取小余,乘以六爻,除以辰法,得到半辰数。余数除以三得到分。分满刻法为刻。如果让满象积为刻,则取余数,乘以十,除以十九,得到分。辰数从子半算起。

○第三:步日躔术

干实为一百一十一万零三百七十九太。

周天度为三百六十五,虚分为七百七十九太。

岁差为三十六太。

用盈缩分对三元之策进行盈减、缩加,得到定气所对应的日数和余数。再将日数乘以十二,小余乘以三,除以辰法得到整数,加到前面,得到定气的辰数。余数乘以十,再除以得到分。用所入气加上后气的盈缩分,乘以两倍的六爻,再除以两气的辰数之和,得到末率。又列出两气的盈缩分,各乘以两倍六爻,分别除以辰数;以少减多,余数为气差。冬至后用气差加末率,春分后用气差减末率,得到初率。加倍气差,也乘以两倍六爻,再除以两气辰数之和,得到日差。日差除以二,用来加减初率和末率,各得到定率。冬至后用日差减去、春分后加上气初的定率,得到每日的盈缩分。然后逐次累积,按所入气日加减气下的先后数,得到各日的定数。求朓朒也仿照此法。冬至后为阳复,在盈时加,在缩时减;夏至后为阴复,在缩时加,在盈时减。距四正前一气,处于阴阳变革之际,不能合并,都以前末为初率。用气差在冬至前加、在春分前减,得到末率。其余按前法,各得所求。如果分数不满全数,分母又每气不同,应当退法除去。以一百为分母,半数以上收为一。冬至、夏至都得到天地之中,没有盈缩。其余各用气下的先后数先减后加常气小余,满或不足时,调整日数,得到定大小余。凡推算日月度及轨漏、交蚀,依定气;注历时,依常气。用定气减经朔、弦、望,得到各所入日算。如果大余不够减,加爻数后再减。减所入定气日算一,各用日差乘后除以二;前少时加、前多时减气初定率,再乘以所入定气日算及余秒。凡除法,先以分母通分,内分子,再相乘;分母相乘后除。所得结果用来加减朓朒积,各得入朓朒定数。如果不是朔、望有交食的情况,用十二乘所入日算;小余乘以三,除以辰法后加入;再乘以损益率,除以定气辰数。所得结果用来加减朓朒积,各为定数。

南斗二十六,牛八,婺女十二,虚十,虚分七百七十九太。危十七,营室十六,东壁九,奎十六,娄十二,胃十四,昴十一,毕十七,觜觿一,参十,东井三十三,舆鬼三,柳十五,七星七,张十八,翼十八,轸十七,角十二,亢九,氐十五,房五,心五,尾十八,箕十一,为赤道度数。其中毕、觜觿、参、舆鬼四宿的度数,与古代不同,依天象用仪器测定,作为常数。这些宿度环绕天中,仪器两极所依据,用来校正黄道。

推算冬至岁差所在,每距冬至前后各五度为一个限度。初数为十二,每限减一,到第九限,数终于四。在春分和秋分之际,一度少强,依平均数。再距春分前、秋分后,初限从四开始,每限增一,到第九限,终于十二,黄道交角恢复。计算春分后、秋分前,也以五度为限。初数十二,到第九限,数终于四。在夏至和冬至之际,一度少强,依平均数。再距夏至前后,初限从四开始,到第九限,终于十二。都累次截取,用数乘限度,除以一百二十,得到度数;不满的,除以十二,得到分。如果用十除,得到大分,十二为分母,命名太、半、少及强、弱。命名为黄、赤道差数。二至前后各九限,用差数减赤道度;二分前后各九限,用差数加赤道度,各得到黄道度。

开元十二年,南斗二十三半,牛七半,婺女十一少,虚十,六虚之差十九太。危十七太,营室十七少,东壁九太,奎十七半,娄十二太,胃十四太,昴十一,毕十六少,觜觿一,参九少,东井三十,舆鬼二太,柳十四少,七星六太,张十八太,翼十九少,轸十八太,角十三,亢九半,氐十五太,房五,心四太,尾十七,箕十少,为黄道度数,用来推算日行轨迹。日与五星的出没,都遵循此。求以上各宿度,都有余分,前后累积成少、半、太,准为全度数。如果上考古代,下验将来,应当根据岁差,每移动一度,各依算法计算,使得到当时的度分,然后可以推算日月星辰。

用乾实去除中积分,余数除以通法得到度数。从赤道虚宿九度开始,依次减去各宿度,经过虚宿时去掉虚分,到不满一宿的余数之外,得到冬至时的日度。用三元之策累加,得到下一节气的日度。

用度余减去通法,余数乘以冬至日躔距离的限度数,得到距前分。取距度下的黄赤道差,乘以通法,减去距前分,余数除以一百二十,得到定差。余数不足时,乘以象统,再除,得到秒分。用定差减赤道宿度,得到冬至时的黄道日度。

又取岁差,乘以限度数,除以一百二十,得到秒分。余数不足为小分。用岁差加三元之策,再累次截取。按黄道宿次命名,各得到定气时的日度。

取该气定小余,作为副数。乘以该日盈缩分,除以通法,盈加缩减副数。用副数减该日加时的度余,得到该日夜半的日度。再累加一策,用该日盈缩分盈加缩减度余,得到每日夜半的日度。

○第四:步月离术

转终为六百七十万一千二百七十九。

转终日为二十七,余数一千六百八十五,秒七十九。

转法为七十六。

转秒法为八十。

用秒法乘朔积分,除以转终,余数再用秒法约,得到入转分;满通法,得到日数。从日数外算起,得到天正经朔加时月所入的转位。加上转差日一、余数二千九百六十七、秒一,得到次朔。用一象之策,依次变相加,得到弦、望。满转终日及余秒时,去掉。各用经朔、弦、望的小余减去,得到该日夜半月所入的转位。

各取朔、弦、望所入转日的损益率,与后率相加后除以二,得到通率。又两率相减,得到率差。前率大时,用入余减通法,余数乘率差,除以通法得整数,加上率差后除以二;前率小时,半入余乘率差,也用通法除之:得到加时转率。再除以二,用来损益加时所入,余数为转余。这个转余,如果应益,则减去;应损,则加回。都乘以率差,除以通法得整数,加在通率上,再乘以转率,除以通法,用朓减、朒加转率,得到定率。再用定率损益朓朒积,得到定数。后面没有相同率时,也依前率。应益时,以通率为初数,半率差后减去;应损时,通率即为定率。在损益入余进退日时,分为两日,随余数的初末,按方法求得,所得结果都用来损益转率。此术出自《皇极历》,以穷尽算术的微妙变化。如果不是朔、望有交食的情况,直接用入余乘损益率,除以通法,用来损益朓朒,得到定数。

七日,初数二千七百零一,末数三百三十九。十四日,初数二千三百六十三,末数六百七十七。二十一日,初数二千零二十四,末数一千零一十六。二十八日,初数一千六百八十六,末数一千三百五十四。用四象约转终,平均得到六日二千七百零一分。接近全数约得九分之八。各用减法,余数为末数。然后四象依次变相加,各得所对应日的初、末数。观察入转余,如果小于或等于初数,则按前率加减损益;如果大于初数,则反其衰,归于后率。

分别设置朔日、上弦、望日、下弦的大小余,用入气和入转的朓朒定数,减去朓、加上朒,得到定朔、定弦、定望的大小余。如果定朔的日名与下一个朔日相同,该月为大月;不同则为小月;没有中气的月份作为闰月。凡是提到夜半,都从晨前子正之中开始计算。如果注历,观察弦、望的定小余,不足晨初余数的,退后一天。如果望日有交食、亏缺出现在晨初之前的,也这样处理。另外,月亮运行在九道有快慢,那么就有三大二小的情况,因为太阳运行有盈缩,累加或累减,可能会出现四大三小,这是自然理数。如果遵循常规,应当观测加时的早晚,根据接近的情况进行进退调整,使得不超过三大二小。如果正月朔日有交食、加时正好看见,就前后调整一两个月,以确定月的大小,使亏缺发生在晦日或初二日。定朔、定弦、定望的夜半太阳位置,各自根据当日的太阳位置和余分来命名。然后列出定朔、定弦、定望的小余,作为副数。用这个副数乘以当日的盈缩分,除以通法,盈余就加、缩减就减掉副数。然后加到夜半太阳位置上,各自得到加时的太阳位置。

凡是合朔时日月相交,冬季在阴历、夏季在阳历,月亮行青道;冬至、夏至后,青道的一半交点在春分所在的星宿,位于黄道东面。立冬、立夏后,青道的一半交点在立春所在的星宿,位于黄道东南。到相对的星宿,也是如此。冬季在阳历、夏季在阴历,月亮行白道;冬至、夏至后,白道的一半交点在秋分所在的星宿,位于黄道西面。立冬、立夏后,白道的一半交点在立秋所在的星宿,位于黄道西北。到相对的星宿,也是如此。春季在阳历、秋季在阴历,月亮行朱道;春分、秋分后,朱道的一半交点在夏至所在的星宿,位于黄道南面。立春、立秋后,朱道的一半交点在立夏所在的星宿,位于黄道西南。到相对的星宿,也是如此。春季在阴历、秋季在阳历,月亮行黑道。春分、秋分后,黑道的一半交点在冬至所在的星宿,位于黄道北面。立春、立秋后,黑道的一半交点在立冬所在的星宿,位于黄道东北。到相对的星宿,也是如此。四季分为八节,到阴阳相交之处,都与黄道相会合,所以月亮有九条轨道。分别看月亮交入的七十二候距离交点初中位置的黄道太阳度数,每五度为一限,也以初数十二,每限减一,数终于四,还有一度强,按平道处理。再从四开始,每限增一,终于十二,到达半交,这里距离黄道六度。又从十二开始,每限减一,数终于四,也有一度强,按平道处理。再从四开始,每限增一,终于十二,又与太阳轨道相会合。分别累加这些数,乘以限度,除以二百四十,得到度数。不满整数的,除以二十四得到分;如果用二十除,就得到大分,以十二为分母。这是月亮轨道与黄道的差值。距离半交前后各九限,用差值相减;距离正交前后各九限,用差值相加。这些加减出入六度,只是与黄道比较的数值。如果与赤道比较,则随节气变化而不固定。计算从冬至、夏至以来的候数,乘以黄道之差,除以十八,得到月亮轨道与赤道的差值。凡是太阳在赤道内为阴,赤道外为阳;月亮在黄道内为阴,黄道外为阳。所以月亮运行经过的星宿度数,进入春分交后行阴历、秋分交后行阳历,都是同名。如果进入春分交后行阳历、秋分交后行阴历,都是异名。在同名的情况下,对于差值,该加的加,该减的减;在异名的情况下,对于差值,该加的减,该减的加。都用这些增减黄道度数,得到九道的定度。

分别用中气距离经朔的日数,加上该交食的泛数,然后用它减去交终,得到平交进入中气的日数。除以三元之策,余数得到进入后一个节气的日数。由此求下一次交食,加上交终,除以三元之策,得到后一次平交进入中气的日数。

分别用节气初期的先后数先加后减,得到平交进入定气的日数。把六爻加倍,乘以三倍的小余,除以辰法后加入,再乘以该气的损益率,除以定气的辰数,所得用来增减该气的朓朒积,得到定数。

又设置平交所入定气的余数,加上当日夜半的入转余数,乘以当日的损益率,除以通法,所得用来增减当日的朓朒积,再乘以交率,除以交数,得到定数。然后用入气和入转的朓朒定数,减去朓、加上朒平交进入定气的余数,如果满足或不足,进退日数,得到正交进入定气的日数。其中进入定气的余数作为副数,乘以当日的盈缩分,除以通法,用盈余加、缩减副数,然后加上当日夜半的太阳度数,得到正交加时的黄道太阳度数。用正交加时的度数余数减去通法,余数乘以正交所在星宿的距度所入限数,得到距前分。设置距度下的月道与黄道差,乘以通法,减去距前分,余数除以二百四十,得到定差;不满的退一位作为秒。用定差和秒加到黄道度数和余数上,再计算从冬至、夏至以来的候数乘以定差,除以十八,所得按照同名异名进行加减,如果满足或不足,进退其度数,得到正交加时月亮在九道上的星宿度数。

分别设置定朔、定弦、定望的加时太阳度数,按照九道依次相加。凡是合朔的加时,月亮潜行在太阳下方,与太阳同度,这称为离象。先设置朔、弦、望加时的黄道太阳度数,减去正交加时所在的黄道星宿度数,余数加上正交的九道星宿度数,从正交星宿度数算起之外,就是朔、弦、望加时所在的九道星宿度数。合朔加时,如果不是正交,那么太阳在黄道,月亮在九道,各自进入的星宿度数虽然多少不同,但考察它们距离北极的度数,应当符合准绳。所以说:月亮潜行在太阳下方,与太阳同度。用一象的度数九十一、余九百五十四、秒二十二半作为上弦,兑象。加倍,与太阳相冲,得到望,坎象。三倍,得到下弦,震象。分别用这些加上当时所在的九道星宿度数,秒满象统就进到余,余满通法就进到度,得到当天加时的月亮度数。综合五位成数四十,用来约度余,得到分;除不尽的,作为小分。

看经朔夜半的入转,如果定朔的大余有进退,也相应加减转日。否则以经朔为定。累加一日,得到次日,分别用夜半的入转余数乘以列衰,除以通法,所得用进加、退减当日的转分,得到月转定分。满转法,得到度数。

看定朔、定弦、定望的夜半入转,各取一半列衰减去转分。退的,用定余乘以衰,除以通法,加上衰后取一半;进的,用一半余数乘以衰,也除以通法:都加到所减的数上。然后用定余乘它,满通法得到一,用来减去加时的月亮度数,得到夜半的月亮度数。分别用每日的转定分累加,得到次日。如果用入转定分,乘以当日的夜漏,加倍百刻后除,得到晨分。用它减去转定分,余数为昏分。望前用昏分、望后用晨分加上夜半度数,分别得到晨、昏的月亮位置。

分别看每日夜半进入阴阳历的交日数,用其下的屈伸积,月道与黄道同名的,相加;异名的,相减。分别用这些加减每日辰昏的黄道月亮度数,得到入宿定度和分。

第五,步轨漏术。

爻统为一千五百二十。

象积为四百八十。

辰为八刻一百六十分。

昏、明为二刻二百四十分。

分别设置各气的消息衰,根据定气所有的天数,每用陟降率,陟就减、降就加其分,满一百就成为衰,各得到每日的消息定衰。距离春分秋分前后各一气之外的,陟降不等,都以三天为限。雨水初日,降七十八;初限,每日减十二;次限,每日减八;次限,每日减三;次限,每日减二;次限,每日减一。清明初日,陟一;初限,每日加一;次限,每日加二;次限,每日加三;次限,每日加八;末限,每日加十九。处暑初日,降九十九;初限,每日减十九;次限,每日减八;次限,每日减三;次限,每日减二;末限,每日减一。寒露初日,陟一;初限,每日加一;次限,每日加二;次限,每日加三;次限,每日加八;末限,每日加十二。分别设置初日的陟降率,按限次损益,得到每日的率。然后依次用陟减、降加气初的消息衰,各得到每日的定衰。

南方太阳直射之下,正中无日影。从太阳直射点向北一度,初数为一千三百七十九。从这里开始,每度增加一,到二十五度,共增加二十六分。然后每度增加二,到四十度。然后每度增加六,到四十四度,增加六十八。然后每度增加二,到五十度。然后每度增加七,到五十五度。然后每度增加十九,到六十度,增加一百六十。然后每度增加三十三,到六十五度。然后每度增加三十六,到七十度。然后每度增加三十九,到七十二度,增加二百六十。然后每度增加四百四十。然后每度增加一千零六十。然后每度增加一千八百六十。然后每度增加二千八百四十。然后每度增加四千。然后每度增加五千三百四十。各为每度的差。然后累加这些差,依次加到初数上,满一百为分,分满十为寸,各得到每度的晷差。再累加这些晷差,得到太阳直射点以北每度的晷影长度。

分别设置各气的去极度,用极去太阳直射点度数五十六及分八十二半减去它,得到太阳直射点以北的度数。分别用各气的消息定衰所对应的度数的晷差,满一百为分,分满十为寸,得到每日的晷差。然后依次用息减、消加气初的晷影数,得到每日的中晷常数。

用当日的节气定小余,减去爻统,余数为中后分。如果不足减,就反过来相减,得到中前分。用晷差乘它,除以通法,得到变差。用它加减中晷常数:冬至后,中前用差减,中后用差加;夏至后,中前用差加,中后用差减。冬至那天,只减不加;夏至那天,只加不减。得到每日的中晷定数。

又设置消息定衰,满象积为刻,不满为分。依次用息减、消加气初的夜半漏刻,得到每日的夜半漏刻定数。其中整刻,用九千一百二十乘它,十九乘刻分后加进去,除以三百,得到晨初余数。

分别加倍夜半漏刻,得到夜刻。用一百刻减去它,余数为昼刻。减去昼刻五刻加到夜刻上,那么昼刻为见刻,夜刻为没刻。取没刻的一半加上半个时辰,从子初算起之外,得到日出时辰。用见刻加上它并命名,得到日入时辰。设置夜刻,除以五,得到每更的差刻。再除以五,得到每筹的差刻。用昏刻加上日入时辰,得到甲夜初刻。再用更筹差刻加它,得到五夜更筹所对应的时辰。其中夜半定漏,也称为晨初夜刻。

又设置消息定衰,满一百为度,不满为分。依次用息减、消加气初的去极度,各得到每日的去极定数。

又设置消息定衰,用一万二千三百八十六乘它,除以一万六千二百七十七,得到度差。差满一百为度。依次用息加、消减气初的距中度,得到每日的距中度定数。加倍它,用周天减去,得到距子度。

设置当日的赤道太阳度数,加上距中度,得到昏中星。加倍距子度,加上昏中星,得到晓中星。命名昏中星为甲夜中星,加上每更差度,得到五夜中星。

凡是九服所在的地方,每个节气初日的中晷常数不相等。让每个节气的去极度数相减,各得到其气的消息定数。通过测量当地夏至和冬至的日影(测量一个至日也可以,不必冬夏都要),在太阳直射点以北每度的晷影数中,比较选取长度相同者,作为当地太阳直射点以北的度数及分。每个节气分别用消息定数加减它:冬至后的,每个节气相减;夏至后的,每个节气相加。得到每个节气太阳直射点以北的度数。分别根据所对应度分的晷影数,作为当地每个定气初日的中晷常数。如果测得的晷影在表南的,也根据其晷影尺寸长短与太阳直射点以北每度晷影数相同的,取其所对应的度数,作为太阳直射点以北的度数。反过来,作为太阳直射点以南的度数。然后用消息定数加减它。

冬至和夏至分别在其所在地用水漏来确定当地昼夜的刻数。然后将两者相减,得到冬夏至的差刻。取差刻的一半,用来加、减冬至和夏至的昼夜刻数,从而确定春分和秋分第一天的昼夜刻数。接着设置每个节气增减的定数。用当地的差刻数乘以这个定数,如同二至距极差度四十七分,除以八十,所得结果按照春分前、后加、减第一天的昼夜漏刻,各得到其余节气第一天的昼夜漏刻。

设置每日增减的定衰,也用差刻相乘,除以差度,所得结果用息减、消加该节气初的漏刻,得到次日的漏刻。求距中度以及昏明中星日出日入的时间,都按照阳城的方法求取。仍然用差刻相乘,除以差度,得到现有之数。如果设置该地春秋分确定日中的晷常数与阳城每日的晷数,比较它们相同的部分,则那天的夜半漏也就是该地定春秋分第一天的夜半漏。求其余节气第一天,也用消息定数按照春分前、后加、减刻分,春分后减,秋分后加。满象积则为刻。求次日,也用消息定衰,依照阳城的方法求取。这个算法探究原理,大体上贯通。然而高山和平原,看到的太阳不同。比较它们的日晷,长短却相同。考察它们的水漏,多少却不同。用这些参校,前一种算法是精确的。

历法第四下

第六步交会术

终数为八亿二千七百二十五万一千三百二十二。交终日为二十七,余数六百四十五,秒数一千三百二十二。中日为十三,余数一千八百四十二,秒数五千六百六十一。朔差日为二,余数九百六十七,秒数八千六百七十八。望差日为一日,余数四百八十三,秒数九千三百三十九。望数日为十四,余数二千三百二十六,秒数五千。交限日为十二,余数一千三百五十八,秒数六千三百二十二。交率为三百四十三。交数为四千三百六十九。交秒法为一万。

用交数去除朔积分;余数用秒法乘,如果满交数则再去掉;余数除以秒法,得到入交分。满通法为日,命日数算外,得到天正经朔时加入交泛日及余数。然后加上朔差,得到次朔。用望数加朔,得到望。如果用经朔望的小余减去它,各得到夜半所入。累加一日,得到次日。加到满交终,去掉。各用该日入气的朓朒定数,朓减、朒加入交泛,得到入交常日及余数。又用交率乘该日入转的朓朒定数,除以交数,然后朓减、朒加入交常,得到入交定日及余数。各如小于或等于中日,则为月入阳历;大于中日的,去掉,余数为月入阴历。

阴阳历

用该爻的加减率与后爻的加减率相减,得到前差。又用后爻率与次后爻率相减,得到后差。前后二差相减,得到中差。设置所在爻与后爻的加减率,取中差的一半加上它们再除以二,除以十五,得到爻末率,作为后爻的初率。每次用本爻的初率和末率相减,得到爻差。除以十五,得到度差。取度差的一半,用来加减初率,少象时减去,老象时加上。得到定初率。每次用度差累加或累减,少象时用度差减,老象时用度差加。各得到每年的加减定分。然后累积其分,满一百二十为度,各为月距离黄道的度数及分数。其中四象的初爻没有初率,上爻没有末率,都加倍本爻的加减率,除以十五。所得结果分别用初率和末率减之,都互相得到各自的率。

各设置夜半入转,用夜半入交定日及余数减去它,不够减则加转终。余数为定交初日夜半入转。然后用定交初日与其日夜半入余,分别乘该日转定分,除以通法,得到分。满转法,为度。分别加该日转积度分,然后相减,所余为该日夜半月行入阴阳度数。转求次日,用转定分加上。用一象的度数九十去除,如果用少象除,则同时除去差度一、度分一百零六、大分十三、小分十四。完毕,然后用次象除。所得结果按少阳、老阳、少阴、老阴为次序,从少阳算外,得到所入象的度数及分数。先用三十乘阴阳度分,除以十九,得到度分。除不尽,用十五乘、十九除,得到大分。仍不尽,又乘、又除,得到小分。然后用象度及分除之。再用一爻的度数十五除之,得到入爻度数及分。其月行入少象初爻之内及老象上爻之中,都沾黄道。在朔望的时候,则有亏蚀。

凡是入交定如小于等于望差,大于等于交限,则为入蚀限;望入蚀限,则月食。朔入蚀限,月在阴历,则日食。如小于等于望差,为交后。大于等于交限,则用交中减去,余数为交前。设置交前、交后的定日及余数,通分,得到去交前、后定分。乘以十一,除以两千六百四十三,得到去交度数。除不尽,用通法乘,再除得到余数。大致上去交十三度以上,虽然入蚀限,但因为涉及交数微小,光景相接,有时不见食。望去交分小于等于七百七十九的,都是全食。大于的,用定交分减望差,余数除以一百八十三,以十五为限,得到月食的大分。

月食在阴历,初亏从东南方开始,食甚在正南,复圆在西南;在阳历,初亏从东北开始,食甚在正北,复圆在西北。如果食分十二分以上,则初亏从正东开始,复圆在正西。这是根据正午时刻而言。其余各随方向所在,依照这个取正。

凡是月食的大分在五以下,则增加三。十以下,增加四。十以上,增加五。如果去交定分在五百二十以下,又增加一半。二百六十以下,又增加一半。各为泛用刻率。

用所入气并后气的增损差,乘以六的两倍,用两气的辰数总和除,得到气末率。又列出两气的增损差,都乘以六的两倍,各除以辰数;少数减多数,差为气差。加减末率:冬至后用差减,夏至后用差加。得到初率。加倍气差,用两气的辰数总和除,得到日差。取日差的一半,加减初率和末率,得到定率。用日差累加或累减气的初定率,冬至后用差加,夏至后用差减。得到每日增损差。然后累积,随所入气的日数增损气下的差积,得到各日的定数。其中冬至和夏至之前的一个节气,后面没有同差,不能合并,各用前一末率为初率。用气差:冬至前减,夏至前加,得到末率。

阴历蚀差为一千二百七十五,蚀限为三千五百二十四,或限为三千六百五十九。阳历蚀限为一百三十五,或限为九百七十四。用食朔所入气日下的差积,阴历减去,阳历加上,各得到蚀定差和定限。朔在阴历,去交定分大于等于蚀定差的,为阴历食。不满的,虽然在阴历,都类似阳历食。其去交定分小于等于定限的,必定发生食。小于或限的,可能发生食。

阴历食,设置去交定分,用蚀定差减去,余数小于等于一百零四的,都是全食。大于的,用一百零四减之。余数除以一百四十三。如果入或限,则除以一百五十二。小于一半的,为半弱;大于等于一半的,为半强。用十五减去,得到日食的大分。如果是同阳历食,其去交定分小于蚀定差六十以下的,都是全食。大于的,用阳历蚀定限加去交分,除以九十。如果是阳历食,设置去交定分,也用九十除。入或限的,用一百四十三除。都是小于一半为半弱,大于等于一半为半强。命名,以十五为限,得到日食的大分。

日食在阴历,初亏从西北方开始,食甚在正北,复圆在东北。在阳历,初亏从西南开始,食甚在正南,复圆在东南。如果食分十二分以上,都从正西开始,复圆在正东。

凡是日食的大分,都增加二。如果阴历去交定分多于蚀定差七十以上,再增加;三十五以下,再增加一半。如果是同阳历去交定分少于蚀定差二十以下,再增加一半;四以下,再增加少许。各为泛用刻率。

设置去交定分,用交率乘,再用二十乘交数除;如果月道与黄道同名,则加朔望定小余;异名,则减朔望定小余,得到蚀定余。按照求发敛加时的方法代入,得到食甚的辰刻。各设置泛用刻率,作为副。乘以该日入转损益率,除以通法。所得结果,如果是应朒,则依其损益;应朓,则损加、益减其副:得到定用刻数。取一半,减去食甚辰刻,得到亏初;加上食甚辰刻,得到复末。对于月食,设置定用刻数,用该日每更差刻除,得到更数。除不尽,用每筹差刻除,得到筹数。综合为定用更筹。然后累计日入后到食甚辰刻,设置,用昏刻加日入辰刻减去,余数用更筹差刻除。所得结果从初更筹算外,得到食甚更筹。用定用更筹的一半减去,为亏初;加上,为复末。按天竺俱摩罗所传断日食法,日躔郁车宫的,必定发生食。其余根据太阳所在宫,火星在前三宫及后五宫,并伏在日下,则不食。如果五星都出现,又水星在阴历以及三颗星以上同聚一宿,则也不食。凡是星与太阳不同宫或不同宿则容易判断,若同宿则难。天竺所说的十二宫,即中国的十二次。郁车宫,就是降娄之次。

九服之地,蚀差不同。先测量该地二至及定春秋分的中晷长短,与阳城每日中晷常数比较取相同的,各自根据该日的蚀差作为该地二至及定春秋分的蚀差。用夏至蚀差减春分蚀差,用春分蚀差减冬至蚀差,各为率。合并二率,取一半,除以六,得到夏率。二率相减,除以六,得到总差。设置总差,除以六,得到气差。取气差的一半,加夏率,再用总差减,得到冬率。冬率即冬至率。每次用气差加上,各得到每气的定率。然后累积其率,用冬至蚀差减,各得到每气第一天的蚀差。求每日,按照阳城的方法求取。如果是在太阳之南,应当计所在地,都反用。

第七步五星术 岁星:终率一百二十一万二千五百七十九,秒六。终日三百九十八,余二千六百五十九,秒六。变差三十四,秒十四。象算九十一,余二百三十八,秒五十七,微分十二。爻算十五,余一百六十六,秒四十二,微分八十二。 荧惑:终率二百三十七万一千三,秒八十六。终日七百七十九,余二千八百四十三,秒八十六。变差三十二,秒二。象算九十一,余二百三十八,秒四十三,微分八十四。爻算十五,余一百六十六,秒四十,微分六十二。 镇星:终率一百一十四万九千三百九十九,秒九十八。终日三百七十八,余二百七十九,秒九十八。变差二十二,秒九十二。象算九十一,余二百三十七,秒八十七。爻算十五,余一百六十六,秒三十一,微分十六。 太白:终率一百七十七万五千三十,秒十二。终日五百八十三,余二千七百一十一,秒十二。中合日二百九十一,余二千八百七十五,秒六。变差三十,秒五十三。象算九十一,余二百三十八,秒三十四,微分五十四。爻算十五,余一百六十六,秒三十九,微分九。 辰星:终率三十五万二千二百七十九,秒七十二。终日一百一十五,余二千六百七十九,秒七十二。

中合日数为五十七,余数二千八百五十九,秒八十六。

变差为一百三十六,秒七十八。

象算为九十一,余数二百四十四,秒九十八,微分六十。

爻算为十五,余数一百六十七,秒四十九,微分七十四。

辰法为七百六十。

秒法为一百。

微分法为九十六。

置中积分,用冬至小余减去它,各用该星的终率去除它,除不尽的,反过来用终率减去余数;余数满通法就是日数,得到冬至夜半后的平合日算。各用该星的变差乘以算数,满干实去掉;余数满通法,就是日数。用这个减去平合日算,得到入历算数。都把余数约简为四份,与辰法相同。然后用一象的算数去除它,按少阳、老阳、少阴、老阴的顺序,从少阳算数之外开始。余数再用一爻的算数去除;所得结果从该象初爻算数之外开始,得到外入爻算数。

○五星爻象历

用所入爻与后爻的损益率相减,得到前差;又用后爻与次后爻的损益率相减,得到后差;前后二差相减,得到中差。置所入爻与后爻的损益率,加上中差的一半,乘以九,除以二百七十四,得到爻末率,并作为后爻的初率。都依据前爻的末率,作为后爻的初率。初率和末率相减,得到爻差。爻差加倍,乘以九,除以二百七十四,得到算差。算差的一半,加、减到初率和末率上,各得到定率。用算差逐次加、减爻初定率,少象用差减去,老象用差加上,得到每算的损益率。依次累积这些率,随所入爻在下面增减进退积,各得到其算的定数。其中四象的初爻没有初率,上爻没有末率,都取本爻的损益率乘以四再乘以九,除以二百七十四得到一,各用初率、末率减去它,都互相得到对方的率。

各置其星平合所入爻的算差,取一半,减去其入算的损益率。对于损的情况,用所入余数乘以差,再除以辰法,加上差再除以二;对于益的情况,用入余数的一半乘以差,也除以辰法:都从所减的率中减去。然后用入余数乘以这个结果,除以辰法。所得结果用来增减其算下的进退,各得到平合所入的定数。

置进退定数,金星则加倍。各用合下的乘数乘以它,再除以除数。所得结果满辰法就是日数,用进加、退减平合日算,先约简平合余数到四分之一,然后加减,得到常合日算。

置常合日先后定数,除以四,用先减、后加常合日算,得到定合日算。又约简盈缩分到四分之一,用定合余数乘以它,满辰法除以一。所得结果用盈加、缩减定合余数,再加上该日夜半的日度,得到定合加时的星度。

又置定合日算,加上冬至的大小余,减去天正经朔的大小余。其中的至朔小余,都先约简到四分之一。如果大余不够减,则加上爻数再减。余数满四象之策除去,得到月数。除不尽的,作为入朔日算。从正月开始,起于天正,从经朔算数之外开始,得到定合的月和日。如果定朔与经朔有进退,则进减、退加一日作为定日。

置常合及定合应加减的定数,同名相加,异名相消;然后用它加减其平合入爻算,如果不够或有余,则进退爻算,得到定合所入。然后用合后各变历的度数逐次加上,去掉和命名如前,得到次变初日所入。如同平合求进退定数的方法,再用乘数乘它,除以除数,各得到进退变率。

五星变行的日中率、度中率、差行损益率、历度乘数、除数

○岁星

合后伏:17天332分,运行3度332分。开始时慢,每2天加快9分。历,1度357分。乘数350,除数281。

前顺:112天,运行18度656分。开始时快,每5天减慢6分。历,9度337分。乘数350,除数281。

前留:27天。历,2度220分。乘数267,除数221。

前退:43天,后退5度369分。开始时慢,每6天加快11分。历,3度475分。乘数470,除数403。

后退:43天,后退5度369分。开始时慢,每6天减慢11分。历,3度475分。乘数510,除数467。

后留:27天。历,3度210分。乘数270,除数222。

后顺:112天,运行18度65分。开始时慢,每5天加快6分。历,9度337分。乘数267,除数227。

合前伏:17天332分,运行3度332分。开始时快,每2天减慢9分。历,1度358分。乘数350,除数281。

○荧惑

合后伏:71天735分,运行54度735分。开始时快,每5天减慢7分。历,38度201分。乘数127,除数30。

前疾:214天,运行136度。开始时快,每9天减慢4分。历,113度596分。乘数127,除数30。

前迟:60天,运行25度。开始时快,每天减慢4分。历,31度685分。乘数203,除数54。

前留:13天,历,6度693分。乘数203,除数54。

前退:31天,后退8度473分。开始时慢,每6天加快5分。历,16度367分。乘数203,除数48。

后退:31天,后退8度473分。开始时快,每6天减慢5分。历,16度367分。乘数203,除数48。

后留:13天。历,6度693分。乘数203,除数48。

后迟:60天,运行25度。开始时慢,每天加快4分。历,31度685分。乘数203,除数54。

后疾:214天,运行136度。开始时慢,每9天加快4分。历,113度596分。乘数203,除数54。

合前伏:71天736分,运行54度736分。开始时慢,每5天加快7分。历,38度201分。乘数127,除数30。

○镇星

合后伏:18天415分,运行1度415分。开始时慢,每2天加快9分。历,480分。乘数12,除数11。

前顺:83天,运行7度241分。开始时快,每6天减慢5分。历,2度623分。乘数12,除数11。

前留:37天380分。历,1度208分。乘数10,除数9。

前退:50天,后退2度334分。开始时慢,每7天加快1分。历,1度531分。乘数20,除数17。

后退:50天,后退2度334分。开始时快,每7天减慢1分。历,1度531分。乘数5,除数4。

后留:37天380分。历,1度208分。乘数20,除数17。

后顺:83天,运行7度241分。开始时慢,每6天加快5分。历,2度623分。乘数10,除数9。

合前伏:18天415分,运行1度415分。开始时快,每2天减慢9分。历,480分。乘数12,除数11。

○太白

晨合后伏:41天719分,运行52度719分。开始时慢,每3天加快16分。历,41度719分。乘数797,除数209。

夕疾行:171天,运行206度。开始时快,每5天减慢9分。历,171度。乘数797,除数209。

夕平行:12天,运行12度。历,12度。乘数515,除数156。

夕迟行:42天,运行31度。开始时快,每天减慢10分。历,42度。乘数515,除数137。

夕留:8天。历,8度。乘数515,除数92。

夕退:10天,后退5度。开始时慢,每天加快9分。历,10度。乘数515,除数86。

夕合前伏:6天,后退5度。开始时快,每天减慢15分。历,6度。乘数515,除数84。

夕合后伏:6天,后退5度。开始时慢,每天加快15分。历,6度。乘数515,除数83。

晨退:10天,后退5度。开始时快,每天减慢9分。历,10度。乘数515,除数84。

晨留:8天,历8度。乘数515,除数86。

晨迟行:42天,运行31度。开始时慢,每天加快10分。历,42度。乘数515,除数92。

晨平行:12天,运行12度。历,12度。乘数515,除数137。

晨疾行:171天,运行206度。开始时慢,每5天加快9分。历,171度。乘数515,除数156。

晨合前伏:41天719分,运行52度719分。开始时快,每3天减慢16分。历,41度719分。乘数797,除数209。

○辰星

晨合后伏:16天715分,运行33度715分。开始时慢,每天加快22分。历,16度715分。乘数286,除数287。

夕疾行:12天,运行17度。开始时快,每天减慢50分。历,12度。乘数286,除数287。

夕平行:9天,运行9度。历,9度。乘数495,除数194。

夕迟行:6天,运行4度。开始时快,每天减慢76分。历,6度。乘数496,除数195。

夕留:3天。历,3度。乘数497,除数196。

夕合前伏:11天,后退6度。开始时慢,每天加快31分。历,11度。乘数498,除数197。

夕合后伏:11天,后退6度。开始时快,每天减慢31分。历,11度。乘数500,除数198。

晨留:3天。历,3度。乘数498,除数198。

晨迟行:6天,运行4度。开始时慢,每天加快76分。历,6度。乘数497,除数196。

晨平行:9天,运行9度。历,9度。乘数496,除数195。

晨疾行:12天,运行17度。开始时慢,每天加快50分。历,12度。乘数492,除数194。

晨间聚合前伏:十六日七百一十五分,运行三十三度七百一十五分。开始时速度快,每日减慢二十二分。历,十六度七百一十五分。乘数二百八十六,除数二百八十七。

各自设置其本来的进退变率与后面的变率。同名的,相互抵消为差值。在进前少,在退前多,各以差值相加;在进前多,在退前少,各以差值相减。异名的,相互合并为总和。前退后进,各以总和相加;前进后退,各以总和相减。逆行度率则反之。都用差值及总和,加减日度中率,各自成为日度变率。其中水星疾行,直接以差值及总和加减度中率,作为变率。其日直接沿用中率为变率,不进行加减。

以定合日与前疾初日、后疾初日与合前伏初日的先后定数,各自以同名者相互抵消为差值,异名者相互合并为总和。都除以四。所得满辰法,各为日度。于是以前日度盈加缩减其合后伏度的变率及合前伏、前疾日的变率,也以后日度盈减缩加其后疾日的变率及合前伏、前疾度的变率。金星、水星夕合,则相反加减。留退也是如此。其中二留日的变率,若与中率有差值,即以所差之数为度,各加减本迟度的变率。意思是:以多于中率的数相加,少于中率的数相减。以下加减均按此规则。退行度的变率,若与中率有差值,即加倍所差之数,各加减本疾度的变率。其中土星、木星,既然没有迟、疾,就加减前后顺行度的变率。其中水星疾行度的变率,若与中率有差值,即以所差之数为日,各加减留日变率。其留日变率若太少不够减,就侵减迟日变率;若多于中率,也以所多之数为日,用来加留日变率。各自加减变率完毕后,都是日度定率。其日定率有余数的,前后搭配。辈,即搭配,以少分配多分,满全数为日。有余数就转配到各变率。不加减的,都依变率为定率。

设置该星定合余数,以减辰法;余数用该星初日行分相乘,除以辰法,再加定合加时度,得到定合后夜半星度及余数。从此各自依其星计算每日行度,所到之处都从夜半开始。各自以一日所行度分顺加退减。其行度有小数部分的,各自满其法转为行分。伏日不注度,留日沿用前度,退日则依减法。顺行出虚宿,减去六虚之差。退行入虚宿,先加此差。六虚之差,也除以四,然后用于加减。完毕后,都以转法约行分,得到度分,得出每日所到位置。日度定率,有的加有的减,越来越快或越来越慢,每日逐渐变化,不能预定。现在暂且根据日度中率,斟酌设置。其定率既然有盈缩,差数就应随之增减,应当先检查各变定率与中率相近者,用其差数,求其初、末日的行分作为主。其余各变,据此斟酌,加减其差数,各求初、末行分。循环比较,使交会参合,衰减递增相互循环。其中金星、水星都以平行为主,前后各变,据此求之。其合前伏,虽有日度定率,因加至合而与后算不吻合的,都以后算为准。其初见伏的度数,离日不等,各以日度与星辰比较。木星离日十四度,金星十一度,火星、土星、水星各十七度时都出现。各减一度,都消失。其中木星、火星、土星三星,前顺之初,后顺之末,以及金星、水星疾行、留、退的初、末,都是见、伏的初日,注历根据情况确定。金星、水星以及太阳、月亮的度数,都不注分。

设置日定率减一,用所差之数相乘,为实。用所差日数乘定日率,为法。实除以法,得行分,得到每日差。用辰法通分度定率,从其分,如日定率相除,得平行度分。减日定率一,用所差之数相乘,再除以二,得差率。用来加减平行分,益疾的,以差率减平行为初日,加平行为末日;益迟的,以差率加平行为初日,减平行为末日。得到初、末日所行度及分。其差数不全而与日相合的,先设置日定率减一,用所差之数相乘,为实。加倍所差日数,为法。实除以法,得行分。除不尽的,作为小分。然后作为差率。

设置初日行分,益迟的,以每日差累减;益疾的,以每日差累加:得到次日所行度分。其每日差及初日行,都有小分。分母既然不同,应当使之相同,然后用于加减。

若先确定日数而求度数的,减所求日数一,用每日差相乘,再除以二。所得结果加减初日行分,益迟的减,益疾的加。用所求日数乘之,如辰法相除,得度数。除不尽的,作为行分,得到从初日至所求日的积度及分。

若先确定度数而反求日数的,用辰法乘所求行度。有余数的,从之。乘以八,如每日差相除,得积。加倍初日行分,用每日差加减之,益迟的加,益疾的减。如每日差相除,得率。令其自乘,用积加减之。益迟的用积减,益疾的用积加。开平方除之,所得结果用率加减之。益迟的用率加,益疾的用率减。然后除以二,得所求日数。开平方除的方法:设置所开之数为实。借一算于实之下,名曰下法。步之,超一位。置商于上方,副商于下法之上,名曰方法。命上商以除实。完毕,加倍方法一折,下法再折。乃置后商于下法之上,名曰隅法。副隅并方。命后商以除实。完毕,隅从方法折下,就除如前开方。

五星前变,入阳爻,为黄道北;入阴爻,为黄道南。后变,入阳爻,为黄道南;入阴爻,为黄道北。其中金星、水星二星,以夕为前变,晨为后变。各计算其变行,起初日入爻之算,尽老象上爻未算之数。不满变行度常率的,于是设置其数以变行日定率乘之,如变行度常率相除,得日数。其入变日数与这个日数已下的,星在道南北依本所入阴阳爻为定。超过这个日数之外的,南北相反。

《九执历》,出自西域。开元六年,下诏命太史监瞿昙悉达翻译它。截取近距,以开元二年二月初一为历首。度法六十。月有二十九日,余七百零三分日之三百七十三。历首有朔虚分一百二十六。周天三百六十度,没有余分。日去没分九百分度之十三。二月为一时,六时为一年。三十度为一相,十二相而周天。望前叫白博义;望后叫黑博义。其计算都用字书写,不用算筹。其术繁琐细碎,有时侥幸而中,不可以作为法则。名数奇异诡怪,起初无人能分辨。陈玄景等人用它来迷惑当时的人,说一行的写法没有完全表达其术,这是荒谬的。