N-DMs
Open research questions
- How do we generalize to work with spatial orbitals?
- Do we generalize for arbitrary spin-operators, or do we stick with singlets? (see 2.7.2 in Helgaker)
\(N\)-DMs for spin orbitals
Theory
Say we have a set of \(M\) orthonormal spin orbitals \(\require{physics} \set{\phi_P}\) and a normalized wave function \(\ket{\Psi}\). The \(1\)-DM is then given by (T. Helgaker, Jørgensen, and Olsen 2000) \[\begin{equation} \bar{D}_{PQ} = \ev{\hat{a}^\dagger_P \hat{a}_Q}{\Psi} \thinspace , \end{equation}\] and the \(2\)-DM is \[\begin{equation} \bar{d}_{PQRS} = \ev{\hat{a}^\dagger_P \hat{a}^\dagger_R \hat{a}_S \hat{a}_Q}{\Psi} \thinspace . \end{equation}\]
By extension, a general \(N\)-DM is then of the form \[\begin{equation} \label{eq:spin_N-DM} \bar{d}^{(N)}_{B_1 K_1 \thinspace B_2 K_2 \thinspace \cdots \thinspace B_N K_N} = \ev{\hat{a}^\dagger_{B_1} \hat{a}^\dagger_{B_2} \cdots \hat{a}^\dagger_{B_N} \hat{a}_{K_N} \cdots \hat{a}_{K_2} \hat{a}_{K_1}}{\Psi} \thinspace , \end{equation}\] featuring \(N\) annihilators on the bra, labelled \(B_1 \cdots B_N\) and \(N\) annihilators on the ket, labelled \(K_1 \cdots K_N\), which means that a general \(N\)-DM has \(2N\) indices.
Implementation
An an element of an arbitrary-order \(N\)-DM can be calculated as: \[\begin{align} \bar{d}^{(N)}_{B_1 K_1 \thinspace B_2 K_2 \thinspace \cdots \thinspace B_N K_N} &= \ev{\hat{a}^\dagger_{B_1} \hat{a}^\dagger_{B_2} \cdots \hat{a}^\dagger_{B_N} \hat{a}_{K_N} \cdots \hat{a}_{K_2} \hat{a}_{K_1}}{\Psi} \tag{\ref{eq:spin_N-DM}} \\ &= \sum_{IJ}^{\text{dim}} c^*_I c_J \matrixel{I}{\hat{a}^\dagger_{B_1} \hat{a}^\dagger_{B_2} \cdots \hat{a}^\dagger_{B_N} \hat{a}_{K_N} \cdots \hat{a}_{K_2} \hat{a}_{K_1}}{J} \thinspace , \end{align}\] with \(I\) and \(J\) running over all addresses of the Fock space the wave function \(\ket{\Psi}\) lives in.
A KISS-algorithm can then be formulated:
- loop over all addresses \(I\) (bra) and \(J\) (ket)
- annihilate all bra indices \(B_1 \cdots B_N\) on the bra, leading to \(\ket{I'}\), save the sign \(\Gamma_B\) resulting from the electronic annihilation operators
- annihilate all ket indices \(K_1 \cdots K_N\) on the ket, leading to \(\ket{J'}\), save the sign \(\Gamma_K\) resulting from the electronic annihilation operators
- if the overlap between the resulting bra and ket is \(1\), i.e. \[\begin{equation} \braket{I'}{J'} = \delta_{I' J'} \thinspace , \end{equation}\] add a contribution \[\begin{equation} \Gamma_B \Gamma_K \thinspace c^*_I c_J \thinspace . \end{equation}\]