計算機程式又為數學家立功了。
最近,來自美國、加拿大、瑞士的4位數學家,用C++和MATLAB程式解出了一個6元105項方程的59組特殊解。
求解完這個方程,也就證明了“有理四面體”(rational tetrahedra)總共只有59個“特殊”形狀和2個系列,從而解決了一個44年的數學難題,
而提出這一難題的,正是去年因covid19而去世的著名數學家約翰·康威(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,否則無解。