他往前走了兩步,手指在第一個標記點上點了點。
“對稱性識別這部分,你們目前用的是查表法吧。”
許銘點頭:“對,常見分子的點群我們是預先建了表,苯匹配D6h,水匹配C2v,氨匹配C3v,但遇到不在表裡的新分子,就只能靠人工判斷。”
“查表法對常見的分子夠用了,”肖宿說,“但是那些表裡沒有的結構,每遇到一個新分子就要停下來等人眼判斷,自動化流程在這裡就斷了。”
他走到白板前,拿起馬克筆,在上面畫了一個簡單的分子結構草圖,旁邊標註了它的對稱元素。
“分子點群的自動識別本質上是一個有限幾何判定問題。
對稱操作在笛卡爾座標系下可以表示成一組三乘三的矩陣,矩陣的跡和行列式決定了操作的型別。
只需要掃描這個分子的所有對稱操作,先找主軸,主軸方向取最高重旋轉軸,再找垂直於主軸的C2軸,然後判斷鏡面和反演中心的有無,最後根據這些對稱元素的組合關係就能直接判定點群。”
他在白板上寫了幾行簡潔的虛擬碼。
“這是標準做法,輸入是原子座標,輸出是點群標籤,覆蓋所有常見的分子點群只需要兩三百行程式碼。”
“至於多鞍點耦合收斂速度波動。”
他在白板上畫了幾個鞍點在辛流形上的空間分佈,以及從不同初值出發的最速下降路徑。
筆尖在路徑交叉的地方點了點。
“基礎版鞍點圓法在單鞍點場景下是全域性最優的,收斂速度有嚴格的理論保證,但是,在多鞍點場景下,多個鞍點各自的吸引域共享邊界,搜尋路徑在邊界附近會偶爾產生串擾,表現出來就是收斂曲線區域性抖動,個別初值需要額外的迭代步數。”
許銘聽到“吸引域共享邊界”的時候,眉頭微微皺了一下。
這個詞肖宿說得輕描淡寫,但許銘知道在多鞍點耦合體系裡,吸引域邊界的幾何結構本身就是高度非線性的。
他們之前排查收斂速度波動的時候,方清懷疑過是不是步長自適應引數設錯了,又或者收斂判據閾值太嚴了、初值分佈不均勻,可都不對,現在,全被肖宿一句話兜住了。
“解法也不復雜。”
肖宿在路徑交叉的區域畫了一條新的軌跡,沿著吸引域邊界的切線方向切了過去。
“只要在每一步鞍點搜尋之後加一個正交化步驟,把當前迭代步產生的搜尋方向向量與相鄰鞍點的搜尋方向做一次GraSchdt正交化,去掉重疊的分量,這樣每個搜尋方向都能嚴格位於自己吸引域的內部,不再受相鄰吸引域的梯度干擾了。”
他在白板上又寫了幾行推導。
正交化步驟的演算法邏輯很簡潔,核心是一個基於GraSchdt的路徑去冗餘操作,大約只需要四十行程式碼。
“那邊的定理四點二處理的是一個結構類似的多鞍點收斂問題,證明框架可以直接搬過來用,只需要把條件從緊流形放寬到非緊流形,證明的骨架不需要動。”
許銘站在白板前,把那張被畫滿了鞍點、路徑和虛擬碼的白板從頭看到尾。
方清試了好幾版補丁都沒壓住的多鞍點收斂波動,肖宿用四十行程式碼和一個正交化步驟就解決了,而且連收斂性的嚴格證明都已經在另一篇論文裡寫好了,只需要把條件從緊流形放寬到非緊流形,改一下前提條件就行。
而那個讓他糾結了好幾天的對稱性識別問題,甚至只需要一套標準的幾何判據流程就能解決。
剛才在報告廳裡被掌聲包圍的時候,許銘難免還有些飄飄然,畢竟,全球最快的第一性原理計算軟體,顛覆一個行業的工具,那可是他們做出來的,這換誰都不可能不激動的。
結果,他們驕傲的那些成績,在肖宿面前竟然全都是問題!
。來下了靜平就間瞬心的意得風春本原銘許
。氣口了嘆裡心在不他讓,了來回又力無的悉宿肖對面種那
”。哎“








