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