数字的发展史
在古代世界的四大文明中,中国的数学是持续繁荣时间最长的。公元前14世纪,中国古典数学经历了汉代、魏晋南北朝、宋元三个发展高潮,宋元时期达到顶峰。
与希腊古典数学以证明定理为中心不同,中国古代数学侧重于创造算法,尤其是求解方程的各种算法。从线性方程到高次多项式方程,甚至不定方程,中国古代数学家创造了一系列先进的算法(中国数学家称之为“技术”),他们用这些算法求解相应类型的代数方程,从而解决了导致这些方程的各种科学和实际问题。特别是几何问题也化简为代数方程组,然后用程式化的算法求解。因此,中国古代数学具有明显的算法化和机械化特征。这里有几个例子来说明中国古代数学发展的这一特点。
1.1线性方程组及“方程技巧”
中国古代最重要的数学经典《九章算术》第八卷中的“方程术”,是求解线性方程组的算法。以本卷题目1为例,用现代符号表示,这个问题相当于解一个三变量线性方程组:
3x+2y+z=39
2x+3y+z=34
x+2y+3z=26
《九章》没有对未知的符号,而是用计算来计算X?y?z的系数和常数项排列在(长)方阵中:
1 2 3
2 3 2
3 1 1
26 34 39
“方程技术”的关键算法叫“乘直除”。在这个例子中,计算过程如下:将该行和左行的数字乘以右行(x)的系数,然后将得到的结果单独“除”右行,即连续减去右行对应的数字,那么该行和左行的系数就会变成0。这个方程可以通过反复执行这个“乘除”算法来求解。很显然,《九章算术》方程技术的“乘直除”算法,本质上就是我们今天使用的解线性方程组的消元法。过去在西方文献中被称为“高斯消元法”,但近年来开始改变称谓。例如,法国科学院院士、前苏黎世大学数学系系主任P.Gabriel教授在他的教材中把解线性方程组的消元法称为“张苍法”[4]。
1.2高次多项式方程与“正负平方根”
《九章算术》卷四有“方”和“方”。《九章算术》中的这些算法逐渐推广到高次的情况,到宋元时期发展为一般高次多项式方程组的数值解法。秦是这方面的大师。他在《数学书九章》(1247)一书中给出了高次多项式方程数值解的完整算法,他称之为“正负平方抽取”。
用现代符号表示,秦的“正负平方根”思想是这样的:对于任意给定的方程,
f(x)= a0xn+a 1xn-1+……+an-2 x2+an-1x+an = 0(1)
其中a0≠0,an
f(c+h)= A0(c+h)n+a 1(c+h)n-1+……+an-1(c+h)+an = 0
关于h的方程可以根据h的幂将类似的项组合起来得到:
f(h)= a0hn+a 1hn-1+……+an-1h+an = 0(2)
然后可以再次估计满足新等式(2)的根的最高数字。这样下去,如果一个新方程的常数项为0,那么根就是一个有理数;否则可以继续上述过程,根据要求的精度求出根的近似值。
如果系数A0、a6+0、...原始等式(1)的α1和α2以及估计值c被用来找到系数a0,a1,...新等式(2)的an,需要重复使用该算法。秦给出了一个标准化的方案,我们可以称之为“秦方案”。他在数学书籍的第九章中写道。涉及的最大方程数是10。秦解决这些问题的算法是统一的、清晰的,是中国古代数学算法化、机械化的典范。
1.3多元高次方程组与“四元技术”
不是所有的问题都可以归结为线性方程或一个未知量的多项式方程。实际上可以说,如果有更大数量的实际问题可以用代数方程来求解,就会出现含有多个未知数的高阶方程。
即使在今天,解高阶多元方程也不容易。中国元代数学家朱世杰是历史上第一个系统处理多元高次方程的人。朱世杰的《玉娟四鉴》(1303)中涉及的高次方程已经到了四个未知数。朱世杰用“四要素”解这些方程。“四元法”首先用“天”、“地”、“人”、“物”表示不同的未知数,同时建立方程组,然后用一般的序贯消元法求解方程组。朱世杰在思源遇见创造了各种各样的淘汰程序。
通过《四元素玉镜》中的具体事例,我们可以清楚地理解朱世杰“四元素技能”的特点。值得注意的是,这些例子中有相当一部分是从几何问题中推导出来的。这种把几何问题转化为代数方程组,用统一算法求解的例子在宋元数学著作中比比皆是,充分体现了中国古代几何的代数化、机械化倾向。
1.4线性同余方程组与“中国剩余定理”
中国古代数学家出于历法计算的需要,开始研究历法的形状:
X≡Ri (mod ai) i=1,2,...,n (1)
(其中ai是成对互质的整数)。在公元4世纪,有一个著名的“孙子问题”,它等价于求解以下同余组:
X≡2(模3) ≡3(模5) ≡2(模7)
《孙子算经》作者给出的解法,指导了宋代秦解一个同余组的通用算法——“大拓求术”。这种通用算法在现代文献中通常被称为“中国剩余定理”。
1.5插值和“调用差”
插值算法在微积分的酝酿过程中起着重要的作用。在中国,早在东汉时期,学者们就用插值法计算太阳、月亮和五星的运动。起初,它是一种简单的一次性插值法,到了隋唐时期,出现了第二种插值法(如大李岩的一条线,727)。由于天体运动的加速度不均匀,二次插值仍然不够精确。随着历法的进步,到了宋元时期,出现了三种内插法(郭守敬《计时历法》,1280)。在此基础上,数学家朱世杰甚至创造了一般的高阶插值公式,这就是他所谓的“诀窍”。朱世杰的公式相当于
f(n)=n△+ n(n?1)△2+ n(n?1)(n?2)△3
+ n(n?1)(n?2)(n?3)△4+……
这是一个非常杰出的成就。
不可能把中国古代数学家的算法全部列出来,但从上面的介绍中不难看出,中国古代和中世纪数学家创造的很多算法,即使以现代的标准来看,也达到了很高的水平。这些算法所表达的一些数学真理,直到18世纪以后才在欧洲依靠现代数学工具重新获得(例如上面提到的高次代数方程数值解的秦程序,与英国数学家W·霍纳在1819年重新推导的霍纳算法基本一致;对多元高次方程的系统研究直到欧洲18年底才出现在E. Bezhu等人的著作中。求解一阶同余组的留数定理分别由欧拉和高斯重新得到。至于朱世杰的高阶插值公式,与现在普遍使用的牛顿-格雷戈里公式本质上是一致的)。这些算法的结构和复杂度也是惊人的。例如,对秦的“大绕射求一术”和“正负根法”的分析表明,这些算法的计算程序包含了现代计算机语言中构造非平凡算法的基本元素和结构。这种复杂的算法很难被视为简单的经验法则,而是高度概括思维能力的产物,与欧几里得几何的演绎思维风格完全不同,但对数学的发展起到了完全不可比拟的作用。事实上,中国算法在古代的兴盛也催生了一系列极其重要的概念,显示了算法思维在数学进化中的创造性意义和能动作用。这里有几个例子。
1.6负数介绍
在《九章算术》中“方程技巧”的消去程序中,减去方程的系数时,一个小数会减一个大数。正是在这里,《九章算术》的作者们引入了负数,给出了正负数的加减算法,即“加减术”。
理解负数是人类数系扩张的重要一步。7世纪,印度数学家开始使用负数,但欧洲对负数的理解很慢。即使是在16世纪,吠陀作品也避免负数。
1.7的无理数的发现
中国古代数学家在平方根运算中接触到无理数。《九章算术处方》中指出有无穷的情况:“若有无穷的处方,则不能开。”《九章算术》的作者们给这个无穷无尽的数字起了一个专门的名词——“面”。“面子”是一个无理数。与古希腊毕达哥拉斯学派发现正方形的对角线不是有理数相比,中国古代数学家相对自然地接受了那些“无穷无尽”的无理数,这可能归功于他们长期使用的十进制,使他们能够有效地计算出“无穷根”的近似值。三国时期为《九章算术》作注释的数学家刘徽,明确提出了一种用小数任意逼近无数根的方法,他称之为“微分法”,并指出在做正方形的过程中,“一退十步,再退百步,再退百步,其点皆精,所以,..虽然有一些废弃的数字,
十进制记数系统是对人类文明不可磨灭的贡献。法国伟大的数学家拉普拉斯曾称赞十进制的发明,说它“使我们的算术系统在所有有用的创造中成为一流的”。中国古代数学家正是在严格遵循十进制的基础上,建立了具有算法特色的东方数学大厦。
1.8贾仙三角或杨辉三角
从介绍高阶方程的数值求解算法(秦程序)可以看出,我国古代的平方方法是基于?基于c+h n的二项式展开,这就导致了二项式系数表的发现。南宋数学家杨辉写了《九章算法详解》(1261),里面有一个所谓的“平方根法的根图”,其实就是一个二项式系数表。此图摘自公元1050年左右北宋数学家贾宪的一部作品。《方剂学实践根图》现在被称为“贾仙三角”或“杨辉三角”。二项式系数表在西方叫帕斯卡三角形?1654.
1.9趋势符号代数
解方程这种数学活动,必然会引起人们对方程表达形式的思考。在这方面,中国古代擅长解方程的数学家自然走在了前面。在宋元的数学著作中,已经有了用特定的汉字作为未知数的符号,然后建立方程的系统努力。这就是以叶莉为代表的“天工”和以朱时杰为代表的“四大功法”。所谓“天元术”,首先是“设天元为某某”,相当于“设天元为某某”,“天元为一”的意思是未知,然后在算盘上排列“天元式”,即一维方程。这种方法推广到很多未知的情况,也就是前面提到的朱世杰的“四元素法”。所以用天球法和四元法对方程进行排序的方法和现代代数中对方程进行排序的方法类似。
符号化是现代代数的符号之一。中国宋元时期的数学家在这方面迈出了重要的一步。“天术”和“四术”是中国古代数学的巅峰,侧重于创造算法,尤其是解方程?。
2中国古代数学对世界数学发展的贡献
数学的发展包括两个主要活动:证明定理和创造算法。定理证明是由希腊人首创的,然后形成了数学发展中演绎倾向的支柱;算法创造在古代和中世纪的中国和印度非常兴盛,形成了数学发展中强烈的算法倾向。纵观数学史,我们会发现,数学的发展并不总是由演绎倾向主导的。在数学史上,算法倾向和演绎倾向总是交替占据主导地位。古巴比伦和埃及的原始算法被希腊演绎几何取代,而在中世纪,希腊数学衰落,算法在中国、印度和其他东方国家趋于繁荣。东方数学在文艺复兴前夕通过阿拉伯传到欧洲,对现代数学的兴起产生了深远的影响。事实上,解析几何和微积分作为现代数学的诞生标志,从思维方法的起源来看,不能说是演绎倾向的产物,而是算法倾向的产物。
从微积分的历史中我们可以知道,微积分的产生是找到了解决一系列实际问题的普适算法的结果?6?。这些问题包括:确定物体的瞬时速度,求最大值和最小值,求曲线的切线,求物体的重心和重心,计算面积和体积。从16世纪中叶开始的100多年里,许多伟大的数学家致力于获得解决这些问题的特殊算法。牛顿和莱布尼茨的功绩在于将这些特殊的算法统一为两种基本运算——微分和积分,并进一步指出它们的互逆关系。无论是牛顿的先驱还是牛顿本人,他们使用的算法都不严谨,没有完整的推导。牛顿流数技术的逻辑缺陷是众所周知的。对于当时的学者来说,首要的是找到一个有效的算法,而不是去证明它。这种趋势一直持续到18世纪。18世纪的数学家,往往不顾微积分基础的困难,大胆进步。比如泰勒公式,欧拉,伯努利,甚至傅立叶在19世纪初发现的三角形展开,都长期缺乏严格的证明。正如冯·诺依曼所指出的:没有一个数学家会把这一时期的发展视为异端;这一时期产生的数学成就是公认的第一流的。另一方面,如果当时的数学家经过严格的演绎证明,不得不承认新算法的合理性,就不会有今天的微积分和整个分析大厦。
现在我们来看看早期解析几何的诞生。一般认为笛卡尔发明解析几何的基本思想是用代数方法解决几何问题。这与欧几里得演绎法大相径庭。事实上,如果我们阅读笛卡尔的原著,就会发现贯穿其中的彻底的算法精神。《几何》开篇就宣称:“为了让自己更聪明,我会毫不犹豫地把算术项引入几何”。众所周知,笛卡尔的《几何》是他的哲学著作《方法论》的附录。笛卡尔在另一部未出版的哲学著作《指导思维的法则》(以下简称《法则》)中强烈批判了传统的研究方法,主要是希腊的方法,认为古希腊人的演绎推理只能用来证明我们已经知道的东西,“却不能帮助我们发现未知”。因此,他提出“需要一种发现真理的方法”,并称之为“数学宇宙”。笛卡尔在《定律》中描述了这种普通数学的蓝图,他的大胆计划,简单地说,就是将所有科学问题转化为求解代数方程的数学问题:
任何问题→数学问题→代数问题→方程解。笛卡尔的几何学是他的上述方案的具体实现和论证。解析几何在整个方案中起着重要的工具作用,它把所有的几何问题都变成了代数问题,可以用一种简单的、几乎自动化的或者相当机械的方法来解决。这符合上面介绍的中国古代数学家的解题路线。
因此,我们完全有理由说,在17世纪从文艺复兴到现代数学兴起的大潮中,回荡着东方数学尤其是中国数学的节奏。整个17-18世纪应该算是一个求无穷小算法的英雄时代,虽然这个时期的无穷小算法相比中世纪的算法有了质的飞跃。然而,从19世纪,尤其是从70年代直到20世纪中叶,演绎倾向再次在远高于希腊几何的层面上占据优势。因此,数学的发展呈现出算法创造和演绎证明两条主流交替繁荣、螺旋上升的过程:
演绎传统-定理证明活动
算法传统-算法创造活动
中国古代数学家对算法传统的形成和发展做出了巨大贡献。
我们强调中国古代数学的算法传统,并不意味着中国古代数学没有演绎倾向。事实上,在魏晋南北朝一些数学家的著作中,已经有了相当深刻的论证思想。比如赵爽的勾股定理的证明,刘辉的“养马”?一个矩形圆锥体体积的证明,祖冲之父子对球体体积公式的推导等。,可与古希腊数学家的相应工作相提并论。赵爽勾股定理证明图的原型“弦图”已被采用为2002年国际数学家大会会徽。令人困惑的是,随着南北朝的结束,这种争论倾向可以说戛然而止了。限于篇幅和本文的重点,在此无法详细阐述这方面的内容。有兴趣的读者可以参考参考?3?。
3古为今用,创新发展
20世纪,至少从中期开始,电子计算机的出现给数学的发展带来了深远的影响,诞生了一系列令人瞩目的成果,如孤子理论、混沌动力学、四色定理证明等。在计算机和有效算法的帮助下,我们可以猜测和发现新的事实,归纳和证明新的定理,甚至进行更普遍的自动推理...这些都可以说是揭开了数学史上一个新的算法繁荣时代的伟大序幕。科学界敏锐的有识之士已经预见到了数学发展的这一趋势。在我国,早在20世纪50年代,华教授就亲自领导成立了计算机研究组,为我国计算机科学和数学的发展奠定了基础。从20世纪70年代中期开始,吴文俊教授毅然从最初的拓扑学领域转向定理机器证明的研究,开始了现代数学的一个全新领域——数学机械化。数学机械化的方法,在国际上被誉为“吴方法”,使我国在数学机械化领域处于领先地位。正如吴文俊教授自己所说,“几何定理证明的机械化问题,从思维到方法都可以找到,至少在宋元时期是这样”,他的工作“主要是受到中国古代数学的启发”。“吴法”是中国古代数学算法化和机械化精髓的发展。
在计算机的影响下,算法的发展趋势自然引起了一些外国学者对中国古代数学中算法传统的兴趣。早在20世纪70年代初,著名计算机科学家D.E.Knuth就呼吁人们关注古代中国和印度的算法?5?。多年来,这一领域取得了一些进展,但总的来说,仍需加强。众所周知,包括数学在内的中国古代文化是通过著名的丝绸之路传播到西方的,而阿拉伯地区是这种文化传播的重要中转站。现存的一些阿拉伯文的数学和天文学著作中包含了一些中国的数学和天文学知识。例如,阿尔·凯西的名著《算术的关键》中有相当数量的数学问题直接或间接地显示了中国来源。根据Al Cassie的叙述,在他工作的天文台有很多来自中国的学者。
然而,长期以来,由于“西方中心论”尤其是“希腊中心论”的影响以及语言文字上的障碍,相关的资料并没有被挖掘得很远。为了全面揭示东方数学与欧洲数学文艺复兴的关系,吴文俊教授专门从其获得的最高国家科学奖中拨出专项资金设立“吴文俊数学与天文丝路基金”,鼓励和支持青年学者在该领域开展深入研究,意义深远。
研究科学史的一个重要意义就是借鉴历史的发展,推动现实的科学研究,通俗地说就是“古为今用”。吴文俊对此有精辟的论述。他说:“如果你了解了数学的历史发展、一个领域的发生和发展、一种理论的兴衰、一个概念的来龙去脉、一种重要思想的产生和影响等诸多历史因素,我想你会对数学了解得更多,对数学的现状了解得更清楚、更深刻,对数学的未来也能起到指导作用,也就是说。数学机械化理论的建立就是这一原理的成果。中国科技的伟大复兴呼唤更多具有强烈中国特色和鲜明时代气息的创新。