内,我们要把那个剧烈震荡的波函数抹平,变成一个平滑的函数。」
他猛地敲击黑板:「听懂了吗?平滑意味著什么?意味著我们在傅立叶空间展开时,只需要很少的平面波基组就能描述它。这能把你们的矩阵维度直接砍掉三分之二!」
「解决了基组大小,现在我们看矩阵求解。」林燃的目光扫向一位来自洛斯阿拉莫斯的数值分析专家。
「你们还在用Householder变换做全对角化?愚蠢,我们只需要最低能量的那几十个本征态,为什么要算出所有的本征值?」
林燃在黑板中央写下了:克雷洛夫子空间。
「不要解整个矩阵,我们要用叠代法,在这个子空间里,把哈密顿算符投影上去,只对角化一个小得多的矩阵,然后扩充子空间,直到收敛。」
他快速写下了算法的残差向量修正公式,这实际上是直到1975年才会被化学家ErnestDavidson正式发表的算法核心。
「这叫做预处理,通过这个修正,我们不需要0(N3)的时间,我们只需要0
(N2)甚至接近0(N)的时间就能找到基态,对于大体系,这是生与死的区别。
」
「最后,自洽场的收敛。」林燃擦掉了右边的板书。
台下的研究人员手在笔记本上的记录速度已经要快出残影了。
「现在的DFT计算,每一次叠代产生的输出电荷密度P—out,你们是怎么混合到输入Pin里的?简单的线性混合?」
林燃发出轻蔑的笑声:「这简直是幼儿园水平,如果系统处于金属—绝缘体相变的边缘,线性混合会让电荷密度像钟摆一样永远震荡,永远不收敛。」
「我们需要把这看作一个寻找函数零点的优化问题。」
「用牛顿法?太贵,雅可比矩阵太难算。所以,我们要用拟牛顿法,或者叫布罗伊登混合。」
他写下了著名的更新公式,利用前几次叠代的历史数据来近似雅可比矩阵的逆,「利用过去的数据来修正前进的方向。这能把原本需要100步才能收敛的叠代,压缩到10步以内。」
写完这三个部分,黑板已经被密密麻麻的数学符号填满。
林燃扔掉手中的粉笔头,粉笔灰在空中划出一道弧线。
他转身面对台下目瞪口呆的
本章未完,请点击下一页继续阅读!