Skip to content

Commit

Permalink
unpublished reference has been removed
Browse files Browse the repository at this point in the history
  • Loading branch information
aziziph committed Sep 6, 2023
1 parent 024d6c0 commit e5c8a87
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 10 deletions.
6 changes: 3 additions & 3 deletions JOSS/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ Despite wide adoption, RPA and \textit{GW} face computational challenges, especi

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]. 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 Down Expand Up @@ -115,10 +115,10 @@ where $\{\tau_j\}_{j=1}^n, \tau_j\,{>}\,0$ are again the time grid points, $\{\o
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.

It has been shown that minimax time and frequency grids $\{\tau_j\}_{j=1}^n$, $\{\omega_k\}_{k=1}^n$ are also suitable for performing Fourier transforms of $\chi^0,W$ and $\Sigma$ [@liu2016cubic]. With knowledge of the tabulated $\{\tau_j\}_{j=1}^n$ and $\{\omega_k\}_{k=1}^n$ parameters, least-squares optimization can be used to calculate Fourier integration weights $\delta_{kj}$, $\eta_{jk}$, $\lambda_{kj}$ [@azizi_minimax]. Least-squares optimization can be executed by simple non-iterative linear matrix algebra which is straightforward, and done during the run time of the GreenX library [@azizi_minimax].
It has been shown that minimax time and frequency grids $\{\tau_j\}_{j=1}^n$, $\{\omega_k\}_{k=1}^n$ are also suitable for performing Fourier transforms of $\chi^0,W$ and $\Sigma$ [@liu2016cubic]. With knowledge of the tabulated $\{\tau_j\}_{j=1}^n$ and $\{\omega_k\}_{k=1}^n$ parameters, least-squares optimization can be used to calculate Fourier integration weights $\delta_{kj}$, $\eta_{jk}$, $\lambda_{kj}$. Least-squares optimization can be executed by simple non-iterative linear matrix algebra which is straightforward, and done during the run time of the GreenX library.

The optimal grid parameters $\tau_j$, $\sigma_j$, $\omega_k$,
$\gamma_k$, $\delta_{kj}$, $\eta_{jk}$, $\lambda_{kj}$ depend on the energy gap $\text{min}(\varepsilon_{a}-\varepsilon_{j})$ and the maximum eigenvalue difference $\text{max}(\varepsilon_{a}-\varepsilon_{j})$ of the material. We generated minimax grid parameters $\tau_j$, $\sigma_j$, $\omega_k$, $\gamma_k$ assuming energy differences $\varepsilon_a-\varepsilon_j\in [1,R]$, see details in Refs. [@kaltak2014low;@hackbusch2019computation;@azizi_minimax]. Our library stores minimax grid parameters $\{\tau_j(R)\}_{j=1}^n$, $\{\sigma_j(R)\}_{j=1}^n$, $\{\omega_k(R)\}_{k=1}^n$, $\{\gamma_k(R)\}_{k=1}^n$ for $n\in[6, 24]$ and for different values of the range $R$ (on average 15 $R$-values for each $n$). For a material with energy gap $\Delta_\text{min}:=\text{min}(\varepsilon_{a}-\varepsilon_{j})$ and maximum eigenvalue difference $\Delta_\text{max}:=\text{max}(\varepsilon_{a}-\varepsilon_{j})$, one easily obtains the material-targeted minimax parameters $\{\tau_j^\text{mat}\}_{j=1}^n$, $\{\sigma_j^\text{mat}\}_{j=1}^n$, $\{\omega_k^\text{mat}\}_{k=1}^n$, $\{\gamma_k^\text{mat}\}_{k=1}^n$ from rescaling stored parameters with a range $R\ge\Delta_\text{max}/\Delta_\text{min}$ [@kaltak2014low;@hackbusch2019computation],
$\gamma_k$, $\delta_{kj}$, $\eta_{jk}$, $\lambda_{kj}$ depend on the energy gap $\text{min}(\varepsilon_{a}-\varepsilon_{j})$ and the maximum eigenvalue difference $\text{max}(\varepsilon_{a}-\varepsilon_{j})$ of the material. We generated minimax grid parameters $\tau_j$, $\sigma_j$, $\omega_k$, $\gamma_k$ assuming energy differences $\varepsilon_a-\varepsilon_j\in [1,R]$, see details in Refs. [@kaltak2014low;@hackbusch2019computation]. Our library stores minimax grid parameters $\{\tau_j(R)\}_{j=1}^n$, $\{\sigma_j(R)\}_{j=1}^n$, $\{\omega_k(R)\}_{k=1}^n$, $\{\gamma_k(R)\}_{k=1}^n$ for $n\in[6, 24]$ and for different values of the range $R$ (on average 15 $R$-values for each $n$). For a material with energy gap $\Delta_\text{min}:=\text{min}(\varepsilon_{a}-\varepsilon_{j})$ and maximum eigenvalue difference $\Delta_\text{max}:=\text{max}(\varepsilon_{a}-\varepsilon_{j})$, one easily obtains the material-targeted minimax parameters $\{\tau_j^\text{mat}\}_{j=1}^n$, $\{\sigma_j^\text{mat}\}_{j=1}^n$, $\{\omega_k^\text{mat}\}_{k=1}^n$, $\{\gamma_k^\text{mat}\}_{k=1}^n$ from rescaling stored parameters with a range $R\ge\Delta_\text{max}/\Delta_\text{min}$ [@kaltak2014low;@hackbusch2019computation],
\fontsize{8}{10}\selectfont
\begin{align}
\omega_k^\text{mat} = \Delta_\text{min}\,\omega_k(R)\,,
Expand Down
7 changes: 0 additions & 7 deletions JOSS/refs.bib
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,6 @@ @article{Pearson:2017
Year = 2017
}

@article{azizi_minimax,
Author = {{Azizi}, M. and {Wilhelm}, J. and {Panadés-Barrueta}, R.~L. and {Golze}, D. and {Giantomassi}, M. and {Delesma}, F.~A. and {Rinke}, P. and {Gonze}, X.},
Journal = {Unpublished},
year = {2023},
doi = {--},
Title = {{Validation of the GreenX library time-frequency component for GW and RPA calculations}},
}
@book{Binney:2008,
url = {http://adsabs.harvard.edu/abs/2008gady.book.....B},
Author = {{Binney}, J. and {Tremaine}, S.},
Expand Down

0 comments on commit e5c8a87

Please sign in to comment.