
编者按:本文系国家图书馆格物?考工?源流:中国古代科技发明创造讲稿《中国传统数学的机械化特征》下篇。更多精彩内容,敬请阅读国家图书馆(中国古籍保护中心)、北京大学历史学系主编《格物?考工?源流:中国古代科技发明创造》(北京大学出版社,2020年)。
《国图名家讲座集》(全4册)
二、中国传统数学的演变历程
数学是不是科学?在我国,数学的定位就有个变化。毛泽东在80年前,也就是20世纪40年代就说过,世界上的知识有两门,一门是自然科学知识,一门是社会科学知识。按照这种说法,我们可以理解成比如说“数理化天地生”是自然科学知识,“文史哲政经法”是社会科学知识。但是他在后面又加了一句“哲学则是自然科学和社会科学的概括和总结”。这一下不得了了,哲学就凌驾在一切学科之上了。说哲学是社会科学的概括和总结,那我服气;说哲学是自然科学的概括和总结,那我不服气。我认为数学的性质和哲学类似,是自然科学和社会科学的基础和工具,也应该被单独拎出来强调其重要性。
要学科学、学数学的另外一个原因,是我们中国根深蒂固的“辩证基因”。举个例子啊,“文革”时我家小孩才3岁,回家跟我说:“老爸,我们幼儿园老师给我们讲了辩证法,你知道吗?你平常批评我做坏事,做坏事不应该受批评,因为坏事可以变好事。”我心想这就好坏不分了,变化也要讲条件啊,我就问他:“那如果老爸的钱包被扒手偷了,是不是坏事?”结果我儿子说:“钱包被扒手偷了,对你来说是坏事,对扒手来说是好事。”我觉得很奇怪,我们中国人真的有辩证法基因,春秋战国时期古人就辩白马非马,今天我儿子辩钱包丢了是好事。另外比如说我们工作搞糟了,投资失误了,钱明明打了水漂,我们会美其名曰“交学费”。
还有一个原因,让我们一定要学科学、学数学。我们中国有两千余年的封建时代,比起跨越1000年的欧洲中世纪,中国的封建时期整整多了近一千年。所以我觉得我们现在除了要防止资本主义侵蚀,也要抵御腐朽的封建思想的毒害。
我们的科学教育已有百年历史了。20世纪20年代开始是传授科学知识,20世纪中叶是教会学生科学方法,从80年代开始到现在一直是强调提高我们的科学素质。我写过一本书叫《中国算学史》,也算是科学教育的一部分。这本书除去导言、结语外,共有四章:算学家和算学著作;传统算学理论和计算方法;中国古代历法计算中的数学方法;算学教育与中外交流。讲中国传统数学的机械化思想,我要把整个中国数学史先理一遍。
在导言中我回溯了中国数学的大致发展过程。中国传统数学采用了筹算体系,我们没有笔算,而是用竹棍进行筹算。筹算发展到宋元时期到达高峰,之后转向珠算。到明末清初和清末民初这两个时期,西方数学逐渐传入中国,到最后达到了中外数学的融会。
第一章讲算学家和算学著作。从先秦至汉唐,中国数学已经有了商高和勾股定理、测量术,《墨经》里也有了“圆,一中同长也”等基本数学概念。最有代表性的成果之一就是《九章算术》,它把当时的数学问题分为246个,包括方田、粟米、衰分、少广、商功、均输、方程、盈不足、勾股九个部分。魏晋时期的刘徽对《九章算术》作注,同时另外写了一本书叫《海岛算经》。此后赵爽给《周髀算经》作注,写成了后来被吴文俊归纳成出入相补原理的《勾股圆方图说》。除此以外,还有《孙子算经》《张丘建算经》等著作,祖冲之提出了圆周率的计算方法,唐代则出现了王孝通《缉古算经》等总结性的著作。到了宋元时期,贾宪的《黄帝九章算经细草》和李冶的《测圆海镜》与《益古演段》是最有创造性的数学成就。南宋的秦九韶写出了《数书九章》,杨辉发明出系统的实用算术。元代的朱世杰在《算学启蒙》和《四元玉鉴》中总结了高次方程的数值解法,有了方程组。明清时期,明末的程大位写出了珠算著作《算法统宗》。清朝初期梅文鼎在历算学领域取得较高成就,他的孙子梅瑴成在康熙末年组织编撰了《数理精蕴》;蒙古族数学家明安图写成了《割圆密率捷法》。清朝中期,焦循的《里堂学算记》、汪莱的《衡斋算学》和李锐的《李氏算学遗书》可谓最有名的开创性研究著作。清朝末期涌现出项名达、戴煦、李善兰、华蘅芳、夏鸾翔等一大批数学家,曾国藩的次子曾纪鸿酷爱数学,著有《对数评解》《圆率考真图解》《粟布演草》等数学专著。从李善兰的《方圆阐幽》《弧矢启秘》《对数探源》等著作中,我们可以看到他在三角函数、对数函数领域中的成就,从他的尖锥术中我也得出结论:中国古代数学中的隙积术、垛积术与尖锥术一以贯之,直到清代李善兰时期都没有受到西方数学的本质性影响。
第二章我讲了算学理论和计算方法。中国最早有结绳记事、契木为文、甲骨数字等,后来的筹算一直是十进递位制,又叫十进位值制,因为不仅有零到九十个符号,还用不同的位置来表示个、十、百、千、万。相应的,筹算有四则运算,有九九乘法口诀,珠算也有珠算的口诀。另外,中国传统算学的数字逐渐从整数扩大到负数、分数和小数。中国人最喜欢用分数,比如中国的古六历四分历,年、月、日都没有公倍数,两千多年来一年都等于三百六十五又四分之一天。负数在中国也出现的很早,比如《九章算术》里讲 “经四则运算,得失相反,要以正负以名之”,可见负数是从计算中来的。比如说,5减3等于2,但是3减5就减不尽了,得失相反了,不是得到而是失去了,就以正负命名了,正是得到,负是失去。从我们熟悉的对立统一律来看,正负是从实践中来的,比如粮食增产了是正,减产了是负;借给别人钱是正,借了别人的钱是负。但是从《九章算术》以及中国数学史来看,负数是从运算的过程中得来的,不能说所有的东西都是从实践中来。当然,最终实践是检验真理的唯一标准。除了代数问题、算数问题以外,中国古代数学还有几何问题与勾股测量,具体包括几何图形观念的形成、规矩等工具的发明和使用、对角的认识和应用、关于圆和球的计算等。宋代以来出现了高次方程的解法,贾宪三角(也就是帕斯卡三角)、增乘开方术、正负开方术等都是辉煌的成就。另外还有天元术、四元术、隙积术、垛积术等,这都是高阶等差数列的不同表达形式。
第三章讲中国古代历法计算中的数学方法。中国古代的数学是跟历法计算紧密联系在一起的,汉历中有上元积年的计算,到南宋秦九韶总结出大衍总数术和大衍求一术等等,这些都是数学。再举个例子,拆八字也不是迷信,而是数学的排列组合,所谓堪舆也是有一定科学依据的。比如看手相,掌纹都是在母体中形成的,如果母亲在怀孕时生活富贵、心情好、身体好,那么婴儿的掌纹就会很清晰、分叉少;如果母亲生活条件艰苦,整天都要出去劳动,那么胎儿在肚子里就不安稳,就会出现乱七八糟的纹路。除此以外,中国古代历法里还有各种“调日法”,这就是分数的近似算法;还有内插法和垛积招差法, 到元代授时历采用了“平定立三差法”。
第四章讲算学教育与中外交流。我是国家教育咨询委员会委员,在代表“科协”去参加国家中长期教育改革和发展规划纲要会议的时候,就有人说中国古代没有科学教育。我说这简直是胡说八道,孔子有六艺, 礼、乐、射、御、书、数,其中数就是会计,就是学计算,这就是数学教育。细说起来,六艺里有四项都跟科学有关。唐宋时期就有了书院、学校,并且对朝鲜、日本都产生了影响。那时朝鲜、日本是我们的附属国,在我国有遣隋使、遣唐使。科学教育、数学教育,在今天都是很有意义的。联合国刚刚公布了全球人口数量,中国有14.05亿人口, 第二名是印度,有13.04亿。有统计认为我们的经济总量已经是世界第二,大大超过日本、逼近美国了,但我们的人均只及人家的八分之一、六分之一,恐怕二三十年我们在人均上也很难赶上人家。所以我希望大家要对统计数据敏感,在宣传时要稍微有一些数学意识。再比如,现在我们正在创建创新型国家,中国还不是,全世界有30个,亚洲有3个:日本、韩国和新加坡。这三个国家,特别是新加坡,虽然小,但是人家各项指标都达到创新型国家的水平了,而我们虽然是个大国, 但还没有达到。所以不要因为我们现在是科技大国、教育大国,就满足了,我们科技人员多、科技投入的绝对数量也比较多、教育人口多,所以我们是科技大国、教育大国是很自然的,我们还是要努力成为强国。一比较,就发现印度对我们是极大的威胁,人口跟我们差不多,近几年GDP 增长率都很像我们改革开放初期,7%、8%,甚至接近10%。
西方数学传入中国主要有两个时期。第一个时期是明末清初的早期译著。比如说徐光启就认为我们的学术向西方学习有三步:第一,翻译;第二,汇通;第三,超胜。“欲求超胜必先汇通,欲求汇通必先翻译”。所以我们要规规矩矩、老老实实地把别人的东西引进、消化、吸收,再创新。第二个时期是清末民初,我们在翻译西方数学的同时,近代的科学教育、学校开始兴起。实际上,跟国际接轨的科学教育、学校在我国存在不超过120年,那西方的科学教育有多久的历史呢?最近教育部与文化和旅游部搞了个研学旅行,请我走了一趟意大利的科学之旅,走的都是伽利略、布鲁诺这些人的路线。意大利的博洛尼亚大学是世界上最早的大学,创立于1088年,它的分系、分科、教室、实验室、学历、学位等,初具综合大学的雏形。再看看英国剑桥、牛津的历史,看看美国的哈佛……历史都比我们长多了。清朝末年,慈禧太后亲自批准了几个幼童留美,这算是现代教育,这些幼童学成回国后为国家做了很大的贡献,比如詹天佑。中国自己的现代教育的代表者熊庆来、陈省身、华罗庚,那都是近一百年的事情。
三、吴文俊与中国传统数学的机械化特征
回顾了中国数学的发展历程以后,我要讲一讲中国传统数学的特色,那就是算法化、程序化、机械化,这是相对于古希腊数学的公理化、逻辑化、演绎化而言的。有人依据古希腊数学的特点,说没有证明就没有数学,但我们中国表面看是没有证明,实际上是寓证于算。对一个问题,西方传统是用因果关系来证明出来,但我们是算出来。很多人是有偏见,习惯了亚里士多德的三段式的逻辑方法,习惯了阿基米德、欧几里得的定理,所以没有看到中国传统数学的特色与精髓。数学是中国古代最发达的传统科学之一,曾经有一千多年都处于世界领先地位。吴文俊认为中国古代数学是一种机械化的数学,是机械化体系的代表,并声明自己关于数学机械化的研究工作是“我国《九章算术》以前至宋元时期的数学的直接继承”。
什么叫机械化?我们都知道机械化主要指工业革命以来,机器代替人工、生产力大大提高的过程。数学的机械化,说穿了就是利用最新的电子计算机的成果,利用信息技术的软件或硬件,把几何定理代数化并编制成程序,输入计算机,用计算机代替人脑来证明。
吴文俊1919年出生,从20世纪40年代就开始从事代数拓扑学研究,所以数学界公认吴文俊对于微分几何和拓扑学的发展起到了承前启后的作用,拓扑学成为数学科学的主流。也因为在代数拓扑学领域的成就,吴文俊在37岁(1956年)就获得了国家首届自然科学一等奖,在38岁就当选为中国科学院学部委员。70年代后期,吴文俊已近花甲之年,为什么他毅然改变了前半生擅长的研究方向、不再执着于在代数拓扑学方面做的奠基性工作,而是转向了当代数学发展中具有中国传统特色的机械化数学的方向?吴文俊在课堂上说过,“我搞数学史的研究,要感谢一个人,江青。因为江青跑到科学院来号召大家搞科技战线上的儒法斗争,说中国历史上的科技战线上就有儒法斗争,比如说祖冲之颁行《大明历》就和戴法兴进行过辩论,祖冲之是法家, 戴法兴是儒家。那我正好借这个口实,就去图书馆查历史上科技战线的儒法斗争的书,数学书,结果在《隋书? 律历志》中看到了祖冲之计算圆周率的方法,就开始发现中国的数学有不同于西方数学的特色”。吴文俊在《隋书·律历志》查到了π的值3.1415926,还查到了刘徽的割圆术:割之弥细,所失弥少;割之又割,以至于不可割,则与圆合体而无所失矣。也就是以圆内接正六边形边数数倍增加的方式,通过计算周长来逼近圆的周长。看到对刘徽割圆术的记载,吴文俊就去更早的史料中去找刘徽这个人,发现在史籍中找到了四个刘徽,只有魏晋时期的刘徽的记载和数学有关:公元263年刘徽注解《九章算术》。《九章算术》中对圆周率的计算方法是“周三径一”,也就是说直径是一的圆周长就是三,刘徽在此基础上发展出割圆术。最后祖冲之利用割圆术算到了圆内接正一百九十六边形的周长,也就是3.1415926。割圆术的“割之弥细,所失弥少;割之又割,以至于不可割,则与圆合体而无所失矣”代表了一个无穷递缩等比数列,也是个极限的过程, 蕴含着极高的数学智慧。所以吴文俊认为“以《九章算术》为代表的中国传统数学思想方法是以算为主,以术为法,寓理于算,不断证明,这同古希腊几何原本为代表的逻辑演绎证明和工业化体系异其旨趣,在数学历史发展的进程中此消彼长,交相辉映。但由于近代计算机的出现,其所学数学的方式方法正与《九章》传统算法体系若合符节,《九章》所蕴藏的思想影响必将日益显著,在下一个世纪中凌驾《原本》思想体系之上,不仅可能,甚至说成是殆成定局,本人也认为并非过甚之词”。所以刘徽对中国数学的贡献是极大的,2002年国际数学家大会在北京召开之际,我趁机奔走呼吁去申请一张刘徽的纪念邮票,以纪念刘徽在中国数学史中的重要贡献。
到了20世纪70年代中叶,吴文俊被下放到计算机工厂劳动,切身体会到了计算机的巨大威力。那时候他已经年过半百,却一头扎进机房用一个HP-1000机器学习算法语言、学习编制算法程序,最后发现不仅仅是汉唐数学具备机械化特征,与汉唐数学一脉相承的宋元数学也具备机械化程度很高的计算程序,比如贾宪三角、增乘开方、高次方程的数值解法、高次差的内插法、数字高次方程的立法等。除此以外,有些还包括了现代计算机语言中构造非平易算法的基本要素,比如循环语句、条件语句、子程序等。但是我们不能因为中国传统数学算法化、程序化和机械化的特征,就说我们那个时候就发明了计算机语言,这只不过是历史惊人的相似之处,亦或者是历史的螺旋上升过程中又用到了一两千年前中国的方法,但是当时的中国人绝对没有想到他们的方法可以在两千年后化腐朽为神奇,因为中国的筹算系统实际上已经消亡了。坦率地讲,中国的传统科学只有中医、中药还在用,其他的都已经融入世界科学的发展潮流、成为近代科学的一个组成部分。基于此,吴文俊很快就找到了中外古今数学的结合点,用中国传统数学思想方法在计算机上实现几何定理的证明,后来进一步运用到微分几何定理的证明和不等式的证明,进而推动了数学的机械化,建立了机械化的数学体系。
我们知道数学基本上就两种形式:一个计算、一个证明,即一个代数、一个几何。二者相比,计算容易,证明难;计算复杂,证明简单;计算刻板,证明灵活;计算枯燥,证明美妙。由于计算机的出现,枯燥无味的机械化数字计算已经可以经过机器而走向自动化,所以这不仅仅是机械化,也是自动化。把逻辑推理、公式推导、方程求解、定理证明等美妙有趣却又耗费大量脑力劳动的数学工作,通过计算机而机械化,从而将宝贵的脑力劳动花费在更加有创造性的工作上,这是吴文俊认为的数学机械化的终极目标,也是他后半生四十多年来艰苦奋斗、义无反顾摸索前进的方向。
吴文俊在数学机械化和机械化数学方面的开创性成果在1997年获得了国际自动推理领域的最高奖Herbrand奖。2002年8月第24 届国际数学家大会在北京举行,其中一个分会场就是中国古代十部算经的专题研讨会。同年8月26日中国数学史界有一次国际盛会,83岁高龄的吴文俊在中国科技馆作题为“中国古算与实数系统”的报告,阐述了中国古代数学家对实数的全面认识远远早于西方这一观点,并且归纳了中国传统数学的优秀基因和突出亮点(图3)。2002年8月28日,在中国科学院数学研究所晨兴数学中心举办了“沿着丝绸之路”专题研讨会,吴文俊出席并致辞,同时捐出了他获得国家最高科学技术奖的奖金设立了“丝路天文数学基金”,用于资助研究古代东西方的数学和天文学的交流与传播,从而激发了我国数学、天文学史研究的新的增长点,会议闭幕的第二天在古城西安就召开了“第一届丝绸之路数学与天文学史”国际会议。所以说在实施倡导“一带一路”的今天我们不能不佩服吴文俊当年的先见之明。

图3 吴文俊(右)在中国科技馆(2002年),王渝生(左)陪同
综观中国传统数学的历史发展和演变过程,作为中华民族光辉灿烂的古代科学文化的一个重要组成部分,它有着同西方数学截然不同的风格,表现出独具一格的特色。古代数学都是以现实世界的数量关系和空间形式为其研究对象的。中国传统数学体系形成于封建社会初期(秦汉),新的封建制度的建立和巩固需要数学解决农业生产和手工业生产中的各种实际问题。中国传统数学内容的实用性,决定了它的知识体系采取“实际问题——计算方法”的有效格式。以算为主,不仅筹算不用运算符号,运算不保留中间过程,“大乘除皆不下照位,运筹如飞”,显得格外省事,而且,一类问题的算法——“术”,往往被处理成一套套的计算程序,犹如当今电子计算机中的“程序语言”,像开平方,开立方,解线性方程组的“遍乘直除”消元法,计算圆周率的“割圆术”,解数字高次方程的“增乘开方法”,解一次同余式的“大衍求一术”,“累强弱之数”的“调日法”,以及“垛积术” “招差术”等,都是构造性算法,无一不具备机械化程度很高的计算程序。吴文俊对中国传统数学机械化特征的发掘与研究,开辟了中国当代数学发展的新领域,是中国当代数学发展具有中国传统数学特色的新里程碑。吴文俊的工作,将中国传统数学更加清晰地展现在世人面前,它与产生于奴隶制鼎盛时期、以论证宇宙的和谐和奴隶制的合理性为背景的古希腊欧几里得几何体系的逻辑演绎思维风格截然不同,但却在世界数学历史发展的进程中起着完全可与之争雄媲美的作用。

张柏春 关于中国古代科技发明创造的思考
王渝生 中国传统数学的机械性特征
关晓武 他山之石,可以攻玉——中国古玉制作技艺浅议
冯立昇 清华简《算表》
江晓原 中国古代的天学与王权
黄 兴 中国古代指南针实证研究——兼谈磁技术的历史与文化
李延祥 钢铁技术与中华文明的壮大
韩健平 宋慈和他的《洗冤集录》世界——写给官员的验尸手册
罗桂环 中国栽培植物的发展与传播
赵 丰 汉机织汉锦:汉代丝织技术研究的回顾和进展
陈 巍 知识之网:古代丝绸之路上的技术传播
陈晓珊 中国古代航海造船技术与海上丝绸之路