首先,咱们算个前差、后差和中差。前差是所入爻的损益率减去后爻的损益率;后差是后爻的损益率减去次后爻的损益率;最后,中差就是前差减去后差的结果。然后,把所入爻和后爻的损益率加起来,再把中差的一半加进去,乘以九,除以二百七十四,就得到了爻末率,也就是后爻的初率。(这都是因为前爻的末率,就等于后爻的初率。) 初率和末率相减得到爻差。把爻差乘以二,再乘以九,除以二百七十四,得到算差。算差的一半,分别加减初率和末率,就得到各自的定率。用算差累加累减爻初定率,(少象用差减,老象用差加),就能算出每算的损益率。然后,根据这个率,按照所入爻的损益,调整进退积,就能得到最终的算定数。(四象中的初爻没有初率,上爻没有末率,都直接用本爻的损益率乘以四再乘以九,除以二百七十四,然后分别用初率和末率减去它,就能得到各自的率。)

接下来,把每个星的平合所入爻的算差的一半减去它的入算损益率。如果是损的话,就用所入余乘以差,用辰法除,再把差加起来,最后取一半;如果是益的话,就先取入余的一半,再乘以差,也用辰法除:这些都是要减去的率。然后,用入余乘以它,再用辰法除。最后得到的结果,用来损益它的算下进退,就能得到平合所入的定数。

然后把进退定数算出来,(金星要乘以二。)分别用合下乘数乘以它,再除以除数。结果如果满辰法就是日数,用它来加减平合日算,(先把平合余约分成四份,然后再加减),得到常合日算。

把常合日先后定数除以四,先用它减去,再用它加上常合日算,就能得到定合日算。再把盈缩分约分成四份,用定合余乘以它,结果满辰法除,得到的结果,用它来加减定余,再加上日夜半日度,就能得到定合加时星度。

最后,把定合日算算出来,加上冬至大小余,减去天正经朔大小余。(至朔小余,都要先约分成四份。如果大余不够减,就加上爻数再减。)余数除以四象的策数,得到月数。余数就是入朔日算。除了天正、经朔算之外,就能得到定合月、日。(如果定朔和经朔有进退,就相应地加减一日。)

首先,要算出最终的数值,需要根据既定的规则进行加减运算。同名的数值要相加,异名的数值要相减。然后,把加减后的结果加到爻算里,如果不够或超了,就调整爻算,直到得到最终的数值。接下来,把后续的各种变化的数值累加起来,再减去之前确定的数值,就能得到第一次变化后的数值。如果要算进退的数值,就用乘数乘,除数除,算出进退的比率。

接下来是具体的数值和比率:

五星变行日中率、度中率、差行损益率、历度(乘数、除数)这些都是计算的基础数据。

合后伏:运行十七日三百三十二分,行程三度三百三十二分。开始比较慢,之后两天速度会加快九分。总行程一度三百五十七分。(乘数三百五十,除数二百八十一。)

前顺:运行一百一十二日,行程十八度六百五十六分。开始比较快,之后五天速度会减慢六分。总行程九度三百三十七分。(乘数三百五十,除数二百八十一。)

前留:运行二十七日。总行程二度二百二十分。(乘数二百六十七,除数二百二十一。)

前退:运行四十三日,后退五度三百六十九分。开始比较慢,之后六天速度会加快十一分。总行程三度四百七十五分。(乘数四百七十,除数四百三。)

后退:运行四十三日,后退五度三百六十九分。开始比较慢,之后六天速度会减慢十一分。总行程三度四百七十五分。(乘数五百一十,除数四百六十七。)

后留:运行二十七日。总行程三度二百一十分。(乘数二百七十,除数二百二十二。)

后顺:运行一百一十二日,行程十八度六十五分。开始比较慢,之后五天速度会加快六分。总行程九度三百三十七分。(乘数二百六十七,除数二百二十七。)

合前伏:运行十七日三百三十二分,行程三度三百三十二分。开始比较快,之后两天速度会减慢九分。总行程一度三百五十八分。(乘数三百五十,除数二百八十一。)

合后伏:运行七十一日七百三十五分,行程五十四度七百三十五分。开始比较快,之后五天速度会减慢七分。总行程三十八度二百一分。(乘数百二十七,除数三十。)

这些数据里,包含了各种运行时间、行程距离以及速度变化的规律,通过这些数据和对应的乘数、除数,就可以计算出各种情况下的最终结果。 记住,这些数据都是基于特定的计算方法和规则得出的。

前面走得快:一共走了214天,走了136度。开始走得快,每天慢4分,一共走了113度596分。(计算方法:乘以227,除以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分。(计算方法:乘以227,除以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)

首先,咱们来说说后退的情况。一共后退了五十天,总共退了二度三百三十四分。开始退得挺快,七天能快一分,平均每天退一度五百三十一分。(计算方法是乘以五,再除以四。)

接下来是后留,持续了三十七天,一共走了三百八十分。平均每天走一度二百八分。(计算方法是乘以二十,再除以十七。)

然后是后顺,持续了八十三天,一共走了七度二百四十一分。开始走得慢,六天能快五分,平均每天走二度六百二十三分。(计算方法是乘以十,再除以九。)

合前伏一共持续了十八天,走了四百一十五分,也就是一度四百一十五分。开始走得快,两天慢九分,平均每天走四百八十分。(计算方法是乘以十二,再除以十一。)

晨合后伏,持续了四十一天,走了五十二度七百一十九分。开始走得慢,三天快十六分,平均每天走四十一度七百一十九分。(计算方法是乘以七百九十七,再除以二百九。)

接下来是夕疾行,持续了一百七十一天,一共走了二百六度。开始走得快,五天慢九分,平均每天走一百七十一度。(计算方法是乘以七百九十七,再除以二百九。)

夕平行持续了十二天,走了十二度,平均每天走十二度。(计算方法是乘以五百一十五,再除以数百五十六。)

夕迟行持续了四十二天,一共走了三十一度,开始走得快,每天都慢十分,平均每天走四十二度。(计算方法是乘以五百一十五,再除以数百三十七。)

夕留持续了八天,一共走了八度。(计算方法是乘以五百一十五,再除以九十二。)

夕退持续了十天,一共退了五度。开始走得慢,每天快九分,平均每天退十度。(计算方法是乘以五百一十五,再除以八十六。)

夕合前伏持续了六天,退了五度。开始走得快,每天慢十五分,平均每天退六度。(计算方法是乘以五百一十五,再除以八十四。)

夕合后伏持续了六天,退了五度。开始走得慢,每天快十五分,平均每天退六度。(计算方法是乘以五百一十五,再除以八十三。)

晨退持续了十天,退了五度。开始走得快,每天慢九分,平均每天退十度。(计算方法是乘以五百一十五,再除以八十四。)

最后是晨留,持续了八天,一共走了八度。(计算方法是乘以五百一十五,再除以八十六。)

早上慢走:走了42天,走了30.5度。开始走得慢,每天速度加快十分之一度。总共走了42.5度。(计算方法:515乘以行程度数,再除以92。)

早上中等速度行走:走了12天,走了12度。总共走了12度。(计算方法:515乘以行程度数,再除以137。)

早上快走:走了171天,走了260度。开始走得慢,每天速度加快九分之五度。总共走了171.5度。(计算方法:515乘以行程度数,再除以156。)

早上合前伏:走了41天又719分之719天,走了52度又719分之719度。开始走得快,每天速度减慢十六分之三度。总共走了41天又719分之719天。(计算方法:797乘以行程度数,再除以290。)

早上合后伏:走了16天又715分之715天,走了33度又715分之715度。开始走得慢,每天速度加快二十二分之一度。总共走了16天又715分之715天。(计算方法:286乘以行程度数,再除以287。)

晚上快走:走了12天,走了17度。开始走得快,每天速度减慢五十分之一度。总共走了12度。(计算方法:286乘以行程度数,再除以287。)

晚上中等速度行走:走了9天,走了9度。总共走了9度。(计算方法:495乘以行程度数,再除以194。)

晚上慢走:走了6天,走了4度。开始走得快,每天速度减慢七十六分之一度。总共走了6度。(计算方法:496乘以行程度数,再除以195。)

晚上停留:停留了3天。总共走了3度。(计算方法:497乘以行程度数,再除以196。)

晚上合前伏:走了11天,后退了6度。开始走得慢,每天速度加快三十分之一度。总共走了11度。(计算方法:498乘以行程度数,再除以197。)

晚上合后伏:走了11天,后退了6度。开始走得快,每天速度减慢三十分之一度。总共走了11度。(计算方法:500乘以行程度数,再除以198。)

早上停留:停留了3天。总共走了3度。(计算方法:498乘以行程度数,再除以198。)

早上慢走:走了6天,走了4度。开始走得慢,每天速度加快七十六分之一度。总共走了6度。(计算方法:497乘以行程度数,再除以196。)

早上中等速度行走:走了9天,走了9度。总共走了9度。(计算方法:496乘以行程度数,再除以195。)

一大早我就赶路,走了十二天,一共走了十七度。开始走得慢,后来每天都加快五十分。总共走了十二度。(用493乘,再除以994。)

接下来算一下早上之前的情况:走了十六天七百一十五分,一共走了三十三度七百一十五分。开始走得快,后来每天都慢了二十二分。总共走了十六度七百一十五分。(用286乘,再除以287。)

把这些每天前进后退的速度变化率都列出来。如果名称相同,就互相抵消,算出差值。如果前面进得多,后面进得少,就把差值加上去;如果前面进得少,后面进得多,就把差值减掉。如果名称不同,就加起来算出总和。前面后退后面前进,就把总和加上去;前面前进后面后退,就把总和减掉。如果反过来走,那就反过来算。最后把这些差值和总和,分别加减到平均每天走的度数里,就能算出每天速度变化的具体数值。(水星快的时候,直接用差值和总和加减平均速度,就能算出变化率。太阳的话,直接用平均速度就是变化率,不用加减。)

首先,咱们得算出合日、前疾初日、后疾初日和合前伏初日这几个日子,然后用相同名称的日期互相抵消,不同的就加起来。所有这些都用四舍五入的方法取一个平均值,算出来的就是每天的度数。接着,用前一天算出来的度数来调整合后伏日的变化率,还有合前伏日和前疾日的变化率。同样,也用后一天算出来的度数来调整后疾日的变化率,以及合前伏日和前疾日的变化率。(金星和水星合的时候,加减要反过来。留和退也是一样。)

如果两个留日变化率和平均值不一样,那就用它们和平均值的差值作为度数,分别加减到本来就有的迟日变化率上。(就是说,如果比平均值多,就加上差值;如果比平均值少,就减去差值。后面的加减都按照这个方法。)如果退行日的变化率和平均值不一样,那就把差值乘以二,然后分别加减到本来就有的疾日变化率上。(土星和木星没有迟日和疾日,所以就直接加减前后的顺行度变化率。)

如果水星疾行日的变化率和平均值不一样,那就用差值作为天数,分别加减到留日的变化率上。(如果留日的变化率本来就少,不够减,那就从迟日的变化率里扣;如果比平均值多,那就用多出来的天数加上去。)所有加减完之后,就得到了每天的最终度数。如果最终度数有小数,就要进行分配。(分配就是把小的部分分配到大的部分,凑成整数天。多出来的部分再分配到其他变化率里。不用加减的,就按照原来的变化率算最终度数。)

好家伙,这段文字看着就头大,咱们一句一句慢慢捋。首先,它说要根据星宿的运行规律来计算时间,用一种叫“减辰法”的方法来确定星宿的初始位置。然后呢,再用星宿每天运行的度数乘以这个“减辰法”算出来的数值,再加上初始时间,就能算出当天半夜星宿的位置以及剩余的度数。 从这里开始,计算每天星宿位置都要从半夜开始算。

接下来,根据星宿每天运行的度数,顺行就加,逆行就减。如果度数里有小数,就按照规定的方法进位或退位。如果星宿运行到某个位置没有记录度数,那就沿用前一天的度数;如果逆行,那就按照减法来算。如果顺行超出某个范围(“虚”),就要减去超出部分的差值;如果逆行进入这个范围,就要加上这个差值。这个差值呢,是按照四分之一的比例来加减的。最后,把算出来的度数进行四舍五入,得到每天星宿的具体位置。

这段说的是,每天星宿运行的度数并不固定,会快会慢,所以每天的差值也不一样,没法预先确定。所以,先用个平均值来大概算算,然后根据实际情况再调整。因为平均值会有盈余或不足,所以差值也要跟着调整。先找到跟平均值最接近的实际值,用它的差值来计算星宿在开始和结束时的运行度数。然后,再根据这些差值,依次计算其他时间的运行度数,反复比较,直到结果符合实际情况,就像事物发展衰亡一样循环往复。金星和水星的计算,主要以平均运行速度为基础,其他变化情况以此类推。

最后,这段讲的是,即使有了每天运行度数的平均值,如果计算出的星宿位置和实际观测结果不符,那就以实际观测结果为准。至于星宿初次出现和消失的度数,每天都不一样,要根据每天的运行度数和星宿的位置来计算。比如木星是十四度,金星是十一度,火星、土星、水星都是十七度才出现,减一度就消失了。木星、火星、土星这三颗星,在顺行开始、顺行结束的时候,以及金星、水星快速运行、停止运行、逆行开始和结束的时候,都是它们出现或消失的起始时间,需要根据历法来精确确定。金星、水星以及太阳、月亮的度数,都不需要记录小数。

首先,我们来确定一个每日的平均速度,然后减去1,用剩下的数乘以速度差,得到一个数值,我们把它叫做“实”。再用速度差乘以每日平均速度,得到另一个数值,我们把它叫做“法”。用“实”除以“法”,得到每日速度的差异,也就是每日的差值。接下来,用某种方法(原文没解释是什么方法,这里就保留原文“辰法通度定率”)计算出平均速度,然后用这个平均速度与每日平均速度进行比较,得到一个数值,我们把它叫做“平行度分”。然后,用每日平均速度减去1,再用剩下的数乘以速度差,再除以2,得到一个数值,我们把它叫做“差率”。最后,根据速度是加快还是减慢,用这个“差率”分别加上或减去“平行度分”,就能计算出起始日和结束日的行驶距离。如果计算结果不精确,需要先用每日平均速度减去1,用剩下的数乘以速度差,得到一个数值作为“实”,再将速度差乘以2作为“法”,用“实”除以“法”得到结果,不够精确的部分就作为小数点后的数值。

接下来,我们计算每天的行驶距离。如果是速度逐渐变慢的情况,就从起始日的行驶距离开始,每天都减去每日速度的差值;如果是速度逐渐变快的情况,就每天都加上每日速度的差值。这样就能计算出每天的行驶距离了。如果起始日行驶距离和小数点后的数值都有小数,需要先把它们化成相同的小数位数,然后再进行加减运算。

如果我们已知行驶的天数,需要计算行驶距离,那么就先减去1,再乘以每日速度的差值,然后除以2。把得到的结果加上或减去起始日的行驶距离(速度变慢就减,速度变快就加),再乘以已知的天数,最后用某种方法(原文没解释是什么方法,这里就保留原文“辰法”)进行计算,就能得到总行驶距离了。不够精确的部分就作为小数点后的数值。

如果我们已知行驶距离,需要反过来计算行驶的天数,就先用某种方法(原文没解释是什么方法,这里就保留原文“辰法”)乘以已知行驶距离。如果有小数,就保留小数。然后乘以8,再除以每日速度的差值,得到一个数值,我们把它叫做“积”。再把起始日的行驶距离乘以2,然后根据速度是加快还是减慢,分别加上或减去每日速度的差值,再除以每日速度的差值,得到一个数值,我们把它叫做“率”。然后让“率”自乘,再根据速度是加快还是减慢,分别加上或减去“积”。最后开平方,再根据速度是加快还是减慢,分别加上或减去“率”,再除以2,就能得到行驶的天数了。开平方的方法是:把要开平方的数作为“实”,在“实”的下面写一个1,叫做“下法”,然后进行一系列的运算(原文详细描述了开平方的步骤,这里保留原文)。

首先,咱们来说说这五星的位置变化。五星运行到某个位置之前,如果落到阳爻,就在黄道北边;如果落到阴爻,就在黄道南边。运行到那个位置之后呢,情况就反过来了,落到阳爻就在黄道南边,落到阴爻就在黄道北边。 金星和水星有点特殊,傍晚出现算作之前,早晨出现算作之后。 计算它们运行的距离,要从它们第一次进入爻的那个日子算起,一直算到它们最后到达上爻为止。如果算出来的运行距离没达到标准值,那就用实际运行天数乘以标准值,算出相当于标准值的天数。 如果实际运行天数比这个算出来的天数少,那五星的位置就根据它最初进入的阴阳爻来确定是在黄道南北哪边;如果超过了这个天数,那就南北方向要反过来。

接下来说说这本《九执历》。这书是从西域传来的,开元六年,朝廷让太史监瞿昙悉达把它翻译成汉文。这历法只取了比较近的一段时间,以开元二年二月初一作为历法的起始日。它的度数系统是六十度制。一个月二十九天,余下七百三分之三百七十三天。历法开始的时候,朔日(农历初一)还有个一百二十六分的虚数。周天三百六十度,没有余数。太阳每天运行的度数是九百分之十三度。两个月算一个季节,六个季节算一年。三十度为一相,十二相合起来就是一个周天。望(满月)之前叫白博义,望之后叫黑博义。 这历法计算全是用文字记录,不用算筹。方法又复杂又琐碎,偶尔算对了,也不能当成普遍适用的方法。它的名词和数字都怪里怪气的,一开始根本搞不懂。陈玄景他们拿这个历法来迷惑当时的人,说一行(一行和尚,唐代高僧,著名天文历算家)记录的计算方法不完整,这完全是胡说八道!