Density-fitting tools


This module contains various utils for density fitting.

Exported functions

generate_AO_DF_integrals(EC::ECInfo, fitbasis="mp2fit"; save3idx=true)

Generate AO integrals using DF + Cholesky. If save3idx is true, save Cholesky-decomposed 3-index integrals, otherwise save pseudo-square-root-inverse Cholesky decomposition.

generate_DF_integrals(EC::ECInfo, cMO)

Generate $v_p^{qL}$ and $f_p^q$ with $v_{pr}^{qs} = v_p^{qL} δ_{LL'} v_r^{sL'}$. The $v_p^{qL}$ are generated using mp2fit fitting basis, and the $f_p^q$ are generated using jkfit fitting basis. The integrals are stored in files mmL and f_mm.

Return reference energy (calculated using jkfit fitting basis).

get_auxblks(naux, maxblocksize=128, strict=false)

Generate ranges for block indices for auxiliary basis (for loop over blocks).

If strict is true, the blocks will be of size maxblocksize (except for the last block). Otherwise the actual block size will be as close as possible to blocksize such that the resulting blocks are of similar size.

Internal functions

generate_3idx_integrals(EC::ECInfo, cMO, fitbasis="mp2fit")

Generate $v_p^{qL}$ with $v_{pr}^{qs} = v_p^{qL} δ_{LL'} v_r^{sL'}$ and store in file mmL.