《五曹算經(jīng)》是算經(jīng)十書(shū)之一,古代中國(guó)數(shù)學(xué)著作。一般認(rèn)為由北周甄鸞所作,李淳風(fēng)等為之作注。甄鸞通歷法,曾編《天和歷》,于566年頒行。“五曹”是指五類(lèi)官員。其中"田曹"所收的問(wèn)題是各種田畝面積的計(jì)算,“兵曹”是關(guān)于軍隊(duì)配置、給養(yǎng)運(yùn)輸?shù)鹊能娛聰?shù)學(xué)問(wèn)題,“集曹”是貿(mào)易交換問(wèn)題,“倉(cāng)曹”是糧食稅收和倉(cāng)窖體積問(wèn)題,“金曹”是絲織物交易等問(wèn)題。全書(shū)共收67個(gè)問(wèn)題,其數(shù)學(xué)內(nèi)容沒(méi)有超出《九章算術(shù)》的內(nèi)容。其南宋刻本,收藏于北京大學(xué)圖書(shū)館。
《五曹算經(jīng)》,北周甄鸞所著。
唐代史料中多有“《五曹》、《孫子》等十部算經(jīng)”一類(lèi)說(shuō)法,表明此書(shū)是“算經(jīng)十書(shū)”中較受唐代官方重視的一部算書(shū)。作為唐宋官方數(shù)學(xué)教育的教材,《五曹算經(jīng)》代有刊刻傳抄,受到歷朝很多數(shù)學(xué)家的重視,其歷史影響不可低估。另一方面,與十部算經(jīng)中其他算書(shū)相比,《五曹算經(jīng)》的編排和卷名更顯著地表明它服務(wù)于相應(yīng)的社會(huì)經(jīng)濟(jì)制度。因此,對(duì)《五曹算經(jīng)》的研究有助于我們了解中國(guó)數(shù)學(xué)史及相關(guān)社會(huì)背景問(wèn)題。然而,由于此書(shū)所載算題“解題方法都很淺近,數(shù)字計(jì)算不須要分?jǐn)?shù)的概念”,而被視為“稍為有些落后的”,從數(shù)學(xué)史“內(nèi)史”角度來(lái)看,學(xué)者們?nèi)菀渍J(rèn)為其研究?jī)r(jià)值不高。此外,該書(shū)分為“田曹”、“兵曹”、“集曹”、“倉(cāng)曹”、“金曹”五卷,每卷標(biāo)題后又都有李淳風(fēng)所作題解,似乎很容易就能把各卷算題同當(dāng)時(shí)行政事務(wù)對(duì)應(yīng)起來(lái)。所以,以往的數(shù)學(xué)史論著往往僅注意它在算法上粗略的一面。對(duì)于算題的社會(huì)背景,論說(shuō)也很簡(jiǎn)略粗疏,還出現(xiàn)了一些誤解。
甄鸞,字叔遵(535-566),無(wú)極(今河北省無(wú)極縣)人,北周數(shù)學(xué)家,官司隸校尉、漢中太守。信佛教,擅長(zhǎng)于精算,制天和歷法,于天和元年(566年)起被采用頒行。曾注釋不少古算書(shū),著有《五經(jīng)算術(shù)》等。另有周天和年歷一卷,《七曜算術(shù)》二卷。
所謂《算經(jīng)十書(shū)》,除《綴術(shù)》及后邊的《緝古算經(jīng)》外,都有他撰注的記載。他所撰的《五曹算經(jīng)》、《五經(jīng)算術(shù)》和《數(shù)術(shù)記遺》,今有傳本?!段宀芩憬?jīng)》是一部為地方官員撰寫(xiě)的應(yīng)用數(shù)學(xué)書(shū),內(nèi)容淺近。《五經(jīng)算術(shù)》對(duì)于《尚書(shū)》、《詩(shī)經(jīng)》、《周易》、《周官》、《禮記》、《論語(yǔ)》等經(jīng)籍中涉及數(shù)學(xué)、天文歷法的內(nèi)容,作了注釋,在數(shù)學(xué)上并沒(méi)有創(chuàng)新?!稊?shù)術(shù)記遺》題“漢徐岳撰,甄鸞注”。近人認(rèn)為此書(shū)是甄鸞自撰自注而偽托徐岳的作品,也有的學(xué)者認(rèn)為確為徐岳撰、甄鶯注。書(shū)中記載三種進(jìn)位制度和14種記數(shù)法,其中“積算”即籌算,而“珠算”雖不是元、明之后的珠算盤(pán),但開(kāi)后者之先河,似無(wú)可疑?!坝?jì)數(shù)”則介紹了一種別于古代傳統(tǒng)的測(cè)望方法。其余算法則大都脫離實(shí)際。他對(duì)《周髀算經(jīng)》的注釋,水平不高,而關(guān)于其他算經(jīng)的注釋,都已失傳。
北魏初年推行“計(jì)口授田”制,實(shí)際上是一種民屯,其實(shí)施辦法可見(jiàn)于太平真君五年(444年)下令“有牛家與無(wú)牛家一人種田二十二畝,償以私鋤功七畝,如是為差;至與小、老無(wú)牛家種田七畝,小、老者償以鋤功二畝。皆以五口以下貧家為率。各列家別口數(shù),所勸種頃畝,明立簿目”,太和元年(477年)又規(guī)定“一夫制治田四十畝,中男二十畝?!边@種“授田”制度可以追溯到戰(zhàn)國(guó)時(shí)期的魏、秦等國(guó)。《九章算術(shù)》記載了多種形狀田地的面積計(jì)算方法,與春秋戰(zhàn)國(guó)時(shí)代統(tǒng)計(jì)土地?cái)?shù)量、收取地租、大量開(kāi)墾土地、土地買(mǎi)賣(mài)等活動(dòng)需要測(cè)量多種形狀的土地面積有密切的關(guān)系,也與當(dāng)時(shí)的授田制有一定的關(guān)系。由于當(dāng)時(shí)數(shù)學(xué)有理論化的傾向,這就引導(dǎo)人們追求方法的普遍性并使獲得普遍性和精確性高的算法成為可能,而在當(dāng)時(shí)適應(yīng)變法求強(qiáng)的各種要求嚴(yán)格的法律和規(guī)章制度,也使尋求精確度高的算法成為必要因此《九章算術(shù)》有多種表述上具有普遍性、精度較高的田地面積計(jì)算,是不奇怪的。晉代也頒布了諸如“男子一人占田七十畝,女子三十畝”之類(lèi)占田、課田等土地制度。但東漢至六朝時(shí)期,國(guó)家無(wú)力遏制豪族兼并土地,行政工作中計(jì)算土地面積的需求就降低了,這一時(shí)期對(duì)土地的丈量更多體現(xiàn)在買(mǎi)賣(mài)田地的契約中,但在晉代以前,地契中對(duì)土地各項(xiàng)信息的記錄并不規(guī)范,各項(xiàng)信息往往記載非常模糊。故從實(shí)用角度而言,成書(shū)于晉代的《孫子算經(jīng)》并無(wú)詳細(xì)記載田地面積的計(jì)算方法的迫切需要。同樣理由也適用于反映5世紀(jì)前期中原地區(qū)社會(huì)經(jīng)濟(jì)狀況的《張丘建算經(jīng)》,因?yàn)楸蔽呵捌谑谔镏苹局煌菩杏谶吘臣笆锥计匠歉浇?。但從北魏開(kāi)始,國(guó)家控制土地的力量又增強(qiáng)了,由此就能更有力地推行朝廷頒布的土地條令。在這一背景下,有的算書(shū)中計(jì)算田地面積的題目應(yīng)當(dāng)會(huì)重新增多。不過(guò)“授田”制更多的是對(duì)前朝制度的繼承,將田地面積計(jì)算方法恢復(fù)到《九章算術(shù)》的數(shù)量或許就夠了,為什么《五曹算經(jīng)》中會(huì)增加這么多描述土地形狀的術(shù)語(yǔ)和相應(yīng)的算法呢?
這種情形應(yīng)該與均田制有密切關(guān)系。均田制初行于北魏,后代累有采用,到唐中后期廢止。均田制以長(zhǎng)期戰(zhàn)亂造成的大量無(wú)主田、荒地為前提,雖少有觸犯大官僚和士家大族的利益,但為廣大下層農(nóng)民獲得合法土地提供了一定的保證,而且涉及的地域甚廣。北魏均田制的標(biāo)志性事件是太和九年(485年)頒布均田令,規(guī)定了農(nóng)民在各種情況下受露田、桑田的數(shù)量,其中數(shù)字最大的是“諸男夫十五以上,受露田四十畝,婦人二十畝,奴婢依良。丁牛一頭受田三十畝,限四牛。所授之田率倍之,三易之田再倍之,以供耕休及還受之盈縮”,男夫受“桑田”二十畝。而在人多地少的“狹鄉(xiāng)”,如農(nóng)民不愿遷移,所受田地?cái)?shù)量就會(huì)少些。由于是政府主持,地方籍帳中出現(xiàn)大量授田及還田的記錄,都對(duì)各塊土地的標(biāo)的、“四至”及面積有詳細(xì)描述。算書(shū)中對(duì)田地面積計(jì)算法求多求全,與這種由國(guó)家對(duì)土地管理的增強(qiáng)帶來(lái)的規(guī)范化不無(wú)關(guān)系。另一方面,在均田制下,農(nóng)民死后或年逾七十原則上要將所受露田歸還給政府,實(shí)際操作中往往采取更靈活的方法,如后代可以繼承前代所受桑田作為露田(“倍田”),從而使部分田地的還受在家庭內(nèi)部解決等等。但無(wú)論還田采取何種形式,對(duì)于重新受田,官府依然要在戶籍中進(jìn)行記錄。而既然對(duì)田地的各項(xiàng)信息都要詳細(xì)記載,那么也應(yīng)對(duì)田地面積進(jìn)行丈量。這與此前少有涉及還田的土地制度相比,丈量田地面積不但在工作量上大大增加,而且成為地方行政部門(mén)的一項(xiàng)日常工作。
均田制對(duì)于土地面積的計(jì)算帶來(lái)的具體影響,可概括為兩方面。一方面,對(duì)土地面積的計(jì)算更頻繁了,最初可能只需把大塊土地劃分成小塊授予農(nóng)民,太和九年令規(guī)定民戶所受田地“不得隔越他畔”,即每戶所受田地應(yīng)連成一片,但由于這些田地帶有桑田、露田等不同性質(zhì),往往又被細(xì)分為若干段。經(jīng)過(guò)農(nóng)民還田官府再授田,或經(jīng)過(guò)多次后代分割繼承前代所分桑田等過(guò)程,這些小塊土地可能會(huì)變得越來(lái)越細(xì)碎,而每塊土地的面積都要被丈量出來(lái),因此不僅開(kāi)始時(shí)計(jì)算量大,而且頻繁的計(jì)算會(huì)長(zhǎng)期出現(xiàn)。另一方面,由于土地被劃分為細(xì)碎的小塊,由于地貌等原因,就容易出現(xiàn)各種形狀不規(guī)則的田地。
為應(yīng)付均田制帶來(lái)的劃分、丈量田地面積的繁重計(jì)算量,需要編輯相應(yīng)的算書(shū),提供形狀足夠多的田地的計(jì)算法,以便地方官吏碰到某種形狀的田地,就能馬上依術(shù)計(jì)算。《五曹算經(jīng)》“田曹”卷當(dāng)以為適應(yīng)這種需要而編輯的算書(shū)為原型。田曹共有19個(gè)問(wèn)題涉及19塊田,其中面積超過(guò)1頃(100畝)的只有3塊(最大的2頃60畝奇100步)。其他的田地中,超過(guò)北魏實(shí)行均田法時(shí)一個(gè)適齡男性勞動(dòng)力所受桑田20畝的只有兩塊,大于10畝小于20畝的田5塊,大于1畝小于10畝的田地6塊,低于1畝的田地3塊,其中最小的為63步??紤]到北魏時(shí)還有一些大戶、官員受田都以頃計(jì),《五曹算經(jīng)》中出現(xiàn)3塊超過(guò)一頃的田地是可以理解的。余下的16塊田地,最大的也只有63畝奇80步,只比一對(duì)壯年夫婦所受露田之和60畝稍多一點(diǎn),還不及一對(duì)有牛夫婦所應(yīng)受的露田數(shù);次大的只有23畝奇150步,也只略多于一壯年婦女所應(yīng)受露田額20畝、而遠(yuǎn)小于一個(gè)壯年男子所應(yīng)受的露田額40畝。其他的14塊田都小于20畝。如果根據(jù)距離《五曹算經(jīng)》編成年代更近的西魏大統(tǒng)十三年瓜州籍帳,則可看出民戶所受每段田地面積都小于20畝,大多數(shù)都在10畝以下,而“田曹”卷的19塊田中20畝以下面積的田地就有14塊,從題目涉及數(shù)量上看,這些算題和相應(yīng)的方法適合于官吏進(jìn)行學(xué)習(xí)并付諸應(yīng)用。同時(shí)“田曹”卷收集了形狀種類(lèi)盡可能多的田地計(jì)算法,可以滿足北魏授田與均田法需要關(guān)于各種形狀田地的面積算法之要求。范圍廣泛、頻繁進(jìn)行的計(jì)算工作,也使得所需要的大量官吏無(wú)暇在精細(xì)算法上下功夫,而均田制在北朝還屬初創(chuàng)階段,由于戰(zhàn)亂又時(shí)廢時(shí)興,在工作中難免帶有一些粗放和原始的特點(diǎn),因此《五曹算經(jīng)》中有些算法不太精確,是可以理解的。
下面,我們將對(duì)這些精確度不高的算法進(jìn)行具體討論。
1.由半對(duì)角線求正方形田的面積。“田曹”卷第11題,由正方形田的中心到一個(gè)頂點(diǎn)的距離(對(duì)角線之半)求其面積,其方法為先求對(duì)角線,再求正方形的邊長(zhǎng),然后自乘。這個(gè)問(wèn)題與《孫子算經(jīng)》卷上第14題的題設(shè)、數(shù)字和解法都相同,只是文字稍異。在《九章算術(shù)》的“少?gòu)V”章,專門(mén)介紹了開(kāi)方術(shù),可由面積求出正方形的邊長(zhǎng)?!秾O子算經(jīng)》卷上第19題和《張丘建算經(jīng)》卷中的倒數(shù)第4題也是由方田(正方形)面積用開(kāi)方法求其邊長(zhǎng)。這種利用開(kāi)方的方法原則上可以求出精確值。但《五曹算經(jīng)》和《孫子》在求邊長(zhǎng)時(shí),沒(méi)有用到開(kāi)方術(shù),而是根據(jù)邊長(zhǎng)與對(duì)角線之比為5:7的近似比率,用比例方法求出邊長(zhǎng)。對(duì)于這類(lèi)問(wèn)題,古代可能想到的精確算法有兩種。一種是利用勾股定理,由對(duì)角線用開(kāi)方法求出邊長(zhǎng),再由邊長(zhǎng)自乘,得到面積。另一種是利用出入相補(bǔ)原理,可以得知對(duì)角線上的正方形面積(對(duì)角線的平方)等于兩個(gè)邊長(zhǎng)上的正方形的面積(邊長(zhǎng)的平方)之和,因此可以由對(duì)角線自乘,再除以2得到這塊田的面積?!段宀堋泛汀秾O子》所用算法求出的面積(一頃八十三畝奇一百八十步)比實(shí)際面積(一頃八十畝奇十八步)大三畝奇一百六十二步。不使用早幾百年就已出現(xiàn),且時(shí)代稍早的算書(shū)、甚至同一部算書(shū)中仍在使用的精確算法,這種做法說(shuō)明《五曹》和《孫子》記載的是一種更原始的算法,而其編者并沒(méi)有根據(jù)早已改進(jìn)的算法來(lái)糾正它。我們上面所述的第二種精確算法,需要較多的抽象化和理論化方面的考慮,不容易想到。第一種精確算法需要用到開(kāi)方,無(wú)疑比較復(fù)雜、難以掌握,遠(yuǎn)不如書(shū)中所載近似算法那么直截了當(dāng),易為一般基層官吏所掌握。
2.四不等田。土地方位通常用“四至”來(lái)描述,如果土地面積較大,對(duì)丈量精確度又要求不高,一些形狀與矩形相去不太遠(yuǎn)的田地,就能將其近似地作為矩形來(lái)處理,這樣方田的計(jì)算方法通常就能夠滿足需求。但現(xiàn)實(shí)中肯定還存在大量與矩形相差很遠(yuǎn)的田地,從早期出土文獻(xiàn)中能夠發(fā)現(xiàn)關(guān)于不規(guī)則四邊形的記錄。例如漢代買(mǎi)地券中有“南廣九十四步,西長(zhǎng)六十八步,北廣六十五,東長(zhǎng)七十九步,為田二十三畝奇百六十四步”,買(mǎi)地券中出現(xiàn)的土地未必真實(shí)存在,但從計(jì)算結(jié)果來(lái)看漢代恐怕還沒(méi)有推行后代計(jì)算四不等田面積的通用公式,因?yàn)橛冒ā段宀芩憬?jīng)》在內(nèi)的后世幾部算書(shū)中統(tǒng)一的算法去計(jì)算前述土地面積,并不能算出相同得數(shù);不過(guò),既然東漢已經(jīng)有了對(duì)這種四不等田及其面積的描述,那么《五曹》、《敦煌算書(shū)》“均田法”和《夏侯陽(yáng)》都統(tǒng)一采用的算法(兩組對(duì)邊平均值的乘積),很可能在早于這些算書(shū)的時(shí)代就已經(jīng)出現(xiàn),只是未見(jiàn)于現(xiàn)存的幾部更早的算書(shū)而已。
3.在曲邊形田地的面積計(jì)算上,《五曹算經(jīng)》較前代算書(shū),幾乎沒(méi)有任何進(jìn)展。即使這類(lèi)土地本來(lái)難以有所變化,也應(yīng)把一大原因歸結(jié)為在土地丈量的實(shí)際操作中,碰到曲邊形土地的機(jī)會(huì)要遠(yuǎn)小于四邊形土地,而精確計(jì)算此類(lèi)圖形面積的方法對(duì)于有些地方行政工作者來(lái)說(shuō),不僅有些高深,而且比較麻煩費(fèi)事。故《五曹算經(jīng)》將弧田、覆月田中的曲邊,都按直邊對(duì)待,而將這兩種圖形,都近似化為三角形來(lái)計(jì)算面積。這種做法無(wú)疑降低了計(jì)算的準(zhǔn)確性,卻簡(jiǎn)化了運(yùn)算步驟,方便文化程度不高的下級(jí)官吏掌握。
4.對(duì)于六邊梯形,《五曹算經(jīng)》有3種,在上列算書(shū)中是包含類(lèi)別最多的,而這在早于它的算書(shū)中一種都沒(méi)有,晚于它的《敦煌算書(shū)》和《夏侯陽(yáng)算經(jīng)》只分別有2種和1種。在現(xiàn)實(shí)中,這種長(zhǎng)條形狀的田是很多的。它們本可以通過(guò)分為兩個(gè)梯形分別計(jì)算其面積、然后求和來(lái)解決,但《五曹算經(jīng)》卻采用了另一條思路:先算出三廣的平均值,再乘以從。這種算法說(shuō)明造術(shù)者的思路是把這種圖形化為矩形來(lái)計(jì)算,這與三角形田和梯形田的求積法有相似性:對(duì)特殊的廣進(jìn)行平均(對(duì)梯形是把兩廣求其平均,對(duì)三角形則視為一廣為零的梯形來(lái)處理,對(duì)六邊梯形則是三廣平均),可以代替各廣,他(們)還沒(méi)有認(rèn)識(shí)到這種代替只適用于一些特殊形狀的圖形?!段宀堋逢P(guān)于這些圖形的求積法的思想基礎(chǔ),是面積由一系列線段積累而成的觀念。這種觀念是很自然的思想,在先秦文獻(xiàn)中已經(jīng)存在,在《九章》及其劉徽注也用到了。當(dāng)考慮不嚴(yán)密時(shí),古人很容易想到用幾條特殊的廣的平均值作為諸廣的代表。因此,盡管《五曹》中六邊梯形的求積法不見(jiàn)于現(xiàn)存早于它的其他算書(shū),但它們未必都由《五曹》那些問(wèn)題的作者首先提出。《五曹》提出或采用這些精度不高的六邊梯形的面積算法,說(shuō)明它適應(yīng)現(xiàn)實(shí)急務(wù)的需要:畢竟這種算法比分為兩個(gè)梯形來(lái)計(jì)算,要簡(jiǎn)便得多,也便于大量基層官吏學(xué)習(xí)和掌握。
總之,《五曹算經(jīng)》中出現(xiàn)的形狀種類(lèi)繁多的田地面積計(jì)算法,是北朝田地制度下行政部門(mén)需要頻繁劃分、丈量土地的形勢(shì)對(duì)相應(yīng)的計(jì)算工具的必然要求,而其中采用一些精度不高的算法,則不僅與均田制剛剛創(chuàng)立、還不夠完善有關(guān),而且也由于這些算法比更精確的算法簡(jiǎn)單便捷、更易于基層官吏掌握,同時(shí)又可以滿足大范圍的頻繁測(cè)量與計(jì)算有關(guān)。唐代田曹的職能“掌園宅、口分、永業(yè)及蔭田”,需要測(cè)算各種田地面積,正與《五曹算經(jīng)》“田曹”中的問(wèn)題所討論的對(duì)象非常吻合,由于北周與唐代制度有密切聯(lián)系,而均田制從北魏到唐中期都有施行,在服務(wù)于行政管理的算書(shū)中,將計(jì)算田地面積的題目列于“田曹”名目之下,是非常恰當(dāng)?shù)摹?/p>