簡介
1983年底、1984年之初在湖北省江陵縣張家山274號漢墓中,出土了一批西漢初年,即呂后至文帝初年的竹簡,共千餘支。經初步整理,其中有律令、《脈書》、《引書》、歷譜、日書等多種古代珍貴的文獻,還有一部數學著作,據寫在一支竹簡背面的字跡辨認,這部竹簡算書的書名叫《算術書》。
考古學家推定該墓下葬於公元前186年或稍晚,《算術書》的編寫年代自然要更早一些。《算術書》是目前已知最早的中國數學著作,其內容豐富,李學勤先生稱為之為“中國數學史上的重大發現”
全書約有200多支竹簡,其中完整的有185支,10餘根已殘破。經研究,它和《九章算術》有許多相同之處,體例也是“問題集”形式,大多數題都由問、答、術三部分組成,而且有些概念、術語也與《九章算術》的一樣。據考證,它比《九章算術》要早一個半世紀以上,書中有些內容和《九章算術》非常相似,一些內容的文句也基本相同。有人推測兩書具有某些繼承關係,但也有不同的看法認為《九章算術》沒有直接受到《算術書》影響。全書總共約七千多字,有60多個小標題,如“方田”、“少廣”、“金價”、“合分”、“約分”、“經分”、“分乘”、“相乘”、“增減分”、“賈鹽”、“息錢”、“程未”等等,但未分章或卷。
《算術書》是中國現已發現的最古的一部算書,大約比現有傳本的《九章算術》還要早近二百年,而且《九章算術》是傳世抄本或刊書,《算術書》則是出土的竹筒算書,屬於更可珍貴的第一手資料。所以,《算術書》引起了國內外學者的廣泛關注,目前正在被深入研究之中。
《算術書》的性質
《算術書》的時代,彭浩先生認為其大部分算題形成至遲不會晚過秦代,有的是戰國時代。這一看法應
該是正確的。《算術書》中有兩個題末尾處分別寫有文字“王已讎”、“楊已讎”,應分別是姓王的人、姓楊的人已校對的意思。另有多處寫“王”或“楊”字,此二字與上下文難以協調,甚至必須去掉才能讀通,也應表示“王已讎”或“楊已讎”的意思。這種情況說明《算術書》應是從別處抄的,不會是墓主去世前的作品,因為如果是他自己所著,只要他看一看就行了,不必請人校對。《算術書》的這個版本也不會是墓主本人從幾本不同的書編抄到一起的原本(雖然是撮編之書),否則一人校到一個問題中間就停下來而不把該問題校完的可能性就不會太大。此外,此書“合分”條中“五人分七錢少半、半錢,……,亦六錢以為實”一段是“經分”類問題,而書中有“徑(經)分”一條,此段本不應放在“合分”條中,這種明顯的差錯不大可能是整理者的過錯,這也許正好說明《算術書》的這個版本,不是它的原始版本,而是從別的《算術書》版本抄來的。因此,雖然此本《算術書》的抄寫年代之下限可能晚到公元前186年下葬前夕,但此書的編成年代應早過若干年,可能在秦代或略早。據考古學者整理的釋文,《算術書》有如下68個標題:
1相乘,2分乘,3乘,4矰(增)減分,5分當半者,6分半者,7約分,8合分,9徑分,10齣金,11共買材,12狐出關,13狐皮,14女織,15並租,16負米,17金賈(價),18舂粟,19銅秏(耗),20傳馬,21婦織,22羽矢,23桼(漆)錢,24繒幅,25息錢,26?(飲)桼(漆),27稅田,28程竹,29醫,30石?(率),31賈鹽,32挐脂,33取程,34秏(耗)租,35程禾,36取枲程,37誤券,38租吳(誤)券,39粺毀(毇),40秏,41粟為米,42粟求米,43米求粟,44米粟並,45粟米並,46負炭,47盧唐,48羽矢,49絲練,50行,51分錢,52米出錢,53方田,54除,55鄆都,56芻,57鏇粟,58囷蓋,59睘(圜)亭,60井材,61以睘(圜)材方,62以方材睘(圜),63睘(圜)材,64啟廣,65啟從(縱),66少廣,67大廣,68里田。
以上68條的標題,釋文都以黑體標記。另在第41“粟為米”條下並列有“粟求米”一條(暫記為41a),此標題未用黑體字標記,不知是否排印或原簡有誤,算上此標題共69個。
這69個標題統領著《算術書》的各部分內容,其中的題目可以歸入今傳漢代編成本《九章算術》中方田、粟米、衰分、少廣、商功、均輸、盈不足等章的題目類型,涉及今天的整數和分數四則運算、各種比例、面積、體積、負數、雙設法的內容。其廣度和深度雖稍遜《九章算術》,但已包括著十分豐富的知識。
《算術書》與《九章算術》
《算術書》與《九章》的關係,是一個容易引起大家關注的問題。由於《算術書》至少要比《九章》早一個半世紀,所以,人們很容易想當然認為它是《九章》的一個來源。如彭浩就說《算術書》“對另一部數學巨著《九章算術》的產生有著直接的影響”。但實際情況不是這么簡單。
《九章》粟米章的開頭的“粟米之法”,列出一張各種糧食換算比例的清單:
粟米之法:
粟率五十 糲米三十
粺 米二十七 糳米二十四
御米二十一 小?十三半
大?五十四 糲飯七十五
粺飯五十四 糳飯四十八
御飯四十二 菽、荅、麻、麥各四十五
稻六十 豉六十三
飱九十 熟菽一百三半
糵一百七十五 ,
《算術書》第35“程禾”條也有關於各種糧食的換算規定:
“程曰:禾黍一石為粟十六斗泰(大)半斗,舂之為糲米一石,糲米一石為糳米九斗,糳米[九]斗為毀(毇)米八斗。 王程曰:稻禾一石為粟廿斗,舂之為米十斗,為毀(毇)粲米六斗泰(大)半斗。麥十斗?三斗。程曰:麥、菽、荅、麻十五斗一石,稟毀(毇)?(糳)者,以十斗為一石”
“程”字是標準、規定意思。這段文字讓人聯想到雲夢睡虎地秦墓(墓主死於公元前217年)出土的《秦律十八種·倉律》(可能成於秦始皇元年即公元前246年以前):
“[粟一]石六斗大半 斗,舂之為糲米一石;糲米一石為糳米九斗;九斗為毇米八斗。稻禾一石,為粟廿斗,舂為米十斗;十斗粲,毇米六斗大半斗。麥十斗,為?三斗。菽、荅、麻十五斗為一石。稟毇粺者,以十斗為石”。
彭浩先生認為兩段文字幾乎是完全相同的,《算術書》引用了秦代法律。據《九章》“粟米之法”,粟、糲米、粺米、糳米之比50:30:27:24,按秦律則粟、糲米、糳米、毇米之比為16 :10:9:8即50:30:27:24。《九章》以糳米之率為8,而秦律規定則為9,《九章》把比率弄錯了。不過,《九章》是一部首尾一貫,精心編纂的書,除圓周率用3,宛田面積公式、球體積公式、用雙設法處理非線性問題等極少量不準確或差誤外,很少有錯誤;全書用到糳米的問題都按這個錯誤比例進行計算,可見《九章》編者張蒼、耿壽昌等的認真與嚴謹。他們如果注意過《算術書》 ,以他們的學識就自然會根據此書所引秦律修改錯誤數據或用正確的數據設定問題。因此,惟一合理的解釋是張蒼、耿壽昌等在編輯《九章》時沒有讀過《算術書》,而未加深察地將錯就錯採用了以前已經弄錯的數據。
《算術書》和《九章》有少量相同的內容,這容易讓人覺得《算術書》是今本《九章》的一個來源。但是兩者有相同部分的原因可以是多種多樣的:一是《算術書》在前,《九章》採用了《算術書》的材料;二是《九章》在前,《算術書》採用了《九章》的材料;三是兩者的一部分有共同的來源。今本《九章》成書於漢代是公認的,第二種可能性是不存在的;第一種已如前述難以成立。因此,只能是二者有共同的來源,兩個本子沒有直接的襲用關係。其實,對照二者的相同部分,不難發現這種相同只是相對的,其相異處也不少。
《算術書》和《九章》在方法和文本方面有相同處(不是很嚴格的“相同”)的內容,放寬點還有一些。如《算術書》第16“負米”條和《九章·均輸》第27問,都是帶米過三關抽稅問題,但前者三關的稅都是1/3,後者則外、中、內關的稅率分別為1/3、1/5、1/7,要麻煩一點。總的說來,上面關於兩種文獻中有相同處的內容之異同的對照和討論,也同樣不支持《九章》直接受到《算術書》影響的假設。相反,《算術書》中所用的方法明顯不是原始的產生形態,它們不是在根據一些例子總結或歸納出普適性的方法;其中一些簡省的表述說明《算術書》是在羅列一些已有的方法、算題或利用已有的方法解決套用問題;換句話說,《算術書》中這些部分的方法是早已有之的,它們中間的一部分在《九章》中的形態更顯原生態的性質。
確立算法式數學發展的意義
中國古代數學在春秋戰國時代有算法式數學和理論化數學兩種傾向,漢代以後,前者成為中國數學的主流。以前,由於漢代編成的《九章算術》是這種主流數學的最早著作,人們習慣於說到漢代時中國數學有了什麼成就和思想,而對先秦迄漢代數學發展的演變往往語焉不詳。錢寶琮先生以秦統一中國為界給中國數學史分期,一方面說“雖然沒有一本先秦的數學書流傳到後世,但不容懷疑的是:《九章算術》方田、粟米、衰分、少廣、商功等章的內容,絕大部分是產生於秦以前的”,一方面又把秦統一以前作為中國數學的萌芽階段,這就有些不協調。郭書春先生據《九章算術》的結構把其中術文統率套用問題的部分大體上歸為先秦,余者視為漢人所補,這是一個可操作的區分秦及秦以前與漢代數學的方案。由於論據還欠豐滿,郭先生曾把戰國至西漢作為中國古代數學框架的形成階段,沒有刻意對秦統一前後的情況做區分。近年來專家在前賢的基礎上比較系統地利用傳世文獻和出土材料,從其中用到的數學知識特別是從社會背景、需要和要求方面論證了《九章算術》各章的絕大部分數學方法在先秦已經出現,中國數學在春秋戰國時出現第一個高潮,漢代是對先秦數學進行篩選和整合的時代這一觀點。
《算術書》釋文的發表,正好可以打破這層隔膜。它的年代處在先秦與秦漢的轉折點上,為切實建立實用的算法式數學在戰國至秦漢之演變歷史提供了基礎。如前所述,《算術書》是一本撮編之書,它是在利用已有的數學方法解決問題,所以《九章》中的這些方法出於先秦自然沒有問題。《算術書》基本上沒有用到《九章》的方程和勾股兩章的方法,《九章》的其他章也有些方法在《算術書》中沒有用到,如方田章的方田術、圭田術、邪田術、箕田術、圓田術、環田術、弧田術、宛田術,粟米章的其率術與反其率術,少廣章的開方術、開圓術和開立方術、開立圓術,商功章的方堢?術、方錐術、方亭術、壍堵術、陽馬術與鱉腝術,均輸章的均輸本術等。但從側面看,這些方法的絕大部分也應在先秦用到。如《算術書》第55-60條,用到芻甍、芻童、圓錐、圓台、圓柱的體積公式,第64-68條用長方形面積公式及其逆運算,據此推斷當時已有《九章》的方田術、圭田術、邪田術、箕田術、圓田術、環田術、方堢?術、方錐術、方亭術、壍堵術、陽馬術就不成問題。又如《算術書》第29“醫”條說“程曰:醫治病者得六十筭(算)□□廿筭(算)□□程□弗……得六十而負幾何?曰:負十七筭(算)二百六十九分筭(算)十一。其術曰:以今得筭(算)為法,令六十乘負筭(算)為實。”由於文字殘損,其具體涵義還有待進一步研究,但其中用到正負數乘除法則不成問題。對照董仲舒《春秋繁露·考功名》:“考試之法,……九分三三列之,亦有上中下。以一為最,五為中,九為殿,有餘歸之於中,中而上者有得,中而下者有負,得少者,以一益之,至於四,負多者,以四減之,至於一,皆逆行。三四十二,而成於計,得滿計者絀陟之。次次每計,各逐其弟,以通來數。初次再計,次次四計,各不失故弟,而亦滿計絀陟之”看,得“若干算”和“負若干算”應是一種考課記分。在《九章》中負數隻見於方程章,可能是在方程消元時兩行相減不足減時引進的,那么我們說《算數書》的“醫”條把先秦數學中已有的負數概念用於對醫生治病效果的考核,是合乎情理的,方程章的部分內容在先秦也可能是存在的。《算數書》沒有均輸本術問題,大概由於它是秦人編集的作品,而秦律禁止委輸的緣故。胡平生先生據阜陽雙古堆殘簡《算術書》(抄成下限為公元前165年)有《九章》均輸章第一題的殘簡,說明均輸問題是古已有之的;這與筆者從傳世文獻說明先秦要用到均輸本術的數學方法相一致。
儘管《九章》中有一些數學方法不能從《算術書》直接證明其在先秦已經存在,但《算術書》已經證明:從社會背景和需要來論證先秦時代可能存在相應的數學方法,是可信的。考慮到《算術書》只是一部不完備的撮編之書,它較為直接地服務於下層官吏進行管理的需要,同時作為秦人編的作品,它也必定受到一些局限,所以此書缺乏一些內容特別是一些較為深入的內容是不足為奇的。
綜之,《算術書》是秦統一前後一本適應下層官吏管理需要的不大成系統的撮編之書,它至少有兩個來源,它主要是把已有的數學方法、社會經濟標準用到實際中的產物,也收錄了少量與實際存在差距的問題。《算術書》與《九章算術》之間沒有直接的文本影響關係,它們有共同的源泉。《九章》有一部分內容比《算術書》更顯原生態的性質,其絕大部分產生於先秦,甚至在先秦可能存在一種與《九章》規模差不多後來演變為《九章》主要來源的書,這本書或其衍生本為《算術書》的作者們所學習和引用。《算術書》與傳世文獻和其他出土材料結合,有助於確立先秦至秦漢算法式數學發展演變的歷史。