程:粟一斛,积二尺七寸。其米一斛,积一尺六寸五分寸之一。其菽、荅、麻、麦一斛,皆二尺四寸十分寸之三。[1]
这里的“二尺七寸”、“一尺六寸五分寸之一”和“二尺四寸十分寸之三”分别相当于现代的2700立方寸、1620立方寸和2430立方寸,分别等于16 2/3斗、15斗和10斗。第27题是由长方体仓库的广、袤和它能盛粟的斛数,求它的高;第28题是由圆柱体仓库的高和它能盛米的斛数,求它的底面周长。经过校算,可知这两个问题中粟的斛和米的斛也分别采用上述的标准。在这5个算题中,不同粮食的斛标准不同,是一个非常特殊的现象,在其他汉代的文献没有见过这样的用例。但如果对比出土秦汉简牍中的计量制度,则容易看出其中的端睨。
02
秦至汉初石、桶的多值制
在秦简和西汉初年的简牍中,石作为体积(容量)单位通常为10斗,但在政府仓储部门的粮食管理事务中,采用了一种特殊的单位制度,笔者称为多值石制。它根据粮食种类的不同,采用不同的体积标准:
(1)对于粟类(粟、秶、禾、黍,还应包括稷)谷子,1石=16 斗;
(2)对于稻谷,1石=20斗;
(3)对于各种米,1石=10斗;
(4)对于菽(叔)、荅、麦、麻,1石=15斗。[2]
同时,在秦简中还发现有一种多值桶(简文作“甬”)制,除把上述“石”换成“桶”外,完全相同。[3]
03
西汉中期至东汉的大石、小石制
在西汉中期至东汉时期的简牍中,石作体积(容量)单位仍是10斗。不过这一时期,存在着一种大石、小石制。与多值石制中不同粮食种类的石采用相同量值的下级单位斗、升不同,大石、小石采用不同量值的下级单位,但同级单位保持相同的量值比,而大石与其下级单位的斗、升采用十进制,小石与其下级单位的斗、升也采用十进制。也就是说:
(1) 3大石= 5小石;3(大)斗=5(小)斗;3(大)升=5(小)升。
(2) 1大石=10(大)斗,1(大)斗=10(大)升;
1小石=10(小)斗,1(小)斗=10(小)升。
小石采用多值制中米的标准,也就是以10斗为一石的普遍标准。大石以多值制中粟类谷子的一石为标准。小石的斗、升分别继承了早先斗、升的量值标准,而大石的斗、升则分别增大到原来斗、升标准的倍。同时,尽管大石和小石分别取早先粟类谷子和由之舂出的粝米一石的数量为标准,但它们所能度量的范围已不再分别限于米和粟类的粮食。[4]
另外,西汉中后期至东汉还有少量的大斛、小斛用例,当为大石、小石制的替换。
04
《九章》斛的多值制是耿寿昌对石、桶多
值制做替换的结果
通过对比容易断言,《九章》这5个问题所用斛的标准,正好与秦至汉初石或桶的多值制标准相同(只要把石或桶换成斛即可),而与耿寿昌时代至东汉的大石、小石(或大斛、小斛)制区别很大。考虑到《九章》其他问题中的斛全部统一为10斗,而多值制只行用于西汉早期及以前,可以断定,这5个问题不可能是耿寿昌或其后补入的。它们的原型一定是汉初或以前甚至是先秦时期的算题,只是那时采用了以“石”或“桶”作为单位名的法律标准。耿寿昌在整理《九章》时,让斛、石分工分别表示体积(容量)单位、重量单位,本来是以10斗为斛的,但这样不仅会导致原题的答案要改变,而且特别关键的是要改变所引法律的标准,所以他干脆只用“斛”简单替换“石”或“桶”而未对数据做修改,于是形成了极为罕见的多值斛制。
上述《九章》中5个问题的情况很可能说明,耿寿昌在整理《九章》时对原题的保真度较高,并不随便改写。
三、恢复经典:耿寿昌整理《九章》的理念
除了对原题尽量保真,耿寿昌在整理《九章》时,增补的问题也应该很少,特别是很少有新的类型。这从以下几点可以看出来。
首先,从单位制度看,耿寿昌时代有大石、小石制,也有少量的大斛、小斛,但这些在《九章》中没有反映。上述5个问题,如果用大斛、小斛,则可以对应粟、米两种数据,只需要调整一种(菽、荅、麻、麦)数据,不用很麻烦即可与同时代通行的制度相合,但整理者宁愿只做简单的替换,从而形成在其时代和以前的现实中并不存在的多值斛制,这说明他在整理时尽量做很少的改动,并没有将带有他所在时代标志的计量制度的算题补入《九章》之中。
其次,耿寿昌改革漕运,从京师附近的郡采购粮食以节省运费;提出增加海租以提高财政收入;又设常平仓,在市面上谷价低时政府以较高的价格买进,市面上谷价高时政府以较低的价格卖出,以稳定粮价。如果他整理《九章》时补入他同时代所面临的数学问题,那么以这三类工作为背景的算题是他的首选项,因为这种算题与《九章》已有针对政府工作的算题在风格上是协调的。可是,不管是有关从京师附近地区买粮食以节省运费的算题,或是增加海租的算题,还是有关政府高价买进、低价卖出以稳定粮价的算题,在《九章》中都一个也没有。
其三,耿寿昌为宣帝建造杜陵。《九章》中确有两个与墓有关的算题。一个计算“羡除”的容积,“羡除”即墓道。它的下广六尺(1.38米),上广一丈(2.3米),深三尺(0.69米);末广八尺(1.84米),无深;袤七尺(1.61米)。杜陵没有被正式挖掘,但做过勘探。“陵墓四面正中各有一条”“大小、形制基本相同”的墓道,“封土以外部分的墓道长20米、宽约8米,墓道口距地表深约3-4米,接近封土边的墓道距今地表深约20米。”[5] 显然,《九章》此题的墓道规格与帝陵完全无关。另一个算题计算“冥谷”的容积。“冥谷”即墓坑。它的上广二丈(4.6米),袤七丈(16.1米),下广八尺(1.84米),袤四丈(9.2米),深六丈五尺(14.95米)。杜陵墓坑有多大不得而知,从墓道看,其规模肯定远比此题中冥谷的数据大。这从马王堆三号墓的数据与《九章》冥谷的对比可以推知。它的墓主是长沙王丞相轪侯利苍的一个儿子,地位不高。其墓坑是带墓道的长方形竖穴,深17.7米,墓口南北长16.3米,东西宽15.45米,墓底长5.8米,宽5.05米。[6] 此墓坑与《九章》冥谷的高和长相差不大,但冥谷的宽远小于马王堆三号墓。帝王的墓坑当然要远大于此数。“冥谷”下广才1.84米,显然不可能以杜陵为原型。可以断言,耿寿昌没有往《九章》中补入以他主持的杜陵建造工作为背景的算题。
其四,前面提到耿寿昌发挥他的数学才能,制作过天文仪器浑象,计算过日、月运行的度数,写过天文著作,可是《九章》中一个天文计算的问题都没有。可见他的天文工作没有影响到他编纂《九章》的内容。
以上证据充分说明,耿寿昌把对《九章》的整理与他将数学用于解决他从事的多项实际工作,区分得非常清楚,其目的在于恢复被损坏的古旧经典,而非阐发自己在数学上的贡献。这在其他章中也有反映。
《九章》“均输”章有28个算题,另有一个今本《九章》佚失而为王孝通所引的“犬追兔”问题。其中,前4个算题考虑多指标下如何公平摊派赋税,它们的现实背景和数学结构都很接近,属于同一类,被认为是均输算题;其他的算题则被认为不是均输问题,而只是被编入“均输”章的杂题。20世纪80年代以前学术界普遍认为,经济上的均输是汉武帝之后产生的,数学上的均输不能早于此时。80年代张家山西汉初年墓出土“均输律”以后,学术界仍认为只有前4题是均输问题,但它们可以更早。对于其他算题,有的学者认为是后来增补的。但笔者的考察发现情况不是这么简单。前4题其实应该是此章第3、4两题提到的“均赋”问题,而“均输”的涵义则包括了“均赋”而范围更广。在经济上,从先秦到西汉,除包括让赋税的分配公平的“均赋”外,“均输”至少还包括先秦和秦代少府下之均输官的事务,这种事务成为“均输”章第9题在先秦或秦代的蓝本之现实背景。不仅如此,作为《九章》中数学门类的“均输”,其涵义除涵盖第1-4、9题外,还能统括此章其他算题(含王孝通所引的“犬追兔”问题),这些算题中的绝大部分都能在秦至西汉初年的竹简算书中找到类似的算题。这说明“均输”章的算题主要来自《九章》在先秦或秦代的祖本,张苍和耿寿昌特别是后者很少补入新的算题,尤其是很少补入新型的算题。[7] 这种情况不限于“均输”章。比如“衰分”章第5题是:
今有北乡筭八千七百五十八,西乡筭七千二百三十六,南乡筭八千三百五十六,凡三乡发徭三百七十八人。欲以筭数多少衰出之,问各几何?
荅曰:
北乡遣一百三十五人一万二千一百七十五分人之一万一千六百三十七。
西乡遣一百一十二人一万二千一百七十五分人之四千四。
南乡遣一百二十九人一万二千一百七十五分人之八千七百九。
术曰:各置筭数为列衰,副并为法;以所发徭人数乘未并者,各自为实,实如法得一人。[8]
此问题容易被认为是耿寿昌增补的,其实不然。类似的算题见于秦简《数》:
凡三乡,其一乡卒千人,一乡七百人,一乡五百人,今上归千人,欲以人数衰之, 问几可(何)归几可(何)?曰:千者归四〔百〕五十四人有(又)二千二百分人千二百·七百者归三百一十八人有(又)二千二百分人四百·五百归二百廿七人有(又)二千二百分人六百。
其述(术)曰:同三乡卒,以为法,各以乡卒乘千人为实,如法一人。[9]
“筭(算)”是算赋的单位名。算赋是针对成年劳动力征收的人头税,起征或免征年龄以及一算的多少在不同时期可能有所不同。常见的征收算赋的年龄是15至56岁,一算为120钱。“算”的数目在《九章》这个问题中是成年劳动力的人数。汉代在高帝四年八月(公元前203年)开始征收算赋,但这只是汉代之始,秦代实际已有算赋。[10] 可以看出,两个算题的现实背景和算法都很相似:都是徭役问题,都是三个乡各有一个基本数(前者是算数;后来是已在服徭役的人数),已知一个总数(前者是要征发的徭役总人数,后者是要从在服徭役者中遣返的总人数),要在三个乡之间进行分配(前者求要从每个乡征发的徭役数,后者求从每个乡在服徭役者中遣返的人数)。两题算法都是比例分配法,都具有一般性,但前者没有具体数字,后者有一处具体数字。《数》表明,《九章》此题很可能是早已有之的,并非耿寿昌所补。当然,他可能做过文字加工。
正是由于耿寿昌对《九章》的整理具有恢复旧有经典的强烈意识,而绝非视为自己的撰作,所以他很少往《九章》里补入以他的时代和他的工作为背景的算题。
四、对《九章》内容的归类与编排
因为把对《九章》的整理视为对经典的恢复,所以耿寿昌做这项工作是很慎重的。一方面,要尊重经典,所以他不能随便增减内容特别是不能随便增补与原有算法、算题的类型有明显差异的内容。另一方面,经历秦始皇焚书和秦汉之际的战乱之后,张苍和耿寿昌所收集到的先秦《九章》遗文如刘徽所说是“散坏”的,不能很好地体现原书中内容的归类和编排次序。由于视原来的《九章》为经典,所以耿寿昌肯定会认为它原来的归类与编排是很合理的,这就要求自己整理出来的《九章》在这方面达到很高的水准。有学者认为今本《九章》的归类与编排不合理。但通过对《九章》做具体的分析,可知它有自己内在的逻辑,其归类与编排达到了很高的水平。
从问题和算法的结构上看,《九章》各章之间的界限是非常清楚的。第一、四、五、七至九章的每一章都容易与其他章的内容区分开来。比较容易让人产生误解的是第二章“粟米”、第三章“衰分”和第六章“均输”,它们都讲比例问题和算法。这几章内有的算题与章名的对应关系不明显,初看之下在归类上具有随意性,读者容易觉得此书的编排方式不合理,缺乏一致性。其实不然。如前所述,“均输”章的算题本来就可以用“均输”一名地统摄。下面看另两章。
“粟米”章之首是各种粮食及加工品的换算表,称为“粟米之法”,然后才是今有术,即正比例算法。此章之名“粟米”应来源于这张换算表的名称。接下来有三类算题:第一类是“粟米之法”中取两种物品的换算,直接用今有术(正比例算法)解决。第二类是若干钱买若干物,求每物的单价,本来可以直接用除法求解,这比用今有术简单,但《九章》用经率术“以所求率乘钱数为实,所买率为法,实如法而一”,它显然还是归结为“今有术”,甚至没有提到“所求率”为1,1乘以钱数相当于不乘。第三类是其率术和反其率术问题,形式上的确很特殊外,但不难发现,这类算题其实是第二类的扩展;其率术问题也是求单价,只是因为单价为分数,而作者想要整数答案,于是把问题设置为求相差1的两个单价;反其率术则求一钱能买多少物品,答案也是相差1的两个数据。可见,第三类问题是从第二类延伸而来的。因此,“粟米”的问题保持着其内在的一致性,不存在其他类型的问题误入此章的情况。
“衰分”章有四类问题。章首为衰分术即比例分配算法,之后有7个这类算题,这是第一类。然后是返衰术,是按倒数比例进行分配的算法,之后有2个这类例题,这是第二类。这二类都与章名“衰分”很切合,可以称为衰分本术类问题。第三是第10-19题,它们都具有这样的结构,已知甲物的数量为A,对应于乙物的数量为B,求甲物的数量为a时,对应于乙物的数量是多少。这明显是正比例问题,按今有术求解,从算法上看,确实应该放在“粟米”章。但是,这些问题都和“粟米之法”无关,在算法上比该章经率术问题要复杂,由于“粟米”章本来就不以“今有术”这个方法命名,所以把这10个算题放入“粟米”章也不见得就很贴切。另一个问题是“粟米”已有46题,而“衰分”章只有20题,如果把此章的这10个题放入“粟米”,则两章体量相差过于悬殊。考虑到这10个问题比“粟米”章的第二类问题要复杂,把它们置于“衰分”章而不是“粟米”章也是有其内在逻辑的。第四类问题只有此章最末的第20题。它是说,贷1000钱的月息为30钱,已知贷了750钱,9日归还,求利息。此问题也不是衰分问题,而是更复杂但可化为按正比例算法求解的问题,其比例关系是:将所贷钱数与日数相乘,乘积与息钱成正比。这个问题可以说是第三类的延伸。因此,把它放在第三章里也有一定道理。
值得注意的是“均输”章的第7题与“衰分”章的最后一题有相似性,后者是说,雇人运盐2斛走100里,给40钱;如果运盐1斛7斗3升又3分之1升,走80里,问应该给多少工钱。这里,盐的体积和运送的距离之乘积,与工钱数成正比,是解决此问题的关键。这两个问题在算法结构上是相同的,从这点上看,应该把它们归到同一章才合理。但是,汉代常常把盐、铁的经营与均输作为一起讨论的话题,所以编者把第7题置于“均输”章而不是“衰分”章大概不是出于偶然而是有意为之的。从这一角度看,“衰分”章的息钱问题置于“均输”章才是最合理的。不过,《九章》问题的归类,也不全是根据算法结构来安排的,它被置于“衰分”章,可能还是由于上面提到的编者觉得它为该章第三类问题的延伸。当然,这里存在考虑不周的问题,但我们不宜假设古人对每个地方都考虑得很周密。
关于比例问题和算法的三章中,“粟米”章最简单,“衰分”章次之,“均输”最复杂,除典型的算题外,其他非典型算题的安排也是有规律可寻的:一方面,编者按算法上从易至难的顺序把它们安排到三章中去;另一方面,在同一章内则是大体按现实背景或相关性,基于以类相从的思想进行归类和编排。
五、表达方式与书写格式的统一、数据的校算、文本校勘及文字的修饰
在秦简《数》、汉简《筭数书》中,数学知识的表达形态和书写格式是多种多样的,而《九章》则相当统一。后来的《孙子算经》、《张丘建算经》也基本上采用了《九章》统一性的表达方式。所以,《九章》统一性的数学表达方式固然可能有一部分源自其在先秦或秦代的祖本,但由于秦火之后的散坏,汉代早期收集的材料有可能经过改写,或将不属于《九章》祖本的材料误为《九章》的,或有意补充新的材料,因此到耿寿昌手里的版本,其表达方式应该是多样化的。而上面的讨论表明,耿寿昌对计量单位的使用做过规范,那么他对其他数学表达方式以及书写格式做统一性处理,也在情理之中。另一方面,既然秦火之后《九章》散坏,则收集来的零散内容就不可能在篇章的归属和前后次序上都很清楚,有的算题、算法和数量标准也会不完整,存在讹误,所以整理者必须根据自己的理解,把本身无明确归属标识的材料编入相应的篇章中去,并按一定次序和方式进行编排、校勘、校算和删补。张苍做过这样的工作,耿寿昌也应该做过这样的工作,且出于对经典的尊崇心理而在做整理工作时更加精心。此外,虽然耿寿昌编纂《九章》时注重对经典的恢复,但还是要为当代服务,所以他也应采用当代的语言对文本进行修饰,对照《九章》与出土算书的行文可知刘徽说《九章》“所论者多近语”,确非虚言。
耿寿昌以数学能力及其应用受到皇帝的宠信,他改革漕运满足京师粮食供应、为赵充国守卫边疆做后勤工作特别是筹措军粮、设常平仓、造杜陵等政绩都得力于此。既然他著有天文著作,那么他也可能写作过自己的数学著作,可惜的是不论是他自撰的天文著作还是数学著作都没有流传下来。
结 语
耿寿昌在张苍的基础上整理删补《九章》,做至少做了以下几个方面的工作:
(1)统一了全书的计量单位,特别是对表示重量的石和表示体积(容量)的斛做了区分。
(2)对全书的数学表达方式以及书写格式做了统一化、规范化的处理,对全书的算题、算法及常数标准等进行了精心的组织与编排,并对文本进行了校勘、删补和文字上的修饰,对数据进行校算。
(3)在恢复过去经典的强烈意识下,谨慎地删补了少量算题和算法,补入的算题和算法往往与旧有材料属于同种类型。
耿寿昌在仕途上的迁升和政绩,在军事后勤补给、经济、天文和帝陵修建等方面的工作都得益于其非凡的数学能力。耿寿昌是天文学家,更是数学家。既然他写过自己的天文著作,那么他也很可能写过自己的数学著作,可惜它们都没有流传下来。
耿寿昌在恢复古旧经典的强烈意识下对《九章》所做的精心整理,达到了预期的目的,由他定稿的《九章》后来成为中国传统数学最重要的经典,是此后近两千年中国数学的发展在问题、方法和思想上的源泉。这种成功能在很大程度弥补了他自撰著作佚失的缺憾。虽然没有证据表明耿寿昌在科学原创性上有多么伟大的成就,但他对《九章》的定稿工作,足以使他列入中国科学史特别是数学史上最重要学者的名单,理应受到更大的重视。
注释:
[1] 郭书春汇校:《九章筭术新校》,第175页。
[2] 邹大海:《关于〈算数书〉、秦律和上古粮米计量单位的几个问题》,《内蒙古师范大学学报(自然科学汉文版)》第38卷第5期,2009年9月,第508—515页;邹大海:《从出土文献看秦汉计量单位石的变迁》,RIMS Kôkyûroku Bessatsu B50: Study of the History of Mathematics August 27~30, 2012, edited by Tsukane Ogawa, Research Institute for Mathematical Sciences, Kyoto University, June 2014, pp.137-156.
[3] 邹大海:《关于秦汉计量单位石、桶的几个问题》,《中国史研究》2019年第1期,第57—76页。
[4] 邹大海:《从出土文献看秦汉计量单位石的变迁》;邹大海:《关于秦汉计量单位石、桶的几个问题》。
[5] 中国社会科学院考古研究所编:《汉杜陵陵园遗址》,北京:科学出版社,1993年,第6页。
[6] 湖南省博物馆、中国科学院考古研究所:《长沙马王堆二、三号汉墓发掘简报》,《文物》,1974年第7期,第39—48转63页。
[7] 邹大海:《中国上古时代数学门类均输新探》。
[8] 郭书春汇校:《九章筭术新校》,第100页。
[9] 萧灿:《岳麓书院藏秦简〈数〉研究》,北京:中国社会科学出版社,2015年,第88页。为简便起见,此处引文采用校勘后的结果,并将重文号恢复成所指代的字,同时删去重文号。
[10] 邹大海:《中国数学的兴起与先秦数学》,济南:河北科学技术出版社,2001年,第147—148页。返回搜狐,查看更多