X

Search Results

Searching....

6.5 Local MP2 Methods

6.5.3 Numerical Sparsity Based Implementation

(July 4, 2026)

Recently in 2025, we developed a new local correlation formalism 1431 Wang Z. et al.
J. Chem. Theory Comput.
(2023), 19, pp. 7577.
Link
, 1434 Wang Z. et al.
J. Chem. Theory Comput.
(2025), 21, pp. 6887.
Link
, 1433 Wang Z. et al.
J. Chem. Theory Comput.
(2025), 21, pp. 10910.
Link
based on numerical sparsity. The goal for this new formalism is to be as close as the canonical RI-MP2 as possible, with the consideration of only having one user input parameter for desired accuracy.

Right now, the code works for elements up to xenon for restricted and unrestricted SCF references.

The MP2 energy is

E(2)=iajbJabijτabij, (6.19)

where 𝐉 (and the exchange-like tensor 𝐊) is the electron repulsion integral (ERI) tensor

Jabij=Kbaij=(ia|jb). (6.20)

𝝉 is the solution to the MP2 equation

𝚫τ=-(2𝐉-𝐊), (6.21)

which is a set of linear equations and with orthogonal orbitals, Δ is

Δiajb,iajb=δiiδaaδjjFbbvirt-δiiδaaFjjoccδbb+δiiFaavirtδjjδbb-Fiioccδaaδjjδbb. (6.22)

We compute and store the 𝐉 tensor in a numerical sparsity way, meaning that for each significant i,j pair, we store two "ragged lists" of significant a,b indeces and their integral values. The main approximation made by us is the "fixed sparsity pattern approximation", which means we fixed the solution τ to have the same sparsity pattern (same list of significant a,b indices), see Fig 6.1.

Fixed sparsity pattern approximation.
Figure 6.1: Fixed sparsity pattern approximation.

The code is called by setting LMP2 option for CORRELATION. Localization must be specified in LOCOOCCVIRT. AO linear dependency is treated differently for different localization schemes.

LOCOOCCVIRT

LOCOOCCVIRT
       Localizes MO orbitals.
TYPE:
       INTEGER
DEFAULT:
       1 Normal AO linear dependency treatment. This will NOT work with VV-HV when AO are linearly dependent.
OPTIONS:
       2 Repeatedly remove basis functions when linear dependency is present. This will CHANGE SCF result but work with VV-HV.
RECOMMENDATION:
       Use 2 since VV-HV is preferred. The reason that a non-default is recommended is that it will result in different SCF energies.

Different methods for localizing orbitals can be chosen. λ-Boys is recommended for the occupied space. λ-Boys tries to minimize the total orbital spread and the total off-diagonal Fock at the same time.

fλ-Boysmin=i|i|𝐫-i|𝐫|i|i|2+λij.(Fijocc)2. (6.23)

Boys orbitals (minimizing the total orbital spread) are obtained if λ=0, whereas canonical orbitals (minimizing off-diagonal elements of the Fock matrix) are obtained as λ. The value λ=100 is recommended.

method
       Defines the method to localize the occupied space.
INPUT SECTION: $localocc
TYPE:
       STRING
DEFAULT:
       newboys
OPTIONS:
       newboys, cholesky, pipekmezey
RECOMMENDATION:
       Use the default since λ-Boys orbitals are shown to be very effective.

lambda
       Defines λ.
INPUT SECTION: $localocc
TYPE:
       FLOAT
DEFAULT:
       0
OPTIONS:
       100 Preferred parameter
RECOMMENDATION:
       Using larger λ will decrease the accuracy of the local MP2 code.

VV-HV is the recommended localization method for the virtual space.

method
       Defines the method to localize the virtual space.
INPUT SECTION: $localvirt
TYPE:
       STRING
DEFAULT:
       VV-HV VV-HV orbitals
OPTIONS:
       VV-HV, NewBoys, PipekMezey, PAO
RECOMMENDATION:
       Use the default.

Thresholds control the accuracy-efficiency tradeoff. Normally, the user only need to specify the main threshold (ϵ), to control what elements to retain in 𝐉.

thresh
       Defines the main threshold ϵ.
INPUT SECTION: $localmp2
TYPE:
       INTEGER
DEFAULT:
       60 ϵ=10-6
OPTIONS:
       55 (ϵ=10-5.5, close to VeryTight in DLPNO-MP2), 50, 60, 65, 70
RECOMMENDATION:
       The default typically recovers 99.997% correlation energy and has 0.1 kcalmol energy difference error. The error scales linearly with ϵ, meaning that using 50 will accelerate the code by 3 to 5 times but the error will also be 10× bigger.

All other thresholds for inner prescreening are listed here, they can be changed similarly. The default ia pre-screener threshold is

ϵia={10-2.5ϵϵ10-6,103.5ϵ2ϵ<10-6. (6.24)
Threshold Handle Default Note
ϵ thresh 10-6 user specified main parameter
ϵij thresh_uFERF 10-2ϵ
ϵia thresh_ia Eq. 6.24
ϵiP thresh_iP 102ϵ2
ϵiμ thresh_coeff_occ ϵ
ϵaν thresh_coeff_virt 10-4 fixed default
ϵsolve thresh_sol 5ϵ residue in the linear equation solver
ϵi𝑝a thresh_pre_ia 10ϵ pre-screeners for computing ia pre-screener
ϵi𝑝P thresh_pre_iP 10ϵiP
ϵμ𝑝P thresh_pre_muP 10-3ϵia
Table 6.2: Thresholds in the numerical sparsity based local MP2 code.

κ-MP2 and second-order size-consistent Brillouin-Wigner theory (BWs2, Section 6.8) are also supported but cannot both be enabled at the same time.

regularize
       Defines 1000κ in κ-MP2.
INPUT SECTION: $localmp2
TYPE:
       INTEGER
DEFAULT:
       0
OPTIONS:
       1450 κ=1.45
RECOMMENDATION:
       κ=1.10 is recommended for non-covalent interactions.

bw
       Enables BWs2 theory.
INPUT SECTION: $localmp2
TYPE:
       INTEGER
DEFAULT:
       0 disabled
OPTIONS:
       1 enabled
RECOMMENDATION:
       Use 1 if BW is needed.

bw_alpha
       Defines 1000α parameter in BWs2.
INPUT SECTION: $localmp2
TYPE:
       INTEGER
DEFAULT:
       1000 α=1 is exact for two-electron in two-orbital problem.
OPTIONS:
       4000 α=4.
RECOMMENDATION:
       α=4 is recommended for best chemical energy differences. Together with γ, α=γ=2 is recommended.

bw_gamma
       Defines 1000γ parameter in BWs2.
INPUT SECTION: $localmp2
TYPE:
       INTEGER
DEFAULT:
       0 γ=0.
OPTIONS:
       2000 γ=2.
RECOMMENDATION:
       α=γ=2 is recommended for best chemistry.

Example 6.3  A closed-shell example with ϵ=10-6. For other cases, modify the geometry, basis sets, and threshold as needed.

$molecule
0 1
C1
H2    C1        1.09774
H3    C1        1.09776    H2      107.23372
H4    C1        1.09778    H2      107.22823    H3      114.89419
H5    C1        1.09778    H2      107.22823    H4      114.89419
$end

$rem
JOBTYPE¯¯¯SP
UNRESTRICTED¯¯FALSE
CORRELATION¯¯LMP2
LOCOOCCVIRT¯¯2
BASIS¯¯¯DEF2-SVP
AUX_BASIS¯¯RIMP2-DEF2-SVP
N_FROZEN_CORE¯FC
SCF_CONVERGENCE 9
THRESH¯¯¯14
SYMMETRY¯¯FALSE
SYM_IGNORE¯¯TRUE
$end

$localocc
method newboys
lambda 100
$end
$localvirt
method vv-hv
$end

$localmp2
thresh 60
$end