刘微的出入相补原理 从先秦文献和《算数书》看出入相补原理的早期应用

2017-08-13
字体:
浏览:
文章简介:从先秦文献和<算数书>看出入相补原理的早期应用 邹大海    摘要  出入相补原理是中国古代数学特别是几何学最基本的原理之一.本文首先给出判

从先秦文献和《算数书》看出入相补原理的早期应用

 邹大海

    摘要  出入相补原理是中国古代数学特别是几何学最基本的原理之一。本文首先给出判断古人是否认识出入相补原理的关键所在,然后引证大量传世文献并利用考古文献追溯中国早期对这一原理的应用。

作者认为:它在先秦时代肯定已被认识和应用,并被用于获取现传本《九章算术》、《周髀算经》、《算数书》等数学文献中的一部分数学方法。出入相补原理的最早应用应不晚于春秋,甚至还可能是在更早的时代。

    关键词  出入相补原理;先秦数学;算数书;墨经

出入相补原理是几何学中最基层的一条原理,说的是“一个平面图形从一处移置他处,面积不变。又若把图形分割成若干块,那么各部分面积的和等于原来图形的面积,因而图形移置前后诸面积间的和、差有简单的相等关系。立体的情形也是这样”[①]。

此原理是吴文俊院士命名的,出典于三国时魏国数学家刘徽在注《九章算术》勾股术时说的一段话:“勾自乘为朱方,股自乘为青方,令出入相补,各从其类,因就其余不移动也,合成弦方之幂”[②]。学术界公认这是刘徽用出入相补原理对勾股定理所作的一个推导[③]。

一、判定古人是否认识或应用出入相补原理的关键

吴先生用出入相补原理这样一条朴素简明的基本原理,说明成书于汉代及其以后的经典数学著作中大量算法的获得,但没有对其最早的应用时代进行追溯。由于“出入相补”出自刘徽注,且现存中国传世数学文献中用这一原理进行几何推导的,以三国时赵爽的《周髀算经注》和刘徽的《九章算术注》为最早,所以也有学者以为出入相补原理是刘徽首创的,如沈康身先生就说“在空间形式方面,刘徽首创以盈补虚、出入相补原理,借此无所阻碍地推导出各种多边形面积公式。

他又运用损广补狭出入相补原理、刘祖原理、刘徽原理和棋验法,使多面体甚至曲面体(如球)体积公式的推导也畅通无阻”[④]。按照这种看法,中国人对出入相补原理的最早应用就不会早于公元三世纪了。

    不过,文献的成书年代只是该文献中的知识内容产生时代的下限,单据文献的编著时代判定其中知识的发明年代是有局限的。按刘徽《九章算术注》序的自述“采其所见,为之作注”,他的注释吸收了前人或同时代人的成果,因此郭书春先生明确指出这一原理是刘徽以前已经出现的,刘徽注中用出入相补原理推导圆周率近似值3(“周三径一”)等内容,即属于“采其所见”的方法[⑤]。

这个意见是有道理的,和刘徽处于同时代而可能略早的赵爽也用到出入相补原理来解决几何问题,充分说明在刘徽之前中国人已经用过出入相补原理了。但郭先生也未说明出入相补原理早到什么时候就已经应用。

邹大海曾就先秦时应用出入相补原理的问题进行了探讨[⑥],但论述还不够丰满。本文拟在此基础上,利用传世文献和新近公布的考古文献相结合对这一问题进行较全面的分析。

首先,追溯开始应用出入相补原理的时代,笔者认为不能单纯地从文献中是否有关于这一原理的明确表述来判定。事实上,在刘徽注中涉及这一原理的,更多的情况下是用“以盈补虚”的说法(包括平面图形和立体图形);同时在刘徽的《九章注》中,也没有关于一个图形在移动位置前后的面积不变的表述,更没有关于分割一个图形,把它的各部分进行重组,所得图形的面积或体积与原图形相等的表述,而只是有“出入相补”、“以盈补虚”、“颠倒相补”、“互相通补”之类的说法。

甚至在现存古代文献中都没有出入相补原理的完整表述。因此,这里笔者要特别强调:这一原理本是浅显的道理,对它的认识并不是由高超的推理技巧得来,是否认识和应用这一原理,关键是要想到分割或移动形体后再进行组合;至于在进行移动或重组前后的面积或体积相等,是不言而喻的。

正因为如此,今天也很少有几何学著作给出其完整表述,而是把这当作不言自明的原理来应用的。所以,古人在什么时候和什么情况下应用出入相补原理,取决于是否有某种需要和某种思维倾向的拉动。

当人们在考察一个不知其大小的形体时,如果他们认为有必要把这个形体分解成若干个部分,然后再将这些部分重新组合来考虑,那么他们就认识和应用了出入相补原理。

二、对出入相补原理的认识和应用可以追溯到先秦

按照上述关于如何判定古人是否认识和应用出入相补原理的关键之说明,我们认为中国人首先应用出入相补原理的时代,至迟可以推到先秦。

2.1与出入相补原理相通的思想

首先,很多先秦文献中都具有与出入相补原理相通的一种思想:各部分的量发生了变化而总量不变。

《老子》第77章说“天之道,其犹张弓欤?高者抑之,下者举之,有余者损之,不足者补之。天之道,损有余而补不足。人之道,则不然:损不足以奉有余。孰能有余以奉天下?唯有道者”[⑦]。这里不管是“损有余而补不足”还是“损不足以奉有余”,虽然有余者和不足者在经过损和补之后的量发生了变化,但二者之和仍不变,其思想和出入相补原理是相通的,只是比出入相补原理只限于形体要更宽泛一些,也没有出入相补原理那么明确。

《管子》“侈靡”篇说“夫阴阳进退,满虚时亡,其散合可以视岁。

唯圣人不为岁,能知满虚,夺余满,补不足,以通政事,以瞻民常”。此处“夺余满,补不足”,在夺和补前后,两部分之和仍是相等的。又《管子》“事语”篇载管子曰“彼天子之制,壤方千里,齐诸侯方百里,负海子七十里,男五十里,若胸臂之相使也。

故准徐疾赢不足,虽在下也,不为君忧”;“轻重乙”篇载管子曰:“天子中立,地方千里,兼霸之壤三百有余里,佌诸侯度百里,负海子男者度七十里。

若此,则如胸之使臂,臂之使指也。然则小不能分于民,(推)[准][⑧]徐疾羡不足,虽在下不为君忧”;《管子》“国蓄”篇说“然则人君非能散积聚,钧羡不足,分并财利而调民事也,则君虽彊本趣耕,而自为铸币而无已,乃今使民下相役耳,恶能以为治乎?”,“人君知其然,故视国之羡不足而御其财物。

谷贱则以币予食,布帛贱则以币予衣。视物之轻重而御之以准。故贵贱可调而君得其利”[⑨]。“羡”、“赢”都是有余的意思,“准徐疾赢不足”、“准徐疾羡不足”、“钧羡不足”就是调整快慢和有余及不足,使之达到一个合适的程度或数量,这里往往也是以调整前后有余和不足物的数量之总和不变为前提。

《孟子·梁惠王下》晏子曰“春省耕而补不足,秋省敛而助不给”(卷十二也有同样的话),“景公说,大戒于国,出舍于郊,于是始兴发补不足”,“子不通功易事,以羡补不足,則农有余粟,女有余布”[⑩];等等。

《管子·七法》“不明于象而欲论材审用,犹绝长以为短,续短以为长”,同书《小称》篇“是以长者断之,短者续之。

满者洫之,虚者实之”[11]。这些“补不足”、“助不给”、“绝长以为短,续短以为长”、“长者断之,短者续之。满者洫之,虚者实之”,其中确实都隐涵了把一些量调整其布局后总量仍相等这一思想。

当然,这些也与上引《老子》中的文字一样,不是专门针对面积或体积而言。上引文献(我们还可以举出其他的文献,如下面将讨论的《墨子》中的材料)中部分变化而总量不变的思想,与出入相补原理讨论的对象多有相同,有的则更宽泛一些,但这些足以说明:先秦诸子具有认识和应用出入相补原理的思维背景。

2.2出入相补原理确已在先秦得到应用

《孟子·滕文公上》载公明仪曰“今滕绝长补短,将五十里也,犹可以为善国”[12];《礼记·王制》“凡四海之内,断长补短,方三千里……”[13];《战国策·楚策四》载庄辛答楚襄王(公元前298-前263年在位)说“臣闻昔汤、武以百里昌,桀、纣以天下亡。

今楚国虽小,绝长续短,犹以数千里,岂特百里哉?”《战国策·秦策一》载张仪的说辞:“今秦地形,断长续短,方数千里” [14] ;《韩非子·初见秦》说:“今秦地折长补短,方数千里”[15]。

上述文献中,把滕国、楚国、四海之内和秦国等,要通过“绝长补短”(或“绝长续短”、“断长补短”、“断长续短”、“折长补短”)化为方形,意思就是要把原来不规则的国土面积,通过分割成若干块后重组,化为形状规则的正方形,以估计其面积的大小,古人这样说的前提是他们认为化为正方形前后的面积是相等的。

中国古代往往借用具体事物的名称表示几何概念,如圭田是三角形,环田是圆环,沟、堤是底为梯形的棱柱等等。

上述“绝长续短”一类说法,系针对大面积的国土,不可能实际施行,而只能是通过假想、画图或用模型进行的操作,这充分说明古人是懂得出入相补原理的。出入相补的思想见于一般诸子的说辞中,足以说明这个极自然的出入相补原理已受到相当广泛的认识,所以才会由一般的文人随口说出。

《周礼·地官司徒》云:“保氏掌谏王恶而养国子以道,乃教之六艺。一曰五礼,二曰六乐,三曰五射,四曰五驭,五曰六书,六曰九数。”公元一世纪的经师郑众(?-83)注:“九数:方田、粟米、差分、少广、商功、均输、方程、赢不足、旁要。

今有重差、夕桀、勾股也”[16]。郑众所列的“九数”当是春秋战国时代数学的九个类别,是现传《九章算术》的主要来源[17]。其中的方田、少广、商功和旁要都与几何学关系密切,这也说明在战国时代需要用出入相补原理来获得相应的算法。

特别是“少广”,按李淳风的注“截取其从少,以益其广”,就是要通过出入相补,保持面积不变。这也说明,对出入相补原理的认识和应用,先秦时代是肯定存在的。出土《算数书》等文献也证明了这一点(详后)。

三、墨家与出入相补原理

在考察先秦对出入相补原理的认识和利用时,墨家的文献特别值得关注。

《墨子·非命上》子墨子曰:“古者汤封于亳,绝长继短,方地百里,与其百姓兼相爱,交相利,移则分,……”“昔者文王封于歧周,绝长继短,方地百里,与其百姓兼相爱,交相利,[移]则[分],是以近者安其政,远者归其德”[18]。

这里说,汤的亳和文王的歧周,其面积大小都相当于一边为百里的方形,它们本不是方形,而是通过绝长继短化为方形的。这里的“绝长继短”就是出入相补,其前提也是要使面积不变。这与上引《孟子》、《战国策》和《礼记》等文献属于一样的情形,都是要用到出入相补原理。照此看来,墨子本人是认识到了这一原理的。

《墨子》中的《墨经》四篇,是编成于战国中期早段墨家的作品(关于《墨经》的成书年代,历来有不同的意见,邹大海有详考[19]),其著作形式是分条单列,一般每条都由经文和相应的经说组成,经说一般在开头有一字(或几字)与经文的开头的文字相同,现代称为标牒字或牒字。《墨经》的以下条目与出入相补原理相关:

1[经]:可无也,有之而不可去,说在尝然。[经说]:可无也,已给则当给,不可无也。

2[经]:体,分于兼也。[经说]:体,若二之一,尺之端也。

3[经]:损,偏去也。[经说]:损,偏也者,兼之体也;其体或去或存,谓其存者损。

4[经]:无穷不害兼,说在盈否。[经说]:无,南者,有穷则可尽,无穷则不可尽。有穷无穷未可智,则可尽不可尽未可智。人之盈之否未可智,人之可尽不可尽亦未可智。而必人之可尽爱也,悖。人若不盈无穷,则人有穷也,尽有穷无难。盈无穷,则无穷尽也;尽无穷无难。

5[经] 经:不知其数而知其尽也,说在问者。[经说]:不,不智其数,恶智爱民之尽之也?或者遗乎其问也。尽问人,则尽爱其所问。若不智其数而智爱之尽之也,无难。

6[经]:撄,相得也。[经说]:撄,尺与尺俱,不尽。端与端,俱尽。尺与端,或尽或不尽。坚白之撄相尽。体撄不相尽。

7[经]:仳,有以相撄,有不相撄也。[经说]:仳,两有端而后可。

8[经]:次,无间而不相撄也。[经说]:次,无厚而厚可。

第1条经文说:“无”是可以存在的,但有些东西存在,就一定总会存在着,不会变得没有了,这是指曾经确实存在的东西而言。经说的“可无也”是牒字,“给”训为具备,也即存在的意思,“当(當)”字吴毓江认为“读为常”,但没有给出理由。

吴说是正确的,“当”和“常”在上古都属阳部,声纽亦相近,音近假借是完全可能的。马王堆汉墓帛书“唯君所食,以变五色。君必食阴以为当,助以柏实盛良,饮走兽泉英,可以却老复壮,曼泽有光”,这里的“当”即读为“常”[20]。

经说的意思是:已经具备的东西就会一直存在,不会变成不存在。这里说的并不是过去存在的东西一直会原封不动地保持不变,而只是说明物质变化了,但并没有消失,也就是说变化前后的总量相等,只是形式或位置不同而已。这与出入相补原理也是一致的。

第2-7条各家也有不同校勘或理解,邹大海对各家校释有分析和考辨,上引文字即据其考证后的校勘结果[21]。第2条中,“体”是部分的意思,“兼”是整体的意思,“尺”为线段,“端”指点,经文说的是体为从兼中分出来的一部分,经说举例说明:体作为兼的一部分,有如二中的一,线段上的点。

此条引入了部分和全体的关系概念。第3条仍然讨论整体与部分的关系,“偏”是部分,在经文中作“去”的状语。经文说明:损就是(从全体中)除去一部分。

经说解释说:偏是兼(全体)的体(部分);兼(全体)的各个体(部分)经过损后,有的体(部分)被除去了,有的体(部分)仍然保留着,我们说保留着的体(部分)被损过了。这种对部分和全体的讨论正是启发人们应用出入相补原理所必要的思想。

从第4条至第8条,与出入相补原理关系更为密切。第4条经文,郭书春先生认为它不仅指兼爱而言,而且还含有这样的意思:“把一个整体分解成无穷多个部分,是不是能用这些部分重新构成这个整体(害不害兼)取决于是不是用这些部分的全体来构成这个整体。

如果用全体(盈),就不害兼,如果不用全体(否),就害兼。”[22]。这条隐含有集合论的思想,强调一个集合的每一部分都不可或缺(虽然就有无穷个子集的全集而言,全集减少一个或若干个子集,其量度在不同的情况下可能减少也可能不减少。

但古人不必对此有准确的认识)。若把此命题应用于面积或体积,则墨家可以考察包含无穷个部分的出入相补了。第5条经文说明:不知道人的数目,也可知兼爱是可以遍及所有人的,因为可以依赖掌管户籍人口的问者。

经说的意思是:不知道人的数目,怎么知道可以把所有的人都爱遍呢?大概要求助于那些问者了。找到了所有的问者,就能根据他们掌握的户籍人口材料,把掌握有资料的所有人都爱到。因此,不知人的数目也能知道兼爱能遍及所有的人,这不是什么难题。这条蕴涵着把一整体进行分割成部分并进行重组的思想,与出入相补原理若合符节。

第6-7条与出入相补原理关系更为直接。“尺”是线(线段),“端”是点。第6条经文说明撄是一种让两个事物(包括几何形体)相合的操作。经说进一步举例说明:两条不同的线(“尺”)放一起相撄时,不能正好互相包涵,两个点(“端”)放一起相撄时,都能被对方涵尽。

一条线(“尺”)和一个点放一起相撄时,点被线涵尽而线不被点涵尽。一块既坚又白的石头内坚、白相撄时,坚和白相互被涵尽。两个事物只有部分重合(“体撄”)指的它们不能被对方涵尽。

第7条经文说:仳是让两条线尽量重合,以比较其大小、长短,这时它们有相融合的地方,也有不相融合的地方。经说则说明,仳的对象线必须是有端点的。这条是对第6条的具体应用,而且对面积和体积也有一定的实用性。

可见,撄这种操作的目的,是要让两者的一部分(如果可能也可以是全部)相合,以考察两者的关系。这里有三点值得注意:一是要移动形体或其一部分,而且移动后的大小形状是不变的(否则无法说明在移动前原来的两个东西能否相撄、相尽或大小如何);二是进行撄这种操作时,往往相撄的对象中至少有一个可以看成由重合的与不重合的两个部分组成;三是进行撄和仳两种操作之目的都是为了比较两个对象的大小或性质。

这三点都与出入相补原理相吻合:在应用出入相补原理时,原来的图形被分割成若干部分并重新组合成新的图形,但只调整了其中若干部分的位置,而保持了另外一些部分的位置不变,这些位置不变的部分可以看成出入相补前后的两个图形的相撄部分;应用出入相补原理的目的也是要考察图形的性质和大小。

这两条《墨经》中明文涉及几何形体(虽然不局限于几何形体),因此可以说《墨经》中不仅存在启发古人应用出入相补原理的思想,甚至还提供了关键性的操作方式。因此,对照前面讨论的墨子“绝长继短”化国土为方形的说法,可知墨家懂得应用出入相补原理,这是毫无疑问的。

第8条经文的“相撄”,原文作“撄撄”,依诸家从孙诒让校正。次是这样一种排列,相邻两个被排列的对象之间没有间隙,又没有相重合的部分。

《经说》“厚”字有“后”、“後”、“厚”三种异文,孙诒让《墨子间诂》作“后”,毕沅《墨子注》作“後”,较早的版本如正统《道藏》本作“厚”。绝大数学者都取“後”或“后”。杨俊光取“厚”,并谓“而”字训为“与”,“及”。

如从多数学者的校勘,则经说是把次的对象限制为量度为零(“无厚”)的点(或形态相似的线或面)。如按杨氏的意见,则经说的意思是次的对象不论量度为零或不为零均可。不论何种校勘,这条都包含一种不可分量可积的思想。

这条和《墨经》中涉及“广脩”的条目一起,说明墨家把线(或面或体)看成一系列不重合且无间隙的点(或形态相似的线或面)连续而成,这时也可以说线(或面或体)分成了点(或线或面)又重新组合成线(或面或体)。

这条和上述第4条都适用于把一个图形分割成无穷多个部分再重组的问题,并一起形成了刘徽对《九章算术》圆田术作注的思想源泉,而且还构成了刘祖原理(即今天中学教材中说的祖暅公理)的思想基础[23]。

这种思想虽与出入相补原理一般都要移动整体中的一个或若干个部分有所不同,但就利用分割和重组来考察问题来说,它与出入相补原理还是一致的;且由于涉及无限的思想,比一般意义的出入相补原理只处理有限分割问题要深刻得多。

综合上述对《墨经》中若干条文的分析,再联系墨子要“绝长继短”把商汤王的封地亳和周文王的封地歧周化为方百里的说法,可知墨家对出入相补原理从创始人墨翟开始就已心领神会,到公元前4世纪前半叶,则有更深入的意见,可能已涉及无穷分割的出入相补。另一方面,由于《孟子》、《战国策》、《韩非子》等文献所载一般的说辞都出现出入相补原理的思想,可知这种思想确在数学中广泛应用,并成为当时思想家所具有的一般知识。

四、从传世算书和出土《算数书》看出入相补原理

早期的传世数学文献《九章算术》和《周髀算经》中,都有很复杂的数学方法,它们主要不是由经验得来,而应是借助于推理获得,其中有关面积和体积的方法及部分其他方法,当用到出入相补原理,赵爽注《周髀》、刘徽注《九章》采用出入相补原理,乃更早时代一脉相承的传统。

这两部著作的最后成书年代都在西汉中后期。但近年来的研究从社会背景和需要证明,《九章算术》的绝大部分方法产生于先秦,战国是中国数学出现第一个高峰的时代[24],上述关于出入相补原理已在战国时代运用的论证,进一步证明了战国时代具有产生《九章》中数学方法的方法论基础。

因此,魏晋时刘徽利用出入相补原理对《九章算术》中一些几何命题所作的证明,不过是非严格意义的“古证复原”。考古发现也证明了这一点。

1983和1984年之交,湖北省江陵张家山西汉初期墓(公元前186年或稍晚下葬)出土了一部数学著作《算数书》,考古学家近年发表它的释文,并公布一些相关资料,为我们认识先秦数学提供了新的契机。据初步研究,《算数书》主要是先秦或秦代的数学材料,所有问题不晚于西汉初年[25]。

研究表明,《算数书》是一本具有多个来源的撮编之作,说明先秦有某种形态的《九章算术》著作,为《算数书》的作者们所学习和参考,《九章算术》的大部分数学方法确实是产生于先秦的[26]。

《算数书》和《九章算术》同属实用算法传统的著作,但后者的现存文本中没有关于算法如何获得的说明,而前者则有少数地方蕴涵着算法的理论依据或推导过程(如“负炭”题的术文,“里田”条的推算过程等),这透露出先秦获得算法确实是存在推导的,只是没有记载(或流传)下来而已。

因此,《算数书》不仅证明《九章算术》的大部分数学方法(虽然文本仍是经汉代学者改造和增删的)是来自先秦的,而且这些方法中借助于面积和体积的部分,很多应是利用了出入相补原理才获得的。

前面说到的“少广”亦见于《算数书》,说明《九章》中的“少广”确是先秦的。《九章算术》中关于分数四则运算的方法都置于处理面积问题的方田章,《算数书》中“相乘”和“乘”两条讲分数乘法时以长度为被乘数和乘数的单位,而面积问题与出入相补原理最为密切。

《算数书》中“方田”问题是求面积等于一亩的正方形田的边长。当时一般以长240步、宽1步的长方形田作为一亩的标准,所以这个问题实际涉及把这样一个长方形化为正方形的问题,这和少广一样蕴涵着针对面积的出入相补。

《算数书》中的“启广”、“启从”也有相似的地方。“以睘(圜)材方”、“以方材睘(圜)”两条,讨论用圆形裁成正方形和用方形裁成圆形,涉及图形分割,这种分割无疑蕴涵着对应用出入相补原理的牵引。

《算数书》中有羡除、斩都(两者都是楔形体,后者相当于《九章》的刍甍)、刍童及方阙(都是棱台体)等多面体体积公式,后二者都是具有普适性的准确公式(竹简中关于羡除的文字有残误,经过校勘后亦知古人很可能知道它的普遍公式)。这些立体体积的普遍公式已经相当复杂,仅凭经验是不可能得到的,因此,它们应是由出入相补原理推导得出的。

五、出入相补原理应在战国以前就已应用

上面我们利用传世文献和考古文献相结合,数学文献和一般经史子集文献相结合,只是证明战国时代确实已认识和应用了出入相补原理。那么,战国以前,中国学者是否有出入相补原理的应用呢?推测起来应该是有的。墨子是战国初期的人(按一般习惯以公元前475年为战国之始),要说他就是第一个使用出入相补原理的学者是困难的,推想他也是在学习数学的过程中接受这一原理的。

春秋时期,中国数学有相当丰富的数学知识,以“九九”乘法口诀为基础的整数四则运算已经相当普及,且能进行分数的四则运算,说明当时的数学水平不宜估价过低。

另一方面,当时社会经济活动还需要计算多种形状的田地面积、土方,进行测量,这些都需要相应的几何学知识,《九章算术》中方田章、商功章和勾股章或多或少有一部分几何计算方法(不一定是现存文字本身)当在春秋时已具备[27],这些方法绝大多数不是近似公式,它们的获得,主要地不会是仅凭经验而应是某种推导的结果,而这种推导最自然地是利用出入相补原理。

因此,笔者相信春秋时期是有人用过出入相补原理的。这与前引《老子》和《管子》中管子的话也是协调的。

刘徽在注《九章》时有“解体用图”的说法,钱宝琮先生称为图验法,就是用图形分割为工具来讨论面积;对于立体的情况,刘徽注中有“验之以棋”的说法,钱宝琮先生称之为棋验法,是以一些立体模型为工具进行出入相补,以讨论体积问题的方法。

图验法是很自然的方法,针对某些简单的图形如三角形、梯形等的图验法,大概在战国以前就用到了。由于做棋(模型)不是很随意的,刘徽所用的棋也只是一些特殊的模型(虽然人们可以做各种各样的棋,但根据任意的问题做相应的棋,不是一件容易的事),针对某些特殊的形体问题,棋验法在实际操作时可能要忽略一部分体积,因此棋验法原来可能也是一种比较原始的方法。

大概在战国以前,棋验法也已用于处理一些简单的体积问题,如截面为三角形、等腰梯形的棱柱体体积等。

为什么这样说呢?因为《左传》记载了春秋时期庄公二十九年(公元前665年)、宣公十一年(公元前598年)、昭公三十二年(公元前510年)的一些土木工程,需要事先作计划,这就免不了要计算这类立体的体积。

所以我推测图验法和棋验法在春秋时代已经应用了,也就是说这时已经认识和应用出入相补原理。当然,那时不一定能用以处理很复杂的问题。但少数学者精于此道,也是可能的。

《周髀算经》载商高答周公问时说“故折矩以为句广三,股脩四,径隅五。既方其外,半之一矩。环而共盘,得成三、四、五。两矩共长二十有五,是谓积矩”[28]。关于这一段话,海峡两岸都有学者以为是对普遍的勾股定理的证明,并有各自有异的复原方案。

这些复原方案实际都要用到出入相补原理。商高很可能是商周之际实有其人的数学家,以为商高已经证明勾股定理的观点还需要更多的证据才能成立,但这几句涉及图形的位置移动,所以商高可能真有用出入相补考虑问题的尝试。

春秋后期,《周髀算经》中所载的陈子已经知道普遍的勾股定理,如果他用出入相补原理尝试予以推导,也是可以想象的;也有可能中国人之所以获知勾股定理就源于用出入相补原理进行的推导。

特别值得注意的是,在求太阳到髀(即表杆,观测者所在位置)的距离时,陈子以太阳到地面的垂直线为股(“日高”),以相应的垂足到髀之距离为勾,然后求太阳到髀的距离(“邪至日”,即弦):“勾、股各自乘,并而开方除之,得邪至日”[29]。

这里用到的勾股定理是:c= 。这一表述形式有两点很重要:一是说明陈子不是通过凑数由勾和股得出弦的,陈子确实知道普遍的勾股定理;二是陈子知道开平方法。用开平方法进行开方计算,在今天也不是件很容易的事,开平方术的获得在古代更是很不容易,光凭经验极难得出。

古代得到开平方术的最自然的途径是把被开方数作为一个正方形的面积,然后求它的边长,即刘徽所说的“求方幂之一面也”。《九章算术》的开方问题把被开方数称为“积”,当有很古的渊源。因此开平方术的获得,当如刘徽注那样,是利用关于面积的出入相补原理得出的(当然,最初获得时的具体方法与刘徽注肯定有出入)。

总之,出入相补原理这一简易、自然而高效的原理,至迟在战国时代确已经被广泛的认识和应用,现传本《九章算术》、《周髀算经》和出土《算数书》等文献中的很多有关几何问题的算法,当是利用出入相补原理获得的。出入相补原理的最早应用,应不晚于春秋时代。