1800BC - 巴比倫方程#
案件摘要#
約公元前 1800 年,美索不達米亞的抄寫員在泥板上留下了解方程的「犯罪紀錄」:Plimpton 322 記載了畢氏三元數表,BM 13901 記載了二次方程的系統解法。這是人類史上最早的代數案件——比「代數」一詞的誕生早了近三千年。
前因 -- 為什麼會有這個案子#
- 土地測量與建築:尼羅河與兩河流域的洪水沖刷田界,重測土地需要計算面積與邊長,常常導出「已知面積與邊長關係,求邊」的問題。
- 抄寫員學校(edubba):寺廟學校訓練書吏,習題集就是「教科書」,泥板上的題目與解法示範即為教學材料。
- 六十進位制:巴比倫人使用 base-60 記數(今天一小時 60 分、一分 60 秒即其遺跡),分數運算極為方便,使複雜計算可行。
線索與推理 -- 數學式、程式、理論#
線索一:BM 13901 的「配方」解法#
泥板上的問題是文字敘述的,例如:「正方形面積與邊長之和為 \(\frac{3}{4}\) ,求邊長。」即
\[ x^2 + x = \frac{3}{4} \]
巴比倫書吏的解法(翻譯成現代符號)是:
- 取係數的一半: \(\frac{1}{2}\)
- 自乘: \(\left(\frac{1}{2}\right)^2 = \frac{1}{4}\)
- 加上常數: \(\frac{1}{4} + \frac{3}{4} = 1\)
- 開方: \(\sqrt{1} = 1\)
- 減去係數的一半: \(1 - \frac{1}{2} = \frac{1}{2}\)
這正是配方法(completing the square):
\[ x^2 + bx = c \;\Rightarrow\; x = \sqrt{\left(\frac{b}{2}\right)^2 + c} - \frac{b}{2} \]
泥板原文沒有任何符號,每一步都是「取……」「自乘……」的文字指令,並附具體數字驗算。書吏只給出正根——因為「邊長」不能是負的,而負數概念當時根本不存在。
線索二:Plimpton 322 的畢氏三元數表#
這塊著名泥板是一張表,列著 \((a, b, c)\) 滿足
\[ a^2 + b^2 = c^2 \]
的整數組(畢氏三元數),如 \((3,4,5)\) 、 \((5,12,13)\) 、 \((119,120,169)\) ……最令人震驚的是:這些三元數按 \(\frac{c}{b}\) (餘弦的倒數)由大到小精確排序,且數值是精確的六十進位有限小數。
推理:古巴比倫人很可能知道參數公式
\[ a = 2uv, \quad b = u^2 - v^2, \quad c = u^2 + v^2 \]
其中 \(u, v\) 是「互為倒數」的六十進位正則數(只含 2, 3, 5 的質因數),這保證了表中的數都是精確有限小數。這暗示他們掌握了一種系統性的生成演算法,而非瞎猜。
線索三:無符號、無零的代數#
- 沒有等號、沒有未知數記號、沒有負號、沒有零(位置記數中留空代表零,但零不是一個「數」)。
- 所有方程都靠「說」:『我減去一個正方形面積的三分之一……』
- 這種修辭代數(rhetorical algebra)依然能表達一般方法,證明「代數思維」先於「代數符號」存在。
Python 重現:巴比倫式二次方程#
import math
def babylon_quadratic(b, c):
"""解 x^2 + b*x = c(巴比倫配方解法,僅回傳正根)"""
half = b / 2
s = math.sqrt(half**2 + c) # 開方
x = s - half # 減去係數一半
return x
# BM 13901 原題:x^2 + x = 3/4
x = babylon_quadratic(1, 0.75)
print(f"邊長 x = {x}") # 0.5
print(f"驗算 x^2+x = {x**2 + x}") # 0.75
# 生成畢氏三元數(Plimpton 322 的方法)
def pythagorean_triple(u, v):
return (2*u*v, u*u - v*v, u*u + v*v)
print(pythagorean_triple(12, 5)) # (120, 119, 169) —— 泥板中的一列
結案 -- 後果與影響#
- 結案陳詞:這是史上最早的代數案件。罪證確鑿——泥板上的配方步驟與今日課本一致,只是「兇手」用文字而非符號犯案。
- 配方法經希臘(幾何代數化)、阿拉伯(al-Khwarizmi)一路傳承,最終成為韋達、笛卡兒符號代數中的一元二次方程求根公式
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
- Plimpton 322 證明畢氏定理在畢達哥拉斯之前一千多年就已被數值化掌握。
- 巴比倫六十進位制至今仍活在我們的時鐘與經緯度中。
關鍵人物與文獻#
- 匿名巴比倫書吏:真正的「第一位代數學家」,連姓名都沒留下。
- Plimpton 322(哥倫比亞大學藏):畢氏三元數表,約 1800 BC。
- BM 13901(大英博物館藏):二次方程習題集,約 1800 BC。
- Neugebauer, O. The Exact Sciences in Antiquity, 1952 —— 現代亞述學對這些泥板的權威解讀。