关孝和的累裁招差法看《授时历》平立定三差法之原

 

冯立升

 

 

  介绍了和算累裁招差法的基本方法,考察了和算招差法与中算招差法之间的联系,说明了和算招差法的概念和思想方法的中算来源。结合对关孝和累裁招差法造术原理的分析,讨论了《授时历》三次插值法的构建原理问题,提出了新的复原方案。

关键词 和算 中算 招差法 授时历 关孝和 插值法

中图法分类法号 O113

 

中国古代历算家在对天体运动规律进行描述时,通常是从一些实测数据出发,利用代数手段构造出一个能够逐一确定天体在每一时段所处位置的算法,并用公式或表格的形式表示出来,这种手段及其算法就是今天所谓的插值法,当时的历算家称之为招差法或招差术招差法传入日本后,对日本和算产生了深刻的影响,成为和算的核心内容之一,促进了和算理论方法的改进,成为和算迅速发展的动因之一。从关孝(1640?—1708)开始,和算家对招差法作了大量的研究工作,取得了一系列成果。由于其中最重要的突破是关孝和完成的,而且关氏的工作与中国历算的关系也最为密切,本文主要论述关氏在这方面的成果,揭示其与中算招差法之间的内在联系,并以此为基础进一步探讨《授时历》三次插值法的造术原理
    
1  关孝和累裁招差

和算招差法的出现最早见于关孝和的《括要算法》。关氏在《括要算法》元卷开头部分首先对累裁招差法作了概括性说明:

“夫元积之各数参差者,齐之以累裁招差之法求之矣。凡以定积一次相减,各积差得等数者,招平定二差,而依一次相乘之法古所谓相减相乘之法也求之。到二次相减,各积差得等数者,招立平定三差,而依二次相乘之法古所谓三差之法也求之。到三次相减,各积差得数等者,招三乘立平定四差,而依三次相乘之法求之。皆各段得等数者,而招诸差率求元积也。” [1]

这一段话实际上对累裁招差术与中国古代的二次内插法和三次内插法的继承与发展关系作了清楚的说明。很显然,累裁招差术中国招差法的推广。关氏最初处理的招差问题相当于,已知函数

y=f(x)=a1x+a2x2+a3x3++anxn              1

n不同的点x1x2x3,,xn上的取值为y1,y2,y3,,yn,如何确定系数a1,a2,a3,,an的问题。这里被插值函数一般为代数多项式,即所求插值多项式即为被插值函数。多项式中常数项被省略,原因是此问题源于中国历算,中国历算家在处理实际问题时一般取常数项为零。关氏称x1,x2,x3等为限数y1,y2,y3为元积n为段数;而称系数a1,a2,a3,a4,a5等以次为定差,平差,立差三乘差,四乘差等。

在简要说明累裁招差法基本概念方法后,关氏分四个部分对累裁招差法的内容作了详细论述,四部分的题目为:

设元积第一,招差数第二,定加减第三,齐差率第四

这四个部分的后两个部分是关于招差符号和奇零数的处理方法,招差过程主要包含在前两个

部分中。关孝和对“设元积”法的说明如下:

 

一次相乘之法,设元积以二段为限,而招平定二差;或设元积三段以上,则到招平差各段得等数.若其平差不得等数者,非一次相乘之限,乃依术重而相减相除,到得差数等止之,定相乘之次数。二次相乘之法,设元积以三段为限,而招立平定三差;或设元积四段以上,则到招立差各段得等数.若其立差不得等数者,非二次相乘之限,乃依术重而相减相除,到得差数等止之,定相乘之次数。……四次相乘以上,设元积之限如此。若过限,设元积者到相减相除之限,皆得等数。否则非相乘之限,故重相减相除,而各段得等数者,宜定相乘之次数也。”[1]

此段文字相当于给出了确定n次插值多项式的一个必要条件:n阶均差为相等的常数。

“招差数”法实为列表招差之法:

“置各段元积,各以其段限数约之,为第一各段定积,各以其段定积减次段定积不足减者,反减之为负,后仿之,余为其段平积各实。又以其段限数减次段限数,余为其段平积各法,各实如法而,为第一各段平积乃一次相乘者,以之为平。各以其段平积减次段平积,余为其段立积各实。又以其段限数减隔一段后限数,余为其段立积各法,各实如法而,为第二各段立积乃二次相乘者,以之为立差。……逐如此相减相除,随相乘之次数止之,为其极乘之一差。”[1]

关氏的招差过程可以用下表的形式表示出来:

 

1 累裁招差表

限数 元积    定积       平积          立积               三乘积           四乘积    

x1

y1

z1

 

x2

y2

z2

    

x3

y3

z3

          

x4

y4

z4

一般地        

x5

y5

z5

    

    


关孝和给出的多项式的常数项为0,用元积除以限数便得到降次函数:

                      2)

关氏将zi =yi/xi 称作定积相邻限数的差被称为平积法,相邻定积的差被称为平积实,以实除以法得平积δzi 。而相邻平积之差为立积实,xi+xi 立积法,以实除以法得立积δ2zi。同理可求得三乘积δ3zi四乘积δ4zi五乘积δ5 zi各项。如诸δzi各项相等,则za1+a2x,用“一次相乘之法”可确定出平差a2和定差a1如诸δ2zi各项相等,则za1+a2x+a3x2,则由“二次相乘之法”求出立差a3平差a2和定差a1如诸δ3zi各项相等,则za1+a2x+a3x2+a4x3,由“三次相乘之法”求出三乘差a4立差a3平差a2和定差a1关孝和已掌握了一般情况下的招差程序,即当δn-1zi各项相等时,可求出多项式(2)的各项系数aii=123,…,n此时δn-1z 1 = δn-1zi =an为了说明求各项系数的具体方法,关氏还给出了“一次相乘演段”、“二次相乘演段”和“三次相乘演段”的实例。我们以“二次相乘演段”中的一例介绍其演算过程:

假如一段限数一十,元积四千八百八十四万一千;二段限数二十,元积九千二百五十七万六千;三段限数三十,元积一亿三千一百○一万九千;……;五段限数五十,元积一亿九千一百二十八万五千者。1]

关氏第一术给出了如下形式的第一表(表2):

2 第一术表

 

 

 

限数

定积

平法

平积实

平积

立法

立积实

立积

1段

10

4884100

10

-255300

-25530

20

-620

-31

2段

20

4618800

10

-261500

-26150

20

-620

-31

3段

30

4367300

10

-267700

-26770

20

-620

-31

4段

40

4099600

10

-273900

-27390

 

 

 

5段

50

3825700

 

 

 

 

 

 

 














由此表可知,δ2z 1 = δ2zi = 31由此得到函数 中的二次项系数a3 =δ2z 1 = 31

关氏的第二术为确定a2的方法。首先给出了第二术各段定积的方法:

第一表各段定积-(限数)2×立差

由此求得第二术各段定积后,即可列出第二表(表3)。由表3可得

函数g(x)=z – a3x2 = a1 + a2x中的一次项系数(即为平积) a2 =24600

 

3 第二术表                                    表4 第三术表

 

 

 

限数

定积

平法

平积实

平积

1段

10

4887200

10

-246000

-24600

2段

20

4641200

10

-246000

-24600

3段

30

4395200

10

-246000

-24600

4段

40

4149200

10

-246000

-24600

5段

50

3903200

 

 

 

 

 

 

限数

定积

1段

10

5133200

2段

20

5133200

3段

30

5133200

4段

40

5133200

5段

50

5133200

 

关氏第三术为确定a1的方法,各段定积公式为:

第二表各段定积-限数×平差

求得各段定积,再列出第三表(表4)。由表4得定积为5133200,也即求得a1=5133200。由此可以确定多项式为

y=5133200x-24600x2-31x3         3)

但关氏最后给出的表达式与(3)有所不同:“本术置立差三十一以限数乘之,以加平差二万四千六百,又以限数乘之,用减定差五百一十三万三千二百, 余又以限数乘之,得元积。”4]

y=[5133200-(24600+31x)xx      4

关孝和还明确说明了累裁招差的一般性程序。对于多项式

y=F (x)=a1x+a2x2+a3x3++anxn

关氏的第一术为求系数an的方法,先作降次变换zi=f(xi)/ xi,再利用招差表(均差表)求得an。第二术为求系数an-1的方法,作变换

ui= zi - an x in-1= a1+a2xi++an-1 x in-2

然后利用招差表(均差表)求出an-1。第三术则作类似的变换

wi=ui - an-1 x in-2=a1+ a2 xi++an-2 x in-3

利用招差表求出an-2。重复这样的手续可求出an-3an-4,…a2a1

    由以上所述可知,关氏的累裁招差法是一套系统的均差(差商)算法,它包含了逐次降低插值多项式次数的思想方法和机械化的演算程序,可将高次插值问题转化为低次插值问题处理。而累裁招差法无论从术语概念、思想方法还是从表现形式来看都与中算招差法一致,两者之间有着深刻的内在联系。进一步探讨关氏方法与中算招差术的关系,将有助于加深我们对中日招差法的认识和理解。

2  累裁招差法与中算招差术的关系

尽管中日数学史家一般认为和算招差法源于中国历算中的内插法,关氏的累裁招差法是建立在《授时历》的平立定三差法基础上的,但是,《授时历》的三次内插法是如何传入日本并对和算家发生影响的?却是尚未完全解释清楚的问题。有必要进一步加以考察。

关于《授时历》传入日本的时间,日本天文学史和数学史著作多称“不详”。最近日本历史学家发现,在相国寺僧人瑞溪周凤的日记《卧云日件录》中记载了他在享德三年(1453年)三月十一日检阅由禅僧从“大明持来”的全套40册《元史》之事 [2] 。说明至迟在《元史》刊行(1370年)后80余年,包括《授时历议》、《授时历经》在内的《元史》传入了日本。根据《授时历》制订的《大统历》也在此前传入了日本。但是日本人对《授时历》的研究,却开始的较晚。日本在宽文十二(1672)年将《元史》中的《授时历经》和《授时历议》刊刻发行,第二年(延宝元年,1673年)小川正义的《授时历经立成》刊行,拉开了《授时历》研究的序幕。

由于日本采用宣明历后,历经800余年没有改历,一年的日期与实际有约2日的误差,因此当时要求改历的呼声很高。有许多人致力于历法研究,而《授时历》是当时日本人见到的最好的历法,因而倍受重视。《授时历》中的先进数学方法给予和算家极大的刺激。关孝和在《发微算法》(1674年)刊行后,长期埋头于历算研究,于《授时历》特用功力,于延宝八(1680)年著成《授时发明》,解明了《授时历》推算黄赤道差、黄赤道内外度及白道交周问题的数学原理。第二年(延宝九年,1681年)又完成《授时历立成法》。不久又著成《授时历经立成》。日本学者认为关孝和对《授时历》数学方法的研究主要受益于清初黄鼎的《天文大成管窥辑要》(1655年)一书。《管窥辑要》收录了不少古代天文历算方法,其中对《授时历》的三次内插法及白道交周推算方法的论述比《元史·历志》、《明史·历志》更为详细和明晰。关氏的《授时发明》又题《天文大成三条图解》,是对《管窥辑要》所载《授时历》推黄赤道差、黄赤道内外度及白道交周算法的图解和进一步说明。日本数学史家三上义夫推测关氏的累裁招差法也是以《管窥辑要》中有关内插法的记载为基础建立起来的 [3]。他是最早注意到《管窥辑要》可能对关氏招差法有影响的现代学者。三上的看法得到日本著名数学家兼数学史家藤原松三郎支持。藤原根据和算家户板保佑(1708—1784)所著《关算前传》中的有关记载,说明了三上观点的合理性[4]。此后这一观点为日本数学史家普遍接受,并为新的证据证实。

户板保佑(又名多植茂蕃)在《关算前传》“第三十八·垛叠传第六”中以“管窥辑要·垛叠招差法”为题收录了《管窥辑要》卷八“论日躔盈缩差”一节的全文。其跋文称:“予从享保九年(1724年)甲辰游于青木理先生之门,学数术及授时历法,而后到十三(1728年)年戊申,……然不知垛叠招差之法七、八年。今据《管窥辑要》考之,略通其术如此。享保年十六年(1731年)辛亥正月廿八日 多植茂蕃书。” 户板保佑后来得到了《括要算法》,“于是垛叠二法等亦考得之”。他认为:“盖元郭氏之所术,出于《管窥辑要》,详于《括要算法》也。” [①] 户板学习招差法的经历及其对关氏招差法起源的认识印证了三上的观点。

1960年日本学者前山仁郎氏在天理图书馆发现了关孝和编订的著作《关订书》,此书为《管窥辑要》的节录本, 几乎收录了《管窥辑要》中的全部历算内容,内插法方面的内容尽录无遗。《关订书》的目录标题为:“天文大成管窥辑要拔粹目录”,内容共计十五节。关孝和对收录的历算内容作了训点和订正。《关订书》后有关氏的识语:

“《天文大成》浩瀚难览,故撮历数最要于其中,且加训点,间有阙误者,管窥蠡测以补正之也。别有俚语图解,号《天文大成谚解》,览者详焉。

关孝和识之   贞享三丙寅(1686年)正月廿五日书之。” [5]

由此可知关孝和认真钻研过《管窥辑要》的全部历算内容,并撰写过《天文大成谚解》一书。可以肯定,《管窥辑要》对关氏累裁招差法的形成产生过重要影响。

关孝和的招差法的基本概念来源于《授时历经》、《授时历议》、《授时历经立成》和《管窥辑要》等中国历算著作。由于《管窥辑要》对招差法的构建方法多有论述,因而它是关氏方法更重要的思想方法来源。

累裁招差法对中算招差法多有继承,前面已经指出将高次插值问题转化为低次插值问题处理是累裁招差法的基本思路,而这也正是《授时历》三次内插法的基本特征之一。通过分析关氏招差法的具体内容,可以发现二者之间更多的联系。

关氏给出的多项式最终都要表达成式(4)的形式,用一般公式表达即

y=(a1+(a2(+(an-1+anx)x)x)x         (5)

这一表达式来源于中算,其特点是通过一次式的反复计算,逐步得出高次多项式的值。采用

它来计算多项式,既可减少运算次数,又能降低计算过程中可能出现的积累误差。关氏采用

(5)的原因除了它本身的优越性外,与其招差法的来源密切关。关氏的招差法源于《授时历》的招差术,而该表达形式又是《授时历》三次内插法的标准表达形式。《授时历》中描述日、月及五星运动的中心差算式全部采用的是这种形式[6]。而这种表达式又是从边冈的相减相乘法发展而来的,其源头还可追溯到曹士的《符天历》。关氏所用招差术语“一次相乘之法”、“二次相乘之法”和“三次相乘之法”等都是由(5)式得来的。关孝和从《管窥辑要》了解了相减相乘法的概念和方法。他在解释其“一次相乘之法”时说“古所谓相减相乘之法也”。即指边冈的相减相乘法。他称“二次相乘之法”为“古所谓三差之法也。”即指《授时历》的三差法。关孝和的功绩是将中算的一次相乘之法和二次相乘之法统一了起来,并发展为多次相乘之法,完成了招差方法的一般化工作。

笔者还注意到,关氏所举的各次相乘之法的演段实例,其插值结点的分布都是不等间距的,只有一个例外就是我们上面引述的这一“二次相乘演段”实例,其插值结点为等间距分布。而关氏所给元积数据都是亿以上的数值,也很特殊。这一问题及其数据的来源,值得探讨。通过与《元史》所载《授时历》的内容进行比较,笔者发现式(4)实为《授时历》中太阳视运动中心差算法的原术。

《授时历》“求盈缩差”术为:

“视入历盈者,在盈初缩末限(88909225)已下,为初限;已上,返减半岁(18262125),余为末限;……其盈初缩末者,置立差三十一,以初末限(x)乘之,加平差二万四千六百,又以初末限乘之,用减定差五百一十三万三千二百,余再以初末限乘之,满亿为度,不满退除为分秒;…即所求盈缩差(y)。”

依术文意,对于冬至后盈初(x<88.909225)和夏至后缩末(x>93.712025,需以182.62125

返减之)时,盈缩差为

y=[5133200-(24600+31x)xx·10-8       (6)

这一公式与式(4)比较,完全一致。将式(6)×10-8,取度(即一日)为单位,两者便完全相同。关氏给出的五个元积数据,则与《授时历经立成》“太阳立成”表中积日10,20,30,40,50对应的盈缩积数值完全相同。与《大统历》中的对应数据也完全相同。由此可知,关氏所举这一实例及其有关数据来源于中国天文历算中的实际问题。由于《授时历》原术是利用差分方法对等间距插值结点进行处理而获得的,关氏在其所引实例中也保留了插值点等间距分布的形式。

关氏的所有招差问题的算例,都采用了表格计算的形式,完全继承了中国历算的传统。关氏的累裁招差法实际上给出了一张均差(或差商)表,它是由中国历算的差分表发展、衍化而来的。在的招差表(表1)中,平积就是z=a1+a2x+a3x2+…+anxn-1在相应的区间[x1x2],[x2x3],…上的一阶均差,立积为二阶均差,三乘积为三阶均差,四乘积为四阶均差。利用此表很容易就可直接得到均差插值多项式,即牛顿基本插值公式。由于累裁招差法的目标是要获得式(4)和式(5)形式的插值多项式,因而关氏对于均差形式的多项式未作任何说明。但是他在解决圆的弧长计算问题时直接应用了均差形式的插值多项式(即牛顿插值公式),关氏以降流行起来的浑(混)沌招差法即为典型的牛顿插值公式,而其来源仍然是累裁招差法[7]

关氏所用“累裁”这一术语也来自中算。《管窥辑要》卷三“论黄赤道差”载:“加减差分约至三度,一行大衍立累裁之法以求之,每距冬至前后各五度为限,初数十二,每限减一,尽九限数终。”原指一行利用等差级数列表(相当于差分表)计算黄赤道差的方法。《管窥辑要》卷三“论白与黄赤道差”曰:“至唐一行大衍,更为累裁之法。”原指《大衍历》“推月九道度”法采用差分方法求月行与黄赤道差数。关氏的弟子建部贤弘认为相减相乘法“起于唐一行累裁法”。由此可知累裁招差之意当指利用插值表(差分表或均差表)确定插值多项式的系数。

3          《授时历》的三次内插法造术之原之我见

《授时历》对三次内插法的广泛应用,使中国历算方法获得了突破性的推进,在数学史和天文学史上均占有突出地位。日本著名科学史家薮内清指出:“宋元时期是中国数学史上产生划时代飞跃的时期,成就之一就是招差法,为应用于插值公式而研究了级数求和问题。《授时历》中的平立定三差法,正是由中国数学的这一发展而必然导出的一个成果,其间的外来影响是不存在的。这一插值法的进步,堪称是中国天文学家的重要成果,与欧洲相比是遥遥领先的。”8]尽管《授时历》的平立定三差法倍受古今中外学者的推崇,但是长期以来我们对王恂、郭守敬是如何构造这种内插算法的却缺乏清楚的认识,其造术原理问题成了一桩颇受关注的历史悬案9]。学者们对此问题多有研究,但意见很不统一1014。笔者认为,由于和算内插法是直接来源于中算内插法,两者之间存在着内在联系,因此对和算招差法造术原理的关联分析有助于认识中算内插法的构建原理。

《授时历》将一回归年分为四限,冬至到春分及秋分到冬至两限为短限,另两限为长限。现以推算太阳在冬至到春分间的日行度为例说明内插法的构造方式。

《授时历》将此限88.91日均分成6段,每段日数t=14.82。通过观测获得了太阳在0,t,2t,3t,…,6t时的实际行度F(0),F(t),F(2t),…,F(6t),《授时历》称之为“积差”。计算以上数列的各级差分,发现四差均为0,得知积差是时间的三次函数。如设冬至时刻作为起点,则这一函数仅为三项式:

y=F(x)=ax+bx2+cx3          (7)

《授时历》取z=f(x)=F(x)/x,得到降一次的函数

f(x)=a+bx+cx2             (8)

《授时历》将这一函数称为“日平差”。日平差的直观意义是冬至后x=it ( i =1,2,3…)日内平均每日太阳实行度与平行度的差。z=f (it) 实际上即是函数F(x)在区间[0,it]上的一阶均差,即有

                (9)

            (10)

            (11)

《元史·历志》未载《授时历》的立成,有关平立定三差的数据记录十分简略,而《明史·历志》所载《大统历》的有关直接录自《授时历》。《明史·历志三》中给出的“太阳盈缩平立定三差”的计算表格考虑符号因素后可译成表5的形式。

 

5《大统历》太阳平立定三差法数据

积日(x)

日平差[zi=f(xi)]

一差(Δzi)

二差(Δ2zi)

x0 (冬至)

(513.32)

(-37.07)

(1.38)

x1=t

476.25

-38.45

-1.38

x2=2t

437.80

-39.83

-1.38

x3=3t

397.97

-41.21

-1.38

x4=4t

356.76

-42.59

-1.38

x5=5t

314.17

-43.97

 

x6=6t

270.20

 

 

 

 

置第一段日平差(z1= f (t) ),四百七十六分二十五秒,为泛平积(z1)。以第二段二差一分三十八秒,去减第一段三十八分四十五秒,余三十七分○七秒,为泛平积差(Δz1-Δ2z1).另置第一段二差一分三十八秒,折半得六十九秒,为泛立积差( Δ2z1 )。以泛平积差三十七分○七秒,加入泛平积四百七十六分二十五秒,共得五百一十三分三十二秒,为定差   (z1+(Δz1-Δ2z1)。以泛立积差六十九秒,去减泛平积差三十七分○七秒,余三十六分三十八秒为实,以段日一十四日八十二刻为法除之,得二分四十六秒为平差[(Δz1-Δ2z1)-  Δ2z1/t。置泛立积差六十九秒为实,以段日为法除二次,得三十一微,为立差 Δ2z1/t2)。

凡求盈缩,以入历初末日乘立差,得数以加平差,再以初末日乘之, 得数以减定差,余以初末日乘之,为盈缩积.

按《授时历》日躔术的术文,盈缩差算式为

y=F(x)=[定差-(平差+立差·xx]·x            (12)

复原《授时历》三差法的造术过程,仅需探讨定差、平差和立差的计算依据和构建过程。而搞清楚泛平积、泛平积差,泛立积差等中间量及其算式的含义是解决问题的关键。

有学者认为式(12)中的定、平、立三差值是直接利用三次内插公式求得的。[11]但在有关原始文献中,都找不到《授时历》中有三次内插公式的记载。因而这一说法难以得到认同。目前比较流行的观点是,考虑三次函数(7) F(x)= 0,取f(x)=F(x)/x,得到降一次的函数f(x)=a+bx+cx2 ,然后利用古代二次内插公式确定abc的值。[12]采用降次函数的思路说明《授时历》的立术思想,是以史料为依据,无疑是正确的。但直接套用一般的二次内插公式确定二次函数的系数,同样在有关原始文献中不见记载。这一复原方案无助于解释“泛平积差”“泛立积差”等重要术语和中间量的来源和含义。

笔者认为,泛平积、泛平积差,泛立积差等中间量及其算式本身已清楚地反映了《授时历》的算法程序及其构造方法,如同累裁招差法的建立不需以一般的内插公式为基础一样, 平立定三差法也不必借助三次或二次内插公式构建。根据原始文献,由差分关系通过简单的代数运算便可确定定、平、立三差之值。

依原文,泛平积z1= f(t) =a + bt + c t 2,而由式(8可知,当x = 0z0 = f(0)=a。又z2= a + b·2t + 4c t 2,因而有

Δz1 = z2 - z1 = bt +3ct2   Δz0 = z1 z0 = bt +ct2 Δ2z0 =Δz1 -Δz0 = 2 ct2

因表5中二差Δ2zi(i=1,2…4)都为- 1.38,可以推知Δ2z0 =Δ2z1 = - 1.38。所以有Δ2z1 = 2 c t 2,由此可直接求得立差c = Δ2z1/t2原文中的泛立积差  = ct2,选取这一中间量的目的是为了计算平差b。因Δz1 -Δ2z0 =Δz0 = bt +ct2,则有(Δz1-Δ2z1)- = bt,其中前一项被称之为泛平积差。由此可得平差b=(Δz1-Δ2z1)- Δ2z1/t。又z0=a由差分关系可得定差z0= z1-Δ z0 = z1-(Δz1 -Δ2z0= z1-(Δz1 -Δ2z1)。这里求得的bc为负值,a为正值,而(12)中平差、立差取正值入算,因此小括号前的符号为负。实际上,z0可直接由差分表获得。5中的z0Δz0Δ2z0三个数据在《授时历》中没有给出,所以我们以括号形式给出,但它们很容易由5获得。

上述推导过程十分简单、自然,又直接导出了原文记载的全部算式,因而可以比较合理地复原《授时历》的平立定三差法的造术步骤 。

在黄鼎的《天文大成管窥辑要》中有对《授时历》平立定三差算法的一般性表述,有关论述也较《明史·历志》更为清晰,关孝和对《授时历》招差法的研究,主要受益于此。《管窥辑要》有关平立定三差内插算法的说明,可以进一步说明上述复原方案的合理性。现引述原文如下:

“郭太史立招差法以推之。列实测盈缩积差各六段,亦以六除二至后所入初末限,得盈缩每段积日。各以段积日除各段下积差,得各段平差( )。是差虽平于一段,而较之各段犹未平也。即为每段泛平差积。以各段平差前后相减为一差。其得数尚未齐,乃平差逐段渐少之差分也。又以一差前后相减为二差,而各段之得数齐矣。即以第一段平差为泛平积( z1=f(t)),用本段二差加减一差为泛平差(Δz1-Δ2z1),以加减泛平差(积),为定平积;是即所谓定差z1+(Δz1-Δ2z1)]也。以二除二差为立差(Δ2z1/2),加减泛平差为定平差      (Δz1-Δ2z1)- Δ2z1],以段日除之为日定平差,即所谓平差(Δz1-Δ2z1)- Δ2z1/t 也。以段日再除立差为日立差。即所谓立差 Δ2z1/t2 也。其加减法,皆以后多前少者为减,前多后少者为加。是以求差之法,置立差,以限乘之,并平差,再以限乘之,以平差一除故一乘,立差再除故再乘也……其定差又与限相乘而的差者,以段积日与段积差相除故也。”

《管窥辑要》的上述文字,没有给出具体数字,但定义了更多的中间量名词,以说明算法的步骤。如(Δz1-Δ2z1)- (= b t 被称作“定平差”,表明此为确定平差的一个重要步骤。《管窥辑要》中的个别术语名称与 《明史·历志》有所不同,但算法和演算步骤完全一致,说明二者有共同的来源,两书都明言采自郭守敬的著作,可以说其中的算法程序都是来自王恂、郭守敬的原术。从《管窥辑要》的记载可知,《授时历》中已有了的均差概念的萌芽,累裁招差法正是发展了均差概念才建立起来的。如果考虑z=f(x)的均差,则有

f(0,t)=δz1=   f(t,2t)=δz2 =

δ2z1=   δ2z1 =

求得c后,由f(0,t) =b + ct  可以进一步确定b ,进而确定出a 。我们前面所举的关孝和的“二次相乘演段”实例采用的就是这样一种方法。从演算过程看,《授时历》也是先求得ct2,然后再求出b值。ct2先求得,因t为已知数,这意味着c同时也被确定下来。即先求得最高项的系数,然后再利用这一结果计算次高项的系数。这说明《授时历》中的这一重要演算步骤也为和算家所继承。

逐次降低插值多项式次数的思想和利用差分关系(差分表)确定其系数的方法,是《授时历》内插算法的精髓,关孝和正是继承和发展了这种思想方法,才建立起了累裁招差的一般化与规范化程序。就插值法的构造思想而言,累裁招差法与《授时历》三次内插算法一脉相承,将二者联系起来,不仅有助于解明《授时历》内插算法的构建原理,而且还可以进一步说明和算招差法的思想来源。

 

参考文献

 

1 关孝和.括算要法(元卷).见:平山諦、下平和夫、广濑秀雄编.关孝和全集. 大阪:大阪教育图书株式会社,1974.273~278.

2 大庭修.中国典籍在日本的传播与影响. :中日文化交流史大系·典籍卷. 杭州:浙江人民出版社,1996:78~79.

3 三上义義夫.关孝和の業績と京阪の算家並に支那の算法との關係及び比較. .洋学報.1933,第20卷,554555.

4 藤原松三郎.和算史の研究. .東北数学雜志.(Tohoku Mathematical Journal),1939,Vol,46,Part 1,127~128.

5关孝和. 关订书. 见:平山諦、下平和夫、广濑秀雄编.关孝和全集. 见大阪:大阪教育图书株式会社,1974.464.

6 陈美东.我国古代的中心差算式及其精度.自然科学史研究.1986,5(4):289~309.

7藤原松三郎.和算ニ於ケルにうとノ補間公式(Newton's interpolation formula in Was an).和算史研究,VI.東北数学雜志.(Tohoku Mathematical Journal),1940,Vol,47,Part,332~337.

8 薮内清.中国古代的天文计算方法.科学史译丛. 1982,(4):13.

9 曲安京.中国古历若干典型算法的数理分析.中国古代数理天文学探析.西安:西北大学出版社,1996,195.

10 李俨.中算家的内插法研究.北京:科学出版社,1957,62~73.

11严敦杰.宋金元历法中的数学知识.宋元数学史论文集.北京:科学出版社,1966,217~220.

12钱宝琮主编.中国数学史.北京:科学出版社,1964,189~197.

 

13 白尚恕,李迪.十三世纪中国数学家王恂.见:中国数学史论文集(一). 济南:山东教育出版社,1985,37~43.

14 王荣彬.中国古代历法中的插值法构建原理.中国古代数理天文学探析.西安:西北大学出版社,1994,309~321.

 

ON THE STRUCTURAL PRINCIPLE OF THE 3-POWER INTERPOLATION IN SHOUSHI CALENDER IN VIEW OF SEKIS LEICAI ZHAOCHA FA

Feng Lishing

Institute for the History of Science ,Inner Mongolia Normal University, Huhhot  010022)

Abstract The internal relation between the zhaocha fa (interpolation), or shosa ho in Japanese, in wasan and in Chinese mathematics is studied and they are compared each other, we show the Chinese source of the concepts and ideas of zhaocha fa in wasan. We analyze the principle that Japanese mathematicians applied to derive their Leicai Zhaocha Fa and apply it to show how the 3-power interpolation that first appeared in Shoushi Calendar was constructed. A new restoration scheme, therefore, is proposed.

Key Word wasan, traditional Chinese mathematics, zhaocha fa, Shoushi Calendar, Seki Takakazu, interpolation

 

                                    (原载《自然科学史研究》2001年第2期)



这里给出的表格仅将关氏原表由竖排改为横排,同时将数字改成了阿拉伯数码。原表未列出元积一项。

①《关算前传》“第三十三·垛叠传第一”。

《元史·历志三》

《明史·历志四》。

建部贤弘:《授时历术解》七十七丁“相减相乘起术”。

①《管窥辑要》原文将“积”误作“差”,关孝和《关订书》作了订正。

②《天文大成管窥辑要》卷之八“论日躔盈缩差”。