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

第3章 高次方程数值解法

中国古代,把开高次方和解二次以上的方程,统称为开方。在《周髀算经》和赵爽注,以及《九章算术》和刘徽注中,已经有了完整的开平方法和开立方法,在二次方程x2 px=N的数值解法和求根公式这两个方面都取得了一定的成就。后来,祖冲之创“开差幂”和“开差立”在解三次方程方面作出重要的推进,可惜算书失传,其内容也不得而知了。唐朝,王孝通采用几何方法建立三次方程x3 px qN,同时发展了三次方程数值解法。正是在这个基础上,宋元时期的数学家们开创了增乘开方术和正负开方术,使得中国数学关于高次方程的理论取得了更加辉煌的成就。

贾宪三角

中国数学中关于开平方、开立方的方法不仅出现得早而且方法合理,与今天我们通用的开方法基本一致,都是二项式展开式的原则运用。如开平方(即求方程x2=N的正数根),就是利用(x21 x22)2x21 2x1x2 x22x21 (2x1 x2)x2这一展开式,确定初商x1后,利用(x1 x2)2-x21=(2x1 x2)x2来确定次商x2.可以看出,这一运算实质是应用了二项式展开式中的系数1、2、1.同样,开立方要用到展开式(x1 x2)3x31 3x21x2 3x1x22 x32,实际也是利用了展开式右端的四个系数1、3、3、1.显然,同样的步骤对于任意次幂的开方都是适用的。因此,找出二项式展开式中的系数的规律就可以利用它来进行对高次幂的开方。中国数学史上,较早认识这一点,并给出二项式展开式中的系数规律的是北宋数学家贾宪。

11世纪上半叶,贾宪给出了一张二项定理展开式(指数是正整数)的系数表,附在他的《黄帝九章算法细草》之中,贾宪称此为“开方作法本源图”,意思是说,这是用作进行开方的基本图式。现在所说的“杨辉三角”就是指贾宪的这张图。因为贾宪的《黄帝九章算法细草》已经失传,我们所见的图是从杨辉的《详解九章算法》中出现的,所以称它为杨辉三角。不过杨辉说得很明白,他书中的这张图来自贾宪书中,因此我们称它为贾宪三角才对。

开方作法本源图欧洲人一般称这种三角形表为巴斯卡三角,巴斯卡发表它是在1665年。在国外,比巴斯卡早知道这三角形的是阿拉伯数学家阿尔·卡西(AL-Kashi?—1429),他给出了二项系数的一般式子并加了证明。

前面指出,贾宪造表的宗旨是用它来求开高次幂的根,而不仅是为了求二项式展开式中各项的系数。怎样用法呢?贾宪在他的开方作法本源图上有一段说明:其中头两句说,“左袤乃积数,右袤乃偶算”,其中“袤”本应作衺,斜的意思。这两句是指图中最外的左右两斜线上的数字,都分别是(x1 x2)n展开式中“积”(x1的最高次项)与“隅算”(x2的最高次项)的系数;第三句“中藏者皆廉”是说明图中间所藏的数字“二”、“三、三”、“四、六、四”等等分别是展开式中的“廉”(除x1、x2最高次系数以外的各项的系数);最后两句“以廉乘商方,命实而除之”则直接点穿了用展开式中的系数,进行开方的方法,就是以各廉乘商(即根的一位数得数)的相应次方,然后从“实”(被开方数)中减去。实际步骤就是前面讲过的开平方的过程,只是贾宪已经把《九章算术》中的开方原理,推广到了开高次幂上;这不能不说是一大创造。

增乘开方术

贾宪三角虽只七行,但按贾宪的造表方法,要任意扩大是不成问题的。贾宪的造表方法叫“增乘方法求廉草”。“草”,文稿的意思;求廉就是求贾宪三角中的除左右两斜行“一”以外数字;增乘方法是指使用的方法的名称。

用增乘法求廉大致是这样的:

增乘法求廉 抹去等号和等号左边的算式,只留下字号右边的和,这就是旋转了90°后的贾宪三角。容易发现,贾宪三角中的廉,即除了两旁的1以外的中间的数字,都等于它肩上的两个数相加之和。按增乘法的说法,是自下而上随乘随加的结果,这也就是贾宪三角的作成规则。自然,有了这个规则,只要在图(a)中多添几个1,那么就可得到扩大了的贾宪三角,或者说可以推广到求对一个正数开任意高次幂的“廉”。

增乘方法的杰出之处还不在于求两项式系数,而在于它可被用来直接进行开高次幂,也就是贾宪所说的“增乘开方法。”

增乘开方法不是一次运用贾宪三角中的系数1、2、1;1、3、3、1;1、4、6、4、1……而是用随乘随加的办法得到和一次运用上述系数同样的结果。

显然,这个方法由于运算程序整齐,又十分机械,没有什么需要多费周折的地方,因此比起直接用二项系数求解要简捷。更重要的是由于它容易被推广到求任意高次方程的数值解,所以在数学上也就具有更重要的地位。

第一个将增乘开方法用于求任意高次方程数值解的是北宋数学家刘益(12世纪)。在刘益著的《议古根源》一书中给出了一个用增乘方法求方程数值根的例子:

这道题突破了以往方程只取正数系数的限制,在系数不拘正负的情况下求解一般方程,它可以说是中国数学史上的一项杰出成就。

在方程的解法上,刘益把原来用于开高次幂的“增乘开方术”,引入到了求高次方程的数值解上,从而为秦九韶开创“正负开方术”解决求一般高次方程的数值根问题奠定了基础。

《数书九章》书影 秦九韶列筹法

对于方程中的各项系数,除常数项规定了“实常为负”以外,其余可正可负。不受任何限制。缺项表示该项系数为零。

中国古代注重求方程的数值解,而不注重对方程的分类和讨论,但秦九韶不同,他开始注意了对某些特殊形式的方程作出区分,称仅有偶次项的方程为“玲珑某乘方”。不过这些区分还尚未构成对方程明确分类的程度,理论上进取仍显不够。