计算化学公社

标题: 咨询量化计算中变分蒙特卡罗(VMC)方法的使用现状 [打印本页]

作者
Author:
Eureka_shen    时间: 2022-7-7 00:39
标题: 咨询量化计算中变分蒙特卡罗(VMC)方法的使用现状
主流量化计算中选用的方法都是DFT或者postHF方法,很少看到使用VMC(variational Monte Carlo)的方法,小弟最近了解这种方法的过程中感觉原理还挺简单的,就是通过构造包括向Jastrow形式的行列式然后进行变分求极值,想请教一下为什么实际的计算中使用这种方法较少,还是说小弟的理解有一些浅薄?
作者
Author:
wzkchem5    时间: 2022-7-7 01:32
简单来说主要有这么几个问题。前两个是对于所有量子Monte Carlo方法都存在的,第3个是只对VMC存在的。
(1)随机误差很大,难以实现误差抵消。DFT、传统post HF方法的误差都是系统误差,在能量相减的时候能抵消掉很多,但是VMC(以及其他所有MC方法)的误差有很大一部分是随机误差,减的时候不仅抵消不掉,可能反倒误差还会增加。所以如果需要3kcal/mol的精度的话,DFT绝对能量可能只要准到正负100kcal/mol就够了,但是VMC的随机误差需要准到2kcal/mol甚至1.5kcal/mol才放心。
(2)同样因为有随机误差,结果不可严格重复。这有三方面的问题,一方面如果我重复文献的工作,我和文献结果的误差会和文献的绝对能量误差在一个量级,我根本不知道我重复对了没有;第二方面如果我希望别人能严格重复我的结果,就要把随机误差收敛到远高于我需要的精度,比如我只需要准到3kcal/mol,但因为我报数据要报到小数点后1位,所以我不得不把随机误差收敛到0.05kcal/mol,这个需要的计算量通常已经大得吓人了;第三方面即便我不在乎别人能不能重复,只把随机误差收敛到2kcal/mol,那么还有一个问题是你怎么证明你没有跑很多次VMC然后挑了一个对你最有利的结果报道?比如你结果的标准差是2kcal/mol,那么根据正态分布,你只要跑300次VMC然后取能量最低的那个,就能让结果偏低6kcal/mol,那等于你想把哪个机理说成是对的就可以把哪个机理说成是对的,想把哪个过渡态算低就可以算低,想把哪个算高就可以算高,所以审稿人就会让你把随机误差算准到0.1kcal/mol再报道,哪怕你其实不需要那么高精度,这样计算时间又是大得要命了。
(3)VMC需要优化一个带有随机噪音的函数。众所周知,大多数优化算法要求函数具有一定的平滑性,而有随机噪音的情况下,不仅平滑性,就算连续性也不能满足。所以这也使得必须让随机噪音特别小,远小于你要求的误差范围。
不过我觉得这些问题未必是致命问题,可能将来会有算法上的突破也说不定。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3