第338章 哎
肖宿看了一眼那两个標记点,跟他刚才在台下看资料时脑子里跑过的方向一致。
他往前走了两步,手指在第一个標记点上点了点。
“对称性识別这部分,你们目前用的是查表法吧。”
许铭点头:“对,常见分子的点群我们是预先建了表,苯匹配d6h,水匹配c2v,氨匹配c3v,但遇到不在表里的新分子,就只能靠人工判断。”
“查表法对常见的分子够用了,”肖宿说,“但是那些表里没有的结构,每遇到一个新分子就要停下来等人眼判断,自动化流程在这里就断了。”
他走到白板前,拿起马克笔,在上面画了一个简单的分子结构草图,旁边標註了它的对称元素。
“分子点群的自动识別本质上是一个有限几何判定问题。
对称操作在笛卡尔坐標系下可以表示成一组三乘三的矩阵,矩阵的跡和行列式决定了操作的类型。
只需要扫描这个分子的所有对称操作,先找主轴,主轴方向取最高重旋转轴,再找垂直於主轴的c2轴,然后判断镜面和反演中心的有无,最后根据这些对称元素的组合关係就能直接判定点群。”
他在白板上写了几行简洁的偽代码。
“这是標准做法,输入是原子坐標,输出是点群標籤,覆盖所有常见的分子点群只需要两三百行代码。”
“至於多鞍点耦合收敛速度波动。”
他在白板上画了几个鞍点在辛流形上的空间分布,以及从不同初值出发的最速下降路径。
笔尖在路径交叉的地方点了点。
“基础版鞍点圆法在单鞍点场景下是全局最优的,收敛速度有严格的理论保证,但是,在多鞍点场景下,多个鞍点各自的吸引域共享边界,搜索路径在边界附近会偶尔產生串扰,表现出来就是收敛曲线局部抖动,个別初值需要额外的叠代步数。”
许铭听到“吸引域共享边界”的时候,眉头微微皱了一下。
这个词肖宿说得轻描淡写,但许铭知道在多鞍点耦合体系里,吸引域边界的几何结构本身就是高度非线性的。
他们之前排查收敛速度波动的时候,方清怀疑过是不是步长自適应参数设错了,又或者收敛判据閾值太严了、初值分布不均匀,可都不对,现在,全被肖宿一句话兜住了。
“解法也不复杂。”
肖宿在路径交叉的区域画了一条新的轨跡,沿著吸引域边界的切线方向切了过去。
“只要在每一步鞍点搜索之后加一个正交化步骤,把当前叠代步產生的搜索方向向量与相邻鞍点的搜索方向做一次gram-schmidt正交化,去掉重叠的分量,这样每个搜索方向都能严格位於自己吸引域的內部,不再受相邻吸引域的梯度干扰了。”
他在白板上又写了几行推导。
正交化步骤的算法逻辑很简洁,核心是一个基於gram-schmidt的路径去冗余操作,大约只需要四十行代码。
“那边的定理四点二处理的是一个结构类似的多鞍点收敛问题,证明框架可以直接搬过来用,只需要把条件从紧流形放宽到非紧流形,证明的骨架不需要动。”
许铭站在白板前,把那张被画满了鞍点、路径和偽代码的白板从头看到尾。
方清试了好几版补丁都没压住的多鞍点收敛波动,肖宿用四十行代码和一个正交化步骤就解决了,而且连收敛性的严格证明都已经在另一篇论文里写好了,只需要把条件从紧流形放宽到非紧流形,改一下前提条件就行。
而那个让他纠结了好几天的对称性识別问题,甚至只需要一套標准的几何判据流程就能解决。
刚才在报告厅里被掌声包围的时候,许铭难免还有些飘飘然,毕竟,全球最快的第一性原理计算软体,顛覆一个行业的工具,那可是他们做出来的,这换谁都不可能不激动的。
结果,他们骄傲的那些成绩,在肖宿面前竟然全都是问题!
许铭原本春风得意的心瞬间就平静了下来。
那种面对肖宿熟悉的无力感又回来了,让他不禁在心里嘆了口气。
“哎。”
本章未完,点击下一页继续阅读。