計算機搞定44年幾何難題:原來這2個人25年前猜對了
計算機程序又為數學家立功了。最近,來自美國、加拿大、瑞士的4位數學家,用C++和MATLAB程序解出了一個6元105項方程的59組特殊解。求解完這個方程,也就證明了“有理四面體”(rational tetrahedra)總共只有59個“特殊”形狀和2個系列,從而解決了一個44年的數學難題。
而提出這一難題的,正是去年因新冠而去世的著名數學家約翰·康威(John Conway)。
△ 59個“有理四面體”單獨解
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的平方根。如果用圖像的方式理解歐拉公式,那就是:
很顯然,無論θ值如何變化,eiθ到0點的距離一定是1。
所以如果我們定義復數:
那麼這個複數一定是在以原點為圓心,半徑為1的圓上。
△方程z5=1的5個解都在單位圓上
現在,方程裡的三角函數可以用複數來替代了:
這樣,上面的行列式從一個三角函數方程變成了一個多項式方程:
但問題也隨之而來,這個方程總共有105項,而且是一個6元方程!不過好消息是,我們知道這6個未知數都在那個半徑為1的圓上(稱作“單位根”)。
巧妙的是,複數zij與x軸的夾角θij正好就是四面體的二面角,因此這些解不僅在圓上,與x軸夾角也必須是π弧度的有理數倍。
1995年,在那個沒有性能強勁PC的年代,來自UC伯克利的Poonen和滑鐵盧大學的Rubinstein通過插入六個有理數的組合,來猜測這個方程的解,他們總共找到了59組。
這樣做帶來一個問題是:可以找到解,但是不能保證把所有解一網打盡。
一次偶然的碰撞
問題一擱置就是20多年,直到去年3月,Poonen參加了一次講座。
在那一次的講座上,研究數論的數學家Kedlaya介紹了自己的工作:搜索了不同多項式方程的單位根。
這不就和尋找“有理二面體”的問題等價嗎?
Poonen很快就給Kedlaya發郵件,說明自己的來意:你們研究的“正是我在1990年代需要的東西”。
收到郵件後,Kedlaya與另一位研究單位根的數學家Kolpakov取得了聯繫。另一邊,Poonen也聯繫上了他當年的的老搭檔Rubinstein。
△聯手解決“有理四面體”的四位數學家
四人迅速組團,開始著手工作。
即便現在的計算機性能相比20多年前提升巨大,但想要找到一個6元105向方程的所有有理數解,還是不可能想像的。
必須要把搜索範圍進一步縮小。
首先,他們“化整為零”。
在新論文中他們證明了,這個105項的複雜多項式方程可以用多個更簡單的多項式表示,把這個6元方程轉化成了數百個簡單方程的集合。
尋找這些較簡單方程的單位根,比原方程的搜索範圍小得多。而且由於簡單的方程與復雜的方程之間的對應關係,找到一個方程的根,能幫助找到另一個方程的根。
搜索上限的問題解決了,但搜索的間隔還是太小,搜索空間依然很龐大,工作無法繼續。
然後,他們的第二步是,利用對稱性進一步壓縮搜索空間。
他們知道方程的解具有一定的對稱性,如果在區間的一部分上有解,那麼在區間的另一部分上也必須有解。
這樣一來,他們就可以開發出新算法,利用這種對稱性結構來更有效地進行搜索。
經過幾個月的努力,他們完成了任務的分解。除去編程,整個搜索只佔用了幾顆酷睿與至強處理器數小時的時間。
計算機終於找到了所有特殊解,真的只有59個!(另外還有兩組“連續”解。)
現在,他們的算法已經公佈在GitHub上。
2020年11月,四個數學家把論文發佈到arXiv上,44年後終於用計算機的方法完成了康威的願望。
也算是告慰了康威的在天之靈,他們在論文首頁上寫著:“In memory of John H. Conway”。
後續
解決這個問題後,Poonen本人親自撰寫了一篇科普文章,還和西蒙斯基金會聯合錄製了一段科普視頻。
Poonen列c出了三個重要的四面體問題,最早的要追溯到2300多年前亞里士多德的疑問:什麼樣的四面體能堆滿整個空間?
1900年,數學家大衛·希爾伯特給出了另一個疑問:什麼樣的四面體可以經過有限次的切割重組為一個等體積的立方體?
至於第三個問題,就是剛剛解決的有理二面體問題。而前兩個問題,人們現在還不知道答案。
如果非要問這個有理二面體有什麼實際價值,Poonen給出了一個有趣的案例:
假設我們要在一個星球上建造N個城市,讓這N個城市每兩個之間的距離都是有理數,那麼我們應如何規劃?
(注:指城市之間的球面距離與赤道周長的比值是有理數。)
△如何在星球上建造兩兩距離皆為有理數的城市(圖片來自Poonen手稿)
因為有理四面體問題的解決,現在這個問題有兩個方案:
一個是讓赤道上均勻分佈幾個城市,再把剩下兩座城市放在南極北極。
而如果想讓城市在星球上分佈得更均勻一點,也就是上圖右邊的方法,那麼N不能超過30,否則無解。