冯立昇 | 清华简《算表》是迄今所见中国最早的计算器与数学文献

清华简

2008年,清华大学组织专家鉴定研究了一批战国中晚期的竹简,简称“清华简”。这批简中有一组形式特殊的简,后研究出它是基于“大九九”运算的计算工具,后被命名为《算表》。研究发现,《算表》不仅可以用来进行乘法运算,还可能有除法和开平方的拓展功能。清华简《算表》是迄今所见中国最早的计算器与数学文献,而且其数学与计算功能也超过了以往中国发现的古代乘法表,它的发现填补了中国先秦计算器具的空白,为认识中国先秦数学应用与普及提供了重要的第一手数据。

清华大学科学博物馆正在展出的“神机妙算——计算器具历史展”中,清华简的复制品也作为“运筹”单元的重要展品展出。本期,我们邀请到清华大学科学技术史暨古文献研究所教授冯立昇详解清华大学重要科学文献——清华简《算表》。

作者:冯立昇

现任清华大学科学技术史暨古文献研究所所长,主要从事数学史、技术史、传统工艺及相关领域文化遗产的研究。

01

清华简的发现及其整理与释读过程

2008年7月,一位校友从海外购置了一批竹简,捐赠给清华大学。经过专家鉴定和碳十四检测,证实这批简形成于战国中晚期,抄写年代约在公元前305年,距今已有2300多年。从简的文字风格来看,具有明显的楚文字的特点。这批简在入藏时,共有2388枚,后来经过拼合,一共整理出2500余枚。这是迄今为止出土的各批战国简中,数量最多的一批。从内容上来看,绝大多数都是严格意义上的书籍,而且大多数是前所未见的经史类文献,具有极高的文献价值、文物价值和学术意义。

为此,2008年8月,清华大学成立了出土文献研究与保护中心(以下简称“中心”),请著名古文字学家、历史学家李学勤先生担任中心主任,来主持清华简的整理和研究工作。

2009年1月中旬的时候,完成了清华简的拍摄工作。2009年3月开始,中心启动了清华简的初步释读工作。其中,最早被整理出来的一篇竹简叫《保训》。《保训》这篇简文的内容,完全是《尚书》的题材,保留了很多出土和传世文献中没有的内容。它记载了周文王临终前对其子武王的遗言,里面提到了尧舜和商朝祖先上甲微的传说。这篇文献的内容是前所未见的。其中包含的中道思想,与儒学的中庸思想有相通之处。

在整理过程中,发现了一类形式非常特殊的简——长度在43.5-43.7厘米之间,比同批的简都要长,宽度达1.2厘米,比其他简明显宽一些。这类简有21支(图1),其中完整的有17支,另外4支上端有残缺。每支简的上端,都有一个圆孔。还有一支是没有书写文字的空白简,上面有20个圆孔,这些孔内都留有丝带残留物。除了形制外,简的文字也比较特殊,主要是一些数字,而且仔细观察每支简,这些数字都是有规律的,有着明显的数学含义。李学勤教授知道我在清华从事数学史研究工作,于是邀请我参与这批简的整理和释读工作,并安排出土文献中心的古文字学家李均明教授和我共同承担整理研究工作。

最初我们把这21支简称为《数表》,因为它全是数字。但是初步整理工作完成之后,我们发现它有计算功能,可以说是一个很明显的计算工具。2010年7月12日,我们邀请了国内著名的中国数学史研究专家开了一个座谈会。经过讨论,专家们建议不要叫《数表》,这个名字不能涵盖它的含义,不能概括它的功能,建议把它叫作《算表》。于是,我们采纳了专家们的建议,将它命名为《算表》。

《算表》照片

《算表》简宽1.2厘米,厚0.13厘米,呈黄褐色。原册以三道绳编联,原来的编绳已经无存,不过它的痕迹保留了下来。上编绳距离竹简的顶端、下编绳距离竹简的底端都是2厘米,中编绳基本在整个竹简的中部。另外,竹简从上至下,共有18条红色的栏线,横穿于21支竹简的简面。除了最上端和最下端的红色栏线外,其他16条栏线都是经过先墨后朱两次绘制而成的。18条栏线加上三道编绳,一共21条线,将整个《算表》横向隔成20“列”。而每支竹简自然构成为表格纵向的竖“行”,一共21行(图3)。

《算表》复制品

20横列、21竖行,纵横交织,构成一个乘法表,横列表头与竖行表头的数字,十字相交的点,就是这两个数的乘积。我们把竹简中的楚文字改写成现在的阿拉伯数字,便得到了一个有重要数学意义的乘法算表。这是中国数学史上的一个很重要的发现。

2013年年底,《清华大学藏战国竹简(肆)》在中西书局出版,收录了整个《算表》。解读工作是由李均明教授和我两个人完成的。2014年年初的新闻发布会上,我们发布了这个成果。当时央视做了报道,英国的Nature杂志也很感兴趣,专门采访了李均明和我,并且在Nature的网络版上做了一个专题报道(图4)。他们还找了国外的数学史专家,比如一位研究古巴比伦数学史的学者,对《算表》的成就进行了论证,确认了《算表》在世界数学史上的价值。Nature的这个专题报道被很多媒体转载,比如《科学美国人》《华盛顿邮报》。

Nature报道

02

《算表》的构造和它的基本功能

《算表》实际上是基于九九口诀表制作的一个数学计算工具。我们把楚文字转写成阿拉伯数字,根据算表规律,补上残缺的数字,可以得到如图5一样的数学表格。

清华简《算表》的构造形式

全表一共有20横列、21竖行,行列交叉,组成420个长方格,也就是构成算表的“单元格”。整个表格可以分成三个功能区。最外侧浅灰色区域是第一功能区,我们把它叫作因数区。横向第一列上排位置第三简起,按由右至左、由大到小的顺序,每格依次排列90、80、70、60、50、40、30、20、10、9、8、7、6、5、4、3、2、1、1/2共十九个数字;纵向右侧第一行第二格起,从上而下,每格数字也按照由大到小的顺序排次从90到1/2各数。这个功能区内的横向和纵向数字,相当于乘法运算中的乘数和被乘数。

第二功能区是深灰色区域,没有数字,每格都有一个圆孔,是专门为了穿引线而设置的区域。这个区域的作用是,在乘法运算中,通过拉直乘数与被乘数对应圆孔的引线,使两条线纵横交叉,来确定乘积。

表格的其余部分,是第三功能区,也就是乘数和被乘数的乘积区。为横向上起第二至二十列、纵向右起第三至二十一行,纵横一共361格。其中,单元格中最大的数字是90×90=8100,最小的数字是1/2×1/2=1/4。

这个《算表》的核心是由乘数、被乘数“1”至“9”与乘积“1”至“81”诸数组成的九九表。被乘数及乘数为十位数与积数超过“81”的部分,都是核心部分的延伸和扩展。如图5,第三功能区中的橙黄色部分是核心部分,其余部分是扩展。

根据《算表》三个功能区所具备的客观条件,我们分析发现此表可以用来进行多种运算操作。基本的运算功能如下:

1.一位数整数乘法,比如:9×9。2.两位数整数乘以一位数整数乘法比如:81×7。3.任意两位数整数乘法,比如12×35。4.整数部分不超过两位、非整数位为特定的1/2的三位数乘法,比如81×½×81½。

03

《算表》属于“大九九”运算范畴

中国传统的九九乘法口诀表,有“大九九”和“小九九”之分。“大九九”即1至9中的九个数,每两数相乘所得乘积,共八十一句口诀。“大九九”包括小因大因相乘(被乘数小,乘数大)、大因小因(被乘数大,乘数小)相乘、等因(被乘数与乘数相等)相乘。“小九九”则只包括小因大因相乘和等因相乘两种。比如,“大九九”包括“八九七十二”“九八七十二”,而“小九九”只有前一句,没有后一句。乘法满足交换律,“小九九”只需四十五句口诀,便可以实现与“大九九”相同的作用。

清华大学科学技术史暨古文献研究所教授冯立昇通过视频
为“神机妙算——计算器具历史展”的现场观众
围绕“清华简”做了详细解读

《算表》的核心部分是通常所说的完整的“大九九”。九九口诀在战国时代已经非常流行了,《管子》《战国策》《荀子》《逸周书》《穆天子传》《鹖冠子》《吕氏春秋》等文献常常引用“九九”的一句或者若干句口诀,不过,这些都属于“小九九”的范畴。汉代以来的文献,包括出土的简牍,所记载的九九口诀,也主要是“小九九”。明清数学著作中才见到“大九九”乘法表。过去,我们对于“大九九”乘法表出现的年代一直没有搞清楚。《算表》的发现,表明“大九九”表在先秦时期就已经出现了。宋元时期,随着数学水平的提高,人们觉得不必再用“大九九”,用“小九九”就可以解决问题,“大九九”逐渐被抛弃了。随着珠算的兴起,“大九九”可以提升珠算运算的速度,这就是明清珠算著作重新采用“大九九”的原因。

传世文献中的九九口诀可以追溯到很早的时候,比如魏晋时期注释《九章算术》的刘徽,他在《九章算术注序》中说:

昔在庖牺氏始画八卦,以通神明之德,以类万物之情,作九九之数,以合六爻之变。

刘徽认为“九九之数”是上古时代的伏羲氏创造的。这个年代显然太早了,虽然不能否定这种可能性,但从数学史的发展规律来看,上古时代的数学还达不到出现“九九表”的水平。

我国古代《算经十书》之一《周髀算经》,在这本书的卷上,有一段周公和商高的对话,也谈到了“九九表”的起源问题:

昔者周公问于商高曰:“窃闻乎大夫善数也。请问古者包牺氏周天历度,夫天不可阶而升,地不可得尺寸而度。请问数安从出?”商高曰:“数之法出于方圆。圆出于方,方出于矩,矩出于九九八十一。……故禹之所以治天下者,此数之所生也。

这段话翻译过来的意思是,周公曾经问商高:“我听说你擅长数学,我有个问题不解。当初伏羲氏建立周天度数,可是天空遥远宽广,没有阶梯可以攀登,大地浩渺遐远,没有尺度可以去测量。那么,这些度数是从何处得来的呢?”商高回答说:“数的方法出自方和圆。圆的度数来自方,方的度数来自矩尺,而矩尺的度数则来自九九八十一。……当初大禹就是用这些来治理天下的,这就是数产生的源头。”这个“九九八十一”,就是九九口诀,被商高当作数产生的源头。这是西周时期。

敦煌汉文算书《算经一卷》(部分)

前面介绍的文献,时代都在清华简之后,与《算表》在某些方面有相同或相通的地方。《算表》的发现使过去的一些判断得到了进一步的证实。比如,过去我们根据大量先秦文献引用“九九”的一句或者若干句,推测在春秋战国时期应该已经有了完整的九九乘法口诀表了,但一直以来没有得到证实。清华简《算表》的出土,使我们确定无疑地坐实这种推测。另外,制成表格的算法形式,是中国传统数学和历算中的重要形式,但它出现的年代不清楚,《算表》使我们发现了其更早的渊源。

04

《算表》蕴含的原理及其

在数学史上的意义

(一)《算表》蕴含的原理

分析《算表》的内容,可以发现它应用了十进制的计数方法,并且用到了乘法的交换律、乘法对加法的分配律,以及分数等数学原理和概念。它不仅能够直接用于两位数的乘法运算,也可以用于除法运算,并且能够对分数1/2或含有1/2的带分数进行某些运算。这个《算表》操作便捷,携带方便,实用性强,是当时实用的运算工具。它的发现,为认识先秦数学的应用与普及,提供了重要的直接史料和丰富的信息。古人在利用《算表》计算时,辅助以心算或者当时普遍采用的筹算,来进行加减法的运算。在整数的四则运算中,用筹算做加减法是十分简便的。不过,用筹算进行两位数以上的乘除法和开方运算时,需要用到的算筹较多,并且布算和操作复杂,对初学者来说,掌握并熟练运用这种技能很有难度。另外,筹算在运算时,不能保留和记录中间的运算结果,难以验算。而用《算表》在进行乘除运算时,不仅操作快捷简便,而且可以获取中间运算结果,方便验算,可以在很大程度上克服筹算的缺点。另外,《算表》也方便初学者练习筹算。

(二)《算表》在中国数学史上的意义

《算表》是先秦数学与计算技术发展的直接实物证据,不仅比张家山汉简《算数书》、岳麓书院藏秦简《数》要早,而且包含的内容是上述简牍中所没有的,是认识先秦数学水平的重要史料。

《算表》是目前所知道的中国最早的立成算表,为我们探索“立成算表”的源头提供了重要依据。

《算表》不仅比目前所能见到的古代十进制乘法表年代都早,而且它所具备的数学与计算功能也超出了里耶秦简“九九表”、张家山汉简“九九表”等古代乘法表的水准。它的发现表明了先秦的数学,尤其是计算技术,已经达到了相当高的水平。

另外,《算表》也佐证了春秋战国时期是中国传统数学的第一个高潮。

《算表》的核心是由“9”至“1”及其乘积“81”至“1”诸数构成的乘法表,被乘数和乘数为十位单位数(10至90)、分数1/2及其积数,都是核心部分的延伸扩展。《算表》中数字的排列方式与中国早期九九口诀一致,按照由大到小的顺序排列。可见,它是当时已经广泛使用的九九算术衍生出来的运算工具,是中国古代计算技术发展到一定阶段的产物。在中国数学史上,《算表》占有一个很重要的位置。

(三)《算表》在世界数学史上的意义

美国哥伦比亚大学图书馆所藏古巴比伦数学泥板

《算表》在世界数学史上独具特色。古巴比伦人在进行算术计算时用到了各种数表,但是由于其计数系统是六十进制的,导致乘法表非常庞大,每张表都是某一个数的倍数表,需要非常多的算表才能实现实际的计算操作,使用起来很不方便。而《算表》不仅利用一张表就可以进行100以内的任意两位数乘法运算,而且可以进行更加复杂的除法运算和开方运算,操作非常简单。《算表》的计算功能,较古代其他地区出现的乘法表功能都要强大。

阿拉伯数学家阿尔·卡西《算术之钥》(1427)

中的乘法表及翻译

早期的阿拉伯数学虽然采用了现代表格形式的十进制九九乘法表,但它的功能显然不及《算表》强大。欧洲的十进制出现很晚,最早见于13世纪的数学著作中,还只不过是十进制乘法表的初级形式。文艺复兴时期才采用现代表格形式的十进制乘法表,从时间上来看,远远晚于《算表》。因此,从整个世界范围来讲,尤其从计算技术角度来说,《算表》在世界数学史上也有着重要的意义。

(本文对原文有删减,已经作者本人确认)

本文原文发表于《格致·考工·源流:中国古代科技发明创造》

(北京大学出版社,2020),编辑略有改动。


(0)

相关推荐