Skip to content

Commit

Permalink
Merge pull request #100 from dgolze/main
Browse files Browse the repository at this point in the history
very minor corrections
  • Loading branch information
Panadestein authored Aug 25, 2023
2 parents 54dd482 + a348ae4 commit 024d6c0
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions JOSS/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,19 +59,19 @@ bibliography: refs.bib

# Summary

Central objects in many-body electronic structure theory, such as the \textit{GW} method and the random-phase approximation (RPA), are defined in the complex frequency or time domain. We present here the GX-TimeFrequency component of the GreenX library, providing grids and weights for imaginary time-frequency transformations needed for Green's function based objects. The GreenX library emerged from the NOMAD Center of Excellence, whose objective is to enable accurate Green's function based electronic structure theory calculations on state-of-the-art supercomputers.
The central objects in many-body electronic structure theory, such as the \textit{GW} method and the random-phase approximation (RPA), are defined in the complex frequency or time domain. We present here the GX-TimeFrequency component of the GreenX library, providing grids and weights for imaginary time-frequency transformations needed for Green's function based objects. The GreenX library emerged from the NOMAD Center of Excellence, whose objective is to enable accurate Green's function based electronic structure theory calculations on state-of-the-art supercomputers.

The package comprises minimax time and frequency grids [@Takatsuka2008; @kaltak2014low; @liu2016cubic] and corresponding quadrature weights to numerically compute time and frequency integrals of the correlation energy as well as weights for Fourier transforms between time and frequency grids. While targeting low-scaling RPA and \textit{GW} algorithms, its compact frequency grids allows one to reduce the computational prefactor in RPA implementations with conventional scaling. In addition, the time grids can be employed in Laplace-transformed direct MP2 (LT-dMP2) calculations. GreenX source code is freely available on GitHub, and comes equipped with a build system, a comprehensive set of tests, and detailed documentation.
The package comprises minimax time and frequency grids [@Takatsuka2008; @kaltak2014low; @liu2016cubic] and corresponding quadrature weights to numerically compute time and frequency integrals of the correlation energy as well as weights for Fourier transforms between time and frequency grids. While targeting low-scaling RPA and \textit{GW} algorithms, its compact frequency grids allows one to reduce the computational prefactor in RPA implementations with conventional scaling. In addition, the time grids can be employed in Laplace-transformed direct MP2 (LT-dMP2) calculations. The GreenX source code is freely available on GitHub, and comes equipped with a build system, a comprehensive set of tests, and detailed documentation.

# Statement of need

RPA, an accurate approach to compute the electronic correlation energy, is non-local, includes long-range dispersion interactions and dynamic electronic screening, and is applicable to a wide range of systems from 0 to 3 dimensions [@eshuis2012electron; @ren2012random]. The \textit{GW} method [@hedin1965new] based on the RPA susceptibility, has become the method of choice for the calculation of direct and inverse photoemission spectra of molecules and solids [@golze2019gw;@reining2018gw]. Furthermore, \textit{GW} forms the basis for Bethe-Salpeter Equation (BSE) calculations of optical spectra [@onida2002electronic].
RPA, an accurate approach to compute the electronic correlation energy, is non-local, includes long-range dispersion interactions and dynamic electronic screening, and is applicable to a wide range of systems from 0 to 3 dimensions [@eshuis2012electron; @ren2012random]. The \textit{GW} method [@hedin1965new] is based on the RPA susceptibility and has become the method of choice for the calculation of direct and inverse photoemission spectra of molecules and solids [@golze2019gw;@reining2018gw]. Furthermore, \textit{GW} forms the basis for Bethe-Salpeter Equation (BSE) calculations of optical spectra [@onida2002electronic].

Despite wide adoption, RPA and \textit{GW} face computational challenges, especially for large systems. Conventional RPA and \textit{GW} implementations scale with the fourth power of system size $N$ and are therefore usually limited to systems up to one hundred atoms [@panadesbarrueta2023; @stuke2020atomic]. To tackle larger and more realistic systems, scaling reductions present a promising strategy to decrease the computational cost. Such low-scaling algorithms utilize real-space representations and time-frequency transformations, such as the real-space/imaginary-time approach [@rojas1995space] that reduces the complexity to $\mathcal{O}(N^3)$. Several such cubic-scaling \textit{GW} algorithms have recently been implemented, e.g. in a plane-wave/projector-augmented-wave \textit{GW} code [@liu2016cubic;@kutepov2017linearized] or with localized basis sets using Gaussian [@wilhelm2018toward;@wilhelm2021low;@duchemin2021cubic;@Graml2023] or Slater-type orbitals [@forster2020low;@foerster2021GW100;@foerster2021loworder;@foerster2023twocomponent]. Similarly, low-scaling RPA algorithms were implemented with different basis sets [@kaltak2014cubic;@kaltak2014low;@wilhelm2016rpa;@graf2018accurate;@duchemin2019separable;@drontschenko2022efficient;@Shi2023].

With larger pre-factor, low-scaling algorithms are typically more expensive for smaller systems and only become more cost-effective than canonical implementations for larger systems thanks to their reduced scaling [@wilhelm2018toward]. Furthermore, the numerical precision of low-scaling \textit{GW} algorithms is strongly coupled to the time-frequency treatment [@wilhelm2021low]. Early low-scaling \textit{GW} algorithms did not reach the same precision as canonical implementations [@vlcek2017stochastic; @wilhelm2018toward; @forster2020low]. Although appropriate Fourier transforms and corresponding time-frequency grids have been implemented [@liu2016cubic;@wilhelm2021low; @duchemin2021cubic; @foerster2021GW100], these implementations and grids are tied to particular codes and are often buried deeply inside the code. Furthermore, reuse of such implementations elsewhere is often restricted by license requirements or dependencies on definitions made in the host code.

In this work, we present the GX-TimeFrequency component of the GreenX library, an open-source package distributed under the Apache license (Version 2.0). GX-TimeFrequency provides time and frequency grids and corresponding integration weights to compute correlation energies for Green's function implementations. It also provides Fourier weights to convert between imaginary time and imaginary frequency. The library can be used for low-scaling RPA and \textit{GW} implementations, or BSE codes, which use (low-scaling) \textit{GW} as input. The minimax grids are also suitable for RPA implementations with conventional scaling [@delben2015enabling]: they are more compact than, e.g., Gauss-Legendre grids, resulting in a reduction of the computational prefactor, while yielding same accuracy [@delben2015enabling;@azizi_minimax]. However minimax grids are not recommended for conventional imaginary-frequency-only \textit{GW} implementations [@ren2012resolution] since they have not been optimized for the frequency integral of the self-energy.
In this work, we present the GX-TimeFrequency component of the GreenX library, an open-source package distributed under the Apache license (Version 2.0). GX-TimeFrequency provides time and frequency grids and corresponding integration weights to compute correlation energies for Green's function implementations. It also provides Fourier weights to convert between imaginary time and imaginary frequency. The library can be used for low-scaling RPA and \textit{GW} implementations, or BSE codes, which use (low-scaling) \textit{GW} as input. The minimax grids are also suitable for RPA implementations with conventional scaling [@delben2015enabling]: they are more compact than, e.g., Gauss-Legendre grids, resulting in a reduction of the computational prefactor, while yielding same accuracy [@delben2015enabling;@azizi_minimax]. However, minimax grids are not recommended for conventional imaginary-frequency-only \textit{GW} implementations [@ren2012resolution] since they have not been optimized for the frequency integral of the self-energy.

While not being the main target of the library, the minimax time grids can also be utilized to calculate the LT-dMP2 correlation energy [@almloef1991elimination;@jung2004scaled;@Takatsuka2008;@kaltak2014low;@glasbrenner2020efficient]. The dMP2 term is one of two terms of the MP2 correlation energy and, in a diagrammatic representation, corresponds to the lowest order of the RPA correlation energy [@ren2012random]. The dMP2 correlation energy can be reformulated using the Laplace transform to obtain the LT-dMP2 expression which scales cubically in contrast to the $O(N^5)$ scaling of standard MP2.

Expand All @@ -87,7 +87,7 @@ The time-frequency integrals in Fig. \ref{fig:flowchart} are performed numerical

Low-scaling RPA and \textit{GW} algorithms include the Fourier transform of $\hat{\chi}^0(i\tau)$ to $\chi^0(i\omega)$ (blue dashed box in Fig. \ref{fig:flowchart}). The \textit{GW} space-time method performs two additional Fourier transforms: The screened Coulomb interaction $W(i\omega)$ is transformed to imaginary time (red dashed box), and the self-energy $\widehat{\Sigma}(i\tau)$ is Fourier transformed back to imaginary frequency (green dashed box).

The conversion between imaginary time and frequency grids relies on nonuniform discrete cosine and sine transformations for even and odd functions $F^\text{even/odd}$, respectively [@liu2016cubic]. If the function $F$ is neither odd nor even, computation of functions $\hat{F}(i\tau)$ and $F(i\omega)$ is split into even and an odd parts [@liu2016cubic]
The conversion between imaginary time and frequency grids relies on nonuniform discrete cosine and sine transformations for even and odd functions $F^\text{even/odd}$, respectively [@liu2016cubic]. If the function $F$ is neither odd nor even, the computation of functions $\hat{F}(i\tau)$ and $F(i\omega)$ is split into even and an odd parts [@liu2016cubic]
\fontsize{8}{10}\selectfont
\begin{align}
\hat{F}(i\tau) = \hat{F}^\text{even}(i\tau) + \hat{F}^\text{odd}(i\tau) \hspace{1.9em} &\text{and} \hspace{1.9em}
Expand All @@ -110,7 +110,7 @@ with $F^\text{even}(x)=F^\text{even}(-x)$ and $F^\text{odd}(x)=-F^\text{odd}(-x)
\hat{F}^\text{odd}(i\tau_j) &= -i \sum_{k=1}^{n} \zeta_{jk} \mathrm{sin}(\tau_j\omega_k)F^\text{odd}(i\omega_k)\label{ct_st_odd}
\end{align}
\end{minipage}
where $\{\tau_j\}_{j=1}^n, \tau_j\,{>}\,0$ are again the time grid points, $\{\omega_k\}_{k=1}^n,\omega_k\,{>}\,0$ frequency grid points and $\{\delta_{kj}\}_{k,j=1}^n$, $\{\eta_{jk}\}_{k,j=1}^n$,$\{\lambda_{kj}\}_{k,j=1}^n$, $\{\zeta_{jk}\}_{k,j=1}^n$ the corresponding Fourier integration weights. $\hat{\chi}^0(i\tau)$ is an even function: the transform defined in Eq. \eqref{ct_st_even} yields $\chi^0(i\omega)$. The screened Coulomb interaction is also even and \eqref{ct_even_w_to_t} converts $W(i\omega)$ to $\widehat{W}(i\tau)$. The self-energy, neither odd nor even, is treated with Eq. \eqref{Fw_split} in combination with Eqs. \eqref{ct_st_even} and  \eqref{st_odd_t_to_w} to transform $\widehat{\Sigma}(i\tau)$ to $\Sigma(i\omega)$ [@liu2016cubic]. The transformation defined in Eq. \eqref{ct_st_odd}, not required for the methods summarized in Fig. \ref{fig:flowchart}, is added for completeness.
where $\{\tau_j\}_{j=1}^n, \tau_j\,{>}\,0$ are again the time grid points, $\{\omega_k\}_{k=1}^n,\omega_k\,{>}\,0$ frequency grid points and $\{\delta_{kj}\}_{k,j=1}^n$, $\{\eta_{jk}\}_{k,j=1}^n$,$\{\lambda_{kj}\}_{k,j=1}^n$, $\{\zeta_{jk}\}_{k,j=1}^n$ the corresponding Fourier integration weights. $\hat{\chi}^0(i\tau)$ is an even function: the transform defined in Eq. \eqref{ct_st_even} yields $\chi^0(i\omega)$. The screened Coulomb interaction is also even and Eq.~\eqref{ct_even_w_to_t} converts $W(i\omega)$ to $\widehat{W}(i\tau)$. The self-energy, neither odd nor even, is treated with Eq. \eqref{Fw_split} in combination with Eqs. \eqref{ct_st_even} and  \eqref{st_odd_t_to_w} to transform $\widehat{\Sigma}(i\tau)$ to $\Sigma(i\omega)$ [@liu2016cubic]. The transformation defined in Eq. \eqref{ct_st_odd}, not required for the methods summarized in Fig. \ref{fig:flowchart}, is added for completeness.

Ideal grid parameters $\tau_j$, $\sigma_j$, $\omega_k$, $\gamma_k$, $\delta_{kj}$, $\eta_{jk}$, $\lambda_{kj}$ feature a vanishing error for the LT-dMP2 and RPA correlation energy integrations and Fourier transforms of $\chi^0,W$ and $\Sigma$ (Fig. \ref{fig:flowchart}). We compute minimax grid parameters $\tau_j$, $\sigma_j$, $\omega_k$, $\gamma_k$ that minimize the maximum error of the LT-dMP2 and RPA correlation energy integration (Fig. \ref{fig:flowchart}) over all possible functions $\hat{\chi}^0( \mathbf{r}, \mathbf{r'}, i\tau )$ and $\chi^0( \mathbf{r}, \mathbf{r'}, i\omega )$
[@Takatsuka2008;@kaltak2014low;@liu2016cubic]. This minimax grid optimization relies on the Remez algorithm [@kaltak2014low], an iterative, numerically ill-conditioned procedure requiring high numerical precision. As the generation of the minimax parameters $\tau_j$, $\sigma_j$, $\omega_k$, $\gamma_k$ is tedious, the computed minimax parameters $\{\tau_j\}_{j=1}^n$, $\{\sigma_j\}_{j=1}^n$, $\{\omega_k\}_{k=1}^n$, $\{\gamma_k\}_{k=1}^n$ are tabulated for their later use in LT-dMP2, RPA, and \textit{GW} calculations.
Expand Down

0 comments on commit 024d6c0

Please sign in to comment.