志·律历(十一)
元会
月食数据的形成,在于记载已经发生的月食现象。大约二十三次月偏食后出现月全食,再次月全食之间相隔一百三十五个月,用这两个数相除,得到五月二十三之二十一次月食。用这个数去除一岁月数,得到五百一十三分之五十五,这是一岁再次发生月食的概率,因此五百一十三年应当发生一千零八十一次月食。用五百一十三与蔀的岁数七十六相约,得到公约数十九,约余之后为是四与二十七。三数相乘,得到二千零五十二,这是五百一十三与七十六的最小公倍数,叫做蔀会。二千零五十二乘以二十,得到四万一千零四十,这是五百一十三与四千五百六十的最小公倍数,叫做元会。
元会,四万一千零四十;蔀会,二千零五十二;岁数,五百一十三;食数,一千零八十一;月数,一百三十五;食法,二十三。
推算入蔀术的方法是:用元法除上元积年数,去商数取其除不尽的余数,用纪法除此余数,据所得商数按天、地、人三纪的顺序从天纪算起,算外,即所入之纪。不满纪法的余数即入纪年数。以蔀法除此年数,据所得商数按二十蔀的顺序从甲子蔀算起,算外,即所入之蔀。不满蔀法的余数即入蔀年数,各按所入纪的岁名来命名,算上,即所求的年太岁干支所在。
推算月食所进入蔀会年次的方法是:用元会除上元积年数,去商数而取其除不尽之余数,以蔀会除此余数,然后用二十七乘所得商数,其乘积为积蔀数。积蔀数如在六十或者整倍数以上,应减去此数;用二十除其剩余之积蔀数,据所得商数从天纪算起,算外,即所入之纪。开始演算时不满蔀会数即是入蔀会之年数。各按所入纪的岁名来命名,算上,即所求年太岁干支所在。
推算天正的方法是:以一减入蔀年数,其差数乘以章月,其乘积除以章法,所得商数为积月数,除不尽之余数为闰余。闰余在十二以上(含十二),该岁就有闰月。
推算正朔日的方法是:以蔀日乘入蔀积月数,其乘积除以蔀月,所得商数为积日数,除不尽之余数为小余。以六十除积日数,去商数而以其除不尽的余数为大余。以干支配合大余来命名,从所入之蔀名算起,大余算尽之外,即前一年之天正十一月朔日。小余在四百四十一以上(含四百四十一),该月为大月。求次月朔,前月朔大小余数分别加大余二十九,小余四百九十九;如所得小余之和足以减蔀月,应在减去蔀月的同时,再加大余一;日期命名的方法像前面一样。
另一个算法是:以周天与闰余之乘积减大周与入蔀积年之乘积,所得差数除以蔀月,其商数为积日数,除不尽之余数为小余。剩下的步骤仍照前条所述,即可推得天正朔日。
推算二十四节气的方法是:用一减入蔀年数,其差数乘以日余,乘积除以中法,所得商数为大余,除不尽之余数为小余。大余数如在六十或者其整倍数以上,应减去此数,而以所余之数配合蔀名来给日期命名,算尽之外,即前一年的冬至日。
推算次气的方法是:据前气大小余数分别加大余十五,小余七。大余或应减去六十以及配合蔀首命名之法,均像前面条法论述的。按照这个方法求得出冬至的次节气,即小寒日。
推算闰月所在月份是:以闰余减章法,其差数乘以十二,其乘积除以章闰,除不尽之余数在四以上,则商数加一,据此近似之商数从前一年之十一月算起,算尽之外,即闰月所在月份。这一算法可能有误差,准确的闰月应以不含中气这一原则来确定。
推算弦、望日期的方法是:根据本月朔大小余之数,分别加大余七,小余三百五十九,如果所得小余和足以减蔀月,应在减去蔀月的同时,再加大余一,大余配合蔀首命名如前。按此法大小余数加一次,得上弦;加两次得到望;加三次,得到下弦;再加一次,得到下月朔。弦、望小余如在二百六十以下,可乘以一日刻数一百,然后除以蔀月。这样算得的是该弦、望在夜半之后的刻数。如果这一刻数少于其相近节气夜漏刻数的一半,该弦望日的命名方式可略加变通,改用“算上”法来确定。
推算没灭日的方法是:用一减入蔀年数,其差数乘以没数,其乘积除以日法,所得商数为积没,除不尽的余数为没余。以通法乘积没,其乘积除以没法,所得商数为大余,除不尽之余数为小余。大余数如在六十或者其整倍数以上应减去此数,再以其余数配合蔀名来命名,算尽之外,即前一年冬至前之没日。求后一没日,以前一没日大小余数为基础,加大余六十九,小余四;如小余之和足以减没法,应在减去没法的同时,再加大余一,然后按蔀名命名如前。如果该没日除大余之外,别无小余分数,则为灭日。
另一种算法是:用十五和冬至小余之乘积减通法,以没法除其差数,所得为自冬至到后一没日的积日数,从冬至日名算起,算外,即得后一没日。
推算合朔所在度数的方法是:以蔀日乘入蔀积月,其乘积在大周以上,应减去大周或其整倍数,以蔀月除其差数,所得商数为积度,除不尽之余数为余分。以积度及余分加斗宿二十一度二百三十五分,然后顺次减去自斗宿以下各宿之宿度值,直到所余积度不足以减一宿度,即得所求日月合朔所在之星宿及度数。求下一次合朔所在,就前次合朔所入宿度、分之数加度数二十九分数四百九十九;余分之和足以减蔀月,应减去蔀月之数,同时度数再加一;入宿算法如前。经过斗宿,应减去二百三十五分。
另一种方法是:用闰余与周天之乘积减大周,以蔀月除其差数,所得为度、分之数,加上斗宿二十一度,其余步骤参照前法,这样可以求得天正十一月合朔时日月所在的星度。
推算太阳所在度数的方法是:以蔀法乘入蔀积日,其乘积除以蔀日,去商数取其除不尽的余数,以蔀法除此余数,所得商数为积度;除不尽之余数为余分。积度及余分之数应加上斗宿二十一度,再加余分十九,然后顺次减去斗宿以下各宿的宿度值,直到不可减之宿,即得到夜半太阳所在宿度。
推算第二天的太阳宿度方法是:就前一天的宿度加一度。
推算一月后太阳宿度的方法是:大月加三十度,小月则加二十九度。经过斗宿,应减去十九分。
另一种算法是:用朔小余数减合朔时日月所在星宿度、分之数,即得朔日夜半太阳所在星宿、度分之数。这里仍然以一度为九百四十分,如果要把它换算为七十六分制,应将所得余分之数乘以十九分之二百三十五。
推算月亮所在宿度的方法是:用月周乘入蔀积日之数,用蔀日除其乘积,去商数而取其除不尽之余数;以蔀法除此余数,所得商数为积度,除不尽之余数为余分。用积度及余分之数加斗宿二十度十九分,然后顺次减去斗宿以下各宿宿度,至所不可减之宿,即得所求之日夜半月亮所在宿度。
推算第二天的月亮宿度是:依原宿度数加十三度二十八分,求出该月月亮宿度;大月依照原宿度数加三十五度六十一分;小月则加二十二度三十三分;分数之和在蔀法以上,应减蔀法之数,同时再加一度;经过斗宿,应减去十九分。如果在冬天各月的下旬推得月亮在张宿或在心宿,应在历日中注明,这是指在白昼漏刻尽后,到黑夜漏刻尽前发生这一情况而言的。
另一种算法是:用蔀法除朔小余,以所得商数减朔日夜半太阳所在度数,并以除不尽之余数减太阳所在度数之余分。其差数即朔日夜半月亮所在度、分之数。
推算天明时太阳进入星宿度、分数的方法是:用蔀法乘与所求日相近节气之夜漏刻数,用二百除其乘积,所得商数即从夜半到天明这一时段内太阳所运行之分数。用此分数与夜半时太阳所在星宿度、分之数相加,其和即天明时太阳所在度、分之数。
推算天昏时太阳所进入星宿度数的方法是:把从夜半到天明太阳所运行分数减蔀法,其差数即从夜半到天昏这一时段内太阳所运行之分数,以此分数与夜半时太阳所在星宿度、分之数相加,其和即天昏时太阳所在度、分之数。
推算天明时月亮进入的星宿度、分数的方法是:用月周乘与所求日相近节气之夜漏刻数,用二百除其乘积,所得商数为积分;以蔀法除积分,所得商数为积度,用积度及所余积分之数与夜半月亮所在星宿度、分之数相加,其和即天明时月亮所在星宿度、分之数。
推算天昏时月亮所进入的星宿度数的方法是:以天明时月亮运行之积分数减月周,以蔀法除其差数,所得商数即从夜半到天昏时月亮运行之积度数,以此数与夜半时月亮所在星宿度数相加,其和即天昏时月亮所在度数。
推算弦、望时太阳进入星宿度数的方法是:以七度三百五十九分加合朔时太阳所在星宿度、分,然后按顺序减去应减之宿度,即得上弦时太阳所进入之星宿度、分之数。
推算望、下弦时太阳所在的方法是:据上弦时太阳所在续加前述度、分之数,得望所在;再加一次,得到下弦所在。顺次减应减之宿度亦如前法。小分之和满四,得一大分;大分之和满蔀月之数,得一度。
推算弦、望时月亮进入星宿度数的方法是:用九十八度六百五十三分加合朔时月亮所在星宿度、分之数,然后顺次减去应减之宿度,即得上弦时月亮所进入之星宿度、分之数求望、推算下弦时月亮所在:据上弦时月亮所在续加前述度、分之数,得望所在,再加一次,得下弦所在,顺次减应减之宿度亦如前法。分数之和满蔀月之数,得到一度。
推算月食的方法是:用一减入蔀会年数,以食数乘其差数,再以岁数除其乘积,所得商数名为积食,除不尽之余数为食余。以月数乘积食,以食法除其乘积,所得商数名为积月,除不尽之余数为月余分。以章月除积月,去商数而以其除不尽之余数为入章月数。应当先从入章月数中扣除闰月之数,然后用十二除剩余之入章月数,去商数而取其除不尽之余数,以此余数配合月序从十一月算起,算尽之外,就是前一年十一月之前发生月食的月份。
推算入章闰月数的方法是:用章闰乘入章月数,以章月除其乘积,所得商数即入章闰月之数。除不尽余分如在二百二十四到二百三十一之间,则月食发生在闰月。闰月所在有时难以判断,根据朔日之后只有节气而无中气这一事实来加以确定。
推算下一次月食的方法是:就前食月次及月余分之数加五月十十分;月余分之和等于或大于法数十二三,应减去二十三,以所得一月加入月数,月次的命名办法如前。当月余分刚好减完时,月食发生在算上之月。
推算有月食月朔日的方法是:用二十九乘食积月之数,所得乘积为积日;又用四百九十九乘以积月,以蔀月除其乘积,以所得商数加入积日之数。用六十除积日总数,去商数而取其除不尽之余数,以所进入蔀会的第一蔀名配合积日余数命名,余数算尽之外,即前一年天正十一月之前有月食之月的朔日所在。
推算月食日的方法是:根据前面所得有食月朔日大小余数分别加大余十四,小余七百一十九,小余之和等于或大于蔀月,应减去蔀月之数;同时大余应再加一。大余仍照前法命名,即得月食之日。
推算下一个有月食月朔日及月食日的方法是:用大余二十七、小余六百一十五加前一个有月食之月朔日大小余数,可得下一个有月食之月朔日;以同数加前月食之日大小余数,可得下一个月食之日。如该月月余分数不足二十,则除加前数之外,还应再加大余二十九,小余四百九十九。月食日小余数应当换算为漏刻之数,以便分别昼夜。如果月食时刻出现在夜半之后,夜漏未尽之时,其日名的推算改以算上之法为准。
推算月食的另一种方法是:用岁数除上元以来积年数,去商数取其除不尽之余数。将此积年之余数换算为积月;用一百一十二乘以积月,以月数除其乘积,去商数而取其除不尽之余数;以食法除积月余数,所得商数即从天正十一月算到其后有月食之月的月数。
推算各种天象发生时辰的方法是:用十二乘其小余,从所得乘积之中先减去其相关法数的一半,得到一时,减后差数再除以法数,以所得之商数加前所得一时数配合时序从夜半子正算起,算尽之外,就是该天象发生的时辰。
推算各种天象发生时的上水漏刻数的方法是:用一百乘以其小余,用法数除其乘积,所得商数为夜半以后积刻之数;除不尽的余数乘以十之后仍除以法数,所得商数为不足一刻之积分数。应从积刻、积分数中先减去与该日相近节气夜漏刻的半数,剩余部分为进入昼漏上水以后的刻数;在过完昼漏刻数之后,剩余部分为夜漏上水刻数。如果按小余算得的积刻数少于夜漏刻的半数,应反过来以积刻数减夜漏刻的半数,以其差数为昨夜未尽之刻数。当弦、望时刻出现在后半夜时,日名按“算上”法确定。
月食推算黄其军
2023年9月2日(古历癸卯年七月十八),摘自于《后汉书:文白对照/章惠康主编》北京:华夏出版社,ISBN 978-7-5080-6668-4)。
文中照片来源于网络,对作者的辛勤劳动表示衷心的感谢!
近期同类文章链接:
网友评论