因网站公式编辑器bug,输入'无法显示,故改为加点表示。如A'表示为。
释文
数:
《仪天》岁差一百一十八、秒九十九,一象度九十一、余三千一百四十二、秒五十,盈初缩末限分八十九万七千六百九十九、秒五十,限日八十八、余八千八百九十九、秒五十,缩初盈末限分九十四万六千七百八十五、秒五十,限日九十三、余七千四百八十五、秒五十,盈缩积二万四千五百四十三,进退率一千八百三十六,秒母一百。
限分为二分二至间定气长的累积值,以分表示,限日则以日表示。
术:
《仪天》以宗法乘盈缩积,以其限分除之,为限率分,倍之,为未限平率;日分乘之,亦以限分除之,为日差;半之,加减初、末限平率,在初者减初加末,在末者减末加初,为末定率;乃以日差累加减限初定率,初限以减、末限以加,为每日盈缩定分;各随其限盈加缩减其下先后数,为每日先后定数;冬至后积盈为先,在缩减之;夏至后,积缩为后,在盈减之。其进退率、升平积准此求之,即各得其限每日进退率、升平积也。
又《仪天》有求四正节定日,去冬、夏二至盈缩之中,先后皆空,以常为定;其春、秋二分盈缩之极,以一百乘盈缩积,满宗法为日,先减后加,去命如前,各得定日。若求朔、弦、望盈缩限日,以天正闰日及余减缩末限日及分,余为天正十一月经朔加时入限日及余;以弦策累加之,即得弦、望及后朔初、末限日;各置入限日及余,以其日进退率乘之,如宗法而一,所得,以进退其日下升平积,即各为定数。
这段文字非常简省,其“初”、“末”有三种含义:初末限(即盈初缩末缩初盈末四限)、初末限平率、初末定率。“盈”、“缩”有两种含义:盈缩限、盈缩积。下表根据术文拟定仪天历日躔表的结构,方便辨别。
以宗法乘盈缩积,以其限分除之,为限率分,倍之,为未限平率:末限平率应为初末限平率,在冬至-春分或夏至-秋分为初限平率,在春分-夏至或秋分-冬至为末限平率。即:
冬至-春分(盈初限):用盈初限分,盈缩积为盈,盈缩分为盈,值为初限平率。
春分-夏至(盈末限):用盈末限分,盈缩积为盈,盈缩分为缩,值为末限平率。
夏至-秋分(缩初限):用缩初限分,盈缩积为缩,盈缩分为盈,值为初限平率。
秋分-冬至(缩末限):用缩末限分,盈缩积为缩,盈缩分为缩,值为末限平率。
下文“减初加末”、“减末加初”之文,各在其限内用到初末限平率,而此次尚缺盈初缩初限之末限平率。在盈末缩末限之初限平率。应以两倍限率分减其初末限平率。皆为0,此处原文省略不言。
日分乘之,亦以限分除之,为日差,半之,加减初末限平率,在初者减初加末,在末者减末加初,为末定率:日分为一日的分数(即日法)。初末限平率既是各限初末平率,也是各限初日的初平率或末日的末平率。“在初者减初加末”即在盈初缩初限,减初限平率得限初定率,加末限平率得限末定率;“在末者减末加初”即在盈末缩末限,加初限平率得限初定率,减末限平率得限末定率。原文“为末定率”当作“为初末定率”。
古人多以小字插入正文中作注,而《宋史》将仪天历原文以注的形式附在应天历之后,则原本仪天历的正文变为与注同一字体,未加区别。此段“在初者减初加末,在末者减末加初”应为“加减初末限平率”的注释。(以下注释部分不再指出,仅以删除线标注。)所求得各限初末定率,各为其限在初日半日处的平率,或末日半日处的平率。
冬至-春分(盈初)、夏至-秋分(缩初):在初者减初加末
春分-夏至(盈末)、秋分-冬至(缩末):在末者减末加初
乃以日差累加减限初定率,初限以减、末限以加,为每日盈缩定分:初限为盈初缩初,末限为盈末缩末。每日即各限限日内的每日,以入冬至日为n,入限日为t(算外从0起计),则:
冬至-春分(盈初):
夏至-秋分(缩初):
春分-夏至(盈末):
秋分-冬至(缩末):
求入限后每日t的盈缩定分,即:
冬至-春分(盈初)、夏至-秋分(缩初):
春分-夏至(盈末)、秋分-冬至(缩末):
各随其限盈加缩减其下先后数,为每日先后定数;冬至后积盈为先,在缩减之;夏至后,积缩为后,在盈减之:盈初缩初限的限初先后数为0,盈末缩末限的限初先后数为盈缩积。
冬至-春分(盈初,在盈,先):
春分-夏至(盈末,在缩,先):
夏至-秋分(缩初,在缩,后):
秋分-冬至(缩末,在盈,后):
其中∑盈缩定分,是以限初定率为初项、日差为公差的等差数列之和。即:
冬至-春分(盈初)、夏至-秋分(缩初):递减数列
春分-夏至(盈末)、秋分-冬至(缩末):递增数列
以符号表示,本限盈缩积为Δ1(盈初缩末限用正,盈末缩初限用负),限日为s,所求入限日为t。即有
盈初缩末:
盈末缩初:
加入限初先后数:
冬至-春分(盈初,在盈)、夏至-秋分(缩初,在盈):
春分-夏至(盈末,在缩)、秋分-冬至(缩末,在缩):
至此为仪天历所求每日先后定数,在不同象限表达式不同。为求简便,在缩时,令,即得,二式合并:
,如此可获得统一的计算公式,此即相减相乘法的一般式。该式在盈初缩初时t为入限日,在盈末缩末时t为限日-入限日。
此亦实为等间距二次插值法的特殊式。仪天历对各限进行插值,以本限盈缩积为Δ1,后限盈缩积为Δ2,则其前后限的盈缩积刚好相反,有Δ2=﹣Δ1,前后限限日相近,皆设为s,代入等间距二次插值公式即得上式。t值在不同象限变化与上相同。
仪天历的术文表达方式与使用等间距二次内插法的历法相同,并不区分t的取值,用该式只求得每日盈缩分,犹需加减限初先后数方为先后定数。术文在盈末缩末限时,先求得限末定率,再求限初定率,再累减日差为每日盈缩分,用以减限初先后数才求得先后定数。如果直接从限末定率累加日差,只需以入限日反减限日为每日入算,即求得先后定数。故知只需通过修改t在不同象限内的取值(即在末限时需反减限日),无论使用相减相乘法或等间距二次插值法,都可直接求得先后定数。而相减相乘法不用初末率,优点在于形式简单,计算方便,大量应用相减相乘法的崇玄历即被誉为“能驰骋反覆于乘除间”。
另可注意,仪天历在不同象限的限日取不同值,似乎想要得到如不等间距二次插值法一样更精确的结果。但实际反而不如使用平象限91.31日的算法。原因在于,定象限法在求盈初缩末象限时,将盈初缩末限分作为缩初盈末限分,前后象限和仅为176.76日;而在求缩初盈末象限时,将缩初盈末限分作为盈初缩末限分,前后象限和则有187.48日。与半岁长182.62日相差皆过大。下图中提供了几种计算方法求每日先后定数的对比,可见在相减相乘法中使用平象限精度要高于定象限。唐代《符天历》和《崇玄历》都选用平象限,是正确认识到相减相乘法的等间距插值本质。
其进退率、升平积准此求之:用进退率1836代替以上各式中盈缩积24543,以上所求每日盈缩定分即每日进退定率,先后定数即升平定积。
求四正节定日:此为求二分二至的定气所在日,即定气大小余。自秋分起日行盈(∑实行分>∑平行分),至春分达到盈之极(∑(实行分-平行分)最大),冬至为其中(∑实行分=∑平行分)。达到盈极后转为行缩,夏至为其中。故下文称“冬夏二至盈缩之中”,“春秋二分盈缩之极”。
去冬、夏二至盈缩之中,先后皆空,以常为定:冬夏二至的盈缩相等,即先后数为0。此时定日与常日相等。
其春、秋二分盈缩之极,以一百乘盈缩积,满宗法为日,先减后加,去命如前,各得定日:盈缩积与春秋二分的先后数相等,春分为先用减,秋分为后用加。依算理此段应改为:“以盈缩积,满宗法为日,加减常日,先减后加,去命如前,各得定日”。
各置入限日及余,以其日进退率乘之,如宗法而一,所得,以进退其日下升平积,即各为定数:“各置入限日及余”,所置入限日t用以对照前已求的每日进退率及升平积,得到该日的进退率及升平积。所置入限余用以乘下文进退率。“进退率”为该入限日的进退定率,即该日半日处的平率。
以上求每日进退率用二次插值法,最后求不足一日的进退率又改用简单内插法。盖每日盈缩进退皆备为立成,用时查表即可,非每次依术为算。
图解
等间距二次插值法
如图所示,AB为盈初限日,BC为盈末限日,CD为缩初限日、DE为缩末限日。I为AB中点。K为所求点。
,,
,
,
;
同理,,
,
,
,
以盈初限为例,AA'为入限第一日,A''为AA'中点。AK=t,KK‘为入限第t-1日,K''为KK'中点。
求先后定数即求A点到所求点K的面积之和
由梯形面积公式:,即第一日的盈缩定分
同理,,即第t日的盈缩定分
,为入限t日内的盈缩定分(即各日梯形面积)的累加值
,
即首项为,公差为,项数为t的递减数列,
相减相乘法
如图所示,AB为盈初限日,BC为盈末限日,CD为缩初限日、DE为缩末限日。I、K为所求点。
有AB=BC=CD=DE=s,,
以盈初限为例(缩初同),,
由相似三角形,,
以盈末限为例(缩末同),,,
同理,
参考资料:
中华书局,《历代天文律历等志汇编》
王荣彬,中国古代历法的中心差算式之造术原理
滕艳辉,宋代朔闰与交食研究