书城科普读物古代数学王国(下)
16041700000004

第4章 高阶等差数列

垛积术

垛积,即堆垛求积(聚集)的意思。由于许多堆垛现象呈高阶等差数列,因此垛积术在中国古代数学中就成了专门研究高阶等差数列求和的方法。

北宋沈括(1031~1095)首先研究垛积术,他当时称之为“隙积术”。沈括说:“算术中求各种几何体积的方法,例如刍童、堑堵、鳖臑、圆锥、阳马等,大致都已具备,唯独没有隙积这种算法……所谓隙积,就是有空隙的堆垛体,像垒起来的棋子,以及酒店里叠置的酒坛一类的东西。他们的形状虽像覆斗,四个测面也都是斜的,但由于内部有内隙之处,如果用刍童方法来计算,得出的结果往往比实际为少。”这段话把隙积与体积之间的关系讲得一清二楚。同样是求积,但“隙积”是内部有空隙的,像累棋,层坛;酒家积坛之类的隙积问题,不能套用“刍童”体积公式。但也不是不可类比,有空隙的堆垛体毕竟很像“刍童”,因此在算法上应该有一些联系。

值得注意的是,在上述一串等差数列求和公式中,除第一个等差数列外,每一个数列的通项都是它上一数列前n项之和。从垛积的意义上讲来,这相当于把前式至第r层为止的垛积,落为一层,作为后式所表示垛积中的第r层(即式中第r项)。假如我们把这一点和各公式的名称对照起来看时,不难看出朱世杰经常将公式称为前式的“落一形”的意义。“落为一层”,这大概就是朱世杰所用各种名目中“落一”的意义。这也证明了朱世杰曾对这一串三角垛公式的前后式之间的关系进行了研究和比较。

贾宪三角朱世杰是如何得出这一串高阶等差数列求和公式的,古书上没有记载。但如果将这等差数列与贾宪三角作一比较,可以发现:这一串数列及它们的和都可以从斜视贾宪三角而看出。所谓斜视贾宪三角,是将贾宪三角中的数,那样由斜线串联起来,自上而下地看。这样,无论是撇向(丿)看,还是捺向()看,都可以发现如下一组公式:

这正好就是朱世杰得出的一串三角垛公式。朱世杰是否是从贾宪三角中发现他的三角垛公式的,没有史料证实,但在朱世杰的《四元玉鉴》中确实附有一张与贾宪三角同样的,并且数与数之间都用斜线联系着。

古乘七法方图(载《四元玉鉴》)

招差术

宋元时期天文学与数学的关系进一步密切了,许多重要的数学方法,如高次方程的数值解法,以及高次等差数列求和方法等,都被天文学所吸收,成为制定新历法的重要工具。元代的《授时历》就是一个典型。

《授时历》是由元代天文学家兼数学家王恂(1235~1281)、郭守敬(1231~1316)为主集体编写的一部先进的历法著作,先进之一,就是其中应用了招差术。《授时历》用招差术来推算太阳逐日运行的速度以及它在黄道上的经度,还用招差术来推算月球在近地点周日逐日运行的速度。

招差术属现代数学中的高次内插法。元代以前,隋朝天文学家刘焯在《皇极历》中给出了等间距的二次内插公式。由于太阳的视运动对时间来讲并不是一个二次函数,因此即使用不等间距的二次内插公式也不能精确地推算太阳和月球运行的速度等。宋代以后,由于对高阶等差级数的研究,招差术有了新的发展。王恂和郭守敬等人根据“平、定、立”三差创造了三次内插法推算日月运行的速度和位置。