作品背景
《九章算術》是中國古代的數學專著,是“算經十書”(漢唐之間出現的十部古算書)中最重要的一種。魏晉時
劉徽為《九章算術》作注時說:“周公制禮而有九數,九數之流則《九章》是矣”,又說“漢北平侯
張蒼、大司農中丞
耿壽昌皆以善算命世。蒼等因舊文之遺殘,各稱刪補,故校其目則與古或異,而所論多近語也”。根據研究,西漢的
張蒼、
耿壽昌曾經做過增補。最後成書最遲在東漢前期,但是其基本內容在西漢後期已經基本定型。
《漢書藝文志》(
班固根據劉歆《七略》寫成者)中著錄的數學書僅有《許商算術》、《杜忠算術》兩種,並無《九章算術》,可見《九章算術》的出現要晚於《七略》。《後漢書馬援傳》載其侄孫
馬續“博覽群書,善《九章算術》”,馬續是公元1世紀最後二、三十年時人。再根據《九章算術》中可供判定年代的官名、地名等來推斷,現傳本《九章算術》的成書年代大約是在公元1世紀的下半葉。九章算術將書中的所有數學問題分為九大類,是陳凱靖編輯的
1984年,在湖北出土了《算數書》書簡。據考證,它比《九章算術》要早一個半世紀以上,書中有些內容和《九章算術》非常相似,一些內容的文句也基本相同。有人推測兩書具有某些繼承關係,但也有不同的看法認為《九章算術》沒有直接受到《
算數書》影響。
後世的數學家,大都是從《九章算術》開始學習和研究數學,許多人曾為它作過注釋。其中最著名的有
劉徽(263)、
李淳風(656)等人。劉、李等人的注釋和《九章算術》一起流傳至今。唐宋兩代,《九章算術》都由國家明令規定為教科書。到了北宋,《九章算術》還曾由政府進行過刊刻(1084),這是世界上最早的印刷本數學書。在現傳本《九章算術》中,最早的版本乃是上述北宋本的南宋翻刻本(1213),現藏於
上海圖書館(孤本,殘,只余前五卷)。清代
戴震由《永樂大典》中抄出《九章算術》全書,並作了校勘。此後的《四庫全書》本、
武英殿聚珍本、
孔繼涵刻的《算經十書》本(1773)等,大多數都是以戴校本為底本的。
作為一部世界
數學名著,《九章算術》早在隋唐時期即已傳入朝鮮、日本。它已被譯成日、俄、德、法等多種文字版本。
主要內容
《九章算術》的內容十分豐富,全書採用問題集的形式,收有246個與生產、生活實踐有聯繫的套用問題,其中每道題有問(題目)、答(答案)、術(解題的步驟,但沒有證明),有的是一題一術,有的是多題一術或一題多術。這些問題依照性質和解法分別隸屬於
方田、
粟米、衰(音cui)分、少廣、商功、均輸、盈不足、
方程及勾股。共九章如下所示。原作有插圖,今傳本已只剩下正文了。
《九章算術》共收有246個數學問題,分為九章。它們的主要內容分別是:
第二章“粟米”:穀物糧食的按比例折換;提出比例算法,稱為今有術;衰分章提出比例分配法則,稱為衰分術;
第三章“衰分”:比例分配問題。
第四章“少廣”:已知面積、體積,反求其一邊長和徑長等;介紹了
開平方、
開立方的方法。
第五章“商功”:土石工程、體積計算;除給出了各種立體
體積公式外,還有工程分配方法;
第六章“均輸”:合理攤派
賦稅;用衰分術解決賦役的合理負擔問題。今有術、衰分術及其套用方法,構成了包括今天正、
反比例、比例分配、複比例、連鎖比例在內的整套比例理論。西方直到15世紀末以後才形成類似的全套方法。
第七章“盈不足”:即雙設法問題;提出了盈不足、盈適足和不足適足、兩盈和兩不足三種類型的
盈虧問題,以及若干可以通過兩次假設化為盈不足問題的一般問題的解法。這也是處於世界領先地位的成果,傳到西方後,影響極大。
第八章“方程”:一次
方程組問題;採用分離係數的方法表示
線性方程組,相當於現在的
矩陣;解線性方程組時使用的直除法,與矩陣的初等變換一致。這是世界上最早的完整的線性方程組的解法。在西方,直到17世紀才由萊布尼茲提出完整的線性方程的解法法則。這一章還引進和使用了
負數,並提出了正負術——正負數的加減法則,與現今代數中法則完全相同;解線性方程組時實際還施行了正負數的乘除法。這是世界
數學史上一項重大的成就,第一次突破了
正數的範圍,擴展了
數系。外國則到7世紀印度的婆羅摩及多才認識負數。
第九章“勾股”:利用
勾股定理求解的各種問題。其中的絕大多數內容是與當時的社會生活密切相關的。提出了
勾股數問題的通解公式:若a、b、c分別是勾股形的勾、股、弦,則,m>n。在西方,
畢達哥拉斯、
歐幾里得等僅得到了這個公式的幾種特殊情況,直到3世紀的丟番圖才取得相近的結果,這已比《九章算術》晚約3個世紀了。勾股章還有些內容,在西方卻還是近代的事。例如勾股章最後一題給出的一組公式,在國外到19世紀末才由美國的
數論學家迪克森得出。
主要特點
《九章算術》確定了中國古代數學的框架,以計算為中心的特點,密切聯繫實際,以解決人們生產、
生活中的數學問題為目的的風格。其影響之深,以致以後中國數學著作大體採取兩種形式:或為之作注,或仿其體例著書;甚至西算傳入中國之後,人們著書立說時還常常把包括西算在內的數學知識納入九章的框架。 然而,《九章算術》亦有其不容忽視的缺點:沒有任何
數學概念的定義,也沒有給出任何推導和證明。
魏景元四年(263年),
劉徽給《九章算術》作注,才大大彌補了這個缺陷。
劉徽是中國數學家之一。他的生平知之甚少。據考證,他是山東
鄒平人。劉徽定義了若干數學概念,全面論證了《九章算術》的公式解法,提出了許多重要的思想、方法和
命題,他在數學理論方面成績斐然。
劉徽對數學概念的定義抽象而嚴謹。他揭示了概念的本質,基本符合現代邏輯學和數學對概念定義的要求。而且他使用概念時亦保持了其同一性。如他提出凡數相與者謂之率,把率定義為數量的相互關係。又如他把正負數定義為今兩算得失相反,要令正負以名之,擺脫了正為余,負為欠的原始觀念,從本質上揭示了正負數得失相反的相對關係。
《九章算術》的算法儘管抽象,但相互關係不明顯,顯得零亂。劉徽大大發展深化了中算中久已使用的率概念和齊同原理,把它們看作運算的綱紀。許多問題,只要找出其中的各種率關係,通過乘以散之,約以聚之,齊同以通之,都可以歸結為今有術求解。
一平面(或立體)圖形經過
平移或旋轉,其面積(或體積)不變。把一個平面(或
立體)圖形分解成若干部分,各部分面積(或體積)之和與原
圖形面積(或體積)相等。基於這兩條不言自明的前提的出入相補原理,是中國
古代數學進行幾何推演和證明時最常用的原理。劉徽發展了
出入相補原理,成功地證明了許多面積、體積以及可以化為面積、體積問題的勾股、開方的公式和算法的正確性。
數學成就
《九章算術》中的數學成就是多方面的:
(1)、在算術方面的主要成就有分數運算、比例問題和“盈不足”算法。《九章算術》是世界上最早系統敘述了分數運算的著作,在第二、三、六章中有許多比例問題,在世界上也是比較早的。“盈不足”的算法需要給出兩次假設,是一項創造,中世紀歐洲稱它為“
雙設法”,有人認為它是由中國經中世紀阿拉伯國家傳去的。
《九章算術》中有比較完整的分數計算方法,包括四則運算,通分、約分、化帶分數為假分數(我國古代稱為通分內子,“內”讀為納)等等。其步驟與方法大體與現代的雷同。
分數加減運算,《九章算術》已明確提出先通分,使兩分數的分母相同,然後進行加減。加法的步驟是“母互乘子,並以為實,母相乘為法,實如法而一”這裡“實”是分子。“法”是
分母,“實如法而一”也就是用法去除實,進行
除法運算,《九章算術》還注意到兩點:其一是運算結果如出現“不滿法者,以法命之”。就是分子小於分母時便以分數形式保留。其二是“其母同者,直相從之”,就是分母相同的分數進行加減,運算時不必
通分,使分子直接加減即可。
《九章算術》中還有求最大公約數和約分的方法。求
最大公約數的方法稱為“更相減損”法,其具體步驟是“可半者半之,不可半者,副置分母子之數,以少減多,更相減損,求其等也。以等數約之。”這裡所說的“等數”就是我們現在的最大公約數。可半者是指分子分母都是
偶數,可以折半的先把它們折半,即可先約去2。不都是偶數了,則另外擺(即副置)分子
分母算籌進行計算,從
大數中減去
小數,
輾轉相減,減到餘數和減數相等,即得等數。
在《九章算術》的第二、三、六等章內,廣泛地使用了各種比例解套用問題。粟米章的開始就列舉了各種糧食間互換的比率如下:“粟米之法:粟率五十,糲米三十,粺米二十七,糳米二十四,……”這是說:穀子五斗去皮可得糙米三斗,又可舂得九折米二斗七升,或八拆米二斗四升,……。例如,粟米章第一題:“今有粟米一斗,欲為糲米,問得幾何”。它的解法是:“以所有數乘所求率為實,以所有率為法,實如法而一”。
《九章算術》第七章“盈不足”專講盈虧問題及其解法其中第一題:“今有(人)共買物,(每)人出八(錢),盈(余)三錢;人出七(錢),不足四(錢),問人數、物價各幾何”,“答曰:七人,物價53(錢)。”“
盈不足術曰:置所出率,盈、不足各居其下。令維乘(即交錯相乘)所出率,並以為實,並盈,不足為法,實如法而一……置所出率,以少減多,余,以約法、實。實為物價,法為人數”。盈不足術是中國數學史上解套用問題的一種別開生面的創造,它在我國古代算法中占有相當重要的地位。盈不足術還經過
絲綢之路西傳中亞阿拉伯國家,受到特別重視,被稱為“契丹算法”,後來又傳入歐洲,中世紀時期“雙設法”曾長期統治了他們的數學王國。
(2)、《九章算術》總結了生產、生活實踐中大量的幾何知識,在方田、商功和勾股章中提出了很多面積、體積的計算公式和勾股定理的套用。
《九章算術》方田章主要論述平面圖形直線形和圓的面積計算方法。《九章算術》方田章第一題“今有
田廣十五步,從(音縱zong)十六步。問為田幾何。”“答曰:一畝”。這裡“廣”就是寬,“從”即縱,指其長度,“方田術曰:廣從步數相乘得積步,(得積步就是得到乘積的平方步數)以畝法二百四十步(實質應為積步)除之,即畝數。百畝為一頃。”當時稱長方形為方田或直田。稱三角形為圭田,
面積公式為“術曰:半廣以乘正從”。這裡廣是指三角形的底邊,正從是指底邊上的高,劉徽在注文中對這一計算公式實質上作了證明:“半廣者,以盈補虛,為直田也。”“亦可以半正從以乘廣”(圖1-30)。盈是多餘,虛乃不足。“以盈補虛”就是以多餘部分填補不足的部分,這就是我國
古代數學推導
平面圖形面積公式所用的傳統的“出入相補”的方法,由上圖“以盈補虛”變圭田為與之等積的直田,於是得到了圭田的面積計算公式。 方田章第二十七、二十八題把直角梯形稱為“邪田”(即斜田)它的面積公式是:“術曰:並兩邪(即兩斜,應理解為梯形兩底)而半之,以乘正從……,又可半正從……以乘並。”劉徽在注中說明他的證法仍是“出入相補”法。在方田章第二十九、三十題把一般梯形稱為“箕田”,上、下底分別稱為“舌”、“踵”,面積公式是:“術曰:並踵舌而半之,以乘正從”。
至於圓面積,在《九章算術》方田章第三十一、三十二題中,它的面積計算公式為:“半周半徑相乘得積步”。這裡“周”是
圓周長,“徑”是指直徑。這個
圓面積計算公式是正確的。只是當時取徑一周三(即π≈3)。於是由此計算所得的圓面積就不夠精密。
《九章算術》商功章收集的都是一些有關體積計算的問題。但是商功章並沒有論述
長方體或
正方體的體積算法。看來《九章算術》是在長方體或正方體體積計算公式:V=abc的基礎上來計算其他
立體圖形體積的。
《九章算術》商功章提到城、垣、堤、溝、塹、渠,因其功用不同因而名稱各異,其實質都是正截面為等腰梯形的直稜柱,他們的體積計算方法:“術曰:並上、下廣而半之,以高若深乘之,又以袤乘之,即積尺”。這裡上、下廣指橫截面的上、下底(a,b)高或深(h),袤是指城垣……的長(l)。因此城、垣…的體積計算術公式V=1/2(a+b)h.
劉徽在注釋中把對於平面圖形的出入相補原理推廣套用到空間圖形,成為“損廣補狹”以證明幾何體體積公式。
劉徽還用棋驗法來推導比較複雜的幾何體體積計算公式。所謂棋驗法,“棋”是指某些幾何體模型即用幾何體模型驗證的方法,例如
長方體本身就是“棋”[圖1-32(1)]斜解一個長方體,得兩個兩底面為直角三角形的
直三稜柱,我國古代稱為“塹堵”(如圖),所以塹堵的體積是長方體體積的二分之一。
《九章算術》商功章還有圓錐、圓台(古代稱“圓亭”)的體積計算公式。甚至對三個側面是
等腰梯形,其他兩面為勾股形的五面體[圖1-33(1)],上、下底為矩形的擬
柱體(古代稱“芻童”)以及上底為一線段,下底為一矩形的擬柱體(古代稱“芻甍”)(“甍”音“夢”)等都可以計算其體積。
(3)、《九章算術》中的代數內容同樣很豐富,具有當時世界的先進水平。
1.開平方和開立方
《九章算術》中講了開平方、開立方的方法,而且計算步驟基本一樣。所不同的是古代用籌算進行演算,現以少廣章第12題為例,說明古代開平方演算的步驟,“今有積五萬五千二百二十五步。問為方幾何”。“答曰:二百三十五步”。這裡所說的步是我國古代的
長度單位。
“開方(是指開平方,由正方形面積求其一邊之長。)術曰:置積為實(即指籌算中把
被開方數放置於第二行,稱為實)借一算(指借用一算籌放置於最後一行,如圖1-25(1)所示用以定位)。步之(指所借的算籌一步一步移動)超一等(指所借的算籌由個位越過十位移至百位或由百位越過千位移至萬位等等,這與現代筆算開平方中分節相當如圖1-25(2)所示)。議所得(指議得初商,由於實的萬位數字是5,而且22<5<32,議得初商為2,而借算在萬位,因此應在第一行置初商2於百位,如圖1-25(3)所示)。以一乘所借一算為法(指以初商2乘所借算一次為20000,置於“實”下為“法”,如圖1-25(4)所示)而以除(指以初商2乘“法”20000得40000,由“實”減去得:55225-40000=15225,如圖1-25(5)所示)除已,倍法為定法,其復除,折法而下(指將“法”加倍,向右移一位,得4000為“定法”因為要求
平方根的十位數字,需要把“借算”移至百位,如圖1-25(6)所示)。復置借算步之如初,以複議一乘之,所得副,以加定法,以除(這一段是指:要求平方根的十位數字,需置借算於百位。因“實”的千位數字為15,且4×3<15<4×4,於是再議得次商為3。置3於商的十位。以次商3乘借算得3×100=300,與定法相加為4000+300=4300。再乘以次商,則得:3×4300=12900,由“實”減去得:15225-12900=2325。如圖1-25(7)所示,以所得副從定法,復除折下如前(這一段是指演算如前,即再以300×1+4300=4600向右移一位,得460,是第三位
方根的定法,再把借算移到個位,如圖1-25(8)所示;又議得三商應為5,再置5於商的個位如圖1-25(9)所示,以5+460=465,再乘以三商5,得465×5=2325經計算恰盡如圖1-25(10)所示,因此得
平方根為235。)
上述由圖1-25(1)—(10)是按算籌進行演算的,看起來似乎很繁瑣,實際上步驟十分清楚,易於操作。它的開平方原理與現代開平方原理相同。其中“借算”的右移、左移在現代的觀點下可以理解為一次變換和代換。《九章算術》時代並沒有理解到變換和代換,但是這對以後宋、元時期
高次方程的解法是有深遠影響的。
《九章算術》方程章中的“方程”是專指多元一次方程組而言,與“方程”的含義並不相同。《九章算術》中多元一次方程組的解法,是將它們的係數和
常數項用
算籌擺成“方陣”(所以稱之謂“方程”)。消元的過程相當於現代大學課程高等代數中的
線性變換。
由於《九章算術》在用直除法解一次方程組過程中,不可避免地要出現正負數的問題,於是在方程章第三題中明確提出了正負術。劉徽在該術的注文里實質上給出了正、負數的定義:“兩算得失相反,要令‘正’、‘負’以名之”。並在計算工具即算籌上加以區別“正算赤,負算黑,否則以邪正為異”。這就是規定正數用紅色算籌,負數用黑色算籌。如果只有同色算籌的話,則遇到正數將籌正放,負數時邪(同斜)放。宋代以後出現筆算也相應地用紅、黑色數碼字以區別正、負數,或在
個位數上記斜劃以表示負數,如(即—1824),後來這種包括負數寫法在內的中國數碼字還傳到日本。
關於正、負數的加減運算法則,“正負術曰:同名相益,異名相除,正無入負之,負無入正之。其異名相除,同名相益,正無入正之,負無入負之”。這裡所說的“同名”、“異名”分別相當於所說的同號、異號。“相益”、“相除”是指二數相加、相減。術文前四句是
減法運算法則:
(1)如果被減數絕對值大於減數絕對值,即a>b≥0,
則同名相益:(±a)-(±b)=±(a-b),
異名相除:(±a)-(b)=±(a+b)。
(2)如果被減數絕對值小於減數絕對值,即b>a≥0。
①如果兩數皆正
則a-b=a-[a+(b-a)]=-(b-a)。
中間一式的a和a對消,而(b-a)無可對消,則改“正”為“負”,即“正無入負之”。“無入”就是無對,也就是無可對消(或不夠減或對方為零)。
②如果兩數皆負
則(-a)-(-b)=-a-[(-a)-(b-a)]=+(b-a)。在中間的式子裡(-a)和(-a)對消,而-(b-a)無可對消,則改“負”為“正”所以說“負無入正之”。
③如果兩數一正一負。則仍同(1)的異名相益。
術文的後四句是指正負數加法運算法則。
(1)同號兩數相加,即同名相益,其和的絕對值等於兩數絕對值和。
如果a>0,b>0,
則a+b=a+b,(-a)+(-b)=-(a+b)
(2)異號兩數相加,實為相減,即異名相除。如果
正數的絕對值較大,其和為正,即“正無入正之”。如果負數的絕對值較大,其和為負,即“負無入負之”。用符號表示為
①如果a>b≥0,
則 a+(-b)=[b+(a-b)]+(-b)=a-b,
或 (-a)+b=[(-b)-(a-b)]+b=-(a-b)。
②如果b>a≥0,
則 a+(-b)=a+[(-a)-(b-a)]=-(b-a),
或 (-a)+b=(-a)+[a+(b-a)]=b-a。
關於正負數的乘除法則,在《九章算術》時代或許會遇到有關正負數的乘除運算。可惜書中並未論及,直到元代
朱世傑於《
算學啟蒙》(1299年)中才有明確的記載:“同名相乘為正,異名相乘為負”,“同名相除所得為正,異名相除所得為負”,因此至遲於13世紀末我國對有理數四則運算法則已經全面作了總結。至於正負數概念的引入,正負數加減運算法則的形成的歷史記錄,我國更是遙遙領先。國外首先承認負數的是七世紀印度數學家婆羅門岌多(約598-?)歐洲到16世紀才承認負數。
歷史考證
現傳本《九章算術》成書於何時,眾說紛紜,多數認為在西漢末到東漢初之間,約公元一世紀前後,《九章算術》的作者不詳。很可能是在成書前一段歷史時期內通過多人之手逐次整理、修改、補充而成的集體創作結晶。由於二千年來經過輾轉手抄、刻印,難免會出現差錯和遺漏,加上《九章算術》文字簡略有些內容不易理解,因此歷史上有過多次校正和注釋。
關於對《九章算術》所做的校注主要有:西漢
張蒼增訂、刪補,三國時曹魏
劉徽注,唐
李淳風注,南宋
楊輝著《詳解九章算法》選用《九章算術》中80道典型的題作過詳解並分類,清李潢(?—1811年)所著《九章算術細草圖說》對《九章算術》進行了校訂、列算草、補插圖、加說明,尤其是圖文並茂之作。
現代錢寶琮(1892—1974年)曾對包括《九章算術》在內的《算經十書》進行了校點,用通俗語言、近代數學術語對《九章算術》及劉、李注文詳加注釋。80年代以來,今人
白尚恕、
郭書春、
李繼閔等都有校注本出版。
歷史影響
《九章算術》是世界上最早系統敘述了分數運算的著作;其中盈不足的算法更是一項令人驚奇的創造;“方程”章還在世界數學史上首次闡述了負數及其加減運算法則。在代數方面,《九章算術》在世界數學史上最早提出負數概念及正負數加減法法則;中學講授的線性方程組的解法和《九章算術》介紹的方法大體相同。注重實際套用是《九章算術》的一個顯著特點。該書的一些知識還傳播至印度和阿拉伯,甚至經過這些地區遠至歐洲。
《九章算術》是幾代人共同勞動的結晶,它的出現標誌著中國古代數學體系的形成.後世的數學家,大都是從《九章算術》開始學習和研究數學知識的。唐宋兩代都由國家明令規定為教科書。1084年由當時的北宋朝廷進行刊刻,這是世界上最早的印刷本數學書。可以說,《九章算術》是中國為數學發展做出的又一傑出貢獻。
在九章算術中有許多數學問題都是世界上記載最早的。例如,關於比例算法的問題,它和後來在
16世紀西歐出現的三分律的算法一樣。關於雙設法的問題,在阿拉伯曾稱為契丹算法,
13世紀以後的歐洲數學著作中也有如此稱呼的,這也是中國
古代數學知識向西方傳播的一個證據。
《九章算術》對中國古代的數學發展有很大影響,這種影響一直持續到了清朝中葉。《九章算術》的敘述方式以
歸納為主,先給出若干例題,再給出解法,不同於西方以
演繹為主的敘述方式,中國後來的數學著作也都是採用敘述方式為主。歷代數學家有不少人曾經注釋過這本書,其中以
劉徽和
李淳風的注釋最有名。
《九章算術》還流傳到了日本和朝鮮,對其古代的數學發展也產生了很大的影響。