网页版书目

新唐书 · 卷三十下·志第二十下

新唐书 · 目录

〔1〕昭宗时,《宣明历》施行已久,数亦渐差,诏太子少詹事边冈与司天少监胡秀林、均州司马王墀改治新历,然术一出于冈。冈用算巧,能驰骋反覆于乘除间。由是简捷、超径、等接之术兴,而经制、远大、衰序之法废矣。虽筹策便易,然皆冥于本原。其上元七曜,起赤道虚四度。景福元年892,历成,赐名《崇玄》。气朔、发敛、盈缩、朓朒、定朔弦望、九道月度、交会、入蚀限去交前后,皆《大衍》之旧。余虽不同,亦殊涂而至者。大略谓:

唐昭宗时期,《宣明历》已经用了很久,推算的数据也逐渐出现偏差,于是皇帝下诏让太子少詹事边冈和司天少监胡秀林、均州司马王墀一起修订新的历法,但计算方法都出自边冈一人。边冈计算技巧很巧妙,能够在乘除运算中反复推演。因此,简捷、超径、等接这些计算方法兴起,而传统的经制、远大、衰序这些方法就被废弃了。虽然计算起来方便,但都看不清历法的根本原理。这部历法的上元起点,七曜(日月五星)从赤道虚宿四度开始。景福元年,历法编成,赐名《崇玄》。其中的节气、朔望、发敛、盈缩、朓朒、定朔弦望、九道月度、交会、入蚀限去交前后等,都沿用《大衍历》的旧法。其他部分虽然不同,但也是殊途同归。大致意思是:

〔2〕策实曰岁实。揲法曰朔实。三元之策曰气策。四象之策曰平会。一象之策曰弦策。挂限曰闰限。爻数曰纪法。策余曰岁余。天中之策曰候策。地中之策曰卦策。贞悔之策曰土王策。辰法,半辰法也。乾实曰周天分。盈缩、朒朓,皆用常气。盈缩分曰升降。先后曰盈缩。

策实就是岁实(回归年长度)。揲法就是朔实(朔望月长度)。三元之策就是气策(节气周期)。四象之策就是平会(朔望月与回归年的会合周期)。一象之策就是弦策(弦月周期)。挂限就是闰限(置闰的界限)。爻数就是纪法(纪年法的基础)。策余就是岁余(回归年余数)。天中之策就是候策(物候周期)。地中之策就是卦策(卦气周期)。贞悔之策就是土王策(土王用事周期)。辰法就是半辰法(半个时辰的时长)。乾实就是周天分(天体运行一周的总度数)。盈缩和朒朓都用常气(平气)来计算。盈缩分就是升降(太阳视运动速度的增减)。先后就是盈缩(太阳运行快慢的术语)。

〔3〕凡升降、损益,皆进一等,倍象统乘之,除法而一,为平行率。与后率相减,为差。半之,以加减平行率,为初、末率。倍差,进一等,以象统乘之,除法而一,为日差。以加减初、末为定。以日差累加减,为每日分。凡小余,皆万乘之,通法除,为约余,则以万为法。又以百约之,为大分,则以百为法。

凡是升降、损益这类计算,都先提高一个等级,乘以象统的两倍,再除以一个数,得到平行率。与后率相减得到差值。差值的一半,用来加减平行率,得到初率和末率。将差值加倍,再提高一个等级,乘以象统,除以一个数,得到日差。用日差加减初率和末率,得到定值。用日差逐日累加或累减,得到每日的分值。凡是小余,都乘以一万,再除以通法,得到约余,以万为分母。再除以一百,得到大分,以百为分母。

〔4〕凡冬至赤道日度及约余,以减其宿全度,乃累加次宿,皆为距后积度。满限九十一度三十一分三十七小分,去之。余半已下,为初;已上,以减限,为末。皆百四十四乘之。退一等,以减千三百一十五。所得以乘初、末度分,为差。又通初、末度分,与四千五百六十六先相减、后相乘,千六百九十除之,以减差,为定差。再退为分。至后以减、分后以加距后积度,为黄道积度。宿次相减,即其度也。以冬至赤道日度及约余,依前求定差以减之,为黄道日度。

凡是冬至时太阳在赤道上的位置(度数和约余),用它减去所在宿的整度,然后逐次加上后面各宿的度数,得到距后积度。如果达到限值九十一度三十一分三十七小分,就减去这个限值。剩下的部分,如果小于一半,就是初;如果大于一半,就用限值减去它,得到末。将初或末都乘以一百四十四。再退一位,用一千三百一十五减去这个结果。得到的数再乘以初或末的度分,得到差值。再将初或末的度分,先与四千五百六十六相减,再相乘,除以一千六百九十,用这个结果减去前面的差值,得到定差。再退一位得到分。冬至后,用定差减去距后积度;春分后,用定差加上距后积度,得到黄道积度。相邻两宿的黄道积度相减,就是该宿的黄道度数。用冬至赤道日度及约余,按照前面的方法求出定差,再减去它,得到黄道日度。

〔5〕凡岁差,十一乘之,又以所求气数乘之,三千八百八十八而一,以加前气中积;又以盈缩分盈加、缩减之,命以冬至宿度,即其气初加时宿度。

关于岁差的计算,先把岁差数值乘以十一,再乘以你想求的那个节气的序号,然后除以三千八百八十八,把结果加到前一个节气的中积上;接着用盈缩分来调整——如果太阳运行偏快就加,偏慢就减,最后以冬至那天的宿度作为基准来定名,这样就得到了那个节气刚开始时太阳所在的星宿度数。

〔6〕其定朔小余,如日法四十分之二十九已上,以定朔小余减日法,余如晨初余数已下,进一日。

如果定朔的小余大于或等于日法的四十分之二十九,就用定朔的小余减去日法,余数如果小于或等于晨初余数,那么定朔就向前推进一天。

〔7〕冈又作径术求黄道月度。以蔀率去积年,为蔀周;不尽,为蔀余。以岁余乘蔀余,副之。二因蔀周,三十七除之,以减副。百一十九约蔀余,以加副。满周天去之。余,四因之为分,度母而一为度,即冬至加时平行月。

边冈又创制了径术来求黄道上的月亮位置。用蔀率去除积年,得到蔀周;除不尽的部分就是蔀余。用岁余乘以蔀余,作为副值。将蔀周乘以二,再除以三十七,用这个结果减去副值。再以一百一十九约简蔀余,加到副值上。如果超过周天度数,就减去周天。剩下的余数乘以四,得到分,再除以度母得到度,这就是冬至时加时的平行月位置。

〔8〕又以冬至约余距午前后分,二百五十四乘之,万约为分,满度母为度;午前以加、午后以减加时月,为午中月。自此计日平行十三度十九分度之七。自冬至距定朔,累以平行减之,为定朔午中月。求次朔及弦望,各计日以平行加之。其分以度母除,为约分。

再用冬至时的约余与午前或午后的分差,乘以二百五十四,除以一万得到分,如果满度母就得到度;午前加在加时月上,午后减在加时月上,得到午中月。从此按日计算,月亮每天平行十三度又十九分之七度。从冬至到定朔,逐日累加这个平行值,得到定朔的午中月。求下一个朔日以及弦望,各按天数加上平行值。其中的分数用度母除,得到约分。

〔9〕又四十七除蔀余,为率差。不尽,以乘七日三分半,副之。九因率差,退一等,为分,以减副。又百约冬至加时距午分,午前加之、午后减之、满转周去之,即冬至午中入转。以冬至距朔日减之,即定朔午中入转。求次朔及弦望,计日加之。

再用四十七除以蔀余,得到率差。如果除不尽,就用余数乘以七日三分半,作为副数。然后用九乘以率差,退一位(即除以十),得到分数,用来减去副数。再用一百约分冬至加时距离午正的分值,午前就加上、午后则减去,如果满一周天(转周)就去掉,这样就得到冬至午中入转数。用冬至日到朔日的天数减去这个数,就得到定朔午中入转数。要推算下一个朔日以及弦望,就按天数加上去。

〔10〕各以所入日下损益率乘转余,百而一,以损益盈缩积,为定差。以盈加、缩减午中月,为定月。以月行定分乘其日晨昏距午分,万约为分,满百为度,以减午中定月,为晨月;加之,为昏月。以朔昏月减上弦昏月,以上弦昏月减望昏月,以望晨月减下弦晨月,以下弦晨月减后朔晨月,各为定程。以相距日均,为平行度分。与次程相减,为差。以加、减平行,为初、末日定行。(后少,加为初,减为末;后多,减为初,加为末。)减相距日一,均差,为日差。累损、益初日,为每日定行。(后多,累益之;后少,累减之。)因朔弦望晨昏月,累加之,得每日晨昏月。

分别用当天对应的损益率乘以转余,除以一百,用来损益盈缩积,得到定差。如果是盈,就加在午中月上;如果是缩,就减在午中月上,得到定月。用月行定分乘以当天的晨昏距午分,除以一万得到分,满一百得度,用这个值减去午中定月,得到晨月;加上则得到昏月。用朔日的昏月减去上弦日的昏月,用上弦日的昏月减去望日的昏月,用望日的晨月减去下弦日的晨月,用下弦日的晨月减去后一个朔日的晨月,这些差分别作为定程。将定程除以相距的天数,得到平均的平行度分。这个平均平行度分与下一个定程相减,得到差。用这个差来加减平均平行,得到初日和末日的定行。(如果后面的定程小,就加得到初日,减得到末日;如果后面的定程大,就减得到初日,加得到末日。)将相距天数减一,用差除以这个数,得到日差。逐日累加或累减初日的定行,得到每日的定行。(如果后面的定程大,就逐日累加;如果小,就逐日累减。)从朔弦望的晨昏月出发,逐日累加,得到每日的晨昏月。

〔11〕各计其日中入二至加时已来日数及余。如初限已下,为后;已上,以减二至限,余为前,副之。各以乘数乘之,用减初、末差。所得再乘其副,满百万为尺,不满为寸、为分。夏至后,则退一等。皆命曰晷差。冬至前后,以减冬至中晷:夏至前后,以加夏至中晷;为每日阳城中晷。与次日相减,后多曰息,后少曰消。以冬夏至午前、后约分乘之,万而一,午前息减、消加;午后息加、消减中晷:为定数也。凡冬至初日,有减无加;夏至初日,有加无减。

分别计算当天从冬至或夏至加时以来经过的天数及余数。如果小于初限,就是后段;如果大于或等于初限,就用二至限减去它,得到前段,作为副值。分别用相应的乘数乘以前段或后段,再用这个结果减去初末差。将得到的结果再乘以副值,如果满一百万就是尺,不满就是寸或分。夏至后,要退一个等级。这些结果都称为晷差。冬至前后,用晷差减去冬至的中晷;夏至前后,用晷差加上夏至的中晷;得到每天阳城的中晷。与第二天的中晷相减,如果后面的数大就叫息,后面的数小就叫消。用冬至或夏至午前或午后的约分乘以晷差,再除以一万,午前如果是息就减,消就加;午后如果是息就加,消就减中晷,得到定数。凡是冬至第一天,只减不加;夏至第一天,只加不减。

〔12〕又计二至加时已来至其日昏后夜半日数及余。冬至后为息,夏至后为消。如一象已下,为初;已上,反减二至限,余为末。令自相乘,进二位,以消息法除为分,副之。与五百分先相减,后相乘,千八百而一,以加副,为消息数。以象积乘之,百约为分,再退为度。春分后以加六十七度四十分,秋分后以减百一十五度二十分,即各其日黄道去极。与一象相减,则赤道内外也。以消息数,春分后加千七百五十二,秋分后以减二千七百四十八,即各其日晷漏母也。以减五千,为晨昏距子分。

再计算从冬至或夏至那天开始,到当前这一天黄昏后半夜之间的天数以及余数。冬至之后算作“息”,夏至之后算作“消”。如果天数小于一个“象”(即一个象限的度数),就作为“初”;如果天数大于一个“象”,就反过来用二至的限数减掉它,剩下的作为“末”。让这个数自己乘以自己,再乘以100,用“消息法”去除得到“分”,然后把这个结果作为副数。接着用500减去这个副数,再把减后的结果乘以副数,除以1800,最后加上副数,就得到“消息数”。用“象积”乘以消息数,再除以100得到“分”,再除以100得到“度”。春分之后,用这个度数加上67度40分;秋分之后,用这个度数减去115度20分,就得到当天黄道距离北极的度数。再与一个“象”相减,就能知道这天是在赤道以内还是以外。用消息数,春分之后加上1752,秋分之后减去2748,就得到当天晷漏的基数(晷漏母)。用5000减去这个基数,就得到早晨和黄昏距离子正(午夜)的分值。

〔13〕置晷漏母,千四百六十一乘,而再半之。百约,为距子度。以减半周天,余为距中度。百三十五乘晷漏母,百约为分,得晨初余数。凡晷漏,百为刻。不满,以象积乘之,百约为分,得夜半定漏。

设置晷漏母,乘以一千四百六十一,再除以二(即半之)。除以一百,得到距子度。用它减去半周天,余数就是距中度。用一百三十五乘以晷漏母,除以一百得到分,得到晨初余数。凡是晷漏,以一百为刻。如果不满,就用象积乘以它,再除以一百得到分,得到夜半定漏。