# 卷十八历四上

类型：古籍章节
书名：《新唐书》
作者：欧阳修、宋祁等
时代：北宋
类别：纪传体断代史 · 白话译文
卷目：志
章节：卷十八历四上

## 本章概览

《新唐书·历四上》详细记录了《开元大衍历》的核心演算体系，这是唐代历法改革的重要成果。历法从上元阏逢困敦之年开始，至开元十二年（724年）累积九千六百九十六万一千七百四十算。全文分步骤阐述：步中朔术以通法三千零四十为基础，通过策实、揲法、减法等参数计算中积分、朔积分，进而确定天正气、天正经朔及闰月设置；发敛术则依据天中之策、地中之策等划分候、卦、土王用事，并建立辰刻系统；步日躔术以乾实为基准，通过盈缩分、气差、日差等推算太阳每日的盈缩定数，修正赤道、黄道度以求日行轨迹。此外，步月离术详述月行九道、朓朒积计算及定朔弦望调整，步轨漏术则结合晷影、漏刻确定昼夜长短及日中星象。交会术系统分析日月食条件，通过阴阳历、去交定分等判定食分与时刻。五星术分别给出岁星、荧惑等五颗行星的终率、变差及运行阶段参数，涵盖疾、迟、留、退等状态。整个历法以精确的数学运算和天文观测为支撑，体现了唐代历法家对天体运行规律的深刻理解，成为后世历法的重要范本。

《开元大衍历》的步中朔术、发敛术、日躔术、月离术、轨漏术、交会术及五星术等七部分算法。

介绍大衍历的主要演算方法，包括中朔、发敛、日躔、月离、轨漏、交会、五星等七部。

## 正文

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

○第一：步中朔术

通法为三千零四十。

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

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

减法为九万一千二百。

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

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

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

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

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

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

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

爻数为六十。

象统为二十四。

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

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

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

○第二：发敛术

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

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

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

辰法为七百六十。

刻法为三百零四。

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

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

○第三：步日躔术

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

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

岁差为三十六太。

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

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

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

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

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

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

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

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

○第四：步月离术

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

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

转法为七十六。

转秒法为八十。

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

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

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

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

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

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

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

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

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

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

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

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

第五，步轨漏术。

爻统为一千五百二十。

象积为四百八十。

辰为八刻一百六十分。

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

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

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

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

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

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

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

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

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

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

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

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

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

历法第四下

第六步交会术

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

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

阴阳历

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

辰法为七百六十。

秒法为一百。

微分法为九十六。

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

○五星爻象历

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

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

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

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

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

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

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

○岁星

合后伏：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。

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

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

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

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

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

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

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

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

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

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

## 关键人物

- **瞿昙悉达**：太史监；翻译者
- **陈玄景**：惑众者

## 时间线

- **上元阏逢困敦之年**：大衍历演算从上元阏逢困敦之年开始；累积九千六百九十六万一千七百四十算
- **开元十二年甲子年**：大衍历演算到开元十二年甲子年；到开元十二年甲子年
- **开元六年**：下诏命太史监瞿昙悉达翻译《九执历》；翻译《九执历》

## 地点

- **西域**：《九执历》出自西域
- **阳城**：阳城每日中晷常数
- **天竺**：天竺俱摩罗所传断日食法

## 标签

- 大衍历
- 步中朔术
- 发敛术
- 日躔术
- 月离术
- 轨漏术
- 交会术
- 五星术
- 九执历
- 瞿昙悉达

原始页面：https://shishuguan.com/books/xintangshu-baihuawen-full/volume-2/chapter-28
