9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-21 19:13:29 +01:00

Minor changes

This commit is contained in:
Anthony Scemama 2020-12-16 11:05:55 +01:00
parent f3078ed2e2
commit 61a9c8d29f

View File

@ -1,11 +1,14 @@
#+TITLE: CFG CIPSI #+TITLE: CFG CIPSI
#+AUTHOR: Vijay Gopal Chilkuri (vijay.gopal.c@gmail.com) #+AUTHOR: Vijay Gopal Chilkuri
#+EMAIL: vijay.gopal.c@gmail.com
#+DATE: 2020-12-08 Tue 08:27 #+DATE: 2020-12-08 Tue 08:27
#+startup: latexpreview #+startup: latexpreview
#+STARTUP: inlineimages
#+LATEX_HEADER: \usepackage{braket} #+LATEX_HEADER: \usepackage{braket}
* Biblio * Biblio
* Theoretical background * Theoretical background
Here we describe the main theoretical background and definitions of the Here we describe the main theoretical background and definitions of the
@ -14,7 +17,7 @@
definitions of the overlap, one-particle, and two-particle matrix-elements. Finally, definitions of the overlap, one-particle, and two-particle matrix-elements. Finally,
an algorithm is presented for the sigma-vector (\( \sigma \)-vector defined later) calculation using an algorithm is presented for the sigma-vector (\( \sigma \)-vector defined later) calculation using
the CFG basis. the CFG basis.
** Definitinon of CI basis ** Definitinon of CI basis
@ -41,7 +44,7 @@
\(\ket{^S\Phi_i}\). \(\ket{^S\Phi_i}\).
The coefficients \(O^b_{a,k}\) depend only on the number of SOMOs The coefficients \(O^b_{a,k}\) depend only on the number of SOMOs
in \(\Phi_i\). in \(\Phi_i\).
Each CFG contains a list of CSFs related to it which describes the Each CFG contains a list of CSFs related to it which describes the
spin part of the wavefunction (see Eq: [[Eq:definebasis3]]) which is spin part of the wavefunction (see Eq: [[Eq:definebasis3]]) which is
encoded in the BFs as shown below in Eq: [[Eq:definebasis5]]. encoded in the BFs as shown below in Eq: [[Eq:definebasis5]].
@ -52,7 +55,7 @@
\ket{^S\Phi_i} = \left\{ \ket{^S\Phi^1_i}, \ket{^S\Phi^2_i}, \dots, \ket{^s\Phi^{\Ncsf}_i} \right\} \ket{^S\Phi_i} = \left\{ \ket{^S\Phi^1_i}, \ket{^S\Phi^2_i}, \dots, \ket{^s\Phi^{\Ncsf}_i} \right\}
\end{equation} \end{equation}
#+NAME: Eq:definebasis4 #+NAME: Eq:definebasis4
\begin{equation} \begin{equation}
@ -130,52 +133,52 @@
The matrix-element (ME) evaluation follows a similar logic as the evalulation of The matrix-element (ME) evaluation follows a similar logic as the evalulation of
the overlap. However, here the metric is the one-, or two-particle operator \(\hat{E}_{pq}\) the overlap. However, here the metric is the one-, or two-particle operator \(\hat{E}_{pq}\)
or \(\hat{E}_{pq}\hat{E}_{rs}\) as shown in Eq: [[Eq:defineme1]] and Eq: [[Eq:defineme2]]. or \(\hat{E}_{pq}\hat{E}_{rs}\) as shown in Eq: [[Eq:defineme1]] and Eq: [[Eq:defineme2]].
#+NAME: Eq:defineme1 #+NAME: Eq:defineme1
\begin{equation} \begin{equation}
\braket{^S\Phi^k_i|\hat{O}_{pq}|^S\Phi^l_j} = \left( C_{i,1} \right)^{\dagger} \mathbf{O}_i\cdot\mathbf{A}^{pq}_{ij}\cdot\mathbf{O}_j C_{j,1} \braket{^S\Phi^k_i|\hat{O}_{pq}|^S\Phi^l_j} = \left( C_{i,1} \right)^{\dagger} \mathbf{O}_i\cdot\mathbf{A}^{pq}_{ij}\cdot\mathbf{O}_j C_{j,1}
\end{equation} \end{equation}
#+NAME: Eq:defineme2 #+NAME: Eq:defineme2
\begin{equation} \begin{equation}
\braket{^S\Phi^k_i|\hat{O}_{pq,rs}|^S\Phi^l_j} = \sum_K \left( C_{i,1} \right)^{\dagger} \mathbf{O}_i\cdot\mathbf{A}^{pq}_{ik}\cdot\mathbf{O}_k \mathbf{O}_k\cdot\mathbf{A}^{rs}_{kj}\cdot\mathbf{O}_j C_{j,1} \braket{^S\Phi^k_i|\hat{O}_{pq,rs}|^S\Phi^l_j} = \sum_K \left( C_{i,1} \right)^{\dagger} \mathbf{O}_i\cdot\mathbf{A}^{pq}_{ik}\cdot\mathbf{O}_k \mathbf{O}_k\cdot\mathbf{A}^{rs}_{kj}\cdot\mathbf{O}_j C_{j,1}
\end{equation} \end{equation}
Where, \(\hat{O}_{pq}\) and \(hat{O}_{pq,rs}\) represent an arbitrary one-, and Where, \(\hat{O}_{pq}\) and \(hat{O}_{pq,rs}\) represent an arbitrary one-, and
two-particle operators respectively. Importantly, the one-, and two-particle two-particle operators respectively. Importantly, the one-, and two-particle
matrix-element evaluation can be recast into an effecient matrix multiplication matrix-element evaluation can be recast into an effecient matrix multiplication
form which is crucial for a fast evaluation of the action of the operators form which is crucial for a fast evaluation of the action of the operators
\(\hat{O}_{pq}\) and \(hat{O}_{pq,rs}\). The matrix \(\mathbf{A}^{pq}_{ij}\) contains \(\hat{O}_{pq}\) and \(hat{O}_{pq,rs}\). The matrix \(\mathbf{A}^{pq}_{ij}\) contains
the result of the operation \(\braket{^S\Phi^k_i|\hat{O}_{pq}|^S\Phi^l_j}\) in terms the result of the operation \(\braket{^S\Phi^k_i|\hat{O}_{pq}|^S\Phi^l_j}\) in terms
of BFs and is therefore of size \(NCSF(i) \textit{x} NBF(i)\). In this formulation, the determinant basis is entirely avoided. of BFs and is therefore of size \(NCSF(i) \textit{x} NBF(i)\). In this formulation, the determinant basis is entirely avoided.
Note that the size and contents of the matrix \(\mathbf{A}^{pq}_{ij}\) depends Note that the size and contents of the matrix \(\mathbf{A}^{pq}_{ij}\) depends
only on the total number of SOMOs and the total spin \(S\), therefore, an optimal only on the total number of SOMOs and the total spin \(S\), therefore, an optimal
prototyping scheme can be deviced for a rapid calculaiton of these matrix contractions. prototyping scheme can be deviced for a rapid calculaiton of these matrix contractions.
The resolution of identity (RI) is used to evaluate the two-particle operator since The resolution of identity (RI) is used to evaluate the two-particle operator since
this alleviates the necessacity to explicity construct two-particle matrix-elements this alleviates the necessacity to explicity construct two-particle matrix-elements
\(\braket{^S\Phi^k_i|\hat{O}_{pq,rs}|^S\Phi^l_j}\) directly. \(\braket{^S\Phi^k_i|\hat{O}_{pq,rs}|^S\Phi^l_j}\) directly.
** Sigma-vector evaluation ** Sigma-vector evaluation
Once the \(\mathbf{A}^{pq}_{ij}\) matrices have been constructed for the given Once the \(\mathbf{A}^{pq}_{ij}\) matrices have been constructed for the given
selected list of CFGs, the prototype lists for the \(\mathbf{A}^{pq}_{ij}\) matrices selected list of CFGs, the prototype lists for the \(\mathbf{A}^{pq}_{ij}\) matrices
can be constructed. Following this, one can proceede to the evaluation of the sigma-vector can be constructed. Following this, one can proceede to the evaluation of the sigma-vector
as defined in the Eq [[Eq:definesigma1]]. as defined in the Eq [[Eq:definesigma1]].
#+NAME: Eq:definesigma1 #+NAME: Eq:definesigma1
\begin{equation} \begin{equation}
\sigma = \sum_{pq} \tilde{h}_{pq}\hat{E}_{pq}|\ket{^S\Phi^l_j} + \frac{1}{2}\sum_{pq,rs} g_{pq,rs} \hat{E}_{pq}\hat{E}_{rs}|\ket{^S\Phi^l_j} \sigma = \sum_{pq} \tilde{h}_{pq}\hat{E}_{pq}|\ket{^S\Phi^l_j} + \frac{1}{2}\sum_{pq,rs} g_{pq,rs} \hat{E}_{pq}\hat{E}_{rs}|\ket{^S\Phi^l_j}
\end{equation} \end{equation}
The one-electron part of the sigma-vector can be calculated as shown in Eq: [[Eq:defineme1]] The one-electron part of the sigma-vector can be calculated as shown in Eq: [[Eq:defineme1]]
and the two-electron part can be calculated using the RI as shown in Eq: [[Eq:defineme2]]. and the two-electron part can be calculated using the RI as shown in Eq: [[Eq:defineme2]].
The most expensive part involves the two-particle operator as shown on the RHS of Eq: [[Eq:definesigma1]]. The most expensive part involves the two-particle operator as shown on the RHS of Eq: [[Eq:definesigma1]].
In this CFG formulation, the cost intensive part of the sigma-vector evaluation has been recast In this CFG formulation, the cost intensive part of the sigma-vector evaluation has been recast
into an efficient BLAS matrix multiplication operation. Therefore, this formulation is the most efficient into an efficient BLAS matrix multiplication operation. Therefore, this formulation is the most efficient
albeit at the cost of storing the prototype matrices \(\mathbf{A}^{pq}_{ij}\). However, where the total spin albeit at the cost of storing the prototype matrices \(\mathbf{A}^{pq}_{ij}\). However, where the total spin
is small and the largest number of SOMOs does not exceed 14, the \(\mathbf{A}^{pq}_{ij}\) matrices is small and the largest number of SOMOs does not exceed 14, the \(\mathbf{A}^{pq}_{ij}\) matrices
can be stored in memory. can be stored in memory.