1.1 兩千年前的消去法:《九章算術》的方程術#
一道漢代的應用題#
《九章算術》第八章「方程」的第一題,今天讀來像一份物價表:
今有上禾三秉,中禾二秉,下禾一秉,實三十九斗;上禾二秉,中禾三秉,下禾一秉,實三十四斗;上禾一秉,中禾二秉,下禾三秉,實二十六斗。問上、中、下禾實一秉各幾何?
翻譯成現代語言:上等禾三捆加中等禾二捆加下等禾一捆,共得糧三十九斗,等等。設上、中、下禾每捆各產 \(x, y, z\) 斗,就是三元一次聯立方程組:
漢代官吏怎麼解?書中寫道:「置上禾三秉,中禾二秉,下禾一秉,實三十九斗,於右方。」——把係數排成長方形的三行數表。這正是矩陣的列。接著用「偏乘」「直除」:某行乘一個數,再逐項從另一行減去,消掉其中一個未知數。
這就是高斯消去法的完整程序——比高斯早了將近兩千年。
為什麼是中國?#
方程術不是純思維的產物,而是國家治理的工具。秦漢帝國的規模史無前例:數千萬人口、統一的貨幣與度量衡、以糧穀實物計算的賦稅體系。中央政府每年要處理的,正是「上等田若干畝收若干、調撥若干、剩餘若干」這類線性關係。
《九章算術》的編纂者很可能就是政府的計算官員。全書九章——方田、粟米、衰分、少廣、商功、均輸、盈不足、方程、勾股——幾乎每一章都對應一項行政與工程事務:土地丈量、糧食換算、勞役分攤、築城造渠。數學在這裡從誕生起就是官僚技術,而聯立方程,正是「多個約束同時成立」這種治理問題的數學化身。
劉徽的註解:看不見的證明傳統#
西元 263 年,魏國數學家劉徽為《九章算術》作註。他不滿足於背誦算法,而是追問「為什麼這樣做是對的」。他解釋「直除」的道理時說:
「舉率以減數,損益數少,而所得數多。」
並提出「互乘相消」——兩行交叉相乘再相減,可以避免分數。這其實是把消去法推向更接近現代教科書的形式。劉徽甚至討論了方程組的「正負術」,明確定義正負數的加減法則,比歐洲接受負數早了一千多年。
可惜的是,中國數學後來沒有發展出符號代數。方程術始終停留在具體數字的演算法層面——它是一門「術」,而不是一門「理」。這是制度環境的結果:官僚體系需要的是能用的程序,而非抽象結構。
東西方的匯流#
《九章算術》經朝鮮、日本傳入東亞數學圈。日本江戶時代的和算家深研「方程」,催生了 1.2 節的主角關孝和。而在西方,消去法要到十八世紀才由歐拉、克拉默等人逐步發展,高斯在十九世紀初把它系統化。
兩千年前,一位漢代小吏在算板上擺出三行數字,逐行相消。他做的事,與今天超級電腦解百萬階方程組的核心演算法,在本質上完全相同。數學觀念可以跨越文明的時間,等待技術條件成熟的那一天。
timeline
title 方程術的長河
約前200-100年 : 《九章算術》成書<br>方程術用算籌消去未知數
263年 : 劉徽作註<br>提出互乘相消與正負術
1247年 : 秦九韶《數書九章》<br>聯立方程傳統延續
1683年 : 關孝和研究方程<br>走向行列式
1810年 : 高斯系統化消去法<br>用於大地測量
1946年後 : 電子計算機<br>消去法成為科學計算核心歷史迴響#
下一章我們會看到:行列式——這個被法國數學家視為歐洲發明的工具——其實在東亞的方程術傳統裡早有萌芽。而「把係數排成表、按規則操作」這個想法,最終成長為整個矩陣理論。