讲好中国珠算故事
2018/11/27 10:29:01 网站:http://www.shzxs.org 来源:上海市珠算心算协会
讲好中国珠算故事
中国珠算代表性传承人
张德和
第二讲
我国古代筹算和珠算为什么会共存发展?而筹算却又先被淘汰了?
中国古代数学特色之一是数学教育与研究始终置于政府的控制之下,使之服务于统治阶级的需要。数学教育当然包括它的基础部分—记数方法与计算工具。中国古代天数不分,天文学与数学总是相伴而行,《周髀算经》中说:“环矩以为圆,合矩以为方。方属地,圆属天,天圆地方”远古时代就有伏羲、女娲共执矩尺的石像。使用这种工具的人自然是通天晓地的人,自然是圣人。这正表明古代天文、数学和人文的关系,近古时代对于农业经济来说,作为历法准则的天文学具有首要意义,所以天文学是古代政教合一的帝王所掌握的神秘知识。谁能把历法授于人民,他便有可能成为人民的领袖。大家知道,最初用矩的专家就是巫师,占卜用的工具是龟甲,发展到《周易》占卜就用蓍草,后来发展到筹策。筹用于占卜,也用于运算,所以它始终是为统治阶级所掌控的。到了汉代司马迁在《史记》中的“运筹于帷幄之中,决胜于千里之外”的一句话,更使人们对筹算有了崇拜之情和神秘的感觉。这是产生筹算的需要和可能。
古代筹算是从筹算类计算工具:成数算、五行算、把头算演变而来,而珠算则是从算珠类计算工具:了知算、太乙算、两仪算、三才算演变而来,其过程中包含着深厚文化底蕴,源远流长。从思想史上看,在殷商时代流行的五行、阴阳观念之前,还存在一个数类观念,即万物被分成不同的类,每一类下又列一定的数,万物皆有数。古代天文学注重方位,有位就有数,数和位密不可分,是我国首先实行先进的记数方法:十进位值制的思想源头,十进位值制被称为“代数学的基础”。在天文中方位用八卦表示,它是有位有数的,筹算来自八卦形状,因之古代数学和算器密不可分,是与生俱来的。古代人重视天文、数学,主要是关注农业生产,它有关经济民生,经世致用是它内在的理念。
这些特点归纳起来就是“形数结合,以算为主,使用算器,建立起以使用为主要特征的算法体系。”算法包括算式和计算,而算式是指从实际出发,但并不是就事论事地一个一个地个别解决问题,二是提炼出能解决同类性质的一整套一般性的算法。它要求:每一步以后都有明确的下一步。一步步地走向最后结果。古代数学中称“术”,西方数学中称“构造性”。正因为它们是“呆板”的,是和“机械化”相关联的。
《孙子算法》中说:“凡算之法,必先识其位。”筹算是位在数中,它秉承阴阳、八卦所赋予的不同位置上的数可以表示不同值的含义,所以利用数位列出不同的计算模式。如在四则运算的乘算中,列出被乘数、乘数和积数的三重张数(横列),在解决三元联立方程中可以列出三行纵列,在开立方中根据开立方的运算步骤分层次列出商、实、立方、上廉、下廉、上法的纵列。在求解高次方程中可以将算式与开方的排列一致,容易求得方程的正根。
筹算在数学史上创造了辉煌,据距今二千多年前成书的《周髀算经》、《九章算术》记载,当时已经有:十进位值制(印度6世纪才有,13世纪由阿拉伯传入欧洲)、分数运算、十进位小数、开平方、立方、算术应用、正负数、联立一次方程、二次方程(印度在7世纪后,阿拉伯在9世纪才有一般解术法)。唐代(7世纪)有三次方程,宋元(13、14世纪)有高次方程,联立高次方程与消元法。(西欧较迟估计在19世纪)①。即使珠算到了唐代,也有了成熟的算法体系,有了开方、开立方的项目。
从历史上看,筹算在宋元时代已经取得巨大成就,可为什么之后很快被淘汰了?原因是多方面的,但内因是变化的根据。
筹算虽然充分发挥了它的记数方法的优势,但“位在数中”的特征,却大大限制了计算功能的发挥。
首先,“无数就无位”,无法产生独立以位为单位的机械计算工具,计算功能随着数的变化而变化,没有真正优势可言。只能是“换位置数,重组数码”,例如,三重张位就产生了,俗话说要“另起炉灶”,从计算功能上来说是一个根本性的缺陷。
其次,以筹示数,仅1—9折9个数就要29根筹,计算时临时拼排,动作过多,速度较慢,占地过多。汉筹算长13.8厘米,隋筹长8.5厘米,华印椿曾计算过一道4位数乘4位数,积数8位数的算题,按三重张位排,约占长90厘米,宽40厘米的地位,一张方桌不够做两道这样的算题。宋代马永卿说“出算子百余,布地上,几长丈余”。可见占地之多,筹算的逐步淡出也是一种必然趋势。②
所以当汉唐时期由于经济发达,赋税增加,已出现十进位小数,在南宋奏九韶《数书九章》中已有计算题答案,小数达到20余位之多。而且方程发展,愈高级,算式愈简单(如出现增乘开方法)但数字计算则愈繁重。虽然缺失史料,我国著名数学家李迪先生已经看到了问题,并且认为,筹算在计算上已经不能适应形势发展了。
元代朱世杰数学成就时,列出清代罗士琳演草的“四元玉鉴”中最长最麻烦的一题算草。这是其中一列:
-1 702 449zw14+7 362 090zw13-12 086 586zw12+8 990 256 zw11-2 846 880zw10+909 864zw9-633 240zw8-633 528zw7+1 376 064zw6-648 576zw5-27 648zw4+129 024zw3-46 080zw2-55 296zw-82 944z (14式)
(《中国数学史大系》第六卷257页)
全题共17式。如筹算1-9个数作为一组,将用29根筹。上式有100个数字,有11组,每组29根,11组用319根筹,当然这是大约数。古代人用筹方法,从《汉书▪律历志》记载“其算法用竹,径一分,长六寸,二百七十一枚而成六觚,为一握。”上列式,用一筒筹还不够。筹算使用不方便可以想见。所以李迪说“罗士琳的做法是否符合朱世杰原意,前已指出,很难下这个结论,估计有一部分可能差不多。如果朱世杰大体上是这样建立他的方程的话,即把多元方程化为一元方程要花费大量巨大的劳动。由于演算过程复杂,而且往往要回头利用前面的各个式子,传统的筹算已不满足需要,必须改用能保存全过程的方式,只有笔算才能做到这一点。朱世杰是否先用筹算算出,再用笔做记录?这样做十分麻烦,远不如直接用笔算。” ③
无论清代罗士琳用了什么方法,事实上李迪已经否定了宋、元代时的筹算的计算功能,这是真知灼见,是符合历史事实的,因为宋元时期珠算已被广泛使用,筹算已经被边缘化了。
① 见于吴文俊所列古代算数代数部分发明创造中外对应表《吴文俊论数学机械化》山东教育出版社于1995年,75页
② 《中国珠算史稿》华印椿,中国财经出版社1987版第6页
③ 《中国数学史大系》吴文俊主编,北京大学出版社第六卷255、257页