# 6.22.2 Theory

(June 30, 2021)

The electronic energy is an exact functional of the 1-RDM and 2-RDM

 $E=\frac{1}{2}\sum_{pqrs}{}^{2}D^{pq}_{rs}(pr|qs)+\sum_{pq}{}^{1}D^{p}_{q}h_{pq},$ (6.77)

where the 1-RDM (${}^{1}\mathbf{D}$) and 2-RDM are represented in a given spin-orbital basis indexed by $p$, $q$, $r$, and $s$. The one-hole RDM (${}^{1}\mathbf{Q}$), two-hole RDM (${}^{2}\mathbf{Q}$), particle-hole RDM (${}^{2}\mathbf{G}$), partial three-particle RDMs ($\mathbf{T1}$ and $\mathbf{T2}$), and full three-particle RDMs (${}^{3}\mathbf{D}$, ${}^{3}\mathbf{Q}$, ${}^{3}\mathbf{E}$, ${}^{3}\mathbf{F}$) are linear functions of ${}^{1}\mathbf{D}$ and ${}^{2}\mathbf{D}$. Minimizing the electronic energy with respect to ${}^{2}\mathbf{D}$ while enforcing the linear relations among these RDMs, the contraction and spin constraints placed on ${}^{2}\mathbf{D}$, and the positive semidefinite property of all RDMs constitutes a semidefinite program (SDP). The current v2RDM implementation uses a boundary-point SDP (BPSDP) algorithm to solve the SDP. ,,

The primal formulation of the SDP is

 minimize $\displaystyle E_{\rm primal}$ $\displaystyle={\bf c}^{T}\cdot{\bf x}$ (6.78) such that $\displaystyle{\bf A}{\bf x}$ $\displaystyle={\bf b}$ and $\displaystyle M({\bf x})$ $\displaystyle\succeq 0.$

Here, $\mathbf{x}$ represents the primal solution vector, the vector $\mathbf{c}$ contains all information defining the quantum system (the one- and two-electron integrals), and the mapping $M(\mathbf{x})$ maps the primal solution onto the set of positive semidefinite RDMs:

 $M({\bf x})=\left(\begin{array}[]{cccc}{}^{1}{\mathbf{D}}&0&0&0\\ 0&{}^{1}{\mathbf{Q}}&0&0\\ 0&0&{}^{2}{\mathbf{D}}&0\\ 0&0&0&{}\ddots\\ \end{array}\right)\succeq 0.$ (6.79)

Additional RDMs can be included in $M(\mathbf{x})$, depending on the choice of N-representability conditions applied. The action of the constraint matrix, ${\mathbf{A}}$, on ${\mathbf{x}}$ is a compact representation of the $N$-representability conditions. ${\mathbf{A}}$ maintains the appropriate mappings between each block of $M({\mathbf{x}})$ and enforces the appropriate spin and contraction conditions. Alternatively, one could consider the dual formulation of the semidefinite problem, expressed as

 maximize $\displaystyle E_{\rm dual}$ $\displaystyle=\mathbf{b}^{T}\cdot\mathbf{y}$ (6.80) such that $\displaystyle\mathbf{z}$ $\displaystyle=\mathbf{c}-\mathbf{A}^{T}\mathbf{y}$ and $\displaystyle M(\mathbf{z})$ $\displaystyle\succeq 0$

where ${\mathbf{y}}$ and ${\mathbf{z}}$ are the dual solutions, and $M({\mathbf{z}})$ is constrained to be positive semidefinite.

The BPSDP algorithm involves an iterative two-step procedure:

1. 1.

Solve $\mathbf{AA}^{T}\mathbf{y}=\mathbf{A}(\mathbf{c}-\mathbf{z})+\tau\mu(\mathbf{b}% -\mathbf{A}\mathbf{x})$ for $\mathbf{y}$ by conjugate gradient methods.

2. 2.

Update $\mathbf{x}$ and $\mathbf{z}$ by separating $\mathbf{U}=M(\mu\mathbf{x}+\mathbf{A}^{T}\mathbf{y}-\mathbf{c})$ into its positive and negative components (by diagonalization). The updated primal and dual solutions $\mathbf{x}$ and $\mathbf{z}$ are given by $M(\mathbf{x})=\mathbf{U}(+)/\mu$ and $M(\mathbf{z})=-\mathbf{U}(-)$.

Here, $\tau$ is a step-length parameter that lies in the interval [1.0,1.6] . The penalty parameter $\mu$ controls how strictly the primal or dual constraints are enforced and is updated dynamically according to the protocol outlined in Ref. 747. The frequency with which $\mu$ is updated is controlled by the $rem keyword RDM_MU_UPDATE_FREQUENCY. The algorithm is considered converged when the primal error $||\mathbf{A}\mathbf{x}-\mathbf{b}||$, the dual error $||\mathbf{A}^{T}\mathbf{y}-\mathbf{c}+\mathbf{z}||$, and the primal/dual energy gap $|E_{\rm primal}-E_{\rm dual}|$ are sufficiently small. The convergence in the primal/dual errors and the primal/dual energy gap are controlled by the$rem keywords RDM_EPS_CONVERGENCE and RDM_E_CONVERGENCE, respectively. The BPSDP algorithm scales $n^{6}$ for the DQG conditions and $n^{9}$ for the T1, T2, and 3POS conditions where $n$ is the number of active orbitals in the v2RDM computation. In v2RDM-CASSCF, the molecular orbitals are optimized after a chosen number of v2RDM iterations (Steps 1. and 2. above) indicated by the \$rem keyword RDM_ORBOPT_FREQUENCY.