谁先发现杨辉三角

杨辉三角是一个由数字排列成的三角形数表,一般形式如下:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

1 6 15 20 15 6 1

其中每一横行都表示(a+b)n(此处 n=1,2,3,4,5,6,)展开式中的系数。杨辉三角最本质的特征是,它的两条斜边都是由数字 1 组成的,而其余的数则是等于它肩上的两个数之和。后者实质上就是后来发现的组合数的基本性质:

C(R -1) (N-1) + CR (N-1) = CR (R = 1, ,N)

按照这一规律,可得到任意高次的二项展开式的系数。

上述二项系数所组成的三角形数表在欧洲称之为巴斯加三角形。在欧美国家的数学史著作中,虽然近年来也承认并不是巴斯加最早发现了它,但却始终认为它来自欧洲或阿拉伯。直至 1972 年出版的《古今数学思想》

([美]M·克莱因著)仍然坚持这种观点,认为“(a+b)n 在 n 为正整数时的展开式,那是 13 世纪的阿拉伯人就已经知道了的。在 1544 年左右,史提非

(Stifel)引入了‘二项式系数’这个名称,并指出怎样从(1+a)n-1 来计算(1+a)n”。还说类似上述杨辉三角的三角形数表“是塔塔利亚、史提非和斯提文都已知道的,并被巴斯加用来得出二项展开式的系数”。反而对中国古代数学家在这方面居于世界领先地位的开创性贡献只字不提,这实在是

极不公正的。

其实,中国古代数学家在数学的许多重要领域中处于遥遥领先的地位。中国古代数学史曾经有自己光辉灿烂的篇章,而杨辉三角的发现就是十分精彩的一页。

杨辉,字谦光,北宋时期杭州人。在他 1261 年所著的《详解九章算法》一书中,辑录了如上所示的三角形数表,称之为“开方作法本源”图,并说它“出释锁算书,贾宪用此术”。贾宪是 11 世纪人。这就表明,杨辉三角的

发现远早于 1261 年,也不是杨辉首先发现的,而是杨辉之前约 200 年的贾宪创造的。

科学史上的任何发明创造都有其客观背景和演变过程。杨辉三角的发现渊源于高次方程的数值解法。中国古代数学家们对高次方程数值解法的探索经历了长时期的发展过程。那时候把求解一般方程的数值解法叫作“开方法”。这是因为一般方程的数值解法,都是由开方的方法推演出来的。特别地,开平方和开立方,实际上正是求解 x2=A 和 x3=B 的一种数值解法。早在魏末刘徽作注的《九章算术》中,就有完整的开平方法和开立方法。刘徽探索了这种方法的来源,作出了这种方法的几何解释。例如要求完全平方数55225 的平方根,相当于求一面积为 55225 的正方形的边长。注意到 55225 的平方根为一个三位数,可设正方形的边长为 100a+10b+c(即 a、b、c 分别为所求平方根的百位、十位、个位上的数字),然后逐一确定 a、b、c。为此,刘徽把正方形划分成如图所示的七个部分,其中 1、4、7 三部分分别是边长为 100a、10b、c 的正方形。

作了这样的划分以后,首先确定百位数字的 a 使它为满足(100a)2 ≤ 55225 的最大正整数。易见 a 等于 2。此处(100a)2=4000 为正方形面积减去的正方形 1 的面积,得 15225。接着确定十位数字 b,使它为满足 2×100a

×10b+(10b)2≤15225 的最大整数。不难知道这里的 b 等于 3,而 2×100a

×10b+(10b)2 为 2、3、4,三部分面积之和,它与正方形 1 的面积之和为

(100a+10)2bc,此时余下的面积为 2325。最后确定个位数字 c,使 2(100a+b) c+c=2325。此处 c 等于 5(若被开方不是完全平方数,则上式等号添加不等号,把上述手续继续进行下去)。于是(100a+10b+c)2=55225,即 55225 的平方根为 235。用类似的方法,借助于正方体,可进行开立方运算。根据刘徽的几何解释,古代数学家们不难体会到下列恒等式:

(a+b)2=a2+2ab+b2

(a+b)3=a3+3a2b+3ab2+b3

在这以后的数百年中,我国古代数学家们一直没有停止对更高次的开方法的研究。宋元时期是我国古代数学史上群星灿烂的黄金时代,这一时期诞生了许多杰出的数学家,留下了不少出色的数学著作。贾宪就是这一时期的人,他是北宋天文学家楚衍的儿子。贾宪创造了新的开平方法和开立方法,

《详解九章算法》称之为“增乘开方法”。以开平方为例,因为有等式

(a+b)2=a2+2ab+b2=a2+(2a+b)b

则可以把一个数的平方根分成几位数字来求。先求出平方根的最高位数字 a 的平方而得到余数。如若原来的数可以表达成(a+b)2 的形式,那末这个余数一定能写成(2a+b)b 的形式。此时,我们用 2a 去试除余数,看看商数是多少,然后定出平方根的次高位数字 b。假如(2a+b)b 刚好等于这个余数,则原数的平方根就等于 a+b。否则,把 a+b 当成原来的 a,而将上述手续

继续进行下去。如果要求一个数的立方根,则根据等式

(a+b)3=a3+3a2b+3ab2+b3

=a3+(3a2+3ab+b2)b

先求出它的最高位数 a,再从原来的数减去 a 的立方而得到余数。然后用 3a2 去试除余数,定出立方根的次高位数 b。再从余数减去(3a2+3ab+b2) b。如果得到新余数等于零,则立方根就是(a+b);不然又可把 a+b 当成 a 继续进行这种步骤。例如要求 4913 的立方根,按照贾宪创造的这种方法,就有下述算式

3a2Λ 3×102

10 + 7

4913

= 300 1000

3913

3agΛ 3×10×7 = 210

b2Λ 72 = 49 3a2 + 3ab + b2

Λ 559 3913Λ (3a 2 + 3ab + b2 )b

所以有

3

= 17

这种方法正是我们今天教科书中介绍的方法。而类似的方法在欧洲则要到1804 年和 1819 年才分别由意大利数学家鲁菲尼与英国数学家霍纳提出,比

贾宪迟了大约 800 年。

贾宪创造的开平方法和立方法摆脱了《九章算术》中刘徽阐释的几何方法的约束,开辟了寻求纯代数法的道路,使得这种“增乘开方法”有可能推广到更高次的情形去。虽然几何直觉启示人们发现了不少新命题和新方法, 但是这种直观性的思维对更高维的问题却往往无能为力。《九章算术》中记载的开平方法和开立方法,依靠几何直观,无法解决更高次的开方问题,只有另辟蹊径,才有希望在这里取得突破。在这一领域中,我们的先辈进行了长时期的摸索和试探。从刘徽到贾宪,中间相隔了 800 年左右的时间。取得这种突破的艰巨性就可想而知了。更加令人自豪的是,《九章算术》提出了完整的开平方法和开立方法后,好像是等待了世界 800 年,最后还是由中国人自己把这个问题彻底解决。贾宪在找到了开平方和开立方的新方法后,继续向前迈进,终于解决了任意高次幂的开方问题。

用开平方和开立方的“增乘开方法”解决了四次以上的开方问题,首先必须知道四次以上二项展开式的系数。到这时,杨辉三角的诞生就成为非常必要的了。而早已熟知的二次、三次情形下的二项展开式的系数,则又为贾宪探求二项系数所排成的三角形数表的规律准备了富有启发性的特例,从而为贾宪最终完成这一杰作提供了可能条件。从刘徽解释开平方和开立方的几何意义,到贾宪发现杨辉三角,从而完成更高次的开方问题,这实在是合乎逻辑的必然结果。有了杨辉三角,就可以求得任意高次二项展开式的系数, 因而也就从理论上来说解决了任意高次的开方问题。早在 11 世纪中叶便解决了开任意高次幂的开方法问题,这不能不说是中国古代数学家的一项杰出的创造。杨辉的《详解九章算法》收录了许多早已失传的各种数学著作中的一

些问题和算法,“增乘开方法”和“开方作法本源”图就是通过杨辉著作的阐释才得于留传至今。在这个意义上,把“开方作法本源”图冠于杨辉之名也是当之无愧的。

当然,欧洲数学家在这方面的成就也是不能抹煞的。巴斯加的贡献在于发现了二项展开式的系数与组合数之间的联系。为牛顿发明二项式定理(即不必利用(a+b)c-1 而直接得到(a+b)n 的展开式,并把指数 n 的从正整数推广到分数和负数)奠定了基础。值得人们继续探索的一个问题是,欧洲人究竟是从什么角度去发现二项式系数所组成的三角形数表的。如果说这也来自于对开方问题的研究,那末如前面提到的,开平方和开立方的鲁菲尼—霍纳法要到 19 世纪初才出现;如果说它直接来自于对组合数的研究,那末正如欧美数学史家所说的那样,在巴斯加之前,对组合数的研究,是和二项式方面的工作无关的。

总而言之,二项展开式系数所组成的三角形数表的发现,即使似文字记载为依据,也是 1261 年杨辉的《详解九章算法》为最早的记录。在中亚细亚,

阿尔·卡西载有类似数表的《算术之钥》发表于 1427 年,而欧洲首先发现的

这种数表,是印在 1527 年德国数学家阿皮纳斯所著的一本书的封面上。《详

解九章算法》比它们早了二三百年。如果从 11 世纪的贾宪算起,则早于它们四五百年。