Theory OK
This commit is contained in:
parent
50f49ea55c
commit
90408541b5
@ -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}
|
||||
}
|
||||
|
@ -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}
|
||||
|
Loading…
Reference in New Issue
Block a user