牛 腾 王洪鹏 白 欣
(1. 中国财政科学研究院博士后科研流动站,北京 100142; 2. 中国科学技术馆,北京 100012; 3. 首都师范大学初等教育学院,北京 100037)
中国古代最开始以算筹为主要计算工具,后又发明了算盘.关于算盘的起源和发明时代问题,学术界有很多不同意见,有学者根据西周陶丸的发现,主张算盘在西周已产生,但这只能作为当时人们已用珠进行计数或计算的依据.有学者根据《数术记遗》中有关“珠算”的描述,认为汉代已有算盘,但它只是一种珠算板,并非宋代以后算盘的形制.所以,西周陶丸和珠算板或许是算盘的前身,但所在时代不太可能是算盘产生的时代.梅文鼎[1]认为算盘始于元末明初,但元代王振鹏《乾坤一担图》(1310年)、明初《魁本对相四言杂字》(1371年)等现有史料已有算盘的明确记载,可见算盘在元末明初时已经盛行.李培业[2]、殷长生[3]、历晋元[4]认为算盘产生于唐代,梅瑴成[5]、凌廷堪[6]、华印椿[7]等推断算盘产生于宋代,铃木久男[8]认为算盘产生于唐宋时期,郭书春[9]则认为最迟产生于宋代.据现存史料,北宋张择端《清明上河图》中药铺柜台上有一把算盘(也有学者认为是钱板,本文认为算盘的可能性比较大),南宋刘胜年《茗园赌市图》中也有清晰的算盘.本文倾向于认为最迟在宋代已经出现了与明代形制相同(有梁穿档)的算盘.
现存数学文献中,《谢察微算经》[10]首次出现对算盘的介绍,但其年代问题说法不一,如李迪和冯立昇[11]认为是五代末期的作品,历晋元[4]、周全中[12]等认为是唐代作品,也有专家认为是宋时期的作品.现存残卷中没有关于珠算算法的详细记载,直至明代,才出现大量珠算著作和有关珠算知识的详细记载.现将涉及珠算知识的明代著作列表1.华印椿《中国珠算史稿》[7]、李培业《中国珠算简史》[13]、山崎与右卫门《珠算算法的历史》[14]等著作对这部分内容都有分析,冯东元《明代珠算古籍创新之浅见》[15]对明代主要的珠算著作及其创新之处进行了介绍,但都不甚全面.本文对明代数学家关于珠算知识的研究及创新之处分为3类做较为详细的分析,并具体介绍数学著作中珠算知识的特点和传播情况.
表1 明代载有珠算知识的主要著作统计表
吴敬,字信民,号主一翁,浙江仁和人.他一生主要以当幕宾为业,是江浙一带有名的实用数学家,擅长钱粮、租赋、田亩计算.因“天资颖达,而博通乎算数”,吴敬受到众多地方官员的礼遇和厚待,担任经济计算工作.除了从事官府的各种计算工作,吴敬对数学研究有非常浓厚的兴趣,“以草茅求学,留心算数”,并着力收集数学著作,花10年之功学习研究《详解九章算法》,并形成了自己的见解,于1450年编纂完成《九章比类》一书.
《九章比类》[16]共11卷,包含卷首和正卷10卷.卷首名为“乘除开方起例”,列有“九章名目”“习算之法”、九九表、加减乘除开方及捷算法的运算法则和口诀等内容,并附有例题194问,是全书的预备知识.卷1至卷9按“九章”顺序排列,卷10则介绍各类开方法.书中虽没有一个算盘图,但在“河图书数”一节中有“不用算盘,至无差错”的说明,还有“免用算珠并算子,乘除加减不为难”的歌诀.这一时期算筹和算盘2种算具并行,吴敬都比较熟悉,书中多种运算也都是珠筹通用的.
《九章比类》中始出现加减法口诀,被吴敬分别归为“因加乘法起例”和“归减除法起例”两类,说明这些口诀在各类乘法和除法中也都能使用到.这与后来常用的珠算加减法口诀相似,但只是其中一部分,没有“一上一”“二上二”等简单口诀.经分析,上述口诀应是珠算口诀,如“破五诀”中“无一去五下还四”是指从五中减一却无一可减时,须将五去掉再添上四.这明显是针对算盘来说的,梁上一珠代表5,梁下一珠代表1.而对于算筹来说,5直接用五根算筹表示,不存在“无一可减”的情形.
书中有特点之处不少,如创造了在珠算中被称为“先十法”的加减捷算法,还著有珠算中称之为“金蝉脱壳”的“乘除易会算诀”,此歌诀是首次出现,《盘珠算法》《数学通轨》《算法统宗》等书中也记载了类似方法和口诀,只是名称不同.
书中还涉及大量开方问题,不仅分布于“乘除开方起例”“少广卷第四”中,“各色开方卷十”更是专讲各类开方问题,包括开四、五、六次方,以及解一元四次方程等复杂的开方运算方法.基本都是采用传统筹算开方法进行运算,但根据其开方法的表述方式以及该书的时代背景,吴敬用算筹布算、算盘辅助计算的可能性比较大,属于筹算开方法到珠算开方法的一种过渡形式.
《算学宝鉴》《盘珠算法》《数学通轨》《算法统宗》等著作都参考过此书,对后世影响深远.但数学家们对此书评价不一,如清代梅文鼎[17]称之:“书可盈尺,在《统宗》之前,《统宗》不能及也”,程大位[18]则认为“其书章类繁乱,差讹者亦多”.其实现存藏本中确实差讹处甚多,但也有其创造性,是中国数学史、珠算史上一部非常重要的著作.
王文素,字尚彬,山西汾州人,具体生卒年不详.年幼时随父亲外出经商,早年亦当以经商为业,但经济上不宽裕,想来不是个成功的商人.喜欢钻研算学,收集诸家算书进行研究,在研究这些著作之时,王文素也发现了一些问题,于是开始编纂数学著作《算学宝鉴》,历经30年时间编成.据李迪[19]考察,《算学宝鉴》中引用过的算书有20多种,如杨辉的著作、《启蒙算法》《详明算法》《九章比类》等.
《算学宝鉴》是明代篇幅最大、成就最高的数学著作,全书共42卷,分200个条目,包括317首歌诀.涉及的内容广泛且全面,算法严谨,校正了以前著作中的不少错误之处.书中无算盘图,但“众九相乘”中提到“算盘子”[20],且首次记载盘中定位法,都是珠算方法.书中最早对“掉尾乘”进行了一般解释“有自法尾乘起而至上者”,但没有提到“掉尾乘”这个名称,而早在《详明算法》中的留头乘名下就混入了掉尾乘的例题,这种算法与笔算类似,也是珠算中乘法运算方法之一.除此之外,书中还记载了多种捷算法,如“身前乘”“因代繁乘”“实位相同”“众九为乘”“归总还零”等,其中一些是在前人基础上发展而来,很适合在算盘上操作.
此书载有非常丰富的开方内容,相当于对一元高次方程求数值解法的介绍,有些珠算家认为是珠算开方,但牛腾和邹大海[21]经过对其中开方用语及图式的仔细考察,发现其运算图式侧重于对求每位商数做解释,与珠算开方的数据不能很好对应,因而不能说明王文素的开方法属于珠算开方.关于开方王文素采用的是筹算开方法,且是有异于传统筹算开方的筹算开方新法,经分析,其中有些复杂的运算,可能借助于算盘、数码和文字共同完成.与现存其他新法相比,王文素的方法最接近珠算商除开方法,属于传统筹算开方通向在一横行内排列各项之珠算开方的最直接的过渡形态.此外,本书开方运算过程以及术语的使用与《九章比类》中的有很多相似之处.
因王文素无力刊刻自己的著作,所以该书流传不广,很多知识也没有得到传播与继承.今只有一抄本传世,现藏于国家图书馆.
周述学,字继志,号云渊子,生卒年不详,活跃于16世纪中期.他对数学、天文历法、兵法、地理学、航海及术数等均有深入研究,著述统名曰《神道大编》,号称千余卷.在数学方面,周述学著有《历宗算会》15卷,公元1558年周文烛序,有嘉靖刊本和明抄本流传[9].
《历宗算会》将算法进行了重新分类,书中虽然没有提到算盘,但仍有使用算盘进行运算的痕迹,不能说没有对珠算的发展产生影响.如一般认为在《盘珠算法》中首次出现的“金蝉脱壳法”在此书中就已有介绍,又名“连环算法”,所载歌诀与《九章比类》“乘除易会算诀”中的前四句相同,名下前两则例解也与《九章比类》中的相似.
此外,书中的开方内容非常丰富,卷四是开平方和各种开带从平方,卷五是开立方、开三、四、五乘方以及开带从立方、带从三乘方.虽然周氏算书中乘法、除法的布位图均以算筹布算,大部分开方法的说明也是传统筹算开方法,同时书中仍著有筹算开方新法和珠算开方法,不少方法与吴敬和顾应祥算书中的相似.明代关于珠算开高次方的记载只有开三乘方,没有珠算开三乘以上方法的说明,这说明由筹算商除开高次方法到珠算商除开高次方法的过渡不如珠算开平方、开立方等容易.如周述学、程大位等对开三乘方的运算说明虽然明确各项从左至右排列,但是仍使用“下法常超三位”定商数位数,体现了筹算开方法到珠算开方法的过渡.
《历宗算会》对后世产生了一定影响,如潘亦宁[22]研究发现,《同文算指》很可能参考过《历宗算会》中一元二次方程的解法等内容.
徐心鲁,籍贯和生卒年月不详,由他订正、刻书家熊台南刊行的《盘珠算法》,成书于1573年.该书详细介绍了珠算盘的用法和口诀.其原本现藏于日本内阁文库,李俨先生有影印本.
《盘珠算法》[23]共二卷,卷一为珠算口诀及其它实用的计算法,卷二为解决实际问题的实用算术.书中对应各类运算法载有54幅珠算盘演算图式,图文并茂.算盘形式为上一珠下五珠,中间用横梁隔开,共九档.李俨[24]、户谷清一和华印椿[7]等认为实际计算时,是用梁上二珠、梁下五珠的算盘.但有的算法也有用上一下五的算盘进行计算的可能性,毕竟当时应该已经存在这种算盘.如明代陈梧(有文献称陈梧是明成化年间(1465—1487年)进士[25],也有文献称他是明万历(1573—1620年)广东佥事[26],还有文献记载陈梧生于1519年,卒于1578年[27],陈梧坊建于明嘉靖二十年(1541年)[28]) 墓中发现一把上一下五的十三档木算盘[26],卢维祯(1543—1610年)墓中发现一把上一下五的十五档算盘[29].《盘珠算法》中详载珠算口诀,比《九章比类》和《算学宝鉴》中的更详细,也更适合在算盘上使用,是目前所知最早的比较全面的珠算运算口诀.此书还载有“金蝉脱壳诀法”和“二字奇法”,类似于《九章比类》中的“乘除易会算诀”.所载乘法为留头乘法,还著有“归法总诀”即珠算归除法口诀,这些口诀至今还在使用.该书宗旨在于“士民利用”,内容简单浅显,包含加减乘除四则运算,不包含开方法,针对各类算法都有例题和解法,多与人们生活实际和生产实践有关,体现了明代商业数学的特色.但现存此书校刻不精,错误之处不少.
该书在中国流传不广,还曾一度失传,明代时传入日本.和此书相似的珠算普及性著作有《桐陵算法》等,书中的内容大体相同,不再详细介绍.
柯尚迁(1500—1582年),福建长乐下屿人.明嘉靖二十八年(1549年)贡生,任京师的邢台县丞.1578年撰成《数学通轨》一书,其孤本和刻本均藏于日本尊经阁.
《数学通轨》中共载有36幅算盘图,“初定算盘图式”[30]中的算盘为上二下五珠,共13档,郭金彬[31]称这是与我国后来通行的完全相同的最早算盘图式,其实并非如此.明初《魁本对象四言杂字》和《对象四言杂字》中均有上二下五样式的算盘,前书中算盘为10档,后书中为9档.
该书分为“学算须知”“归除诠要”“九章释例”“九章总义”四大部分,前两部分主要介绍珠算加减乘除等基本运算方法,比《盘珠算法》介绍的更全面些.如针对归除法,除记载了九归歌诀和撞归口诀,还载有“还原法语”,即针对归除中有归无除的全部口诀.但书中也有些错误之处,如所载“乘法”口诀为留头乘口诀,但名下例题却使用掉尾乘法进行运算.其“习数法语”中称“要知开方各色”,但该书并未介绍各类开方,只在“九章总义”中有说明[30].可见作者见过并了解顾应祥的开方法,之所以没详细介绍或许是由于开方术稍难.
《数学通轨》与《盘珠算法》情况相似,在中国流传不广,明代时传入日本.但前者水平高于后者,且《数学通轨》传入日本之后,流传广泛,对日本珠算的发展起到了重要作用.
程大位(1533—1606年),字汝思,号宾渠,安徽休宁县率口乡人,青年时期在长江中下游一带经商20余年,因喜好算学,遇有算书不惜重金买下,用以研究.程大位年40左右,弃商返乡钻研数学,历经20年著成《算法统宗》[18],于1592年刊刻.1598年删繁就简又著成《算法纂要》一书.
《算法统宗》是明代乃至中国数学史上最为流行的数学著作,也是一本全面讲述珠算的著作,是珠算的代表作之一.书中所载算盘为上二下五珠,共15档.该书编排上由易到难,适合人们学习,其中卷1、卷2是珠算的基本概念和算法,口诀全面且便于记忆,对各类算法都详述计算步骤,并配以例题进行说明;卷3至卷12是按九章分类方式排列各种实用问题及算法;卷13至卷16专著“难题”,实际是解诗歌形式给出的题目,很有趣味性;卷17收录了各种杂法,如“金蝉脱壳”“二句字诀”“写算”“孕推男女”等等,其中“算经源流”收集了大量古算书目,对珠算史和数学史都有十分重大的价值和意义.
程大位对珠算的使用和学习有自己的观念[32],如乘法有留头乘,破头乘,掉尾乘,隔位乘,但他只介绍了留头乘法,认为其他“总不如留头乘之妙”,所以不录;除法则重归除轻商除,对于归除中有归无除的情形,《算法统宗》也著录了对应的口诀,称为“起一还原法”,比《数学通轨》中的更简便.书中还载有比较详细的珠算开方法,除了继承自传统筹算开方法的珠算商除开方法,还载有珠算归除开平方、开立方法.但书中珠算开带从方法的内容不及顾应祥等算书中的丰富,且《算法统宗》珠算开带从三乘方法与《测圆海镜分类释术》、《弧矢算术》等书中的方法非常相似,其中1题与《历宗算会》中的相同,解法也相似,可见,程大位珠算开带从三乘方法与顾应祥、周述学的著作有很大的渊源关系.
《算法统宗》出版后受到人们普遍欢迎,不断再版、重印,后来更是传入日本,对日本珠算和和算的发展产生了很大影响,也起到了促进作用.日本每年八月八日“算盘节”,人们抬着算盘和程大位的画像游行,以示对程大位的崇敬[33].据研究,日本流传最广的算书《尘劫记》(1624年)就是以《算法统宗》[34]为蓝本编写而成.《尘劫记》中的开方法采用多个算盘从上至下排列进行运算,综合了筹算开方法与珠算开方法的特点,这或许是受《算法统宗》中所载传统筹算开方法和珠算开方法的影响.
黄龙吟,字龙吟,名嘘云,号高源里人,生平不详.著有《算法指南》,于1604年刊行,书中称:“夫算盘每行七铢,中隔一梁,上梁二铢,每一铢当下梁五铢也,下梁五铢,一铢只是一数”[35],却与书中上一珠、下五珠的算盘图不匹配,可能是因为介绍的运算法用不到顶珠,为节省刻板而省掉了.
此书共二卷,上卷主要介绍珠算四则运算法,下卷主要介绍其他实际应用问题和解法.本文主要研究书中的珠算知识,上卷先介绍了加减乘除的各类歌诀,所载乘法为留头乘法,除法为归除法;然后用算盘演算图说明加减算法,以例题结合演算图的形式介绍归及归除法运算;再以例解形式介绍九归、归除、乘法等计算方法.书中对于乘法运算中乘数是二位数、三位数、四位数的运算分别称为“二色乘法”“三色乘法”和“四色乘法”,且有单独条目;还有“折成色法”“算物价法”“肉求银法”“绵纱求布法”“借银算利法”“色银倾纹法”实际都是用留头乘或归除法进行运算的方法.看似分类详细,实际比较繁琐.此外书中还载有隔位归除法(除数次位为零)、隔位乘法(相乘两数皆为三位数,且两数次位都为零),与一般所说隔位乘除法的含义不同.
明代类似的珠算普及性著作甚多,如《书算玄通》《算法门》《算法便览》《精採算法》《算法门类》《新镌九龙易诀算法》等,但这些著作的内容大多比较浅显,且有互相抄袭的痕迹[9].
顾应祥(1483—1565年),明代数学家,号箬溪道长,明嘉靖时任滇南巡抚,后任刑部尚书和都察院右副都御史等职.自幼爱好数学,喜欢研究数学问题,著有《勾股算术》二卷(1533年)、《测圆海镜分类释术》十卷、《弧矢算术》一卷和《测圆算术》四卷等,都是对传统数学问题的整理和研究.
《测圆海镜分类释术》成书于1550年,内容主要是对元代李冶的《测圆海镜》(1248年)进行删减、分类、注释[9].书中详注了多种类型的开方法,并给出了具体的演算,共有开带从平方到开带从三乘方的各种开方细草和方法解释60条左右,包括了方程不同系数符号与不同开方形式的说明.《弧矢算术》专门研究弧矢形的弧、矢、圆、径、弦、截积之间的关系,书中也载有开方细草.《测圆算术》则是顾应祥对《测圆海镜》和勾股及其容圆的进一步研究,书中开方细草共有26条,内容较《测圆海镜分类释术》少,但较之精简.
经过分析,顾应祥[36]的著作中大部分开方细草都是“布实于左”,将商数“置一于左上为法”.除此之外,还有“布实于左,从于右”的说法.而且整个开方过程没有“借一算”,没有各项的退位变化,也没有各项的上下对位说明,而顾氏开方法中出现的“左上”一词,意思为“左边的左边”的可能性比较大,也就是属于各项从左至右一横行式排列的开方法.由于书中所载均为带从开方法,涉及到的项数比较多,数目也比较大,特别是其开方法中多有18 000 000、43 008 000等之类的数,如果选择算筹进行开方运算,不可能将各项从左至右摆放,增加运算难度,只有用算盘进行开方时,因算具的特殊性,只好将各项在算盘上从左至右摆放.
现存开方材料中,《测圆海镜分类释术》最早记载了珠算开方法,虽然顾应祥无法理解天元术,并在其书中删去了有关天元术的内容,但他对开方法的发展起到了非常重要的作用.
朱载堉(1536—1611年),字伯勤,号句曲山人,是明朝开国皇帝朱元璋的九世孙,明仁宗朱高炽的七世孙,10岁时被册封为郑世子[37].他从小喜欢音乐、数学,一生著作甚丰,著有《瑟谱》《律学新说》《律吕精义》《乐学新说》《律吕正论》《算学新说》《嘉量算经》《律历融通》等,大部分都收集在《乐律全书》中,涉及音律学、数学、天文学、物理学、计量学、音乐、舞蹈、诗歌等多方面内容.
朱载堉在数学方面的成就有,用算盘进行九进制和十进制的小数换算,求圆周率以及进行开平方、开立方的运算,有的开方运算结果多达25位,是中国珠算史上、乃至数学史上非常重要的成果.其具体开方运算过程见于《算学新说》和《嘉量算经》,后一著作所载开方内容均包含在前一著作中.两书中专门介绍了珠算开方的基本知识,有利于读者熟悉开方与乘方的关系,易于掌握定商的位数、数位和估计各位商数,避免错位,同时也使全书形成一个整体.经分析,朱载堉使用81位大算盘进行珠算开平方运算,用至少两个81位大算盘进行珠算开立方运算,且珠算归除开平方法很可能是朱载堉首创或至少独立创造的,而珠算商除开立方法虽然可能出现更早,但朱氏的珠算商除开立方法有自己的特色.朱载堉创立这两种珠算开方法的时间大概在16世纪六七十年代.此外,朱氏归除开平方法比程大位、王肯堂、李长茂等的方法更简单,也更适合在算盘上进行运算[38].但这种方法并未得到很好的继承和发展,如清代梅瑴成《增删算法统宗》所载珠算归除开平方法仍是程大位方法的改进版,依然不如朱氏方法简单、便于操作.
日本尊经阁藏有《算学新说》,可见此书也传入过日本.该书因在《乐律全书》中,其中的珠算开方知识在我国似乎未得到传播,也未见之后的数学著作有关于朱氏开方法的记载.
程大位《算法统宗》卷十七“算经源流”载“正明算法嘉靖己亥金台张爵作”[18],该书在诸家书目中未见记载,李兆华得见此书残本[39],并分析称此书全名即为《九章正明算法》,全书共四卷,现存卷四即最后一卷,为明万历十年(1582年)北京重刊本,程大位所说嘉靖己亥(1539年)或为初刊年代.根据李兆华所录书中题目及例解,本文分析书中用珠算进行开方的可能性较大,但因不知前三卷内容,所以不清楚具体情况,但看其表述方式,此书是珠筹并用的算书的可能性比较大.
明代余楷著有《一鸿算法》四卷(1585年刊印完成),该书的明刻本现藏于安徽省黄山市博物馆,“算经源流”也有关于此书的记载:“一鸿算法万历甲申银邑余楷作”[18].据李迪和王荣彬[40]介绍,该书内容浅显,是一种普及性读物,虽然书中没有算盘图,但根据内容可知是一部珠算书.王荣彬和李迪[41]对《一鸿算法》中的开平方和开立方法进行了介绍.以开平方法为例,据其中关于算法过程的文字表述以及开方图式,可知其开平方法有法、实、对3项,分列左、中、右.与《算法统宗》等书中的不同,是一种新的珠算开平方法.这种表述方式也是首次出现,浅显易懂.
明代既是珠算普及的重要时期,也是各家研究珠算的高峰时期,珠算加减乘除开方等各类计算法都完成了从筹算到珠算的过渡,并发展成熟,有关珠算的各类口诀和捷算法也都被普遍使用,并得到进一步发展.珠算作为一种计算方法,有其特有的科学价值,这一时期它的特点是:珠算加减口诀得以完善,乘法以留头乘法为主,除法以归除法为主,有着实用价值的各类捷算法涌现,开方法完成了从传统筹算开方法到筹算开方新法,到珠算商除开方法,再到珠算归除开方法的演变过程,且各类开方法并存.总的来说,明代数学著作中的珠算知识大都有继承前人算书的迹象,小部分著作有所创造和发展,各类口诀也在发展过程中不断完善,形成后来常用的珠算口诀.
这一时期出现了大量的珠算家和普及性、研究性著作,算盘被使用到生活中的各个方面.特别是王文素、朱载堉和程大位等对珠算的传承和发展起到了非常重要的作用,他们的著作更是为后人留下了宝贵的财富,成为海内外学者争相研究的对象.
此外,珠算还传入了日本和朝鲜等地,为他们提供了更有效的计算手段,特别是明代珠算著作向日本等地的传播,促进了日本珠算的发展,对日本和算也产生了很大的影响.珠算作为中国比较重要的传统文化之一,没有被世人遗忘和摒弃,由之发展起来的珠心算教育正在全世界如火如荼地进行,让更多的人们了解中国珠算的起源与发展,对传承和弘扬珠算文化具有重要意义.