APP下载

《九章算法比类大全》渊源初探*

2011-02-08张久春

自然科学史研究 2011年2期
关键词:杨辉开方算题

张久春

(中国科学院 科技政策与管理科学研究所,北京 100190)

0 引言

吴敬的《九章算法比类大全》(以下简称《大全》)刊刻于1450年[1],是明代现存以“九章”命名的最早、最完整的一部算书。全书共分11卷:卷首是“乘除开方起例”;卷10是“各色开方”;卷1至卷9按“九章”顺序排列,每卷包括“古问”前的内容、古问、比类题和诗歌题四部分。清初著名数学家梅文鼎(1633—1721)在《勿庵历算全书》中认为《大全》“在《统宗》之前,《统宗》不能及也”。分析该书与前代算书的关系,有助于认识中国古代传统数学在明代的传播以及该书的历史地位。

笔者曾在前人研究的基础上讨论和分析过《大全》与《九章算术》的关系[2],认为吴敬以《详解九章算法》(以下简称《详解》)为蓝本,编写了《大全》,但他没能在《详解》的基础上取得新的研究成果,而且在《大全》中只保留了《详解》中属于原本《九章算术》的237道题以及贾宪所加的13道题,一部分贾宪加的图和杨辉加的详解;其余的内容,如刘徽和李淳风的注,贾宪的增乘开方法等重要的研究成果,没能够在书中得以存留。

关于《大全》与《九章算术》外算书的关系,也有学者做了简单的分析。20世纪50年代中期,日本学者武田楠雄在他的几篇文章中很简略地介绍了该书[3—10],并把书中的算题与杨辉的《田亩比类乘除捷法》(1275)、朱世杰的《算学启蒙》(1299)等书中的算题进行了简单对比。1964年,钱宝琮在《中国数学史》中指出,吴敬把《海岛算经》、《缉古算经》中的一些题收录到“古问”中[11]。

《大全》之前的中国算书还有很多,武田楠雄只把《大全》与其中几部算书的内容做了简单的比较,分析不够全面和深入。钱宝琮关于这方面内容的介绍太过简略,也不够全面和系统。除了这两位学者所分析的《大全》内容外,《大全》中还有很多内容的渊源没有理清。本文将在前人研究的基础上,通过把《大全》与《九章算术》外其他算书的内容进行详细的比较,来进一步探讨《大全》的资料来源,分析《大全》与《九章算术》外的其他算书的渊源关系。

中国古代传统数学在汉唐和宋元之际分别发展到了新的高峰,汉唐以刘徽、李淳风等所注《九章算术》中取得的成就为代表,宋元则出现了高次方程的数值解法、大衍总数术、天元术、四元术、高阶等差级数求和等领先世界的成就。元代数学家朱世杰的《四元玉鉴》(1303)问世之后至吴敬的算书(1450)刊刻前,中国古代传统数学未有高水平的著作问世。据此,本文将分成如下三个时期来分析《大全》与《九章算术》外的其他算书的渊源关系:汉唐时期(960年之前),宋至元早期(961—1303),元早期至明初(1304—1450)。

1 与汉唐算书的关系

宋代建立之前现存的《大全》与之可能有渊源关系的《九章算术》外的算书有:刘徽的《海岛算经》、《孙子算经》、《张丘建算经》、甄鸾的《五曹算经》、唐代王孝通的《缉古算经》,以及《谢察微算经》(疑为五代时期的著作)。

《海岛算经》(1卷)是一部使用重差术来测量物体的高、深、广和远的算书,现传共有9道题。《大全》勾股卷比类题中有该书的第1、2、4、6和9题,二者解法也相同。

《孙子算经》(400)卷上主要介绍算筹记数的纵横相间制和乘除法则等内容,卷中介绍开平方法和分数计算方法等内容,卷下介绍了一些应用问题和几个比较难的算题。其中最著名的是有关一次同余方程组的“物不知数”题[12]。其他的如“鸡兔同笼”和“孕推男女”等流传很广,只是题中数据常有变化。

《大全》卷首“先贤格言”中的“心灵者蒙童易晓,意闭者皓首难闻”可能由《孙子算经》序中的“心开者幼冲而即悟,意闭着皓首而难精”演变而来。《大全》方田卷比类第13题“桑生中央”见于《孙子算经》,但二者解法不同。吴敬用“倍隅至桑,自乘”来计算方田的面积,这样计算的结果是方田面积的二倍,方法错误。《孙子算经》用“方五斜七”计算方田的边长,然后用边长自乘计算其面积,“方五斜七”是近似值,但方法正确。《大全》衰分卷比类第76题“河上荡杯”、第80题“物不知数”和诗词第42题“渠里有鱼”见于《孙子算经》中,二者解法相同,只是“渠里有鱼”题在《孙子算经》里不是诗词题。《大全》的斛法有一处是“一尺六寸二分”,来自《详解九章算法》,其余为“二尺五寸”,而《孙子算经》中采用了斛法“一尺六寸二分”。

《张丘建算经》(431—450)继承了《九章算术》的数学遗产,也有一些创见,如有关最大公约数和最小公倍数、等差级数、开带纵平方和不定方程的算题[13]。

在《大全》卷首“乘除开方起例”中,吴敬提到了《张丘建算经》,并记载了其序中的一段有关通分的术文。《大全》卷首中的“乘分”共有4道例题,前3题能在《张丘建算经》中找到,但比《张丘建算经》多出了每题“法曰”下的关于分数乘法的小字注文;“除分”的情况和“乘分”完全相同。《大全》的衰分比类、勾股比类、均输比类和粟米诗词题分别收录了《张丘建算经》中的“河上荡杯”、“葭生中央”、“迟疾行者”和“百鸡术”题,其中的“百鸡术”题即为关于不定方程的算题,两者解法也相同。两书的“三经入炉”题的数据不同、题意相同。

《五曹算经》是为地方行政职员编写的应用算术书,分为田曹、兵曹、集曹、仓曹和金曹五卷[14]。田曹记载了直田、方田、圭田、腰鼓田、鼓田、弧田、蛇田、墙田、萧田、丘田、萁田、四不等田、覆月田、牛角田、园田和环田等16种类型的田,其类型比《大全》方田卷记载的少33种。《五曹算经》的四不等田、鼓田、腰鼓田和蛇田的计算方法不准确,而《大全》也采用了同样的算法①吴敬还采用了分段的方法计算四不等田的面积。,《大全》方田比类的“桑生中央”、“丘田”和“田中有圆池”题亦见于《五曹算经》中。但《大全》中“桑生中央”题的解法和《五曹算经》不同,而和《孙子算经》相同。

《辑古算经》(1卷)共20道题,第1题为计算夜半时月所在赤道经度的算题;第2至第6题和第8题为土木工程中的体积计算题;第7题和第9至14题是有关仓房和地窖的计算题;第15至20题是勾股问题[15]。在《大全》商功卷比类中能找到其第4题,二者解法也相同。

《谢察微算经》共3卷,今存不足1卷。其内容为大数、小数进位法,度量衡制度,九章名义及用字例义,共一百五十三条[16,17]。谢察微在“九章名义”中称“九章”的“粟米”为“粟布”。书中有1道关于等比数列的题被收录在《续古摘奇算法》中,《大全》衰分卷诗词第56题的题意、数据和解法与之相同。

2 与宋元早期算书(960—1303)的关系

这个时期现存的《大全》与之可能有渊源关系的《九章算术》外的算书有:刘益的《议古根源》、《杨辉算法》(包括《乘除通变本末》(3卷)、《田亩比类乘除捷法》(2卷)和《续古摘奇算法》(2卷))、《透帘细草》、朱世杰的《算学启蒙》和《四元玉鉴》。

《议古根源》虽然已佚①杨辉在《算法通变本末》中说:“刘益以勾股之术,治演段锁方,撰《议古根源》二百问,带益隅开方,实贯前古。”,但杨辉在《田亩比类乘除捷法》中摘录了其中的数个问题,并给出了“详注图草”,在《大全》的方田和少广卷比类题中能找到其中的12道题,而且二者解法完全相同。杨辉在书中把《议古根源》“钱田题”的“隅算”称为“正隅”,而吴敬仍称“隅算”。此外,《大全》诗词题多次提到了“演段”一词。这说明,它和《议古根源》有一定的关系。

《杨辉算法》包括《乘除通变本末》(3卷)、《田亩比类乘除捷法》(2卷)和《续古摘奇算法》(2卷)。《乘除通变本末》是一部启蒙算术书,主要介绍了乘除加减的简化算法。杨辉在书中写道:“诸家算书用度不出乘除开方三法,起例不出‘如’、‘十’二字。”([18],1048页)这种思想体现在《大全》卷首的名称“乘除开方起例”中。同时杨辉强调了开方的重要性:“开方乃算法中大节目,勾股、旁要、演段、锁积多用。例有七体:一曰开平方;二曰积平圆;三曰开立方;四曰开立圆;五曰开分子方;六曰开三乘以上方;七曰带纵开方;并载少广、勾股二章。”([18],1049页)吴敬对开方的重视与这种想法是一致的。

《田亩比类乘除捷法》卷上主要内容是各种形状田的面积计算方法,卷下包括与《五曹算经》中算题相同的3道题和取自刘益《议古根源》中的22道题。在卷上,杨辉写道:“直田法曰:广纵步数相乘为积步,以二百四十除之为亩,其不及亩之余步,或以二十四除之为分为厘,或以六十除之为角,或便云几亩零几步。”([18],1074页)《大全》方田卷古问“直田法曰”的术文与杨辉的这段术文比较相近,两者都指出了化步为亩、为分、为角或直接用几亩零几步的方法。此外,《大全》方田卷比类中的截田第4、7、8、5、6题、少广比类第46、45、44题分别为《田亩比类乘除捷法》卷下的第19、21—27题。②武田楠雄的统计略有不同,见文献[8—10]。

《续古摘奇算法》卷上论纵横图(即现今的幻方),卷下为各种算术难题和口诀。在《大全》衰分卷诗词题、衰分卷比类题和均输卷比类题中能找到《续古摘奇算法》卷下的两道有关等比级数的题、4道“物不知总”题、“河上荡杯”题和“兵士分绢”题,两者的解法也相同。在《大全》衰分卷比类题中也能找到《续古摘奇算法》中有关分数除法的两道题,只是钱的单位不同,后者为文,《大全》为贯。

《透帘细草》的作者及成书年代不详,严敦杰认为成书年代稍晚于杨辉的《乘除通变本末》(1274)。该书今无足本,其内容包括《知不足斋丛书》本的54道题和残本《永乐大典》的17道题[19]。在《大全》均输比类题以及卷10各色开方比类题中能找到《永乐大典》中的2道题,二者解法也相同,但叙述文字有差异。《大全》盈不足卷诗词第28和26题、商功卷比类第32题分别为《知不足斋丛书》第2、3和第18题,二者算题的叙述文字有差别。其中第2和3题的解法两者不同。

《算学启蒙》共259题,涉及四则运算、开方、天元术以及垛积等多方面的数学内容。《大全》均输卷诗词第31题、衰分卷第47、25和17题、商功卷比类第62题、少广卷诗词第9题、盈不足卷比类第1和2题、方程卷比类第1、3和2题、勾股卷比类第1和2题、卷10第26、7 和第35 题分别是《算学启蒙》的第152、161、162、175、195、199、207、211、216、220、221、223、224、238、240和245题。其中解法相同的有10道题,解法有差别的有6道题。《算学启蒙》的第216、220和221题的解法是“直除法”,而《大全》的解法是“互乘加减消元法”;第238、240和245题的解法是天元术,而《大全》的解法是立成释锁开方法。

朱世杰的《四元玉鉴》是一部关于天元术的著作。《大全》勾股卷诗词第6和29题、方田卷诗词第25题、粟米卷诗词第28题分别和《四元玉鉴》的“或问”第1、11、3和5题的题意和数据相同,但叙述文字有差别,解法也不同。吴敬没有采用天元术解这些题。《大全》解《四元玉鉴》第1题采用勾股术,解第11题采用立成释锁开方法,解第3题只是说“约之”,但没有说明具体是怎么约来的,解第5题的解法相当于一般的解方程。《大全》粟米诗词第36题、勾股诗词第5题分别和《四元玉鉴》的“或问”第2和6题的题型相同,但数据不同,解法也不一样。《大全》的解法采用了相当于《九章算术》中解方程的方法和勾股术,而不是天元术。

吴敬在方田卷诗词题8中提到了“紬演天源如积”。《四元玉鉴》用天元术解题时常提到“立天元一为某某,如积求之”。这类题在《测圆海镜》中很常见,解法为天元术。此外,“如积”也是和天元术密切相关的数学术语。据此推测“天源”亦指“天元”,此题很可能来自有关天元术的算书。很可能是由于有人不能理解天元术而删掉了它的计算过程。可见,《大全》与《算学启蒙》和《四元玉鉴》当有渊源关系。

3 与元早期及明初算书(1303—1450)的关系① 这段时期有一部“九章”的算书,即刘仕隆的《九章通明算法》(1424),但已佚,从《算法统宗》中可知其有“九章”而“无乘除”,后有33道难题。其中部分难题见于《大全》中,但文字叙述有差别。吴敬在《大全》里没有提到该书,可能他没有见到,而这些相同的诗题可能在民间早有流传,分别被他和刘仕隆收录下来。

《四元玉鉴》问世后至吴敬的《大全》刊刻前,现存的《大全》与之可能有渊源关系的《九章算术》外的算书有:《丁巨算法》,贾亨的《算法全能集》,安止斋的《详明算法》,以及严恭的《通原算法》。

《丁巨算法》共8卷,现存不足1卷,内容涉及盈不足、方程、垛积、仓窑及各种粟布、斤称问题[20]。《大全》方程卷比类第13题和卷首“乘除开方起例”中“就物抽分”的第2题即为其第3和14题。《丁巨算法》第3题的解法是“直除法”,而吴敬采用了“互乘加减消元法”,第14题的“绯罗”在《大全》中则为“红罗”。《大全》卷首中的垛积、仓窑等内容也可能和《丁巨算法》有渊源关系。

在《大全》卷首“乘除开方起例”中能找到《算法全能集》的“乘法歌诀”、“加法”的两个例题、“归法歌诀”、“求一歌诀”、“就物抽分”的“买罗”题、“端匹”的歌诀及其两个例题、“盘仓量窑”的一个例题。两者的“差分法”口诀基本一样,只有一字不同,即贾亨为“定”,而吴敬为“之”,分析“定”字为宝盖下有一“之”字,故推测是在流传或刊刻中弄错了。“堆垛口诀”和“盘仓量窑”的歌诀两部书基本一致。《大全》“归除歌诀”、“撞归法”的小字解释、“就物抽分”的歌诀、“贵贱差分”的歌诀与《算法全能集》类似。可见,二者有知识传承关系。

在《大全》卷首“乘除开方起例”中可找到安止斋《详明算法》的“九归”歌诀和口诀、“减法”歌诀、“归除”的小字注文、“求一”歌诀、“商除”歌诀、“约分”歌诀及其两个算题、“异乘同除”歌诀、“就物抽分”歌诀及其一道算题、“堆垛”歌诀及其两道算题、“盘仓量谷”歌诀、3个“雇车行道”题①两书这三道题的区别是:《大全》钱的单位为贯,而《详明算法》为两。和“造水叶”题②该题即是《大全》均输卷比类第10题。。两书“因法”歌诀、“归除”歌诀、“和合差分”、“九章名数”下面的一段说明文字基本相同。

上述分析表明,《大全》卷首“乘除开方起例”的内容和《详明算法》、《丁巨算法》以及《算法全能集》有渊源关系,反映了这些内容从元到明初的发展和传播。

严恭《通原算法》的部分内容保存在《永乐大典算法》中,基本上是比较粗浅的实用算术题。《大全》商功卷比类第71题即为《通原算法》中的“瓦不知数”(一次同余方程组)题,二者解法相同。

4 《大全》内容的渊源辨析

吴敬的《九章算法比类大全》共有算题1448道题,其中古问有250道题,卷1至9的比类题、诗歌题、卷10“各色开方”题、卷首“乘除开方起例”共有1198道题。古问的250道题和古问前的术文已辨明几乎全部来自杨辉的《详解九章算法》,只有方田卷古问前的术文来自《杨辉算法》。

上述比较和分析表明,其余各章的1198道题中有115道可以在前人的现存15部算书中找到渊源关系。“乘除开方起例”包括整数和分数的四则运算、简便算法、单位换算、立成释锁开方法、比例算法、体积计算和堆垛问题的计算等内容。这部分内容与《孙子算经》、《张丘建算经》、《杨辉算法》、《丁巨算法》、《算法全能集》和《详明算法》有渊源关系。“九章”的比类和诗歌题与《孙子算经》、《五曹算经》、《议古根源》、《杨辉算法》、《谢察微算经》、《张丘建算经》、《缉古算经》、《通原算法》、《透帘细草》、《算学启蒙》、《丁巨算法》、《海岛算经》和《四元玉鉴》有渊源关系。卷十各色开方与《杨辉算法》、《透帘细草》和《算学启蒙》有渊源关系。《大全》各章与这些算书具体的渊源关系见表1。

表1 《大全》各章与现在算书的渊源关系示意表

续表1

此外,有少量的算题虽然在现存中国古代算书中找不到其渊源,但可以推测,是吴敬从别处抄来的。例如,关于“四不等田”的方田卷诗题第34题。该题第一种解法采用的对边取平均值然后再相乘的错误方法,与《五曹算经》方法相同,但第二种算法采用截田法来分段计算,是正确的解法。同一道题出现这种现象,说明该题是吴敬从别处抄来的,但我们目前已无法搞清楚这类算题来自哪部算书。

各章其余的大部分算题虽然辨不清其渊源,估计既有吴敬自己编写的,也有从其他算书抄来的。

从数学知识的角度来看,《大全》“九章”中的比类和诗词题的解法所用的数学知识都是《九章算术》原文的算法,没能继承刘徽注的高水平的数学成就。卷首“乘除开方起例”提到了少量的堆垛问题,卷十是采用立成释锁法开方的算题,但这些内容也没能继承和传播宋元高水平的数学成就,特别是天元术。

5 结语

上述分析表明,吴敬的《大全》受到宋元算书,特别是杨辉的算书的影响最大。他在《大全》中继承了杨辉重视介绍启蒙知识和开方术的思想,以及杨辉采用“纂类”编写算书的方式。

《大全》中与《算学启蒙》中的算题相同或类似的较多,尽管书中提到了天元术,但吴敬没有采用天元术来解题。《大全》也有与《四元玉鉴》相同的算题,但叙述文字已经有差别,解法也不是天元术。据此判断,吴敬可能只是听说过天元术,自己并没有看到过有关天元术的著作,甚至就是看到也已无法理解天元术了。从现有的文献看,天元术在此时已经没有人能掌握了。

《大全》“乘除开方起例”的内容能从现存元末明初算书中找到渊源,这反映了这些知识从元末至明初这段时间的发展与传播。

结合以往笔者对《大全》中“九章”的渊源的分析[2],可以看出,明初的80年间,民间仍然可以看到一些包含高水平数学成就的汉唐宋元算书,这些高水平的数学成就包括了增乘开方法、幻方图以及《九章算术》中刘徽和李淳风注等内容,甚至是天元术。遗憾的是,作为明代一部承前启后的数学著作,《大全》中没有收录吴敬当时看到的这些高水平的数学成就。

致 谢本文是在笔者硕士论文(2001)的一部分内容基础上修改完成的,得到了导师韩琦研究员的精心指导,同时也得到了中国科学院自然科学史研究所郭书春先生的帮助,特此致谢!

1 吴敬.九章算法比类大全[A].郭书春主编.中国科学技术典籍通汇·数学[Z].第2册.郑州:河南教育出版社,1993.

2 张久春.《九章算法比类大全》与“九章”的渊源[J].自然科学史研究,2003,22(1):54—59.

3 (日)武田楠雄.明代における算書形式の变遷——明代数学の特质序说[J].科学史研究,1953,(26):1—12.

4 (日)武田楠雄.明代数学の特质Ⅰ——算法统宗成立の过程[J].科学史研究,1954,(28):1—12.

5 (日)武田楠雄.明代数学の特质Ⅱ——算法统宗成立の过程[J].科学史研究,1954,(29):8—18.

6 (日)武田楠雄.同文算指の成立[J].科学史研究,1954,(30):7—14.

7 (日)武田楠雄.天元术丧失の諸相——明代数学の特质Ⅲ[J].科学史研究,1955,(34):12—22.

8 (日)武田楠雄.東西16世纪商算の对决Ⅰ[J].科学史研究,1955,(36):17—22.

9 (日)武田楠雄.東西16世纪商算の对决Ⅱ[J].科学史研究,1955,(38):10—16.

10 (日)武田楠雄.東西16世纪商算の对决Ⅲ[J].科学史研究,1955,(39):7—14.

11 钱宝琮主编.中国数学史[M].北京:科学出版社,1964.

12 钱宝琮.《孙子算经》提要[A].钱宝琮校点.算经十书[Z].北京:中华书局,1963.275—276.

13 钱宝琮.《张丘建算经》提要[A].钱宝琮校点.算经十书[Z].北京:中华书局,1963.325—327.

14 钱宝琮.《五曹算经》提要[A].钱宝琮校点.算经十书[Z].北京:中华书局,1963.409—410.

15 钱宝琮.《辑古算经》提要[A].钱宝琮校点.算经十书[Z].北京:中华书局,1963.487—490.

16 郭书春.《谢察微算经》提要[A].郭书春主编.中国科学技术典籍通汇·数学[Z].第1册.郑州:河南教育出版社,1993.

17 李迪、冯立升.《谢察微算经》初探[A].数学史研究文集(三)[C].呼和浩特:内蒙古大学出版社;台北:九章出版社,1992.58—65.

18 杨辉.乘除通变本末[A].郭书春主编.中国科学技术典籍通汇·数学[Z].第1册.郑州:河南教育出版社,1993.

19 邹大海.《透帘细草》提要[A].郭书春主编.中国科学技术典籍通汇·数学[Z].第1册.郑州:河南教育出版社,1993.

20 赵澄秋.《丁巨算法》提要[A].郭书春主编.中国科学技术典籍通汇·数学[Z].第1册.郑州:河南教育出版社,1993.

猜你喜欢

杨辉开方算题
说杨辉
根据“倍数”巧算题
数字监管 既能“看病”也能“开方”
小灵通算题
小灵通做口算题
巧算题
南宋数学家杨辉的数学成就
放风筝
学习开方『四注意』
为公立医院“虚胖”把脉开方