一、古代數學
數字與記數法
數字在中國的最早出現,是在新石器時代的晚期,距今大約6000年左右。在這之前,我們的祖先采用“結繩”、“契木”等辦法來表示數的概念,實現記數,即所謂的“結繩記事”、“契木為文”的傳說。其實,甲骨文中的“數”字就取自結繩的形象。這種情況在世界的其他一些民族中也有發生,有的甚至到近代還保存著結繩記數的方法。
契木或其他形式的刻劃記數是數字產生的基礎。當人們覺得可以通過按某種規則的刻劃來表達數的時候,數字也就自然而然地產生了。
根據現有的資料來看,最遲在半坡時代我國已經有了可以稱得上數字的刻劃符號,如見之於半坡出土的陶片上的數目字(右圖示)。
雖然字形沒有那麼整齊,但已十分規範。後來的考古發現,除了進一步加強上述考證外,還充實了一些數字。如,與半坡遺址差不多時代的陝西薑寨遺址中出現了“”(1)、“”(30);距今四千年前的上海馬橋遺址出現了“”(5);稍晚的山東城子崖遺址中出現了“”(12),還有“”(20);“”(30)。是將二個(10)合在一起;是將三個(10)合在一起。這種合寫形式的出現不僅標誌了數的概念的發展和表數能力的提高,而且證實了十進製記數法已經使用。
殷墟甲骨文上的數字進入商代以後,隨著農業成為社會生產的主要成分,手工業的分工和商業的產生,相應地產生了高度發展的殷商文化。這時,已有了所謂“卜、史、巫、祝”這樣的文化官。他們作為社會的管理人員,負責記人事、觀天氣與熟悉舊典。專職書記人員的出現,使得原先零星粗疏的表數符號得到提煉和整理,進而創設出係統的數字和記數法來。商代產生的甲骨文數字就是目前所知的我國最早的完整記數係統。
甲骨文是商周時代刻在龜甲獸骨上的文字,是“巫”、“史”們為商王室占卜記事的主要手段。從現在發現並已認識的1700多個甲骨文字中,能夠清理出整套數目字,共13個。前9個是數字,後4個是位值符號。與其他甲骨文字一樣,甲骨文數字采用了會意、形聲、假借等比較進步的文字構造法,說明它是一種具有嚴密文字規律的古文字。
甲骨文中的記數單字甲骨文記數係統屬於十進製乘法分群數係。這種數係由1至9九個數字和若幹十進製的位值符號組成,記數時先將兩組符號通過乘法結合起來以表示位值的若幹倍〔也有例外,如(20)、(30)、(40)是重複書寫,而不分別寫成、、〕。如(5)與表示10的符號“”通過乘法結合起來,寫成,表示10的5倍,即50;又如(3)與表示100的符號“”通過乘法結合起來,寫成,表示100的3倍,即300;同樣,表示2000,表示20000。然後將分群後的位值符號組合(相加)起來,達到完整表數的目的。例如,,表示673;,表示2356等等。現已發現的最大的甲骨文數字是30000,寫作。
甲骨文記數係舉例甲骨文記數方法一直沿用到現代,期間字體雖有變化,但記數原則不變,仍然是乘法分群原則。下圖列出的是曆代記數符號,將商代甲骨文、周代金文、秦代篆文以及現代數字加以比較和分析,從中可以發現一些變化規律。曆代記數符號
周代金文記多位數的方法,原則上與甲骨文一樣,如659,記作“”。其中是又字,寫在數字之間起隔開位值的作用,這在商代甲骨文記數中已有出現,因此,形式上差異僅是50的寫法不同,金文是,甲骨文是。漢代以後,多位數記法廢棄了用“”字隔開的做法,位值的倍數也不采取合寫,而是采取位值符號緊接在數字後表示,如300,不寫成,而寫成。但記數係統仍是乘法分群係,如2356,被寫成,即現在的二千三百五十六的前身。
這種表數製度還算不上是十進地位製記數法,但它確實向地位製靠近了一步。如果把“”、“”、“”等符號曳去,再引入表示0的符號,那就是完全的十進地位製記數法了。
現代中國數字實際在唐朝以前已經形成。由於這10個字簡單明了,我苗文曆書內記錄的漢文數字國少數民族記數時也常采用它,或者把這10個數字稍作變動。北京圖書館藏有一本苗文的曆書,全部用了漢文的10個數字,並且以兩個十作二十、三個十作三十。唐代還全麵使用了所謂大寫數字,即:
壹貳叁肆伍陸柒捌玖拾
大寫數字常出現於比較嚴肅的場合,所以後來人們把這些大寫數字叫做“官文書數目字”。
算籌與籌算
記數與計算不是一回事,單有記數法不足以構成數學。數學至少是計算的學問。隻有進入專門的算的實踐,揭示其規律,總結出技術,進而形成算理,才能稱得上有了算術——一種初級的數學理論。中國古代數學是隨著算籌的發明而形成的。算籌,簡稱“算”、“籌”、“策”等,亦稱“籌策”,是中國古代用於計算的工具。一般用竹製成,也有用鉛製、骨製或象牙製的。本世紀50年代以來陸續出土了一批算籌,形狀大小與文獻資料記載相仿。戰國時的算籌平均長19.5厘米,西漢算籌大約長13厘米,徑粗0.3厘米。算籌太長太細不便擺動,所以後來的算籌逐漸改短,增粗。橫截麵形狀除圓形外還出現正三角形或陝西旬陽出土的西漢象牙算籌正方形的。算籌產生於何時,至今未能有一個比較確切的說法。有的說“大約從西周開始已使用竹籌,在氈毯上或在算板上進行各種運算”,有的則說算籌是長期演變而成的,至遲在西漢時已普遍使用。各種說法在措詞上都比較慎重,時間幅度也很大,彼此互不矛盾。從先秦典籍中的記載來看,算籌很可能起源於原先用於占卜的蓍草。由於占卜過程中,需借助於蓍草來表示數和簡單的計算,久而久之,蓍草就成了計算工具。“算”字古體作“祘”,由二“示”合成。“示,神事也。”這又一次說明,古代算術與占卜的關係。從時間上說,大約可以認為,算籌作為人造計算工具的產生是在西周或更早些,而普遍深入使用是在秦漢。
用算籌擺成數字進行計算稱之為籌算。所以“算術”的原義是指籌算的技術。這本是中國數學特有的名稱,現在涵義有了變化。算術這一名稱恰當地概括了中國數學依賴於算籌,以算為中心的特點。從一定意義上說,中國古代數學史就是中國籌算史。
四則運算
籌算數目是由算籌擺出來的,9個基本數的擺法有兩種,一種是縱式,一種是橫式。9個基本數的算籌擺法
在這基礎上,利用位值原理和縱橫相間的辦法可擺出一切多位數。例如,238可擺成,,6803可擺成,其中空位處表示零。可見,我們中國很早就發明和使用十進位製記數法了。把籌的排列形式記下來,就成為算碼。明代珠算盛行以後,籌算逐漸淘汰,這時,籌算算碼在數學中起了很大的作用。
與筆算一樣,籌算的基礎是加減乘除四則運算。籌算四則運算的程序與珠算基本相同,從高位向低位進行。加減法最簡單,擺上兩行數字,從左到右逐位相加或相減就可以了,和或差置於第三行中。乘除法也不難,基本過程仍然是放籌與運籌兩個過程。乘法分三層放籌,上下層放乘數(無被乘數與乘數之區別),中間放積。運算時由上層乘數的高位起乘下層乘數,乘完後去掉這位的算籌,再用第二位數去乘,最後將逐次相乘之積的對應位上的數相加即可。
當然也可以將第二次乘得的結果隨時加到中層之中。
籌算把除法看作乘法的逆運算,如《孫子算經》所說:“凡除之法,與乘正異。”基本步驟也是放籌與運籌。放籌時也分三層,上層放商,中間放被除數(古時稱實),下層放除數(古時稱法)。除數擺在被除數夠除的那一位之下,除完向右移動。
乘除運算需要口訣,古時稱之為“九九表”,從“九九八十一”起到“二二得四”止,共36句。沒有“一九如九”到“一一如一”等九句,順序也與現今流行的相反。九九表產生的時間不會晚於春秋時代。有故事說,春秋時期,齊桓公(前685~前643)招聘了一個以九九表自薦的粗野漢子。其實,春秋戰國時代的不少著作如《荀子》、《淮南子》、《管子》等都已提到了九九表,足見它當時已為常識。
算碼
籌算數字是擺成的,如果將擺成的數字寫在紙上或者竹片等物上,就成了數碼。中國古代稱用作書寫的竹片叫做竹簡,木片叫做木簡或牘。在已發現的居延漢簡和敦煌漢簡中都可以看到這種籌碼數字。宋朝司馬光(1019—1086)著《潛虛》,其中數碼字即以縱式的籌碼為基本樣式,對筆劃較多的“”(5),代之以;為避免與(1)混淆,將縱式籌碼的(10),代之以“”,這樣1~10的數碼成為以下樣子:
此後,各家又對筆劃較多的“”和“”作了修改。以“”代“”,這是因為“”有示四方之形;於是“”被自然地改成“”或“”,仍然表示5+4的結果。根據這個原則,5被改寫成“”或“”。“”和“”下麵的“”是“0”的記號。
數碼不像籌碼那樣受籌的限製,其形式會受書寫者的習慣而改變。如“”(5)與“”(9),各人寫法時有不同,其中“”、常被便寫成“”,“”則被便寫成“”。
數碼,尤其是便寫數碼的出現不僅方便了日常的記數,而且方便了數學著作的撰寫,為中國古代數學在民間的傳播起到了積極的推動作用。
組合分析
早期積累的數學知識缺乏理論的係統性,受實用和意識的影響很大。如因曆法的需要,商代創造了一種所謂“天幹地支”六十循環記日法。即將十個天幹:甲、乙、丙、丁、戊、己、庚、辛、壬、癸;十二個地支;子、醜、寅、卯、辰、巳、午、未、申、酉、戌、亥依次組合成六十個序數;甲子、乙醜……癸亥等,以表示日期的先後。六十也就成了殷人一周的日數。將這些不同的甲子排列成表,也就是“甲子表”:
甲子乙醜丙寅丁卯戊辰己巳庚午辛未壬申癸酉
甲戌乙亥丙子丁醜戊寅己卯庚辰辛巳壬午癸未
甲申乙酉丙戌丁亥戊子己醜庚寅辛卯壬辰癸巳
甲午乙未丙申丁酉戊戌己亥庚子辛醜壬寅癸卯
甲辰乙巳丙午丁未戊申己酉庚戌辛亥壬子癸醜
甲寅乙卯丙辰丁巳戊午己未庚申辛酉壬戌癸亥
從甲子表中,又可看出他們的記旬法:從甲日起到癸日止,剛好為十日,於是就以從甲到癸的十日為一旬。表上所列的為六旬,所以甲子表又可稱為六旬表。“天幹地支”記日法屬曆法現象,但它反映了一種原始的組合思想。這種組合思想後來在八卦和幻方中有較大的發展。
八卦是《周易》(高享:周易古經今注,中華書局,1984年,第2頁)中提出的八種基本圖形,用以代表天、地、雷、風、水、火、山、澤八種自然現象。這八種基本圖形是以陽爻“—”和陰爻“”兩種符號組合而成的。將陽爻和陰爻按不同次序進行排列,每次取兩個,有四種排法,即所謂四象:
每次取三個,有八種排列,即八卦,常被排成八邊形,以示方向:
八卦每次取六個,即兩卦相重,則有六十四種排列,也即六十四卦。古人主要根據卦爻的變化來推斷天文地理和人事關係,未必對其中的數學道理有自覺的認識,但作為中國數學早期積累時期的一種知識,它是值得注意的。人的認識本來就是由感性、知性和理性三個環節構成。對爻卦中排列組合現象的認識可說是一種知性認識,它為認識的最終理性化奠定了基礎。事實上,宋、明兩代數學家由對易圖的研究而揭示出的《周易》中所蘊含著包括二進製數碼構成規律在內的某些數學性質,就可稱之為是一種理性化的認識。
先秦時期組合數學的主要內容是幻方。最早的幻方即“九宮”,這是劃有九個方格的正方形,將1至9九個數字按某種規則填入各方格內而成。九宮北周甄鸞說:“九宮者,即二四為肩,六八為足,左三右七,戴九履一,五居中央。”在南宋楊輝研究幻方之前,人們對幻方的注意力集中在它的哲學和美學意義上。由於三階幻方配置九個數字的均衡性和完美性,產生了一種審美的效果,使得古人認為其中包含了某種至高無上的原則,把它作為容納治國安民九類大法的模式,或把它視為舉行國事大典的明堂的格局。因而,最早出現的幻方,既是古代數學的傑作,也是有哲學意義的創造。
河圖示意圖洛書示意圖這方麵最生動的例證是將傳說中的河圖、洛書與幻方聯係起來。特別經宋代理學家們的渲染,河圖洛書竟倒過來成了幻方的根源。洛書被人認為是一個三階幻方,在這個幻方巾,數字按對角線、橫線或豎線相加,結果都等於15。河圖則是這樣排列的數字圖:在拋開中間的5和10時,奇數和偶牧各自相加都等於20。理學家的這兩張圖不能不說是富有想象力的創造。偶(陰)數用黑點表示,奇(陽)數由白點表示,黑白相對,奇偶有別,均衡對稱。難怪現在的一些組合數字著作中也喜歡用古代洛書圖來作裝飾,以示它淵源的古遠。
13世紀,幻方的數學意義由南宋楊輝加以闡發。楊輝稱幻方為“縱橫圖”,並將它作為一個數學問題來加以研究。從此,幻方所具有的組合數學思想得到了發揚光大。關於這方麵成就將在第三章結合介紹楊輝的工作一起介紹。
洛河圖河圖圖
圖形知識
在中國古代數學的理論體係形成之前,有關圖形的知識主要表現在以下五個方麵:①由器具形狀和花紋所表現的圖形概念;②利用“規”、“矩”等工具繪圖;③測量;④製造工具、器械過程中對角的應用;⑤土地等平麵麵積和糧倉等立體體積的計算。其中圖形的麵積體積計算方麵的內容較為豐富。
圖形求積歸根結蒂是一種計算術。這就是說,中國數學中的幾何知識具有一種內在邏輯——以實用材料組織知識體係和以圖形的計算作為知識的中心內容。
幾何圖形觀念的形成
圖形的觀念是在人們接觸自然和改造自然的實踐中形成的。從對今天仍處於狩獵階段的部落的了解中可以發現,人類早期是通過直接觀察自然,效仿自然來獲得圖形知識的。這裏所謂的自然,不是作一般解釋的自然,而是按照對人類最迫切需要,以食物為主而言的自然。人們從這方麵獲得有關動物習性和植物性質的知識,並由祈求轉而形成崇拜。幾乎所有的崇拜方式都表現了原始藝術的特征,如獸舞戲和壁畫。可以相信,“我們確實依靠原始生活中生物學方麵,才有用圖達意的一些技術。這不但是視覺藝術的源泉,也是圖形符號、數學和書契的源泉。”
隨著生活和生產實踐的不斷深入,圖形的觀念由於兩個主要的原因得到加強和發展。一是出現了利用圖形來表達人們思想感情的專職人員。從舊石器時代末期的葬禮和壁畫的證據來看,好像那時已經很講究幻術,並把圖形作為表現幻術內容的一部分。幻術需要有專職人員施行,他們不僅主持重大的典禮,而且充當畫師,這樣,通過畫師的工作,圖形的樣式逐漸地由原來直接寫真轉變為簡化了的偶象和符號,有了抽象的意義。二是生產實踐所起的決定性影響。圖形幾何化的實踐基礎之一是編織。據考證,編籃的方法在舊石器時代確已被掌握,對它的套用還出現了粗織法。編織既是技術又是藝術,因此除了一般的技術性規律需要掌握外,還有藝術上的美感需要探索,而這兩者都必須先經實踐,然後經思考才能實現。這就替幾何學和算術奠定了基礎。因為織出的花樣的種種形式和所含的經緯線數目,本質上,都屬於數學性質,因而引起了對於形和數之間一些關係的更深的認識。當然,圖形幾何化的原因不僅在於編織,輪子的使用、磚房的建造、土地的丈量,都直接加深和擴大了對幾何圖形的認識,成為激起古人建立幾何的基本課題。如果說,上述這些生產實踐活動使人們產生並深化了圖形觀念,那麼,陶器花紋的繪製則是人們表觀這種觀念的場合。在各種花紋,特別是幾何花紋的繪製中,人們再次發展了空間關係——圖形間相互位置關係和大小關係。
新石器時期陶器殘片上圓點排列圖形20世紀以來的多次考古發現證實,早在新石器時代,中國人已經有了明顯的幾何圖形的觀念。在新石器時期西安半坡遺址構形及出土的陶器上,已出現了斜線、圓、方、三角形、等分正方形等幾何圖形。在所畫的三角形中,又有直角的、等腰的和等邊的不同形狀。稍晚期的新石器時代的陶器,更表現出一種發展了的圖形觀念,如江蘇邳縣出土的陶壺上已出現了各種對稱圖形;磁縣下潘汪遺址出土的陶盆的沿口花紋上,表現了等分圓周的花牙。
自然界幾乎沒有正規的幾何形狀,然而人們通過編織、製陶、造房等實踐活動,造出了或多或少形狀正規的物體,這些不斷出現且世代相傳的製品提供了把它們互相比較的機會,讓人們最終找出其中的共同之處,形成抽象意義下的幾何圖形。今天我們所具有的各種幾何圖形的概念,也首先決定於我們看到了人們做出來的具有這些形狀的物體,並且我們自己知道怎樣來作出它們,這難道不是實踐出真知的例證嗎?
規矩等工具的發明與使用
原始作圖肯定是徒手的。隨著對圖形要求的提高,特別是對圖形規範化要求的提出,如線要直、弧要圓等等,作圖工具的創製也就成為必然的了。中國古代很早就有“規”、“矩”、“準”、“繩”的傳說,如《史記·夏本紀》記載夏代的一次治水工程時說:“陸行乘車,水行乘舟,泥行乘橇,山行乘,左準繩,右規矩,載四時,以開九州,通九道。”這裏所說的準、繩、規、矩都是測量和作圖的工具。不過“準”的樣式有些像現在的丁字尺,從字義上分析它的作用大概是與繩一起,用於確定大範圍內的線的平直的。
“規”和“矩”的作用,分別是畫圖和定直角。這兩個字在甲骨文中已有出現,規寫作“”,取自用手執規的樣子;矩寫作“”,取自矩的實際形狀。矩的形狀後來有些變化,由含兩個直角變成隻含一個直角,即“”的樣子。規、矩、準、繩的發明,應該是有一個在實踐中逐步形成和完善過程的。不像傳說中所說“古者,為規、矩、準、繩使天下倣焉”,把發明權歸於一人。但載於戰國時期《屍子》的這句話,指出這些工具形成得很早倒是事實。
作圖工具的產生有力地推動了與此相關的生產的發展,也極大地充實和發展了人們的圖形觀念和幾何知識。例如,戰國時期已經出現了很好的技術平麵圖。在一些漆器上所畫的船隻、兵器、建築等圖形,其畫法符合正投影原理。在河北省出土的戰國時中山國墓中的一塊銅片上有一幅建築平麵圖,表現出很高的製圖技巧和幾何水平。
測量
規、矩等早期的測量工具的發明,對推動中國測量技術的發展有直接的影響。秦漢以後,測量工具逐趨專門和精細。為量長度,發明了丈杆和測繩,前者用於測量短距離,後者則用於測量長距離。還有用竹篾製成的軟尺,全長和卷尺相仿。矩也從無刻度的發展成有刻度的直角尺。另外,還發明了水準儀、水準尺以及定方向的羅盤。測量的方法自然也更趨高明,不僅能測量可以到達的目標,還可以測量不可到達的目標。測量方法的高明帶來了測量後計算的高超,從而豐富了中國數學的內容。
據成書於公元前一世紀的《周髀算經》記載,西周開國時期(約前1000)周公姬旦與商高討論用矩測量的方法,其中商高所說的用矩之道,包括了豐富的數學內容。商高說:“平矩以正繩,偃矩以望高,複矩以測深,臥矩以知遠……”所謂“偃矩以望高”是說,若把矩豎著放置,從矩的一端A,仰望高處E,視線AE與CB交於D,那麼根據相似三角形的關係,可得高X=AF·CDAC。這裏,CDAC是仰角EAF的正切值,但中國古代對它沒有給予專門的關注。若把矩尺BC複過來往下垂,即所謂複矩,那麼根據同樣的原理,就可以測得深處目標的距離。同樣,把矩尺CB平放在水平麵上,就可以測得遠處目標之間的距離。商高所說用矩之道,實際就是現在所謂的勾股測量,勾股測量涉及到勾股定理,因此,《周髀算經》中特別舉出了勾三、股四、弦五的例子。
偃矩測高複矩測深
秦漢以後,有人專門著書立說,詳細討論利用直角三角形的相似原理進行測量的方法。這些著作較著名的有《周髀算經》、《九章算術》、《海島算經》、《數術記遺》、《數書九章》、《四元玉鑒》等,它們組成了中國古代數學獨特的測量理論。
對角的認識並能加以應用
中國很早就以農為本,農業和手工業發展得相當早而且成熟。先進的農業和手工業帶來了先進的技術,其中不少包涵著數學知識。據戰國時成書的《考工記》記載,那時人們在製造農具、車輛、兵器、樂器等工作中,已經對角的概念有了認識並能加以應用。《考工記》說,“車人之事,半矩謂之宣,一宣有半謂之,一有半謂之柯,一柯有半謂之磬折”。其中,“矩”指直角。由此推算,“一宣”是45°,一“”是67.5°,一“柯”是101°15′,而一“磬折”該是151°52.5′。不過,這不是十分確切的。因為就在同一本書中,“磬折”的大小也有被說成是“一矩有半”,這樣它就該是135°了。
各種角的專用名稱的出現既表現了在手工業技術中對角的認識和應用,但也反映了這種認識的原始性和局限性,反映了中國古代對角的數學意義的不重視。後麵我們將會看到,中國古代數學之所以沒有發展出與角相關的理論,如一般三角形的相似理論、平行線理論、三角形邊角關係以及三角學等等,很重要的原因就是因為對角概念的認識不足。它使中國古代數學以另一種方式來解決實踐中所出現的問題。
麵積和體積計算
麵積和體積計算與稅收製度的建立和度量衡製度的完善直接有關。先秦重要典籍《春秋》記魯宣公十五年(公元前594年)開始按畝收稅,產十抽一,這說明春秋戰國時代我國已經有丈量土地和計算麵積與體積的方法。這些方法後來集中出現在《九章算術》一書中,但可以肯定,在公元1世紀《九章算術》成書之前,它們應該已經存在。從近年來在古遺址如甘肅省居延縣附近、山東省臨沂縣銀雀山等地發現的漢代竹簡中,也可以得到證明。關於中國數學在麵積和體積計算方麵的成就,我們將在下麵作詳細介紹。這裏強調指出的是,這些成就在數學知識早期積累的時候已經逐步形成,並成為後來的麵積和體積理論的基礎。
算書的出現
中國古代算書最早出現於何時,需要經考古不斷明確。現經發現的最早算書是1983年12月在湖北江陵張家山出土的一本抄於西漢初年約公元前2世紀的竹簡算書——《算數書》。既然是抄本,原本的成書時間應該更早,大約在戰國時期。這是一部比較完整的數學專著,全書采用問題集形式,共有60多個小標題,90多個題目,包括整數和分數的四則運算、比例問題、麵積和體積問題等。將算題歸類並注以標題的做法,反映了著述者對數學知識進行係統整理的嚐試,也可以說是理論建設的開始。
這一理論建設的實際進程後來受到數學教育的影響。前麵談到中國數學教育素有傳統,早在西周時期,數學就作為“六藝”(禮、樂、射、馭、書、數)之一被列入教育的內容。據《禮記》內則篇記載,按周朝的製度是“六年(即6歲)教之數與方名,……九年教之數目,十年出就外傅(教師),居宿於外,學書計”。《前漢書食貨誌》也說:“八歲入小學,學六甲、五方、書計之事。”說明數學在當時教育中已經受到相當的重視。為了加強對貴族子弟的教育,國家還設有專門官員“保氏”,“以養國子(官家子弟)以道”。顯然,這樣的教育不是隨隨便便進行的,它不僅要求有教材,還要求教材具有針對性和可接受性。因此,所教的“六藝”,即六門功課都製訂了細目。其中數學的細目有九個,稱為九數。九數具體包括些什麼內容,《周禮》沒有記載,但據東漢末經學家們注解,九數包括:方田、粟米、差分、少廣、商功、均輸、方程、贏不足、旁要等。這些細目與後來《九章算術》的要目相差無幾,這說明《九章算術》與早期數學教育的內容存在著源流關係。事實上,後來劉徽為《九章算術》作序時,特意強調了“周公製禮而有九數,九數之流則《九章》是矣。”九章既是周禮九數的演變,自然也就證明了數學教育對中國數學理論建設的重要影響。從“九數”到《九章算術》期間還曾出現過一些算書,隻是書缺有間,史料不多,有關的情況很難詳考。據《漢書·藝文誌》術數類著錄,有《許商算術》26卷和《杜忠算術》16卷。這兩部書約成書於公元前1世紀後半期,可惜書均已失傳,難詳其情。但從“算術”這一專門名稱的出現,說明關於推算之術已受關注,並被列入教育計劃。
公元前成書的算書還有《周髀算經》。這部書寫成大約是公元前100年前後,或在更晚的年代。它原是宣傳蓋天說的天文學書,但天文學離不開數學,所以書中涉及不少數學內容。其中包括複雜分數運算和勾股定理的應用。唐朝選定數學課本時,也把它作為算書列入“算經十書”之一,另署名為《周髀算經》。
總之,從數學知識的早期積累到中國數學係統理論的奠定,期間經過一個逐步完善的過程。促使這一過程發展的因素,除了數學知識的進一步充實之外,數學教育的需要起了很大作用。數學是當時唯一被列入教育內容的自然科學。盡管從整個社會來說,數學教育的普及麵是不廣的,但作為中國人所擅長的科目,受到曆代的重視也是事實。
數學被作為六藝之一列入教育內容,說明當時把數學看作一門技藝,這種技藝主要體現在算法上,因此中國數學在進行理論建設的時候,把算法作為考慮問題的基本出發點,力圖建立以題解為中心的算法體係。
《九章算術》
公元1世紀,《九章算術》問世,它標誌中國數學係統理論的產生。從此,奠定了後世數學研究的基礎內容和理論形式。作為中國數學成熟的標誌,《九章算術》還較完整地體現了中國古代的數學思想及其特點。
宋本《九章算術》《九章算術》的內容
現傳本《九章算術》由246個數學問題及其答案和術文組成,按算法分屬方田、粟米、衰分、少廣、商功、均輸、盈不足、方程、勾股等九章。前六章定的是實用名稱,“使學者知事物之所在,可以按名以知術也”,後三章“義理稍深,應用亦較狹,故從其專術得名。”各章名稱的涵義和基本內容如下:
“方田”,是土地形狀的特稱,說明該章專講各種形狀地畝麵積的計算,設問38題,提出21術,涉及的數學內容主要是平麵圖形麵積的求法和分數的四則運算方法。
“粟米”,是穀物品種的特稱,說明該章專講各種穀物之間的換算,設問46題,提出33術,涉及的數學內容主要是比率算法。
“衰分”,意為按比率分配,說明該章專講分配問題的解法,設問20題,提出22術,涉及的數學內容仍是比率算法,但難度較粟米章的比率算法要高,是它基礎上的發展。
“少廣”,名稱比較奇特,中國古代稱長方形的底、高為廣、從,長方形麵積給定後,廣、從之間存在著廣多從少和廣少從多的關係。所以按定義而論,“少廣”就是“廣少而從多,需截多以益少。”說明該章專講給定長方形麵積或長方體體積求其邊長的方法,設問24題,提出16術,涉及的數學內容主要是開平方和開立方。作為這類問題的擴充,該章的最後提出了兩題已知球的體積而求其直徑,即所謂“開立圓”問題。
“商功”,意為工程大小的估計,說明該章專講開渠作堤、堆糧築城等工程的計算和用工多少的確定,設問28題,提出24術,涉及的數學內容主要是立體圖形體積的計算。
“均輸”,意為平均輸送,說明該章專講按人口多少、路途遠近、穀物貴賤推算賦稅及徭役的方法,設問28題,提出28術,涉及的數學內容主要是在衰分章基礎上發展起來的比率算法。
“盈不足”,是中國數學的一種專門算法——盈不足術的代稱,說明該章專講盈不足(包括兩盈、盈適足、不足適足等)問題的算法,以及將一般算術問題化為盈不足問題的方法,設問20題,提出17術,涉及數學內容主要是假設法和基於直線內插思想的比率算法。
“方程”,指由數學排列而成的方形表達式,演算“方程”。的方法稱為方程術,說明該章專講列置和演算“方程”的方法,設問18題,提出19術,涉及數學內容主要是與線性方程組相當的理論和正負數運算法則。
“勾股”,指直角三角形,說明該章專講有關直角三角形的理論,設問24題,提出22術,涉及數學內容主要是勾股定理及其應用。
從上述內容簡介中可以看出,《九章算術》不僅內容豐富而且具有實用性強,以及以算為主、數形結合的特點。這個特點在全書的體係結構中也有明顯的表現。
《九章算術》的體係
《九章算術》的體係是中國數學理論體係的典型代表。這個體係的基本結構是:以題解為中心,在題解中給出算法,根據算法組建理論體係。所以說,《九章算術》的理論體係是以題解為中心的算法體係。以題解為中心指的是這一理論的中心內容是問題及其解法;算法體係則指建立理論體係的依據和核心是算法。
從表麵上看《九章算術》的分類依據似乎有兩個:一是按問題的應用屬性分類,如關於土地麵積的計算歸成一類,署名方田;關於穀物換算方法歸成一類,署名粟米等等。二是按算法分類,如以介紹盈不足術、方程術、勾股術為主要內容的問題及題解分屬三類,署名盈不足、方程和勾股等。其實,這是個表麵現象。《九章算術》分類原則僅一個,即算法。《九章算術》的體係也僅一個,即算法體係。所謂實用體係的說法既不確切,也不符合《九章算術》的實際情況。事實上,《九章算術》中的不少問題是為了全麵完整地表現算法而編製出來的,這些問題的應用屬性完全由《九章算術》的作者所決定,應用屬性不成其為分類原則。
近年來中算史家對《九章算術》的算法體係的研究有了較大的進展,發現《九章算術》不僅分類合理,體係完整,而且結構嚴謹,充分表現了中國數學特有的形式和思想內容。
整個《九章算術》包括了四大算法係統和兩大求積公式係統。四大算法係統是分數算法、一般比率算法、組合比率算法、開方算法;兩大求積公式係統是麵積公式係統和體積公式係統。其中算法是主體,求積公式服務於算法,起表現算法的例解作用。四大算法係統和兩大求積公式係統的有機結合構成了《九章算術》完整的理論體係。
《九章算術》的成就
中國古代數學不區分幾何、代數等分支,算術這一名稱包括了中國數學的全部內容。因此,按現在數學的分支來區別中國數學的內容和成就是有些困難的。但不這樣做,也會給認識中國數學帶來不便。本書仍采取將《九章算術》的成就分成算術、代數和幾何三個方麵敘述的辦法,以方便讀者。
1.《九章算術》的算術成就
《九章算術》的算術成就包括分數運算、各種比例問題和盈不足術三個方麵。
分數運算《九章算術》中的分數內容主要在方田章,其中有“約分”、“合分”(加法)、“減分”(減法)、“乘分”(乘法)、“經分”(除法)、,“課分”(分數的大小比較)、“平分”(求分數平均數)等。“約分”和現在的約分一樣。為什麼要約分,書中說,因為“不約則繁,繁則難用”,所以要約分。約分的方法是:“可半者半之,不可半者,副置分母、子之數,以少減多,更相減損,求其等也,以等數約之。”可半者半之,即如分子分母均為偶數,則可先以2約分。不可半者,則采用更相減損術先求等數(即公因子),然後用等數約之。副,另放一旁的意思。
例如:約分4991。先用算籌布列如(a),然後上下兩數交互相減,最後得(d)式。7是上下之等數,用等數約之,即得4991=713
49
91(a)→49
42(b)→7
42(c)→7
7(d)
現代算術書中求二整數的最大公約數的輾轉相除法,可以說是“更相減損術”的另一形式。
“通分”,一般采用分母的乘積作公分母,如:
13+25=515+615=1115(方田章第7題)
12+23+34+45=60120+80120+90120+96120=326120=286120=24360(方田章第9題)
但也有幾題是用最小公倍數作公分母的,例如:
1+12+13+14+15+16+17=420420+210420+140420+105420+84420+70420+60420=1089420(少廣章第6題)
“合分”,指分數加法。方法是:“母互乘子,並以為實,母乘為法,實如法而一。不滿法者,以法命之。其母同者,直相從之。”
“實”是被除數(即分子),“法”是除數(即分母),分母乘分子,加起來作為被除數,分母相乘作為除數。“實如法而一”,常指除法運算。即
ab+cd=ad+bcbd
“其母同者,直相從之”的意思是:如果分母相同,就直接將分子相加。
後來劉徽在注裏說:“凡母互乘子謂之齊,群母相乘謂之同。”所以這種方法叫做“齊同術”。
此外,還有“減分”、“乘分”、“經分”等運算法則。大體上已和現在的算法一致。隻是通分時沒有明確要求用最小公分母。做乘法時,遇到帶分數相乘,須把帶分數化為假分數再乘,如方田章24題。
1857×23611=1317×25911=3392977=4404977=440711
《九章算術》中的經分是指分數的除法,一般是用通分來計算的,如方田章18題。
(613+34)÷313=(193+34)÷103=8512÷4012=8540=218
劉徽後來補充了一個法則,將除數的分子、分母顛倒而與被除數相乘。
總之,《九章算術》是世界數學史上最早係統敘述分數的著作。歐洲在15世紀以後,才逐漸形成了現代分數的算法,而且直到17世紀,多數算書在計算分數相加時都不要求用最小公倍數作分母。
關於分數的寫法,還有一件值得注意的事。我國古代用算籌來做除法,“實”(被除數)列在中間,“法”在下麵,“商”在上麵。除到最後,中間的實可能還有餘數,就列成下圖的樣子:
這種商數在上,餘數居中,除數置下的樣式也就成了中國古代數學中的帶分數形式。上式相當於6438483。
《孫子算經》(約4世紀)記述得很清楚:“凡除之法,……除得在上方。……實有餘者,以法命之,以法為母,實餘為子。”
印度人在三、四世紀時的分數記法也與中國一樣,113寫成113,也是把帶分數的整數部分寫在上麵。12世紀,印度數學家拜斯伽邏著《立拉瓦提》,也仍采用這種分數記法和算法,如3+15+13寫作311513,通分後變成4515315515。後來傳到中亞細亞,也將分子寫在上,分母寫在下。目前所發現的最早的分數線是在阿拉伯數學家阿爾·哈薩(約1175年)的著作中。按照他的寫法:
333589表示2+3+3589
阿拉伯文的書寫是從右到左。歐洲人早期也沿用這個習慣,式子也是從右到左,整數部分寫在分數的右邊,如將1212x寫成“radices1212”。
分數線和許多其他符號一樣,沒有馬上被大家采用。14世紀中葉還有用31-15表示35的。為了節省地方,法國人棣麼甘推薦用a/b表示ab。這種記法在18世紀末葉已經出現。
現在通常采用的分數寫法,開始於明末西洋筆算傳入中國之時,當時曾有將分母放在分子上的記法。直到清末新式學校中的算術課本才采用現在的寫法。
各種比例問題在《九章算術》衰分章、均輸章、勾股章中都有不少比例問題。
《粟米》章一開始就列舉了各種糧食的互換比率。“粟米之法:‘粟米五十,糲米三十、粺米二十七、米二十四……’”這就是說:穀子五鬥可換糙米三鬥,又可換九折精米二鬥七升,八折精米二鬥四升……粟米章內許多糧食之間的兌換關係均按這個比率計算。如:
粟米章第1題:“今有粟米一鬥,欲為糲米,問得幾何?”它的解法是:“以所有數乘所求率為實,以所有率為法,實如法而一。”這裏,所有數是粟米1鬥(10升),所有率是5,所求率是3。於是依術10×3÷5=6升。這種算法叫“今有術”。“今有術”就是比例,是從關係式:
所有率(a)∶所求率(b)=所有數(c)∶所求數(x)解出x=bca的一個方法。
“今有術”的名稱一直沿用到清代,後來才改稱“比例”。劉徽在《九章注》中,對這個解法作了進一步說明,大致說:“今有術”求所求數時,是將所有數乘上一個比率,這個比率是一個以所求率為分子、所有率為分母的分數。
當然,上麵隻是一個簡單的比例問題,在衰分、均輸、勾股各章中還有許多較複雜的比例問題,也都用“今有術”求解。
例如,衰分章第17題:“今有生絲三十斤,幹之耗三斤十二兩,今有幹絲十二斤,問生絲幾何?”這個問題的解法是,以幹絲12斤為所有數,以30×16=480兩為所求率,以480-60(3斤12兩=60兩)=420兩為所有率,求得原來生絲12×480÷420=1357斤。
另外,還有現在所謂的複比例問題和鏈鎖比例問題,也都用“今有術”解決。比例分配問題也可用“今有術”解決。如衰分章第2題:“今有牛、馬、羊,食人苗,苗主責之粟五鬥,羊主曰,我羊食半馬(所食)。馬主曰,我馬食半牛(所食)。今欲衰償之(按一定比例遞減賠償)問各出幾何?”依照羊主人、馬主人的話,牛、馬、羊所食粟相互之比率是4∶2∶1,就是用4、2、1各為所求率,4+2+1=7為所有率,粟米50升為所有數,以“今有術”演算得牛主人應償44507=2847升,馬主人應償1427升,羊主人應償717升。
“今有術”是從三個已知數求出第四個數的算法,7世紀時在印度為婆羅摩笈多所知,稱之為“三率法”。後來三率法傳入阿拉伯,再由阿拉伯傳到歐洲,仍保持三率法的名稱。歐洲商人十分重視這種算法,叫它為“金法”,意思是賺錢的算法。可見歐洲人對這種算法的推崇。
“今有術”與歐幾裏得《幾何原本》中的比例法的作用是相同的。不過,“今有術”沒有明確其中有一個比例的問題,也沒有把所有率所有數=所求率所求數這一關係明確揭示出來。
盈不足術盈不足術是我國古代解決盈虧問題的普遍方法。例如盈不足章第1題:“今有(人)共買物,人出八盈三,人出七不足四,問人數物價各幾何?”答曰;七人,物價五十三。
《九章算術》解這類問題有一個公式。設每人出a1盈b1,每人出a2不足b2,u為人數,v為物價,則u=b1+b2a1-a2v=a2b1+a1b2a1-a2公式來源沒有闡明,後來劉徽注作了解釋,用現代算式表示是這樣的:v=a1u-b1(1)
v=a2u+b2(2)以b2×(1),以b1×(2),相加得(b1+b2)v=(b2a1+b1a2)u因而vu=b2a1+b1a2b2+b1又(1)(2)二式相減得(a1-a2)u-b1-b2=0故u=b1+b2a1-a2v=a1b1+b1a2a1-a2每人應出錢vu=b2a1+b1a2b1+b2(*)公式(*)很有用,《九章算術》中許多不屬盈虧類問題,就是將它轉變為盈不足問題,爾後用這個公式解決的。為什麼不屬盈虧類問題,也可用盈不足術解決呢?因為一般算術問題都應有其答數,如果我們任意假定一個數值作為答數,依題驗算,那麼必然出現兩種情況:一是算得的一個結果和題中表示這個結果的已知數相等,這就是說,答數被猜對了。假設驗算所得結果和題中的已知數不符,而相差的數量或是有餘或是不足,於是通過兩次不同的假設,就可以把原來的問題改造成為一個盈虧類的問題。按照盈不足術,就能解出所求的答數來。
例如盈不足章第13題:“今有醇酒一鬥值錢五十,行酒一鬥值錢一十。今將錢三十得酒二鬥,問醇、行酒各得幾何?”該題的解法是:
“假令醇酒五升,行酒一鬥五升,有餘(錢)一十;令醇酒二升,行酒一鬥八升,不足(錢)二。”這假設是有根據的,因設醇酒5升,則行酒必為20-5=15升,值錢數為5×5+15×1=40,比題中的錢30多10;又設醇酒2升,則行酒為20-2=18升,共值錢為2×5+18×1=28,比30不足2。
按盈不足公式(*),得醇酒數應是5×2+2×102+10=3012=212,因而行酒是20-212=1712。如求行酒數也用公式,則15×2+18×102+10=1712,結果一樣。
從現今的數學來解釋,這類問題的實質是求根據題中所給的條件列出的方程的根。假設所列的方程是f(x)=0,因而問題又相當於求曲線y=f(x)與x軸交點的橫坐標。
先估計問題的兩個近似答案x1、x2,它們對應的函數值是y1=f(x1)、y2=f(x2),過A點(x1、y1)、B點(x2,y2)作直線,方程為y-y2=y1-y2x1-x2(x-x2)交OX軸於(x′,0),其中x′=x1y2-x2y1y2-y1就是方程f(x)=0的根。
作圖求近似解如果f(x)是一次函數,x′就是f(x)=0的根的真值,如果不是一次函數,x′是近似值,累次運用這種方法,可以逐步逼近真值。這種方法現在解高次代數方程或超越方程常用到。設f(x)是一個在區間[a1,a2]上的單調連續函數,f(a1)=b1和f(a2)=b2正負相反,那麼,方程f(x)=0在a1、a2間的實根約等於a2f(a1)-a1f(a2)f(a1)-f(a2)可見,“盈不足術”實際上就是現在的線性插值法。它還有許多名稱,如試位法,夾叉求零點,雙假設法等等。
2.《九章算術》的幾何成就
《九章算術》的幾何成就包括麵積與體積計算,勾股問題以及勾股測量三個方麵。
麵積與體積麵積與體積的計算起源很早,《九章算術》將它放在第一章,另外,商功章內有體積計算問題。
我國古代的幾何圖形麵積計算是直接從測量田畝的實踐中產生的,因此幾何圖形的名稱從田地的形狀得來。如“方田”、“圭田”、“直田”、“邪田”(或“箕田”)、“圓田”、“弧田”、“環田”等,分別表示正方形、三角形、長方形、梯形、圓、弓形、圓環等。
《九章算術》對上述各種圖形都有計算公式。
如“圭田術曰:半廣以乘正從”。意思是,計算三角形麵積的方法是底長之半乘高。
直角梯形的田,叫做“邪田”。邪是斜的意思。其求麵積方法是“並兩斜而半之以乘正從。”“並兩斜而半之”是指:上底加下底之和的一半,麵積公式用算式表示是S=12(a+b)h。
一般梯形叫做“箕田”,因為它可以看作是兩個等高的邪田合成,所以麵積計算公式,仍然是12(上底+下底)×高。
圓麵積計算公式,見之於圓田術,“術曰:半周半徑相乘得積步。”“積步”就是以平方步為單位的麵積,圓麵積=半周×半徑=2πr2·r=πr2。這一公式是完全正確的。但在求周長的時候,《九章算術》用“周三經一”的比率,即取π=3,這自然隻能得出近似值。
弓形圖解《九章算術》另有弓形的麵積公式:A=12(bh+h2)原文是:“術曰:以弦乘矢(bh),矢又自乘(h2),並之二而一(加起來被2除)。”公式的來源沒有說明。有人作如下的推測:
12bh是△ABD的麵積,再加上兩個小弓形,就拚成所求的弓形ADB。根據實測或估計,這兩個小弓形大約等於以h為邊的正方形麵積之半,從而得出上麵的公式。這種推測不甚合理,因為把兩個小弓形看作以h為高的正方形麵積之半,這一思想沒有認識基礎,人們要問為什麼不把二個小弓形看作二個以h為高的正方形呢?這種推測無非是從關係式12(bh+h2)=12bh+12h2推演出來的。其實《九章算術》是把弓形近似地當作半圓來計算的。劉徽就指出過這一點,並且說“若不滿半圓者,益複疏闊(誤差就更大了)。”劉徽還指出可用類似“割圓術”的方法來修正公式。盡管如此,後世的學者竟一直沒有給予重視。
《九章算術》的體積公式主要見之於商功章,其中有:
①平截頭楔形——剖麵都是相等的梯形。設上、下廣是a和b,高或深是h,長是c,那麼體積為V=12(a+b)hc古代稱這種圖形為“城、垣、堤、溝、塹、渠”,這是因為這些東西的形狀都是平截頭楔形的緣故。
②“塹堵”——有兩個麵為直角三角形的正柱體。設直角三角形的兩邊為a和b,塹堵的高為c,則體積為:V=12abc平截頭圖形塹堵
陽馬③“陽馬”——底麵為長方形而有一棱和底麵垂直的錐體,它的體積是V=13abc④“鱉臑”——底麵為直角三角形而有一棱和底麵垂直的錐體,它的體積是V=16abc劉徽用割補法證明了這三個體積公式。
鱉臑正方錐體
方亭⑤正方錐體,由於它可以分解成四個陽馬,故正方錐體體積是底麵積乘高的13,即V=13a2h⑥“方亭”——正方形棱台體,設上方邊為a,下方邊為b,台高為h,則體積V=13(a2+b2+ab)·h芻童⑦“芻童”——上、下底麵都是長方形的棱台體,設上、下底麵為a1×b1和a2×b2,高為h,則體積
V=16[(2a1+a2)b1+
(2a2+a1)b2]h
⑧“芻甍”——像草房頂的一種楔形體,體積為V=16ha(2b+c)⑨“羨除”——三個側麵不是長方形而是梯形的楔形體。設一個梯形的上、下廣是a、b,高是h,其他二梯形的公共邊長c,這邊到梯形麵的垂直距離是l,則體積為V=16(a+b+c)×hl勾股問題見於勾股章,它主要討論三方麵問題,即用勾股定理解應用題;勾股容圓和勾股容方問題;勾股測量問題。
芻薨羨除
①用勾股定理解應用題。勾股章第1題到第14題是利用勾股定理解決的應用問題,如第6題:“今有池方一丈,葭生其中央,出水勾股解題一尺。引葭赴岸,適與岸齊。問水深、葭長各幾何?答曰,水深一丈二尺;葭長一丈三尺。”
解題方法是應用關係式:
b=a2-(c-b)22(c-b)
其中a=5,c-b=1
這類問題對中國乃至世界數學史有相當的影響。
在中國,《張邱建算經》(466—485年之間),朱世傑的《四元玉鑒》(1303),明朝程大位的《算法統宗》(1593)都有類似的題目。
在國外,印度拜斯伽邏(Bhaskara 1114—1186)所著的《立拉瓦提》(1150)中有一個蓮花問題與上述相仿。這是一個用詩的形式表達的數學題:
平平湖水清可鑒,麵上半尺生紅蓮;
出泥不染亭亭立,忽被強風吹一邊。
漁人觀看忙向前,花離原位二尺遠
能算諸君清解題,湖水如何知深淺?
阿拉伯數學家阿爾·卡西著《算術之鑰》(1424),書中也有類似的一道題:“一茅直立水中,出水1尺,風吹茅沒入水中,茅頭恰在水麵上,茅尾端留原位不動,茅頭與原處相距5尺,求茅長。”
英國傑克森著《十六世紀的算術》也談到這種題目:“一根蘆葦生在圓池中央,出水3尺,池寬12尺,風吹蘆葦莖尖剛好碰到池邊水麵,問池深多少?”
通過這些題目,可見《九章算術》在世界數學史上的影響。
②勾股容圓和勾股容方問題。所謂勾股容方是求一直角三角形內所容的正方形的邊長問題,這問題比較容易,《九章算術》的答案是x=ab/a+b。
勾股容方勾股容圓
勾股容圓是求直角三角形的內切圓的直徑。如《九章算術》勾股章第16題:“今有勾八步,股十五步,問勾中容圓徑幾何?”《九章算術》的解題公式是:
d=2ab/a+b+c
在劉徽注中,給出了這個公式的一個證明。
勾股容圓問題,後來在13世紀李冶的《測圓海鏡》中作了更深入的研究,成為一個專門的數學內容。
勾股測量③勾股測量問題。勾股章有測量問題8個(從17~24題),這些問題都有明確的解題公式,但沒有解釋公式的來源。用相似形原理很容易導出這些公式,但中國古代並沒有相似概念,據推是用割補原理得出的。如第24題:“今有井徑五尺,不知其深,立五尺木於井上,從木末望水岸,入徑四寸,問井深幾何?”
已知CB=CA=5尺=50寸,CD=4寸,求井深BP,按《九章算術》文,解得
BD=CB-CD=50-4=46寸
BP=BD·CACD=46×54=5712尺
勾股求高又如第23題:“有山居木西,不知其高。山去木五十三裏,木高九丈五尺。人立木東三裏,望木末適與山峰斜平。人目高七尺,問山高幾何?”
已知RB=53裏,CA=3裏,CB=95-7=88尺,EB=95尺,求山高QP
依術計算得
QP=CB×RBCA+EB=88×533+95=164923尺
《九章算術》中的勾股測量問題都是通過一次測量就能獲解的問題。如果目標物是一個不可到達的地方,那麼用一次測量就不可能解決問題,必須要兩次測量才行。這種通過兩次測量的辦法,東漢數學家稱之為“重差術”。
3.《九章算術》的代數成就
《九章算術》代數部分成就主要有三個方麵:開平方、開立方;開帶從平方;“方程”和正負術。這三個方麵成就都是當時世界最先進的。
開平方、開立方《九章算術》少廣章記載了完備的開平方和開立方的演算步驟。這一方法不僅直接解決了開平方和開立方的問題,而且它作為一般的開方法的基礎,為後來我國求高次方程數值解方麵取得輝煌成就奠定了基礎。
《九章算術》的開平方與開立方方法與現在通用的方法一致。都是(a+b)2=a2+2ab+b2,以及(a+b)3=a3+3a2b+2ab2+b3兩個恒等式的應用,其過程也與今天一樣。
在公元500年印度數學家阿耶婆多給出開平方之前,世界數學史上除《九章算術》之外再也沒有係統而完整的開平方法了。而阿耶婆多著作中的許多內容都與我國古代數學相似。
被開方數是一個分數時,《九章算術》說,若分母開得盡,則ab=ab,若開不盡,則ab=abb。
除了開平方術,開立方術外,還有“開圓術”。“開圓”是從圓麵積求圓周的方法。設已知圓麵積A,圓周長為L=2πr=4πA。《九章算術》采用π=3,故L=12A。可見公式在理論上是正確的。
“開立圓”是從“立圓”(球)體積,求直徑的方法。用的公式是d=316V9(d是直徑,V是體積)。
這個公式誤差很大,後來祖衝之父子求得d=36Vπ,這是中國數學史上一個傑出的成就。
開帶從平方前麵指出《九章算術》開平方是利用恒等式(a+b)2=a2+2ab+b2。當初商a確定之後,求次商b時,是利用了等式(a+b)2-a2=2ab+b2即b2+2ab=(a+b)2-a2等式右端是已知數。因此,求b的過程實際上是解形如x2+kx=N的方程,求其正根。
這種有一個正的一次項跟在二次項後麵的二次方程,中國古代稱之為開帶從平方式,其中一次項叫做“從法”,解這個方程就是開帶“從法”的平方,簡稱為“開帶從平方”。由於開平方的過程,實際上已經包含了開帶從平方,因此可以說《九章算術》已經解決了求形如x2+kx=N方程的正的數值根問題。
“方程”和正負術《九章算術》中的“方程”與現在的方程意義不同,它不是指含有未知數的等式,而是指根據一定規則由數字排列而成的呈方形的程式。以方程章第1題為例:“今有上禾三秉,中禾二秉,下禾一秉,實三十九鬥;上禾二秉,中禾三秉,下禾一秉,實三十四鬥;上禾一秉,中禾二秉,下禾三秉,實二十六鬥。問上、中、下禾實一秉各幾何。”如用現在的設未知數列方程組的辦法,列出的方程組是:3x+2y+z=39(1)
2x+3y+z=34(2)
x+2y+3z=26(3)中國古代沒有設未知數的習慣,而是直接用算籌將數目列在籌算板或者桌麵上,像上麵這個問題,列出的籌式如下圖所示。
這種算式似乎是分離係數法的體現,其實不是,它是按某種比率關係建立起來的數字陣。(參見李繼閔《九章算術》與劉徽注中的方程理論)
解這個“方程”用的是“直除法”。具體說,是將(a)式上禾的秉數3遍乘(b)式各項,得6、9、3、102,然後兩次減去(a)式對應各數,得0、5、1、24,又用3遍乘(c)式各數,得3、6、9、78,減去(a)式對應各數得0、4、8、39。
籌式圖經如此步驟,上圖成為下圖。(b)和(c)相當於:5y+z=24
4y+8z=39再消去一元就可以得到答案。即用(b)式中禾的秉數5遍乘左行(c)式得20、籌式圖40、195;四次減去(b)式對應的數字5、1、24得0、36、99;以9約之,得0、4、11,這樣得到下圖。中,(c)式相當於4z=11,於是z=114。為求中禾和上禾一秉的實,再如上用遍乘直除的方法。