Theory OK

This commit is contained in:
Anthony Scemama 2024-04-02 11:25:38 +02:00
parent 50f49ea55c
commit 90408541b5
2 changed files with 31 additions and 10 deletions

View File

@ -247,4 +247,16 @@ i@article{watson_2016,
}
@article{rendell_1991,
author = {Rendell, Alistair P. and Lee, Timothy J. and Komornicki, Andrew},
title = {{A parallel vectorized implementation of triple excitations in CCSD(T): application to the binding energies of the AlH3, AlH2F, AlHF2 and AlF3 dimers}},
journal = {Chem. Phys. Lett.},
volume = {178},
number = {5},
pages = {462--470},
year = {1991},
month = apr,
issn = {0009-2614},
publisher = {North-Holland},
doi = {10.1016/0009-2614(91)87003-T}
}

View File

@ -122,13 +122,13 @@ that were previously computationally prohibitive.
Coupled cluster (CC) theory is a powerful quantum mechanical approach widely used in computational chemistry and physics to describe the electronic structure of atoms, molecules, and materials.
It offers a systematic and rigorous framework for accurate predictions of molecular properties and reactions by accounting for electron correlation effects beyond the mean-field approximation.
Among the various variants of the CC method, the CCSD(T) method stands as the gold standard of quantum chemistry.
CCSD(T), which incorporates singles, doubles, and a perturbative treatment of triples, has demonstrated exceptional accuracy and reliability, making it one of the preferred choices for benchmark calculations and highly accurate predictions.
The CCSD(T) method has found successful applications in a diverse range of areas, including spectroscopy,\cite{villa_2011,watson_2016,vilarrubias_2020} reaction kinetics,\cite{dontgen_2015,castaneda_2012} and materials design,\cite{zhang_2019} and has played a pivotal role in advancing our understanding of complex chemical phenomena.
Among the various variants of the CC method, the Coupled Cluster Singles and Doubles with perturbative Triples method, CCSD(T), stands as the gold standard of quantum chemistry.
CCSD(T) has demonstrated exceptional accuracy and reliability, making it one of the preferred choices for benchmark calculations and highly accurate predictions.
It has found successful applications in a diverse range of areas, including spectroscopy,\cite{villa_2011,watson_2016,vilarrubias_2020} reaction kinetics,\cite{dontgen_2015,castaneda_2012} and materials design,\cite{zhang_2019} and has played a pivotal role in advancing our understanding of complex chemical phenomena.
In the context of CC theory, perturbative triples represent an important contribution to the accuracy of electronic structure calculations.\cite{stanton_1997}
However, the computational cost associated with their calculation can be prohibitively high, especially for large molecular systems.
The CCSD(T) method, which includes the perturbative treatment of triples, is known to have a computational scaling of $\order{N^7}$, where $N$ represents the system size.
However, the computational cost associated with the calculation of this correction can be prohibitively high, especially for large systems.
The inclusion of the perturbative triples in the CCSD(T) method leads to a computational scaling of $\order{N^7}$, where $N$ is proportional to the number of molecular orbitals.
This scaling can rapidly become impractical, posing significant challenges in terms of computational resources and time requirements.
To address this computational bottleneck, our goal is to develop a novel semi-stochastic algorithm that brings back the computational time to a level smaller or comparable to that of the CCSD method, which has a scaling of $\order{N^6}$, while ensuring well-controlled approximations.
@ -154,21 +154,30 @@ E_{(T)} = \sum_{ijk\,abc} E_{ijk}^{abc},
is a sum of $N_{\text{o}}^3 \times N_{\text{v}}^3$ terms, where $N_{\text{o}}^3$ and $N_{\text{v}}^3$ denote the number of occupied and virtual molecular orbitals, respectively.
Each individual term is expressed as
\begin{equation}
E_{ijk}^{abc} = \frac{(4 W_{ijk}^{abc} +
E_{ijk}^{abc} = \frac{1}{3} \frac{(4 W_{ijk}^{abc} +
W_{ijk}^{bca} + W_{ijk}^{cab})
(V_{ijk}^{abc} - V_{ijk}^{cba})}{\epsilon_i + \epsilon_j + \epsilon_k -
\epsilon_a - \epsilon_b - \epsilon_c},
\end{equation}
and depends on the canonical orbital energies $\epsilon$, and on the tensors $W$ and $V$.
The indices $i,j,k$ and $a,b,c$ refer to occupied and virtual orbitals, respectively.
and depends on the canonical orbital energies $\epsilon$, and on the tensors $W$ and $V$:
\begin{align}
W_{ijk}^{abc} & = P_{ijk}^{abc} \qty( \sum_d^{\text{virt}} \qty(bd|ai) t_{kj}^{cd} -
\sum_l^{\text{occ}} \qty(ck|jl) t_{ab}^{il}) \\
V_{ijk}^{abc} & = W_{ijk}^{abc} + \qty(bj|ck) t_i^a + \qty(ai|ck) t_j^b + \qty(ai|bj) t_k^c
\end{align}
$P_{ijk}^{abc}$ is a permutation operator, $t$ are the CCSD amplitudes, and
the indices $i,j,k$ and $a,b,c$ refer to occupied and virtual orbitals, respectively.
The bottleneck of the perturbative triples correction is the computation of the $W$ tensor
which requires $\order{N_o^3 \times N_v^4}$ operations. Fortunately, most of
which requires $\order{N_o^3 \times N_v^4}$ operations.
Fortunately, most of
the operations involved in the computation of $W$ can be recast into matrix
multiplications,\cite{form_w_abc} which are among the most efficient operations than can be
executed on modern CPUs and
accelerators.\cite{ma_2011,haidar_2015,dinapoli_2014,springer_2018}
In the algorithm proposed by Rendell\cite{rendell_1991}, for each given triplet $(abc)$, the sub-tensors $W_{ijk}(abc)$ and $V_{ijk}(abc)$ are computed and immediately utilized to calculate their contribution to $E_{ijk}(abc)$. Here, we propose a similar approach but introduce a semi-stochastic algorithm to randomly select the triplets $(abc)$, circumventing the need to compute all contributions.
%=================================================================%
\section{Semi-Stochastic Algorithm}
\label{sec:algorithm}