《数术记遗》本不在《算经十书》之列。传本《数术记遗》[259]卷首书题:“汉徐岳撰,北周汉中郡守、前司隶、臣甄鸾注。”但《隋书·经籍志》记载徐岳的著作中却没有《数术记遗》一书。《旧唐书·经籍志》始录:“《数术记遗》一卷,徐岳撰、甄鸾注。”《新唐书·艺文志》则记为:“《数术记遗》一卷,甄鸾注。”是书还见于北宋《崇文总目》,但在南宋前期失传。南宋宁宗嘉定五年(1212),鲍瀚之翻刻《算经十书》时,在杭州七宝山宁寿观中发现此书。之后刊刻“十部算经”时,用其替代已失传的《辍术》,遂流传至今。图3-13为1890年刻《算经十书》中的《数述记遗》。
图3-13 1890年刻《算经十书》中的《数述记遗》内封面、序、卷端
一、《数术记遗》作者辨析
徐岳,字公河,魏东莱郡(今山东掖县)人,生于汉末。清阮元《畴人传》记载,汉灵帝(168-188)时,徐岳精通术数,曾受历学于会稽东都尉刘洪。《晋书·律历志》称,魏黄初中(约222),徐岳曾与太史丞韩祤论难日月食五事。又授刘洪“乾象法”于吴中书令阚泽。清代中期,《四库全书总目提要》首先否定《数术记遗》为徐岳所作。主要理由是:《隋书·经籍志》具列记载徐岳及甄鸾所撰《九章算经》《七曜历算》等书,而独无此书名,至《新唐书·艺文志》始著于录。因此认定是好事者因托为之,而嫁于徐岳。支持这一见解的主要有清代学者周中孚。其人号郑堂,著《郑堂读书记》,被誉为《四库全书总目提要》的续书。该书认为,《数术记遗》一书中,“未识之刹那之赊促,安知麻姑之桑田;不辨微积之为量,讵晓百亿于大千”。麻姑的故事出于晋代葛洪的《神仙传》,这不可能为汉末魏初人徐岳所知[260]。钱宝琮也持此观点,并进一步指出:“书中叙述各种计数法时,术非常简略,如果没有甄鸾的注释,实在不能了解作者的原意。因此,我们认为,《数术记遗》是甄鸾的依托伪造而自己注解的书。”[261]怀疑《数术记遗》并非出自徐岳之手,可能是后人伪托。由于“珠算”一词先出现在《数术记遗》中,此说等于将“珠算”的起源后退了几个世纪,事关重大。
20世纪80年代以来,一些学者重新审视、考证此书作者的真伪,提出《数术记遗》并非伪托之作,而肯定是徐岳的作品。如周全忠经过文献考证,否定《四库全书总目提要》中的伪托说[262];冯立昇则全面论证了《数术记遗》是徐岳的著作[263]。如果这种观点正确,那么,我们就可以得出结论:中国珠算的起源至迟在汉末。
不过迄今为止,《数术记遗》的作者尚未有最后定论。但大家都认为,原文过于简略,深奥难懂,如果没有甄鸾的注释很难理解原文,何况甄鸾的注释占了书中绝大篇幅,从这一点上说,《数术记遗》对中国古代数学发展的贡献当在北朝。
二、《数术记遗》内容概述
《数术记遗》正文简略,但内容较为丰富,包括了大数进位法、14种计算方法及甄鸾的注释。
(一)大数记法
我国先秦时期,就有大数出现,如《诗·魏风·伐檀》中:“不稼不穑,胡取禾三百亿兮?”但后来的注释者有不同的解释。毛传:“万万曰亿。”郑玄:“十万曰亿,三百亿,千乘之数。”毛传的解释,说明公元前200年前,我国已用10的幂次来解释大数。以后就出现了大数的完整表示规则。如《太平御览》卷七百五十载有《风俗通义》中表示大数的下数进位规则。《孙子算经》卷上载有完整的中数进位规则等。《数术记遗》则是把上数、中数、下数三种进位规则收录在一起,这在文献资料中尚属首次。大数的陈述是走向抽象数字的起码步骤,具有重要科学史意义。关于大数的名称及进位规则,《数术记遗》曰:
黄帝为法,数有十等,及其用也,乃有三焉。十等者亿、兆、京、陔、秭、壤、沟、涧、正、载;三等者,渭上、中、下也。其下数者十十变之,若言十万曰亿,十亿曰兆,十兆曰京也;中数者万万变之,若言万万曰亿,万万亿曰兆,万万兆曰京也;上数者,数穷则变,若言万万曰亿,亿亿曰兆,兆兆曰京也。从亿至载终于大衍。
将上述分为“十等”的大数,依上数、中数、下数计数规则,按10的幂次列表,见表3-3。
表3-3 大数记法表
表3-3中的三种记数法以万为起点,遵循不同的进位规律:下数记法为十进制(104+n),中数记法为万万进制(108n),上数则按自乘进位(102n+2)。对三种进位方法的适用性,《数术记遗》认为:“下数浅短,记事则不尽。上数宏廓,世不可用。故传其业,惟以中数耳”。实践也是如此,中国古代数学典籍无一例外地采用“中数”记法。
(二)14种计算方法
《数术记遗》记载,徐岳的老师刘洪向一位神秘的人物天目先生请教为算之法。书中假天目先生之口,给出了14种算法及其八字揭语,见表3-4。
表3-4《数术记遗》中的算法及其揭语表
这14种算法中,第一种“积算”,即筹算。最后一种“计算”,即心算。其余12种算法,都要配合特定的算具才能进行。其中,太一算、两仪算、三才算和珠算,要用到带珠的算具,涉及珠算的起源,最为人们关注。不少中外学者对这14种算法已作了卓有成效的研究,这里综合叙述其中几例。
例1:九宫算。揭语为
九宫算:五行参数,犹如循环。
甄鸾注曰:(www.xing528.com)
九宫者,即二四为肩,六八为足,左三右七,戴九履一,五居中央。五行参数者,设位之法依五行,已注于上是也。
九宫,原是东汉以前研究《周易》的纬家理论,他们将乾、坎、艮、震、巽、离、坤、兑八卦之宫,外加中央之宫合称九宫。后来,纬家又将某些特定数字引入九宫,使之具有幻方的性质,并和传说中的“洛书”联系起来。甄鸾注文给出的九宫的数字配置:
上行两边为2和4,下行两边为6和8,中间一行左边为3,右边为7,中间一列上边为9,下边为1,正中为5。把九宫的每行、每列和对角线上的三个数分别相加,均得15,如图3-14所示。20世纪60年代以来兴起的组合数学,是伴随着计算机科学而迅速发展的现代数学分支。幻方是组合理论的重要内容,它是满足于某些特定的约束条件的一种配置。幻方有不同种类,广义幻方是其中之一,它是由一个非负整数组成的n×n阶矩阵。其所有行之和与列之和都等于一个事先约定的数x。注文所描述的九宫,就是一个x=15的3×3的幻方,即三阶幻方。对此,英国著名学者李约瑟说:“幻方在中国出现的年代至少可以说,比希腊要早两个世纪。”[264]
图3-14 九宫图
把九宫图刻在算板上,“依部位定数,用算珠放在那一格,就表那一数”[265]。九宫算和其他算法有所不同,甄鸾指出:“此等诸法(其他算法),随须更位,惟有九宫,守一不移。位行色,并应无穷。”即其他算法,数位确定数字变动,而九宫算的各数字不动,“守一不移”,数位则由五行而定,各有变化。那么数位怎样由“五行之色”确定呢?甄鸾注曰:
一位第一用玄珠,十位第二用赤珠,万位第五用黄珠。十万位用赤线系黄珠,百万位用青线系黄珠,千万位用白线系黄珠。万万曰亿,以黄线系黄珠。自余诸位唯兼之,故曰并应无穷也。
即用玄珠表示个位,用赤珠表示十位,用赤线系黄珠表示十万位等等,详见表3-5。
表3-5 用色珠及字母表示数位表
把表3-5内的“数位”珠,放置于“九宫”格内即表示一个数。例如,4357表为图3-15。若数字有重复,每格可放两珠、三珠,例如,4337表为图3-16。若某位数字为零,则不置珠例如,2307表为图3-17。数位在亿以上,可用系两种颜色线的珠表示,如EEC表示百亿,EED表示千亿。注中结尾曰:“自余诸位唯兼之。”兼之,指系两种颜色线。这样表示下去,“犹如循环”,“并应无穷”也[266]。
图3-15 表示4357
图3-16 表示4337
图3-17 表示2307
例2:珠算。揭语为:
珠算:控带四时经纬三才。
甄鸾注曰:
刻板为三分,其上下二分以停游珠,中间一分以定位。位各五珠,上一珠与下四珠色别。其上别色之珠当五,其下四珠,珠各当一。至下四珠所领,故云控带四时;其珠游于三方之中,故云经纬三才也。
注文的大体意思是:把木板刻为三部分,上下两部分是停游珠用的,中间一部分是作定位用的。每位各有五颗珠,上面一颗珠与下面四颗珠用颜色来区别。上面一珠当五,下面四颗,每珠当一。
现代的珠算,是指用算盘进行加、减、乘、除及开方等的运算方法。可见,《数术记遗》中的“珠算”与当今的珠算在概念上是不同的。《数术记遗》中的珠算是指一种算器,它是什么样子?与当今的算盘有何关系?国内外不少学者作过较深入的研究,但“珠算”的揭语玄机难参,研究者对甄鸾的注文也有不同的理解,故提出了不同的复原图。其中,许莼舫的复原图可能符合原意[267],见图3-18。也有的研究者建议,《数术记遗》中的“珠算”,可称为“珠算板”[268]。
图3-18 许莼舫复原的“珠算”图
最后需要指出的是,算盘是中国古代算筹之后主要的计算工具,现代的算盘每一档(位)有七珠,上珠一个当五,下珠一个当一。实际上梁上、梁下各减一珠,同样可以计算,这样就和本文中所描写的相仿。这样,“珠算”很可能是后世算盘的起源之一,正如李约瑟所说:“不管怎样”,《数术记遗》是提到“珠算”的最早著作[269]。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。