RI 对 4c-2e ERI 近似原理简介#
RI 算法原理#
RI 算法 (这里仅讨论与实现 RI-V) 的策略是将计算量较大的 4c-2e ERI,拆解成 3c-2e ERI 与 2c-2e ERI 的缩并计算。我们需要利用到
3c-2e ERI \(g_{\mu \nu, P} = (\mu \nu | P)\)
2c-2e ERI \(J_{PQ} = (P | Q)\)
对 4c-2e ERI 的近似是
原理性的内容到这里就结束了。其他都是具体的算法与实现细节。
RI-JK 问题#
电子积分的计算目的总是实现 Fock 矩阵计算 (在这里是与密度矩阵 \(D_{\mu \nu}\) 或轨道系数 \(C_{\mu i}\) 的缩并),因此仅仅讨论拆分电子积分是不行的,还要具体地考虑张量缩并。
RI 算法可以应用于 SCF 与 post-SCF 的计算。对于 SCF,RI-JK 得到 Fock 矩阵的整体过程非常简单:
J 积分:(我们这里约定,辅助基指标的 \(J_{PQ}\) 是电子积分,原子轨道指标的 \(J_{\mu \nu} [\mathbf{D}]\) 是 Fock 矩阵的库伦贡献)
\[ J_{\mu \nu}[\mathbf{D}] = \sum_{PQ} \sum_{\kappa \lambda} g_{\mu \nu, P} (\mathbf{J}^{-1})_{PQ} g_{\kappa \lambda, Q} D_{\kappa \lambda} \]K 积分:
\[ K_{\mu \nu}[\mathbf{D}] = \sum_{PQ} \sum_{\kappa \lambda} g_{\mu \kappa, P} (\mathbf{J}^{-1})_{PQ} g_{\nu \lambda, Q} D_{\kappa \lambda} \]
RI 算法的一些重要特征#
RI 的 3c-2e ERI 一般需要全部存储于内存 (内存标度 \(O(n_\text{basis}^2 n_\text{aux})\));否则,电子积分的计算代价将会比较大。可以不严格地认为 RI 相对于 4c-2e ERI 是一个内存换时间的算法。
RI 是强耦合的问题,或者说 RI 算法依某一个指标,作不增加计算量的分批,经常是难以做到的。
对于 MP2/RPA 级别的 post-SCF 方法,可以将内存用量减少到 \(O(n_\text{occ} n_\text{virt} n_\text{aux})\);这仍然是三次标度的,但在基组较大、或冻结轨道较多时,内存占用会大幅降低。