首先,咱们用现代话来说说这个算法。它主要讲的是怎么计算历法,也就是古代的日历。 它用各种比例和系数来调整月球的运行轨迹,最终算出每个月的长度和朔望(农历初一)的日期。 这套算法看起来很复杂,但它背后的逻辑是根据月球的运行规律,不断地修正和调整,力求精确。

接下来,我们一句一句地翻译:

1. 用衰减的加减益率,算出变损益率,然后用这个率来调整夜半盈亏(指月亮盈亏的变化)。如果减到不足了,就反过来加,再按之前的规律继续算。

2. 用每月运行的度数乘以最近的节气夜漏(古代计时单位),再除以200,得到明分。用每月运行的度数减去明分,得到昏分。把分换算成度,用总度数乘以分,再加到夜半的定度上,得到昏明定度。剩下的分,如果超过一半就进位,不够就舍去。

3. 月亮运行有四个表(指四种计算方法),出入(指月亮盈亏)有三个途径,它们交错影响着天数的计算。用月球运行的比率去除这些影响,就能算出历法的日数。把周天(360度)乘以朔望合(指朔望日的天数),再除以会合月(指朔望月的天数),得到朔合分。用总度数乘以合数,剩下的按会合月的天数计算,得到退分。用这个方法算出每月前进的度数,每会合月一次,就得到一个差率。

4. 接下来的部分是具体的数值计算例子,展示了阴阳历中衰损益率的应用。 “一日一减益十七初”、“二日(限余千二百九十,微分四百五十七。)此为前限”等等,这些都是具体的计算步骤和结果,用现代语言难以简洁地表达其含义,只能保留原文。 这些数字代表着每天的加减修正值,以及一些临界值和中间结果。

5. “十三日(限余三千九百一十二,微分一千七百五十二。)此为后限” 之后,继续列出了具体的计算步骤和一些关键参数,例如“少大法,四百七十三”、“历周,十万七千五百六十五”、“差率,万一千九百八十六”、“朔合分,万八千三百二十八”、“微分,九百一十四”、“微分法,二千二百九”。这些都是算法中用到的常数和中间结果。

6. 最后,用会合月的天数减去上元积月(指某个起始日期的累计月数),然后分别用朔合分和微分乘以结果。如果微分够进位就从合分里进位,合分够周天就减去周天。剩下的不满历周的,就是入阳历;满了就减去,剩下的就是入阴历。剩下的部分,按每月的天数计算,得到最终的日期。 需要注意的是,这个计算过程可能会有剩余,这部分剩余值代表着计算误差。

总而言之,这段文字描述的是一套相当复杂的古代历法计算方法,用现代语言解释起来比较困难,很多专业术语也难以用通俗的语言完全表达其精确含义。 原文中大量的数字和计算步骤,体现了古代天文历法学家精湛的计算技巧和对天体运行规律的深刻理解。

加了两天,日余是两千五百八十,微分是九百一十四。按照方法算出天数,满十三就减去,剩下的就是日余和微分。阴阳历就这样互相套用了,入历的限度在前面,余数也在前面;后面的限度和余数在后,月行在中间。

接下来,分别把入迟疾历的盈缩大小分都放进去,把会数乘以小分得到微分,把盈减缩加到阴阳日余上,日余如果盈余或不足,就调整天数来确定。用确定的日余乘以损益率,如果月周得到一,就用损益的总数,作为加时定数。

用差率乘以朔小余,按照微分的方法得到一,用它减去入历日余,如果不足,就加上月周再减,再减去一天。把得到的日余加上它的分,用会数约简微分得到小分,这样就得到朔日夜半的入历时间。

求第二天,加一天,日余是三十一,小分也是三十一。小分如果和会数相加有余数,余数满月周就减去。又加一天,历法算完了,日余和分日满了就减去,就是入历的开始。不满分日的就保留,加上余数二千七百二,小分三十一,就是入次历。

用通数乘以入迟疾历夜半的盈缩和余数,余数满半周就作为小分。用盈数加,缩数减,调整阴阳日余,日余盈余或不足,就用月周调整天数来确定。用确定的日余乘以损益率,如果月周得到一,就用损益的总数,作为夜半定数。

用损益率乘以最近节气夜里的漏刻数,二百分之一为明,用它减去损益率就是昏,然后用损益夜半数作为昏明定数。

把加时定数和昏明定数都列出来,用十二除以它作为度数,余数的三分之一为少,不满一为强,两个少为弱。得到的结果就是月去黄道度。阳历用加日所在的黄道历去极度,阴历用减法,就能得到月去极度。强为正,弱为负,强弱相加减,同名相加,异名相减。相减时,同名相消,异名相加,没有相对的,两个强加一个少减一个弱。

从上元己丑年开始,到建安十一年丙戌年,一共积累了七千三百七十八年。

己丑 戊寅 丁卯 丙辰 乙巳 甲午 癸未

壬申 辛酉 庚戌 己亥 戊子 丁丑 丙寅

这段文字描述的是古代天文计算方法,具体来说是五星的运行轨迹预测。我们一句一句地来解读,用现代口语解释一下。

首先,它定义了五颗行星:木星(岁星)、火星(荧惑)、土星(填星)、金星(太白)、水星(辰星)。 然后解释了计算它们运行轨迹的一些基本参数,比如每天和每年运行的角度(周率、日率)。 怎么算月球运行呢?用每年运行的角度乘以周数得到月球运行的规律(月法),再用月球运行规律乘以天数得到更精确的月球运行数据(月分),最后把这些数据整合起来,就能算出每个月具体的运行情况(月数)。 总而言之,就是通过一系列的乘法和除法运算,来计算行星的运行轨迹。 最后一句话,用斗分乘以周率,得到斗分(这个斗分具体指什么,需要结合当时的星象学知识来理解)。

接下来,它开始计算五星的盈亏余数。 什么叫朔大余、小余? 就是通过一系列的计算(用通法乘以月数,再用日法除),得到一个大余数和小余数。 大余数超过六十就减去六十。 这部分计算比较复杂,涉及到很多天文参数的运用,目的是为了更精确地预测行星的位置。

然后是计算五星每个月运行的天数和余数(入月日、日余)。 这部分计算也比较复杂,需要用到前面计算出来的各种参数,以及一些其他的天文常数(合月法、朔小余等),最终得到每个月行星运行的天数以及剩余的度数。

接下来是计算五星的度数和余数(度数、度余)。 这部分计算是将多余的度数转化成周天数,再进行约分,得到最终的度数和余数。 如果超过周天就减去周天数,还要考虑斗分。

之后,它列出了一系列的常数,这些常数是进行上述计算所必需的。例如,纪月(一年有多少天)、章闰(闰月个数)、章月(一年有多少个月)、岁中(一年有多少个月)、通法、日法、会数、周天、斗分等等。这些数字都是古代天文学家经过长期观测和计算得出的结果。

最后,它分别列出了木星和火星的具体参数,包括周率、日率、合月数、月余、合月法、日度法、朔大余、朔小余、入月日、日余、朔虚分、斗分、度数、度余等。这些数据都是根据上述公式计算出来的,用于预测木星和火星的运行轨迹。 这些数据相当复杂,需要深入了解古代天文计算方法才能理解其含义。

总而言之,这段文字描述的是一套古代的天文计算系统,用于预测五星的运行位置。 其计算过程复杂,需要掌握大量的常数和公式。 这套系统反映了古代中国天文学家对宇宙运行规律的深入研究和理解。

老黄历上写着:土星啊,一年转3529圈。太阳呢,一年转3653圈。合起来算,一年大概有12个月。剩下的,还有53843圈没转完。按照一个月来算,一共是6751圈。按照一天来算,就是278581圈。朔日的大余数是54,小余数是534。每个月有24天,剩下的还有166272圈没转完。虚分是923,斗分是511750。度数是12,剩下的度数是1733148。

金星呢,一年转9022圈。太阳一年转7213圈。合起来算,一年大概有9个月。剩下的,还有152293圈没转完。按照一个月来算,一共是171418圈。按照一天来算,就是5313958圈。朔日的大余数是25,小余数是1129。每个月有27天,剩下的还有56954圈没转完。虚分是328,斗分是1308190。度数是292,剩下的度数是56954。

水星啊,一年转11561圈。太阳一年转1834圈。合起来算,一年大概有1个月。剩下的,还有211331圈没转完。按照一个月来算,一共是219659圈。按照一天来算,就是6809429圈。朔日的大余数是29,小余数是773。每个月有28天,剩下的还有6419967圈没转完。虚分是684,斗分是1676345。度数是57,剩下的度数是6419967。

最后,把你要算的那一年,乘以周率,看看能得到多少个日率,这叫积合,不够一个日率的部分就叫合余。然后用周率除以合余,能得到一个整数,那就是星合往年;得到两个整数,那就是合前往年;如果什么都得不到,那就是合其年。把合余从周率里减掉,剩下的就是度分。金星和水星的积合,奇数是早晨,偶数是晚上。

首先,咱们算算月亮的事儿。把每个月的数量和剩余的天数分别相乘,加起来,如果能整除一个月的标准天数,那就按整月算;不够一个月的,就记作剩余天数。再用记录月份的天数减去累计的月份,剩下的就是进入下一个纪月的月份。然后,考虑闰月的影响,如果符合闰月的条件,就减去一个闰月的天数,剩下的天数再从一年中减去,剩下的就作为天正计算之外的剩余月数。如果在闰月交接的时候,就用朔日来调整。

接下来,用常规方法乘以剩余的月数,再用月数的标准值乘以朔日剩余的天数,把这两个结果加起来,然后用会合周期来约分。如果结果能整除每日的度数标准,那就得到了星体合月的那一天;不够整除,剩下的就是剩余天数,记在天正计算之外。

然后,用周天数乘以度分,如果能整除每日度数的标准值,就得到一度;不够整除,剩下的就是剩余度数,从牛宿五星开始算起。 以上是求星体合月的计算方法。

接下来,计算年限。把月数加起来,把剩余天数加起来,如果加起来能整除一个月的标准天数,那就算作一年;不够一年的,就记在这一年里;如果超过一年,就减去一年,如果有闰月,也要考虑进去;剩下的天数就记到下一年;再超过一年,就记到后两年。金星和水星,如果在早晨出现,加一天就变成晚上出现;如果在晚上出现,加一天就变成早晨出现。

把朔日大小的剩余天数,加上合月大小的剩余天数,如果超过一个月的标准天数,就再加一个大余(29天)或一个小余(773分);如果小余超过每日度数的标准值,就从大余里扣除,方法和前面一样。

把入月日和剩余的天数加起来,如果剩余的天数能整除每日度数的标准值,就得到一天;如果前面合朔日剩余的天数刚好填满虚分,那就减去一天;如果后面剩余的天数超过773以上,就减去29天;不够29天,就减去30天;剩下的就是后一次合朔的入月日。

最后,把度数加起来,把剩余的度数加起来,如果能整除每日度数的标准值,就得到一度。

下面是木星、火星、土星和金星的具体数据:

木星:伏藏32天,3484646分;可见366天;伏藏运行5度,2509956分;可见运行40度(减去逆行12度,实际运行28度)。

火星:伏藏143天,973113分;可见636天;伏藏运行110度,478998分;可见运行320度(减去逆行17度,实际运行303度)。

土星:伏藏33天,166272分;可见345天;伏藏运行3度,1733148分;可见运行15度(减去逆行6度,实际运行9度)。

金星:早晨在东方伏藏82天,113908分;可见在西方246天(减去逆行6度,实际运行240度);早晨伏藏运行100度,113908分;可见在东方(每日度数同西方,伏藏10天,逆行8度)。

水星啊,它早上出现的时间一共是33天,走了612万255分。然后呢,它出现在西方天空,持续了32天。(减去一度逆行,最终算下来是走了32度。)之后它又往前走了65度,一共还是612万255分。然后就出现在东方了。它在东方每天走的度数跟在西方一样,一共伏行18天,退了14度。

计算水星每天走的度数和剩余度数,再加上它和太阳会合后剩余的度数,如果剩余度数达到了一天的度数,那就从完整的周期开始算,这样就能算出水星出现的时间和度数了。用水星运行的分母乘以它出现的度数,剩余的度数如果能被日度法整除,就得到一;如果除不尽,超过一半就也当作一;然后把得到的数加到它每天走的度数上,如果度数达到了分母,就加一度。逆行和顺行分母不一样,用它当前运行的分母乘以剩余度数,如果结果等于原来的分母,那就得到了它当前运行的度数。留下的度数继承之前的,逆行就减去。如果伏行(指隐没)的度数不够,就用斗(星宿名)来除以度数,用运行的分母作为比例,度数会有增减,前后相互制约。凡是说“盈”、“约”、“满”的,都是求精确的除法;“去”和“除”呢,是取尽的除法。

木星嘛,早上它和太阳在一起,然后就隐没不见了,顺行,持续了16天,走了174万2323分,行星走了2度323万467分,然后早上出现在东方,在太阳后面。顺行,速度快,每天走58分之11,58天走11度。然后继续顺行,速度慢了,每天走9分,58天走9度。然后它停了,25天不动,然后又开始转了。逆行,每天走七分之一,84天退了12度。然后又停了,25天后又顺行,每天走58分之9,58天走9度。顺行,速度快,每天走11分,58天走11度,在太阳前面,傍晚隐没在西方。持续了16天,走了174万2323分,行星走了2度323万467分,然后又和太阳会合了。一个完整的周期,一共是398天,348万4646分,行星走了43度250万9956分。

太阳:早上它跟太阳一起出现,然后就潜伏起来了。之后呢,它就顺行,一共71天,走了1489868分,在行星上走了55度242860.5分。然后早上就能在东方看到它,在太阳后面。顺行的时候,每天走23分之14,184天走112度。再顺行,速度慢下来了,每天走23分之12,92天走48度。然后它就停了,11天不动。接着它反向运行,逆行,每天走62分之17,62天倒退17度。然后又停了,11天不动,之后又开始顺行,每天走12分,92天走48度。再次顺行,速度快了,每天走14分,184天走112度,这时它在太阳前面,晚上就潜伏在西方。71天,走了1489868分,在行星上走了55度242860.5分,然后它又跟太阳一起出现了。一个周期走完,一共是779天973113分,在行星上走了414度478998分。

土星:早上它跟太阳一起出现,然后就潜伏起来了。之后呢,它就顺行,一共16天,走了1122426.5分,在行星上走了1度1995864.5分。然后早上就能在东方看到它,在太阳后面。顺行的时候,每天走35分之3,87.5天走7.5度。然后它就停了,34天不动。接着它反向运行,逆行,每天走17分之1,102天倒退6度。然后又过了34天开始顺行,每天走3分,87天走7.5度,这时它在太阳前面,晚上就潜伏在西方。16天,走了1122426.5分,在行星上走了1度1995864.5分,然后它又跟太阳一起出现了。一个周期走完,一共是378天166272分,在行星上走了12度1733148分。

金星啊,它早上和太阳相遇的时候,先会“伏”,也就是逆行,五天后退四度,然后早上就能在东方看到它,在太阳的后面。继续逆行,每天退三分之五度,十天就后退六度。然后它会“留”,停下来不动八天。接着“旋”,也就是开始顺行,速度比较慢,每天走四十六分之三十三度,四十六天走三十三度,开始顺行。之后速度加快,每天走一度九十一分之十五,九十一天走一百六度。速度继续加快,每天走一度九十一分之二十二,九十一天走一百一十三度,这时候它在太阳后面,早上出现在东方。最后顺行四十一日五万六千九百五十四分,行星走了五十度五万六千九百五十四分,然后又和太阳相遇了。一次会合,一共是二百九十二日五万六千九百五十四分,行星运行的度数也一样。

金星晚上和太阳相遇的时候,先会“伏”,这次是顺行,四十一日五万六千九百五十四分,行星走了五十度五万九千九百五十四分,然后晚上就能在西方看到它,在太阳前面。接着顺行,速度很快,每天走一度九十一分之二十二,九十一天走一百一十三度。然后速度稍微减慢,每天走一度十五分,九十一天走一百六度,继续顺行。速度变慢,每天走四十六分之三十三度,四十六天走三十三度。“留”,停下来不动八天。“旋”,开始逆行,每天退三分之五度,十天后退六度,这时候它在太阳前面,晚上出现在西方。“伏”,也就是逆行,速度很快,五天后退四度,然后它就和太阳相遇了。两次会合一个周期结束,一共是五百八十四日十一万三千九百八分,行星运行的度数也一样。

水星早上和太阳相遇的时候,先会“伏”,也就是逆行,九天后退七度,然后早上就能在东方看到它,在太阳后面。继续逆行,速度很快,每天退一度。“留”,停下来不动两天。“旋”,开始顺行,速度比较慢,每天走九分之八度,九天走八度,开始顺行。速度加快,每天走一度四分之一,二十天走二十五度,这时候它在太阳后面,早上出现在东方。然后顺行十六日六百四十一万九百六十七分,行星走了三十二度六百四十一万九百六十七分,然后又和太阳相遇了。一次会合,一共是五十七日六百四十一万九百六十七分,行星运行的度数也一样。

太阳落山了,跟星星一起消失了。 按照计算,这颗行星在十六天里走了三十二度又六百四十一万九千六百六十七分之一度。 傍晚的时候,它出现在西方,在太阳的前面。 有时候它运行得很快,一天能走一度又四分之一,二十天就能走二十五度。 有时候它运行得慢,一天只走八分之七度,九天才能走八度。 有时候它干脆停下来,两天不动。 有时候它还会逆行,一天倒退一度,这时它出现在太阳前面,傍晚的时候在西方隐没。 逆行的时候,它运行得慢,九天才能倒退七度,最终又和太阳会合。

从一次会合到下一次会合,一共要一百一十五天又六百一万二千五百五分之一天,这颗行星也是这样运行的。