|

楼主 |
发表于 2020-7-19 19:03
|
显示全部楼层
五 《算表》蕴含的原理及其在数学史上的意义
(一)《算表》蕴含的原理
从数学原理角度来看,《算表》蕴含了三个原理:
1. 十进位值制的应用。
2. 乘法交换律的运用。
3. 乘法分配律的运用。
分析《算表》的内容,可以发现它应用了十进制的计数方法,并且用到了乘法的交换律、乘法对加法的分配律,以及分数等数学原理和概念。它不仅能够直接用于两位数的乘法运算,也可以用于除法运算,并且能够对分数1/2或含有1/2的带分数进行某些运算。这个《算表》操作便捷,携带方便,实用性强,是当时实用的运算工具。它的发现,为认识先秦数学的应用与普及,提供了重要的直接史料和丰富的信息。
《算表》的设计要直接用到乘法的交换律,算表结构图的第一功能区中的横向第1列数字和纵向右起第21行数字,是以对角线轴线对称排列的,在乘法运算中为乘数或被乘数。设ai为第1横列中的任意一数,bj为纵向右起第21行中的任意一数,ai×bj=bj×ai。
在进行任意两位数的乘法和除法运算时,要用到乘法对加法的分配律。比如,计算12×4,首先要将两位数“12”分解为10与2,分别从10与2处引线,纵横交叉,得到乘积。整个运算过程,如果用算式来表示,相当于:
12×4=(10+2)×4=(10×4)+(2×4)=48
古人在利用《算表》计算时,辅助以 心算或者当时普遍采用的筹算,来进行加减法的运算。在整数的四则运算中,用筹算做加减法是十分简便的。不过,用筹算进行两位数以上的乘除法和开方运算时,需要用到的算筹较多,并且布算和操作复杂,对初学者来说,掌握并熟练运用这种技能很有难度。另外,筹算在运算时,不能保留和记录中间的运算结果,难以验算。而用《算表》在进行乘除运算时,不仅操作快捷简便,而且可以获取中间运算结果,方便验算,可以在很大程度上克服筹算的缺点。另外,《算表》也方便初学者练习筹算。
(二)《算表》在中国数学史上的意义
《算表》在中国数学史上的意义体现在下面几个方面。
《算表》是先秦数学与计算技术发展的直接实物证据,不仅比张家山汉简《算数书》、岳麓书院藏秦简《数》要早,而且包含的内容是上述简牍中所没有的,是认识先秦数学水平的重要史料。
《算表》是目前所知道的中国最早的立成算表,为我们探索“立成算表”的源头提供了重要依据。
《算表》不仅比目前所能见到的古代十进制乘法表年代都早,而且它所具备的数学与计算功能也超出了里耶秦简“九九表”、张家山汉简“九九表”等古代乘法表的水准。它的发现表明了先秦的数学,尤其是计算技术,已经达到了相当高的水平。
另外,《算表》也佐证了春秋战国时期是中国传统数学的第一个高潮。
我们前面讲到,九九口诀在战国时代就已经很流行了,不过当时所见到的都是“小九九”。汉代以来的文献,包括出土简牍,记载的九九口诀也主要是“小九九”。直到宋代以后,随着珠算的流行,数学家们才开始重视“大九九”。比如宋代数学家杨辉在《乘除通变算宝》中说:
因九九错综而有合数阴阳,凡八十一句。今人求简,止念四十五句。算家唯恐无数可致,岂得有数不用乎?
表明杨辉主张用八十一句的“大九九”表,不过,当时流行的仍旧是“小九九”表。明代王文素《算学宝鉴》卷一“九九合数”一节中,给出的是“大九九”表,表明他对杨辉意见的赞同。
不过,过去一直没有搞清楚“大九九”表出现的时间。而《算表》的发现,说明“大九九”乘法表早在先秦时期就已经出现了。
《算表》的核心是由“9”至“1”及其乘积“81”至“1”诸数构成的乘法表,被乘数和乘数为十位单位数(10至90)、分数1/2及其积数,都是核心部分的延伸扩展。《算表》中数字的排列方式与中国早期九九口诀一致,按照由大到小的顺序排列。可见,它是当时已经广泛使用的九九算术衍生出来的运算工具,是中国古代计算技术发展到一定阶段的产物。在中国数学史上,《算表》占有一个很重要的位置。
(三)《算表》在世界数学史上的意义
明确了《算表》在中国数学史上的地位,我们将目光投向同时期的世界,通过横向比较,探讨一下《算表》在世界数学史上的意义。
首先来看看古巴比伦的数学。我们知道古巴比伦的数学十分发达。古巴比伦人在进行算术计算时用到了各种数表,有许多刻在泥板上的乘法表保存下来。不过,在这些乘法表中,我们从未发现过加法表。迄今分析过的200多张古巴比伦数表,没有一张加法表。我们知道,古巴比伦的位值系统是六十进制的,不是十进制,它基本的数字多达59个,乘法表十分庞大。这种表的任意一张只是某一个数的倍数表,实际就是某一个数的乘法表。如果造一个完整的表系,古巴比伦人需要为从2到59的每一个数字都造出一张相应的表。
图13 美国哥伦比亚大学图书馆所藏古巴比伦数学泥板
我们来看看几张古巴比伦乘法表的现代简化形式,如图14:
图14 古巴比伦乘法表
从左至右第一个是2的乘法表,第二个是6的乘法表,第三个是9的乘法表。以9的乘法表为例,原表是1×9,2×9,3×9……20×9,接下来,是30×9,40×9,50×9。古巴比伦人用到的乘法表都是这种某个数的乘法表,没有一张完整的表。实际上,造出一张完整的60进制乘法表,体量将十分庞大,不太容易实现。那么用古巴比伦的乘法表如何计算呢?实际上与我们的计算方法相似。
比如,计算34×9,先把34分解为30和4两个数,利用30这个数的乘法表,找到30×9的六十进制结果4,30(首位为4,次位30,转成十进制为270);再利用4这个数的乘法表,找到4×9的六十进制结果36(六十进制的末位,转成十进制为36),然后将二者相加,得5,06(转成十进制为306)。为了将两位的60进位数相乘,需要造出好多这样的乘法表。由于乘法表过于庞大,并且需要非常多的算表,使用起来很不方便。可见,古巴比伦人的数学水平固然很高,但是计算技术还不是很高明,不够高效。
阿拉伯的数学也比较发达。在阿拉伯数学中,较早地使用了现代表格形式的十进制乘法表。由于时间关系,我没有找到很早的十进制乘法表,这里有一个出现比较晚的,和早期阿拉伯乘法表的形式差不多的表。这就是15世纪上半叶阿拉伯数学家阿尔·卡西(AlKashi)在《算术之钥》(1427)中给出的乘法表,相当于我们的“大九九”表,如图14。
图15 阿拉伯数学家阿尔·卡西《算术之钥》(1427)中的乘法表及翻译
阿尔·卡西在书中指出:
下面用表的形式给出了一至十数字的乘法。乘数和被乘数分别写在行和列格子内,他们的乘积写在乘数和被乘数所在的行与列相交处的单元之内。每个从事计算的学者应该背熟该表,因为多位数相乘时,还要用到这一法则。
这个表和我们的《算表》,在形式上是比较一致的。欧洲出现十进制比较晚。欧洲最早的十进制乘法表,见于十三世纪的数学名著《计算之书》(Liber Abaci,1202年初版,1228年再版),这是意大利数学家斐波那契(Fibonacci,约1175-1245)的著作。这部书中记载的乘法表形式如图15所示。
图16 《计算之书》中的乘法表
这是从2至10的九个数中,每两个数相乘所得乘积的算表。和我国四十五句“小九九”乘法口诀相比,缺少1乘各数的乘积,不过多了10乘各数的乘积。这个表不同于后来欧美流行的乘法表,一般认为这是十进制乘法表的初级形式。这个表不太好用,《算表》纵横对应,一下就能找到两数的乘积,而这个表不太容易找。这是欧洲13世纪的乘法表,还不如我们的《算表》快捷,可见他们的计算技术还是比较落后的。
直到文艺复兴时期,欧洲才使用现代表格形式的十进制乘法表。比如德国数学家维德曼(J. Widmann,约1460-1499)在1489年出版了一部算术书,书名叫《商业捷算法》(Behende und hübsche Rechnung auff allen Kauffmanschafften)。在这部书中,有一个乘数、被乘数为9至1的乘法表。这部书在当时的欧洲很流行,多次再版。
图17 《商业捷算法》九九乘法表
图17是1500年再版的《商业捷算法》中两种形式的九九乘法表,包括了我们前面所说的“大九九”和“小九九”乘法表。这个表在形式上和清华简《算表》的核心部分一致,但时间却晚了将近一千八百年。图18是明末成书的《同文算指》中的“九九表”。《同文算指》是意大利传教士利玛窦和李之藻共同翻译的数学著作,这里面著录的“九九表”,来源于利玛窦的老师,德国数学家克拉维乌斯(C. Clavius)的《实用算术概论》(Epitome Arithmeticae Practicae,1583)。这正是当时西方流行的乘法表,和前面《商业捷算法》中的乘法表很相似。
图18《同文算指》中的乘法表
综上所述,《算表》在世界数学史上独具特色。古巴比伦人在进行算术计算时用到了各种数表,但是由于其计数系统是六十进制的,导致乘法表非常庞大,每张表都是某一个数的倍数表,需要非常多的算表才能实现实际的计算操作,使用起来很不方便。而《算表》不仅利用一张表就可以进行100以内的任意两位数乘法运算,而且可以进行更加复杂的除法运算和开方运算,操作非常简单。《算表》的计算功能,较古代其他地区出现的乘法表功能都要强大。
早期的阿拉伯数学虽然采用了现代表格形式的十进制九九乘法表,但它的功能显然不及《算表》强大。欧洲的十进制出现很晚,最早见于13世纪的数学著作中,还只不过是十进制乘法表的初级形式。文艺复兴时期才采用现代表格形式的十进制乘法表,从时间上来看,远远晚于《算表》。因此,从整个世界范围来讲,尤其从计算技术角度来说,《算表》在世界数学史上也有着重要的意义。
本文原文发表于《格致·考工·源流:中国古代科技发明创造》(北京大学出版社,2020),编辑略有改动。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|