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