電腦立大功!數學家靠 C++、MATLAB,成功破解 44 年「有理四面體」難題

本文經 AI 新媒體量子位(公眾號 ID:QbitAI)授權轉載,轉載請連繫出處
作者:量子位

電腦程式又為數學家立功了。

最近,來自美國、加拿大、瑞士的 4 位數學家,用 C++  和 MATLAB 程式解出了一個 6 元 105 項方程的 59 組特殊解。

求解完這個方程,也就證明了「有理四面體」(rational tetrahedra)總共只有 59 個「特殊」形狀和 2 個系列,從而解決了一個 44 年的數學難題。

而提出這一難題的,正是去年因新冠而去世的著名數學家約翰·康威(John Conway)。

△ 59 個「有理四面體」單獨解(圖片來自:QuantaMagazine)

1976 年,康威給出了求解該問題的方程。1995 年,兩位數學家找到了其中 59 組特殊解,但是他們不確定有沒有遺漏。

△ 有理四面體具有兩組「連續」解和 59 組單獨解

得益於電腦硬體的發展,現在只用 MacBook Pro 和幾台至強 CPU 電腦,在幾天內就完成了對所有解的搜索。

結果證明,那兩位數學家在 20 多年前其實已經得到了完整的答案。

什麼是有理四面體?

四面體,顧名思義,就是四個三角形圍成的立體圖形。

四面體每兩個面之間都組成一個二面角。四面體有 6 條棱,因此有 6 個二面角。

△ 四面體中有 6 個二面角(圖片來自 Poonen 手稿)

有理四面體是指四面體中的 6 個二面角都是有理數角度(與 180° 角的比值是有理數)。

就好像三角形的內角和公式數學公式: a+b+c=180°一樣,四面體的 6 個二面角之間也有一種關係,只不過這種關係要複雜得多。

定義 θij 為四面體第 i 個面與第 j 個面的夾角(顯然 θ ij =θ ji),那麼這 6 個二面角之間的關係可以行列式表示為:

因為是有理四面體,所以 θ ij =Qπ(弧度),Q 是有理數。

我們把行列式展開後,會得到一個包含 17 項的方程,而且方程中還有餘弦函數,求解難度很大。

但是數學家們想到了一個巧妙的化簡方法。

歐拉公式

接下來,數學家們用到了「最美數學公式」——歐拉公式——來簡化方程。

歐拉公式將複數(實數+虛數)的指數函數與三角函數聯繫起來:

i 是虛數,即 -1 的平方根。如果用圖像的方式理解歐拉公式,那就是:

很顯然,無論 θ 值如何變化,e iθ 到 0 點的距離一定是 1。

所以如果我們定義複數:

那麼這個複數一定是在以原點為圓心,半徑為 1 的圓上。

△ 方程 z 5 =1 的 5 個解都在單位圓上

現在,方程裡的三角函數可以用複數來替代了:

這樣,上面的行列式從一個三角函數方程變成了一個多項式方程:

但問題也隨之而來,這個方程總共有 105 項,而且是一個 6 元方程!不過好消息是,我們知道這 6 個未知數都在那個半徑為 1 的圓上(稱作「單位根」)。

巧妙的是,複數 z ij 與 x 軸的夾角 θ ij 正好就是四面體的二面角,因此這些解不僅在圓上,與 x 軸夾角也必須是 π 弧度的有理數倍。

1995 年,在那個沒有性能強勁 PC 的年代,來自 UC 伯克利的 Poonen 和滑鐵盧大學的 Rubinstein 通過插入六個有理數的組合,來猜測這個方程的解,他們總共找到了 59 組。

這樣做帶來一個問題是:可以找到解,但是不能保證把所有解一網打盡。

一次數學家之間,偶然的碰撞

問題一擱置就是 20 多年,直到去年 3 月,Poonen 參加了一次講座。

在那一次的講座上,研究數論的數學家 Kedlaya 介紹了自己的工作:搜索了不同多項式方程的單位根。

這不就和尋找「有理二面體」的問題等價嗎?

Poonen 很快就給 Kedlaya 發郵件,說明自己的來意:你們研究的「正是我在 1990 年代需要的東西」。

收到郵件後,Kedlaya 與另一位研究單位根的數學家 Kolpakov 取得了聯繫。另一邊,Poonen 也聯繫上了他當年的的老搭檔 Rubinstein。