12.3. The Configuration Interaction Module on top of pCCD

If you use this module, please cite [nowak2023].

12.3.1. Summary of keyword arguments

The RpCCDCID and RpCCDCISD modules support various keyword arguments that allow the user to steer the process of the RCID/RCISD Hamiltonian diagonalization. In the following, all supported keyword arguments are listed together with their default values. Please note that the default values should be sufficient to reach convergence in simple systems.

nroot:

(int) The number of states (default: 1; ground state for RCID/RCISD)

nguessv:

(int) Total number of guess vectors (default: (nroot-1)*4+1)

tolerance:

(float) Tolerance for energies (default: 1e-6)

tolerancev:

(float) Tolerance for eigenvectors (default: 1e-5)

maxiter:

(int) Maximum number of iterations (default: 200).

threshold:

(float) Printing tolerance for contributions of RCI wave function (default: 0.1).

maxvectors:

(int) The maximum number of Davidson vectors (default: nroot*10)

scc:

(boolean) Determines whether a size-consistency correction is to be calculated (default: True)

threshold_c_0:

A threshold that helps to verify the accuracy of Davidson-type corrections

12.3.2. Spin-free representation of the Slater Determinants

The current implementations of CI corrections on top of pCCD do only support a spin-free representation. That is, all equations are spin-summed and written in terms of singlet excitation operators. The resulting corrected (ground and excited state) wave functions are thus pure singlet states. In contrast to the CI code on top of an RHF reference function, no Configuration State Function or conventional Slater determinants (SD) are used. Below, we illustrate the exact relations between a spin-free and spin-dependent representation for singly- and doubly-excited configurations. To distinguish between both representations, the spin-free SD will be denoted with capital letters, while small letters are used for spin-dependent SDs.

The relation for single excitations is as follows

\[\begin{split}\vert ^{\textrm{A}} _{\textrm{I}}\rangle &= (\vert ^a_i \rangle + \vert ^{\bar{a}} _{\bar{i}} \rangle) \\ &= (a^\dagger i + \bar a^\dagger \bar i) \vert \Phi_0 \rangle \\ &= \hat E_{ai} \vert \Phi_0 \rangle,\end{split}\]

while the relation for double excitations is more complicated and can be expressed using singlet excitation operators

\[\begin{split}\vert ^{\textrm{A} \textrm{B}} _{\textrm{I} \textrm{J}}\rangle &= (\vert ^{ab} _{ij} \rangle + \vert ^{\bar{a} \bar{b}} _{\bar{i}\bar{j}} \rangle + \vert ^{a \bar{b}} _{i\bar{j}} \rangle + \vert ^{b \bar{a}} _{j\bar{i}} \rangle) \\ &= \hat E_{ai} \hat E_{bj} \vert \Phi_0 \rangle,\end{split}\]

The corresponding CI-type wave function has the following form

\[\vert \textrm{pCCD-CISD} \rangle = \sum_{IA} c_I^A \hat E_{AI} \vert \textrm{pCCD} \rangle + \frac{1}{2} \sum_{IAJB} c_{IJ}^{AB} \hat E_{AI}\hat E_{BJ} \vert \textrm{pCCD} \rangle.\]

Note

By default, electron-pair excitations are excluded. Thus, the second sum in the above equations does not consider electron-pair excitations and thus excludes terms with \(I=J\) and \(A=B\).

12.3.3. Frozen core RpCCDCI

By default, all (occupied and virtual) orbitals are active. To freeze some (occupied) orbitals, the number of frozen core orbitals has to be specified during the initialization of some occupation module class. The code snippet below shows how to freeze the first (occupied) orbital in a RpCCDCID and RpCCDCISD calculation by specifying the ncore argument during the initialization of the chosen occupation model

# Select one frozen core orbital
#-------------------------------
occ_model = AufbauOccModel(gobasis, ncore=1)
# Perform CI calculation, ncore is stored in occ_model
#-----------------------------------------------------
rcid = RpCCDCID(lf, occ_model)
rcid_out = rcid(kin, ne, er, pccd_out)

rcisd = RpCCDCISD(lf, occ_model)
rcisd_out = rcisd(kin, ne, er, pccd_out)

12.3.4. Size-consistency Corrections

Similar to the RHF-CI module, you can calculate Davidson-type corrections for the ground state. The same variants of Davidson-type corrections are supported as for the RCI module on top of an RHF reference function (see also Size-consistency Corrections).

Note

The size-consistency corrections are calculated directly by setting the scc keyword argument to True (see also Summary of keyword arguments). By default, all size-consistency corrections are calculated.