吴文俊:中国数学史的新研究

内容来源:本文为吴文俊1986年在国际数学家大会上的报告,英文原稿收入Proceedings of the International Congress of Mathematicians Berkeley, California, USA, 1986 第2卷, pp. 1657—1667. 中译文原载于《自然杂志》第12卷第7期,王志健译。

>>>>

一、引言

我们将仅限于讨论中国传统数学,即从远古至14世纪。近年来,国内外学者对此进行了许多卓有成效的研究,从而对中国传统数学的真髓有了相当深刻的认识。笔者将随意引用他们的研究成果,但对在本文表述的观点,则负完全责任。

我们的研究必须遵循两项基本原则。

原则一 引出的所有结论都必须依据幸存至今的原始文献。

原则二 引出的所有结论都必须依据我们祖先的特有方式去论证。应用的知识、所用的辅助手段和方法都仅仅限于古代。

根据原则一,在以后的叙述中,我们要反复引用下列文献:

《九章算术》,于公元50年明确成型;

《九章算术注》,刘徽,公元263年;

《海岛算经》,刘徽,公元263年;

《数书九章》,秦九韶,公元1247年。

根据原则二,我们强调,在代数和几何的推演中,不得使用代数符号演算,不得添加平行线,因为在中国传统数学中没有这些手段。事实上,中国传统数学有着自己的发展路线、思维方式和表达风格。它与作为希腊遗风的西方数学不仅毫无关联,而且差别极大。在详尽具体研究中国传统数学的成就之前,我们先指出它的几个特点。

第一,中算家不用笔算,而用算筹在筹算盘上作筹算。中算家很早就发明了完善的十进位制记数法,这就使得把算筹排在筹算盘上的适当位置上表示整数成为可能。尤其是,在十进位值制记数法中,只要在某个恰当的位置上留一个空位便能很好地将0表示出来。其实“数学”在中国历来称为“算术”,它的意思是“计算的方法”。

第二,中国传统数学的成果通常表达为分类问题集的形式,每个问题则分为若干条目。条目一是“问”,即带数据的实际问题陈述。条目二是“答”,给出这问题的数字解。条目三是“术”,即得出结果的方法,常常就是我们今天所说的“算法”,有时也是公式或定理。要注意,条目一中的数据在算法中不起多大作用,方法则具有普遍意义,在问题中可以任意替换为其他数据,条目一仅仅起着举例的作用。条目四是“注”,说明条目三中算法的根据及理由。宋代以后,往往添加了一个条目五,“草”,它包含了获得最后结果的详细运算过程。

二、数论

本节中,我们所谈到的整数指的是都是正整数。

中国传统数学没有素数和因子分解之类的概念。然而,它有求两整数的最大公约数——称为“等”——的方法,就是“更相减损术”。算法始下:

“以少减多,更相减损,求其等也。”

例如24与15的等是3,就是按下述方法求得的:

正如刘徽在《九章算术注》中指出的,这个算法的原理是:在运算过程中,整数逐步减小,但其等却始终保持不变。

尽管实际上在我国古代从未引入素数概念,但中算家却在数论研究中取得了非凡的成就。我们介绍其中两项,它们是中国南京大学莫绍揆和西北大学李继闵的研究成果。

在中国传统数学发展的漫长岁月中,勾股形——直角三角形——是一个颇受宠爱的研究对象。尤其是,可以作为勾股形中勾、股、弦——短直角边、长直角边和斜边——的长度的三元整数组,在典籍《九章算术》中已被完全确定。在第九章勾股章中,列出了8个这样的三元数组:

(3,4,5),(5,12,13),

(7,24,25),(8,15,17),

(20,21,29),(20,99,101),

(48,55,73),(60,91,109)。

列出这三元数组绝非凑巧,实际上,在这章的问题十四中已经包含了一个求这种一般形式的三元数组的方法。我们把此题抄录如下:

“今有二人同所立。甲行率七,乙行率三。乙东行。甲南行十步而邪东北与乙会。问甲乙行各几何。”

解题的“术”是这样的:

“令七自乘,三亦自乘,并而半之,以为甲邪行率。邪行率减于七自乘,余为南行率。以三乘七为东行率。”

在第一节中我们已经指出,特殊数值7和3在问题中仅仅起着举例说明的作用,完全可以用任意一对整数m、n(m>n>0)来代替这两个数。“术”就是说,三条边有这样的比率:

前列的8个三元数组完全可以由下列整数对用这个方法定出来:

(m,n)=(2,1),(3,2),(4,3),(4,1),(5,2),(10,1),(8,3),(10,3)。

在刘徽的《九章算术注》里,对几何性质所作的证明依据了一个普遍原理:出入相补原理,第三节要对它作详细说明。在这里我们要指出,刘徽的证明同时显示了,m:n实质上就是(勾+弦)对股的比率,只要勾:股:弦的比率为整比率,m:n也为整比率。

作为第二个例子,我们来讨论“求一术”。众所周知,当今它被称为“中国剩余定理”。新近的研究表明,这种算法是自汉代以来编历时开创的,沿着十分清晰的路线,发展为1247年秦九韶《数书九章》中的形式。在秦九韶著作的序言里,他说,《九章算术》没有这个方法,也没有人知道怎样推演它,但是编历者却广泛运用它。《数书九章》第一卷首先阐明了这个方法。此章有9个问题,包括历表编制、河堤修筑、财物计算、租税分配、谷物出售、军队计点、土木建筑,甚至还有一个盗窃追赃的案例。所有这些题目都化归为一个问题,用现代符号写出来就是:

其中Uj, Mj为已知数,U则为待求,整数被秦九韶称为“定母”(模数),即固定分母的意思,它们不必是两两互素的。秦九韶首先反复应用更相减损术把问题化归为模数两两互素的情形,因此我们在下面的讨论中可以只限于Mj两两互素的情形。

按现代数学,(2.2)的解可沿下述方法求得(可参见Knuth的《计算机编程艺术》第二卷250页)。

记 φ(N) 为整数N的Euler函数,可通过把N分解为素因子来求出它。令

则(2.2)的解由下式给出:

解法和结果都简洁而优美。但由于分解N很困难,对于秦九韶著作中的9个问题,即便是借助于现代的电子计算机,也很难得到最后的答案。

秦九韶的算法则是如下进行。

第一步,取M/Mj模Mj的余数Rj,称为“奇数”,是个专门名词。现在求出满足下式的Kj

所求的最终解由下式给出:

秦九韶称为“乘率”,是一个专门名词。求出满足(2.4)的的算法被秦称为“大衍求一术”。“求一”是寻找数1的意思,“大衍”则是一个哲学术语, 我们不必去管它。求一术的第一步是由4个已知数组成一个方阵:1、0(空格)、、分别放于方阵的左上(LU)、左下(LL)、右上(RU)、右下(RL):

注意这4个数显然符合下面的关系:

算法的下一步是进行运算,使方阵中4个数逐步减小同时保持(2.6)成立。运算到最后,右上数减小到1,根据(2.6),左上数即为所求的乘率。从下述的算法细节可以看出,求一术原理与求两整数之等的更相减损术类同,只是复杂些。其算法是:

“置奇右 ,定居右上,立天元一于左上。先以右上除右下,所得商数与左上一相生入左下,然后乃以右行上下,以少除多,递互除之,所得商数,随即递互累乘,归左行上下。须使右上末后奇一而止,乃验左上所得,以为乘率。”

作为具体例子,我们举出秦的著作中的问题九,它是一宗盗窃案的追赃断结。审案法官可用此算法确定3个贼人中每人所偷稻谷的数量。对于第一个贼人,相应的乘率是这样确定的:

于是得K1=15。我们可以把这个运算程序与(2.1)的运算过程相比较。

上面例题的数据在秦九韶著作的9个问题中是最简单的,但用 Euler 函数法来算已经很不容易了。另外8题包含了天文数字般的大数,非 Euler 函数法力所能及,但秦九韶却用求一术容易地解决了它们。

三、几何

与人们通常的成相反,中国古代的几何学的研究很深入并且很发达。误解大概是出于这样的事实:中国传统几何在内容上和表现形式与欧几里得的那一套由定义、公理、定理、证明构成的演绎体系。相反,中算家不去建立公理,而是提炼少数普遍而合理的一般原理。依据这些原理,就可以用演绎的方式发现和证明形形色色的几何结论。刘徽的《九章算术注》就是这样做的。

中国传统几何与欧几里得几何的着重点也截然不同。我们的祖先从未考虑平行性,相反,对直线的垂直性非常关心。事实上,勾股形,也就是直角三角形,在几千年的发展历程中,一直占据着几何研究的中心位置。其次,中算家不怎么关心角度,但却很重视距离。再次,中国传统几何学研究总是紧密结合着应用,因此,测量、面积和体积计算就是中心研究课题。最后,几何学一直与代数同步发展,到宋元时便育成了几何的代数化。李约瑟正确地指出,这个发展乃是走向创立解几何重要的第一步(甚至是决定性的一步)。

我们通过例子说明这些观点。

例1 日高公式

在地面上相隔一定距离处立等高的两表(古代测日影的标杆)G1, G2,日光照表的影子即可测到,于是从地面算起的日高便可求出:

汉代以前的著作就已描述了这个公式,在其后的编历工作中又经常用它。但它显然只是粗略而不可靠的概算。因此,刘徽便把它移植到大地测量,用海岛代替太阳,把日高公式变为海岛公式。他的《海岛算经》中共有9个应用这类公式的问题,上述公式是其中第一个,也是最简单的一个。书中有证明和附图,宋朝的一些著作还提到了这些图和证明,但以后就失传了。依据公元30年赵爽著作中残缺不全的颜色图,笔者重新整理了这本著作中的论据,对上述的日高公式或海岛公式重作证明如下。

如图1,黄1与黄2面积相等,黄1加青3与黄2加青6面积也相等。表距与表高乘积等于黄1的面积。黄2的宽就是影差,黄2除以影差便是黄2的高,它就是从表顶水平面算起的日高,加上表高便得从面算起的日高。

从图1看,海岛公式的这个证明非常清楚。

例2 出入相补原理

在例1中,各种图形面积的相等乃是出入相补原理的结论,在《九章算术注》中,这个原理简单地表述为:一个平面(或立体)图形被分割成若干块并移至他处,其总面积(或体积)保持不变。这个看来极平凡的原理被成功地用来解决各式各样的有时甚至意想不到的问题,例1便是一例。

勾股形可作为更深入应有这个原理的例子。由勾、股、弦三边组成不同的和与差,如勾股和、勾弦差等。勾、股、弦及它们两两之间的和、差共9个数,在《九章算术》第九章勾股章里,有不少用这9个数中的两个为求出勾、股、弦的问题,它们都是依据出入相补原理解出来的。特别是,我们在第二节中叙述过的勾股数组公式就是应用这个原理于问题十四而求得的。问题十四事实上是已知勾弦和对股的比率而求第三边,刘徽应用出入相补原理给出了如下证明。

如图2,

在《数书九章》里,有一个三角形三边求面积的公式:

显然它与 Heron 公式等价,但形式复杂,而 Heron 公式优美简洁。当然,前者不会从后者推导出来。应用《九章算术》中问题十四的公式,依据出入相补原理,笔者按照中国传统数不的思路,自然地重新证明了秦九韶的这个公式。

Heron(海伦)公式

我们强调,中国传统的求(平方和立方)根及解方程的方法实质上都依据了出入相补原理这个几何特性的原理。我们还强调,《海岛算经》中极难理解的公式,乃是应用出入相补原理自然而然得到的结果。若应用欧几里得的方法,则似乎很难推出这些公式,或者至少是非常迂回曲折和极不自然的。

例3 体积

只依据出入相补原理,便能求得任意多边形的面积。对于求多面体的体积,却不能照此类推。刘徽对此很清楚。因而,他按如下推理完美地解决了这一难题。

把一个长方体斜剖为两个相等的部分,称为堑堵,再把堑堵斜分为二,一个(棱锥)称阳马,另一个(特殊形状的四面体)称鳖臑(图3)。刘徽用了一个极其巧妙的相当于极限过程的推理,得到一个结论,笔者命之为刘徽原理:

“阳马居二,鳖臑居一,不易之率也。”

这个原理与出入相补原理结合可解决任意多面体的体积问题。《九章算术》第五章商功章中一批优美的体积公式都可用这个方法求得。刘徽对这个原理的证明既优雅又严谨,他把一个大堑堵剖分为很多小阳马。从图3可清楚地看出,

1阳马-2鳖臑 = 2×(1小阳马-2小鳖臑).

继续做下去,等式右侧变得越来越小,最后变得可以忽略,于是刘徽得出结论:

“半之弥少,其余弥细。至细曰微,微则无形。由是言之,安取余哉。”

更详尽的论述可以参看 Wagner 的出色论文(Donald B. Wagner, An early Chinese derivation of the volume of a pyramid: Liu Hui, third century A.D., Historia Math. 6 (1979), 169-188.)。【此处编者未能看懂,恳请明白的读者在评论区指教】

刘徽还研究了曲面体体积、尤其是球体体积的求法。他指出在一立方体中作两内切圆柱体。其交叉部分形成的特殊曲体(牟合方盖)体积的确定乃是求球体体积关键。刘徽本人经过周密的思考,未能解决。他采取出严肃的态度,决定把它留给下一代人,他说:

“敢下阙疑,以待能言者。”

牟合方盖

刘徽敏锐观察被继承下来,导致5世纪时祖暅完满地最终解决了这个难题。祖暅是伟大的数学家、天文学家、机械学家祖冲之的儿子。事实上,祖暅获得了一个普遍原理,后来它重新发现时又被称为Cavalieri 原理:

“缘幂势既同,则积不容异。”

祖暅对于球体体积公式有一个优美的证明,我们将在另文介绍。值得注意的是,刘徽已经在《九章算术注》中应用这个原理求得多种简单曲体的体积。虽然没有明确陈述,但确实使用了它。为此,笔者提议应该把我国数学课本里所称的祖暅原理改称为刘祖原理。

总之,出入相补原理、刘徽原理和刘祖原理足以建立整个体积理论,就像我们祖先所做的那样。

四、代数

毫无疑问,代数乃是中国传统数学更为发达的分支。应该指出,在古代,代数实质上等同于解方程。解方程的问题似来源于两个方面。一个来源于商业贸易和货物交换,这导致远古的盈亏术直到《九章算术》第八章所描述的方程术。这一章详述了线性联立方程组的解法并引进了负数。按中国现代语言,“方程”这一术语的最好解释就是“方阵”。实际上,“方”的字面意义为正方形或“矩形”;“程”,按刘徽在《九章算术注》里的解释,就是把数据在盘上摆成矩阵:

“并列为行,故谓之方程”。

因此,解法便是纵横移动算筹,按现代术语那就是消元法。在《九章算术注》中可以找到逐步将方阵化为标准型的详细步骤的例子。

方程的另一来源是测量或几何问题,例如在日高研究中就有日高和太阳与观察者之间水平距离这两个公式。太阳与观察这间距离当然用古已熟知的勾股定理来确定,这就需要求平方根。勾股定理的证明和求平方根显然要依赖出入相补原理,求立方根也是如此。在《九章算术》的第九章勾股章中还有一个从出入相补原理自然引出的二次方程问题。解这类方程还有个专门术语:“开带从平方”,这显然蕴含了方程的来源和解法。

方程的这一源流最迟发展到唐朝成为解三次方程,到了宋朝终于完成了高次方程的数值解法。1819年,Horner 又重新发现了这个方法。

宋元时期(10--14世纪)“天元”这个概念的引入是极为重要的发现,它就是现在所说的未知数。虽然解方程在数千年的数学发展中占据着中心地位,但这才第一次对未知数引入了正确的概念并系统使用。当时,中算家清楚地认识到,天元术具有非常强大的威力,正如在朱世杰著作中所表述的:天元术既阐明基础原理,又提供通用解法,且省却大量劳动。

在宋元,天元术进一步发展为解四元高次联立方程组,同时,几何代数化、多项式运算和消元法也发展起来。方程求解的两个源流合而为一,已经接近现代意义的代数了。因为在筹算盘上运算,多项式中各项系数要摆在盘上的固定位置,这一事实规定了未知数的个数只能以4个为限。只要一旦摆脱筹算而改用其他的运算体系,中国数学就会进入繁荣昌盛时代。当时与阿拉伯世界密切交流,受他们影响比任何时候都大,传入其他运算体系是完全有希望 。可惜,自元代之后,中国数学停止向前发展并且中断了。当利玛窦在明代来到中国时,已经没有中国学者懂得《九章算术》了!

五、结束语

由于篇幅有限,我们来不及论述中国传统数学的其他成就,如:极限概念、高阶差分、级数等等。总之,中国传统数学的特色是构造性、计算性和机械化,经典著作的那些“术”大多数可以容易地改写成实现计算功能的程序。实际上,中国传统数学惯于从具体对象中抽取其内在本质,然后综合这些本质提炼出简明的原理。它们论述简单而应用广泛,形成中国传统数学极不平凡的特色。重点在于始终着眼于处理实际问题,在于简单合情的原理和普遍方法。同样的思想也体现在诸如代数化和十进位值制记数法之类的出色成就中。总的说来,中国传统数学有它自己独特的风格,然而它中断了。蔑视我们祖先辉煌成就——如同在明朝时那样——是不能容忍的。拒绝吸收外国的先进技术——如在初唐时那样——也是荒唐的,那时,已经传入印度数字的书写体系,但却由于坚持筹算而拒绝采用。

在充分认识我们传统思维方法的威力和吸收当代高度发达的国外技术的基础上,我们可以预料,中国数学将进入蓬勃发展的新时代。

THE END—

编辑 ∑Gemini

来源:好玩的数学

文章推荐

顶级数学家如何做数学?当代大师阿兰·孔涅的探秘之旅

耶鲁大学教授给研究生的一些忠告

数学竟然可以如此美丽

数学与爱情

微积分的发现是人类精神的最高胜利

父子同获诺贝尔奖什么的:细数那些从事物理学和数学的一家子

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章