皇上登基后,天文官员徐昴上交了一部新历法,叫《观象历》。从元和二年开始使用,但是这历法里头缺了点东西,就是没有完整的“蔀章”计算方法。至于说那些观察星象、推算节气什么的,还是沿用老办法,结果算出来的和实际情况对不上号。
等到穆宗皇帝继位,觉得历法这东西关系到祖宗基业,必须得改改了,于是就下令让负责天文历法的官员重新编撰历法,新的历法就叫《宣明历》。这历法里头,七曜的起算点是赤道虚九度。至于说气朔、发敛、日躔、月离这些计算方法,都是沿用以前《大衍历》的老办法;晷漏和交会这些,就稍微改动了一些;还新设立了一些数字,用来推算五星的运行轨迹。总的来说,这《宣明历》的计算方法是这样的:
通法叫做统法;策实叫做章岁;揲法叫做章月;挂限叫做闰限;三元之策叫做中节;四象之策叫做合策;一象之策叫做象准;策余叫做通余;爻数叫做纪法;把纪法分成若干份,叫做旬周;章岁乘以年数,叫做通积分;地中之策叫做候策;天中之策叫做卦策;用贞悔之策减去中节,叫做辰数;再把辰数加到季月之节上,就得到了土用事(土星当令)的那一天。凡是小余满了辰法,就算作一个辰数;满了刻法,就算作一个刻。干实叫做象数;秒法是三百;用秒法乘以统法,叫做分统。
计算七曜进入某星宿的度数,都是以刻法作为度量的单位。把刻法乘以盈缩分,如果按照定气来算,就叫做气中率;把前后两次算出的气中率相减,得到合差;再用定气乘以合差,然后用后定气去除,就得到中差;把气率加减中差,就得到初率和末率;把中差乘以二,再乘以一百,然后用定气去除,就得到日差;把日差除以二,分别加减到初率和末率上,就得到定率;用日差累加累减,就能得到每天的盈缩分。把一百乘以气下先后数,先减后加常气,就能得到定气限数;再乘以岁差一千四百四十,就得到秒分;把秒分加到中节上,再根据冬至黄道日度累加累减,就能得到每个定气开始的那一天的度数。
咱们来说说怎么排历法。 要是算日子,如果算出来的日子比历法里已经有的日子小,那就往前推一天;如果算出来的日子比历法里已经有的日子大,那就往后推一天。 具体来说,如果朔日(农历初一)的剩余时间比较多,秋分之后,如果剩余时间超过四分之三,就往前推一天;春分之后,如果昏黑时间的剩余时间跟春分那天的差不多,就减去五分之一,再看剩余时间是否超过四分之三,超过的话也往前推一天。 如果遇到日月交会,并且能看到初亏(日食或月食开始),那就不需要调整了。如果弦望日(农历十五或初八)的剩余时间少于昏黑时间的剩余时间,就往后推一天;如果遇到日月交会,并且能看到初亏,也一样往后推一天。 至于日月正交的情况,就用平交(平均交会)来算,根据盈亏情况调整平交入定气(日月交会时气数的计算)的数值,盈则减,亏则加,如果不够或超过,就调整日期,得到正交入定气,这时候就不用再用交会率去乘,也不用交会数去除,更不用再加减平交入气的盈亏了。
接下来是推算月球运行的度数。 先用历法里的分数乘以夜半时分测得的完整漏刻数(古代计时工具),按照刻度换算成一,就是晨分的度数;再用这个晨分的度数减去历法里的分数,得到昏分的度数。 然后,用朔日、弦日、望日的剩余时间乘以历法里的分数,用统法(一种计算方法)除以它,再用结果减去晨分的度数,剩下的就是提前的时间;如果不够减,就反过来相减,剩下的就是延后的时间。 然后把提前的时间加上,延后的时间减去,就能得到加时后的月球运行度数,也就是晨昏月度。 再用算出来的加时日度减去后历(已有的历法)的加时日度,剩下的加上弦日的度数和剩余时间,用算出来的日期往前推的话就减,往后推的话就加;后历也是一样,往前推就加,往后推就减,这样就得到确定的行程。然后把后历每天的历度和分数累加起来,再减去确定的行程,如果结果是正数,就是盈;如果结果是负数,就反过来相减,就是缩。 用后历的天数平均分配盈亏的差值,盈的话就减,缩的话就加到每天的历分数里,得到历定的分数。 最后把这个历定的分数累加到朔日、弦日、望日的晨昏月度里,就得到每天的辰昏月度,不用再考虑屈伸(指盈亏变化)了。
首先,咱们来说说这“爻统曰中统”之类的。简单来说,就是根据阴阳变化规律来计算每天的日长日短。 用“屈伸”来表示太阳运行的快慢,“盈缩”表示日影的长短。 通过这些,算出每天太阳运行的度数,然后用各种复杂的算法,比如乘以五再除以二十四,算出每天漏刻的误差,也就是“漏差”。 再根据这些,算出每天夜半时分漏刻的准确时间,还有其他一些更精确的数值,比如太阳离黄道(太阳运行的轨道)的距离等等,这些计算方法都挺复杂的,总之就是为了精确地计算太阳的运行。
接下来,咱们说说月球的运行。 “交终曰终率”指的是月球运行周期的终结, “朔差”和“望差”指的是朔日(农历初一)和望日(农历十五)的误差。 计算月球运行的度数也挺麻烦,要先乘以十再除以七,不够精确的话再乘以十五除以七,甚至还要继续除,算出“度分”、“大分”、“小分”等等。 然后还要根据不同的象限进行调整,这部分计算涉及到很多复杂的步骤,总之就是为了尽可能精确地计算月球的运行位置。
然后是日食的计算。 计算日食发生的时间,要先算出日食发生当天,太阳东升西落的时间与正午时间的差值,大约是147刻(古代计时单位)。 然后根据朔日(日食发生在农历初一)的剩余时间(小余),来计算日食的持续时间。 如果剩余时间小于一半,就用一个方法计算;如果大于一半,就用另一个方法计算。 最后算出日食的具体时间。月食的计算就简单多了,直接用望日(月食发生在农历十五)的剩余时间来计算。
最后,咱们说说日食的误差修正。 日食的计算还会考虑“气差”、“刻差”、“加差”等误差。 比如“气差”在冬至和夏至前后会比较大,大约是2350,然后每天会减少26,到春分和秋分就没了。 还要根据日出日落时间来修正“气差”,春分后和秋分后,阳历和阴历的计算方法还不一样,总之,计算日食的时间,需要考虑各种各样的因素,非常复杂。
冬至那天,时间是准的,一点不差。从冬至后开始,每天的时间都会慢慢变慢,每天慢个两分,十分之一秒。从立春到立夏,从立秋到立冬,这段时间每天的时间差都是九十四分半(约合94.5秒)。之后,每天的时间差又会逐渐减少,每天减少两分十分之一秒,到下一个冬至的时候,时间差就完全消失了。 计算时间差的方法是:用冬至那天的差值乘以日食发生时距离正午的时间,就能得到确定的时间差。
冬至后,日食发生在正午之前,夏至后,日食发生在正午之后。用阴历计算,要减去时间差;用阳历计算,要加上时间差。反过来,如果冬至后日食发生在正午之后,夏至后日食发生在正午之前,阴历就要加上时间差,阳历就要减去时间差。
再来说说立冬后的情况,立冬后的每个节气,时间差都会增加十七分。到冬至那天,时间差就累积到五十一分了。从冬至后开始,每个节气的时间差又会减少十七分,一直到大寒,时间差就完全消失了。如果日食发生在正午之后,那就要根据每刻的时间差累加,阴历要减去,阳历要加上。 最后把加减的时间差算出来,同名的就加起来,不同的就减掉,得到最终的日食时间差。用这个时间差减去交分(此处交分含义需结合上下文理解),得到最终的定分。
如果用阴历计算,时间差不够减,就要反过来减去日食时间差。如果日食发生在交点之前,减去后剩下的就是阳历日食发生在交点之后的时间;如果日食发生在交点之后,减去后剩下的就是阳历日食发生在交点之前的时间,这两种情况都是没有日食的。如果用阳历计算,时间差不够减,也一样要反过来减去日食时间差。日食发生在交点之前,减去后剩下的就是阴历日食发生在交点之后的时间;日食发生在交点之后,减去后剩下的就是阴历日食发生在交点之前的时间,这两种情况都是有日食的。
计算日食的时间,如果用阳历计算,得到的定分在阳历日食限度以下,那就是阳历日食。用阳历的计算方法估算,得到日食的具体时间。如果超过了阳历日食限度,就要用阳历日食限度减去它,剩下的就是阴历日食。用阴历的计算方法估算,再减去十五,剩下的就是日食的具体时间。
月食的话,如果用交分计算,结果在2147以下,就是月食已经发生了。如果超过2147,就要减去后准(此处后准含义需结合上下文理解),剩下的按照560的定法估算,得到月食的具体时间。月食发生后,一般持续20刻。如果交分在1435以下,要增加半刻;如果在712以下,还要再增加半刻。日月食出现和消失的时候,都要用定法计算日食的具体时间,再用一半的定法估算时间,乘以可见的时间。如果超过一半的定法估算时间,出现就是提前,消失就是延后;如果少于一半的定法估算时间,出现就是延后,消失就是提前。 最后根据定法统一一下,得到日食的具体时间。朔日白天和望日夜晚都是可见的时间。至于九服蚀差(此处九服蚀差含义需结合上下文理解),这里就不详细解释了。
咱们先说这个五星的运行规律,最终都得用周天来计算。 要算出行星的平见(也就是平均出现的时间),得先把合朔(行星与太阳的会合)和中伏(行星运行到黄道某个特定位置)加起来。 金星加水星再加个“夕”(傍晚),就能算出“晨”(早晨)它出现的时间;再加个“晨”,就能算出下一次“夕”它出现的时间。 然后,还得用变差(行星运行速度的差异)乘以年数,再减去满象数(一个完整的运行周期),剩下的就是变交(行星运行速度变化带来的偏差)。 大概三百多就能约分成一个分数,这样就能统一计算方法了,然后用它来修正平见的时间。 具体计算方法是:用36乘以平见的时间(秒),用12乘以变交的时间(秒),然后都除以3600作为分母。
剩下的计算方法跟交率(行星运行的交点)以下的计算类似,如果星体在阳历(太阳历)里,就按照这个方法算;如果在阴历(太阴历)里,就得把这个结果减掉,这样才能算出它在阴历里的时间。 然后用变策(行星运行速度变化的系数)去除,得到变数,这是初次计算变数,算完之后,剩下的就是它在变度数里的数值,以及余数。 从这里开始,我们就用一百约分,分母都用同样的刻度法。 把算出来的变数加减到平见的时间里,就能得到行星的常见时间。 金星早晨出现的时间,要先算出它傍晚出现的时间,然后把傍晚出现的时间减去,再根据它前后出现时间的差异进行加减修正。 同名的就相加,不同的就相减。 跟早晨出现的常见时间也一样,不同的就相减,同名的就相加。 最后,根据加减后的晨平见时间,就能算出金星的常见时间了。
咱们算行星位置,先得有个基准值,然后用个差率乘以它,再除以一,得到一个定差。早上看到行星,先减后加,晚上看到,先加后减,这是常见的现象,咱们叫它“定见”。把这个“定见”和刚才算出来的定差加加减减,再加上一些变动数值和剩余秒数,得到一个初始变化量。然后根据行星运行的方向,顺加或者逆减,得到下一个变化量。最后,用这个变化量去加减每日的运行速度。
水星有点特殊,早上和晚上的加减要反过来算。晚上如果差值是加在快速运行速度上的,就把差值乘以二,再加到速度上;再把差值除以二,加到慢速运行速度上。早上也一样,把差值除以二,加到慢速运行速度上,然后把差值加到快速运行速度上,再把差值乘以二,加到快速运行速度上。晚上如果差值是减在快速运行速度上的,就把差值乘以二,减去速度;再用差值减去慢速运行速度,不够减就从更慢的速度上扣。早上如果差值是减去慢速运行速度的,不够减就从更慢的速度上扣,再用差值减去快速运行速度,把差值乘以二,减去快速运行速度。
前面变化的起始日和后面变化的结束日,同名的就抵消,异名的就相加,得到一个前后确定的数值。再用差率乘以它,再除以一,得到每日的差值。金星用的是后期的差率和差值。用这个前后确定的数值减去它,得到度数的差值。金星晚上看不见的时候,用每日的差值减去前后确定的数值,得到度数的差值;早上看不见的时候,用前后确定的数值加上每日的差值,得到度数的差值。水星晚上看不见的时候,直接用前后确定的数值作为每日的差值,再乘以二,得到度数的差值。然后用每日的度数差值,如果数值是盈余的就减去,数值是亏损的就加到最后变化日的运行速度上。金星和水星早上看不见的时候,要反过来算。再把逆行的差值乘以二,再乘以差率,再除以一,得到每日的差值,用逆行的差值减去它,得到度数的差值。金星晚上看不见的时候,用每日的差值减去逆行的差值,得到度数的差值;早上看不见的时候,用逆行的差值加上每日的差值,得到度数的差值。如果逆行每日的度数差值需要加上的,就减去最后变化日的运行速度。早上看不见的时候,要反过来算。加减完所有变化后,就得到了每日运行速度的最终值。
这些计算方法都参考了《大衍历》,只是在秒分上有些不同,具体要看各自历法的原始方法。
从长庆二年开始,我们用的是《宣明历》。从敬宗到僖宗,一直沿用这个历法。虽然朝廷当时不太平,没时间仔细讨论,但是比起《大衍历》,《宣明历》的方法更简单,预测结果也更准确,没有比它更好的了。一直用到景福元年。
《观象历》,现在没人用了。
《长庆宣明历》从上元甲子年算起,到长庆二年壬寅年,一共计算了七百七万一百三十八次,还多了一些。 这个历法总共用了八千四百个什么单位(具体单位原文没说清楚)。一年有三百六万八千五十五个单位,一个月有二十四万八千五十七个单位,多余的还有四万四千五十五个单位。闰月一共九万一千三百七十一。闰年的周期是二十四万四百四十三,还多六个什么单位(具体单位原文没说清楚)。 中间节气有十五个,还余下一千八百三十五个单位,多五秒。 总共计算了二十九次,还余下四千四百五十七个单位。 跟实际观测相比,差了七个单位,还少三千二百一十四个单位。盈余部分是三千六百七十一,多两秒。朔日差是三千九百四十三。十天为一个周期,总共五十万四千个单位。这个历法用六十个什么单位来纪年(具体单位原文没说清楚)。用八个什么单位来记秒(具体单位原文没说清楚)。候数是五,还多六百一十一,多七秒。卦位是六,还多七百三十四,多两秒。辰数是十二,还多一千四百六十八,多四秒。一个刻有八十四个单位。总共计算了九亿二千四十四万六千一百九十九个单位。周天三百六十五度。虚分是二千一百五十三,多二百九十九秒。岁差是二万九千六百九十九。分统是二百五十二万。秒母三百。
二十四节气,都把气盈缩的分数,盈减、缩加到中间节气里,算出节气对应的日期和剩余的单位、秒数。六虚的差是五十三,多二百九十九秒。历法周期是二十三万一千四百五十八,多十九秒。历法周期天数是二十七天,还多四千六百五十八,多十九秒。历法中间天数是十三天,还多六千五百二十九,多九秒半。周差是一天,还多八千一百九十八,多八十一秒。秒母一百。
七日:开始的数是七千四百六十五;结束的数是九百三十五。十四日:开始的数是六千五百二十九;结束的数是一千八百七十一。上弦:九十一度,多二千六百三十八,多一百四十九点几秒。望:一百八十二度,多五千二百七十六,多二百九十九点五秒。下弦:二百七十三度,多七千九百一十五,多一百四十九点五秒。秒母三百。(用刻法把历法分成度,然后累加起来就是总度数。)
公元1246年。
辰时八刻,也就是早上八点二十八分。昏、明刻各两刻,也就是傍晚和清晨各两刻,一共四十二分。一昼夜一共八十四刻,(度母也是这个算法)。
距离北极点五十六度,余八十二分半。北极星在地平线上方三十四度,余四十七分半。
一年一共是228582个小时,6512秒。
一年有27天,余1782个小时,6512秒。
一年中,白天平均是13天,余591个小时,3256秒。
朔日(农历初一)和望日(农历十五)之间相隔大约两天,余2674个小时,3488秒。
朔望月平均是14天,余6428个小时,5000秒。
前准日(指某一特定日期)是12天,余3754个小时,1512秒。
后准日(指某一特定日期)是一天,余1337个小时,1744秒。
阴历的蚀限是6660。
阳历的蚀限是2640。
阴历的定法是440。
阳历的定法是176。
交率是220。
交数是2573。
秒法是一万。
计算交度时,乘数是11,除数是7333。
周率是3350083秒。
周策是298天,余7340个小时,83秒。
中伏天数是16天,余7870个小时,41.5秒。
变差是98秒,32秒。
交率是182,余52,秒27。
变策是15,余18,秒35。
差率是5。
差数是4。
周率是6551395秒。
周策是779天,余7795个小时,26秒。
中伏天数是70天,余8970个小时,63秒。
变差是3501秒,1秒。
交率是182,余52,秒32。
变策是15,余18,秒36。
差率是39。
差数是10。
周率是3175879秒。
周策是378天,余679个小时,79秒。
中伏天数是18天,余4539个小时,89.5秒。
变差是277秒,92秒。
第一组数据是:交率一百八十二,余五十二,秒二十七;变策十五,余十八,秒三十五;差率十;差数九;周率四百九十万四千八百四十五,秒八十五;周策五百八十三,余七千六百四十五,秒八十五。 你看这堆数字,交率、变策、差率、差数、周率、周策,密密麻麻的,我也不知道是什么意思,反正记录下来了。 然后是夕见伏日二百五十六,夕见伏行二百四十四度;晨见伏日三百二十七,余七千六百四十五,秒八十五;晨见伏行三百四十九,余七千六百四十五,秒八十五;中伏日四十一,余八千二十二,秒九十二半;最后是变差一千二百三十六,秒十二。 这说的啥啊,感觉像天文观测记录,或者什么复杂的计算结果。
第二组数据来了:交率一百八十二,余五十二,秒二十九;变策十五,余十八,秒三十五;夕见差率三十一;差数十;晨见差率二;差数三;周率九十七万三千三百九十,秒二十五;周策百一十五,余七千三百九十,秒二十五。 又是这套,交率、变策、差率、差数、周率、周策,数字换了,但还是看不懂。 然后是夕见伏日五十二,夕见伏行十八度;晨见伏日六十三,余七千三百九十,秒二十五;晨见伏行九十七度,余七千三百九十,秒二十五;中伏日十八,余七千八百九十五,秒十二半;最后是变差三千二百一,余十,秒六十七。 这组数据比上一组短一些,但还是一样让人摸不着头脑。
最后这组数据比较简单:交率一百八十二,余五十二,秒三十二;变策十五,余十八,秒三十六;差率、差数空;秒法百;小分法三千六百。 这回差率和差数是空的,其他的数字也看着简单一些,秒法和什么小分法,估计是某种计算方法吧。 总而言之,这三组数据,看着就头大,完全不知道记录的是什么东西。 要是能有个人解释一下就好了!