From 014a458da421fa8617926a2b102bfe52b927a9e7 Mon Sep 17 00:00:00 2001 From: jasonkaye Date: Fri, 22 Sep 2023 10:58:46 -0400 Subject: [PATCH] corrected renaming (added files back in) --- joss/paper.bib | 312 +++++++++++++++++++++++++++++++++++++++++++++++++ joss/paper.md | 95 +++++++++++++++ 2 files changed, 407 insertions(+) create mode 100644 joss/paper.bib create mode 100644 joss/paper.md diff --git a/joss/paper.bib b/joss/paper.bib new file mode 100644 index 0000000..94c5608 --- /dev/null +++ b/joss/paper.bib @@ -0,0 +1,312 @@ +@article{chikano18, + title = {Performance analysis of a physically constructed orthogonal representation of imaginary-time {G}reen's function}, + author = {Chikano, Naoya and Otsuki, Junya and Shinaoka, Hiroshi}, + journal = {Phys. Rev. B}, + volume = {98}, + issue = {3}, + pages = {035104}, + numpages = {11}, + year = {2018}, + month = {Jul}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevB.98.035104}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.98.035104} +} + + +@article{kaye22_dlr, + title = {Discrete {L}ehmann representation of imaginary time {G}reen's functions}, + author = {Kaye, Jason and Chen, Kun and Parcollet, Olivier}, + journal = {Phys. Rev. B}, + volume = {105}, + issue = {23}, + pages = {235115}, + numpages = {18}, + year = {2022}, + _month = {Jun}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevB.105.235115}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.105.235115} +} + +@article{kaye22_libdlr, +title = {{libdlr}: {E}fficient imaginary time calculations using the discrete + {L}ehmann representation}, +_journal = {Computer Physics Communications}, +journal = {Comput. Phys. Commun.}, +volume = {280}, +pages = {108458}, +year = {2022}, +issn = {0010-4655}, +doi = {https://doi.org/10.1016/j.cpc.2022.108458}, +url = {https://www.sciencedirect.com/science/article/pii/S0010465522001771}, +author = {Jason Kaye and Kun Chen and Hugo U. R. Strand}, +keywords = {Many-body quantum physics, Imaginary time Green's functions, Low rank compression}, +} + +@article{kaye23_eqdyson, +author = {Kaye, Jason and U. R. Strand, Hugo}, +title = {A Fast Time Domain Solver for the Equilibrium Dyson Equation}, +year = {2023}, +_issue_date = {Aug 2023}, +publisher = {Springer-Verlag}, +address = {Berlin, Heidelberg}, +volume = {49}, +number = {4}, +issn = {1019-7168}, +url = {https://doi.org/10.1007/s10444-023-10067-7}, +doi = {10.1007/s10444-023-10067-7}, +_abstract = {We consider the numerical solution of the real-time equilibrium Dyson equation, which is used in calculations of the dynamical properties of quantum many-body systems. We show that this equation can be written as a system of coupled, nonlinear, convolutional Volterra integro-differential equations, for which the kernel depends self-consistently on the solution. As is typical in the numerical solution of Volterra-type equations, the computational bottleneck is the quadratic-scaling cost of history integration. However, the structure of the nonlinear Volterra integral operator precludes the use of standard fast algorithms. We propose a quasilinear-scaling FFT-based algorithm which respects the structure of the nonlinear integral operator. The resulting method can reach large propagation times and is thus well-suited to explore quantum many-body phenomena at low energy scales. We demonstrate the solver with two standard model systems: the Bethe graph and the Sachdev-Ye-Kitaev model.}, +journal = {Adv. Comput. Math.}, +_month = {aug}, +numpages = {26}, +_keywords = {81-10, 81T18, 81-08, 81S40, Nonlinear Volterra integral equations, 45J05, Equilibrium Dyson equation, Fast algorithms, 45D05, Many-body Green’s function methods} +} + +@misc{kaye23_diagrams, + title={Decomposing imaginary time Feynman diagrams using separable basis functions: Anderson impurity model strong coupling expansion}, + author={Jason Kaye and Hugo U. R. Strand and Denis Golež}, + year={2023}, + eprint={2307.08566}, + archivePrefix={arXiv}, + primaryClass={cond-mat.str-el} +} + +@article{sheng23, + title = {Low-rank {G}reen's function representations applied to dynamical mean-field theory}, + author = {Sheng, Nan and Hampel, Alexander and Beck, Sophie and Parcollet, Olivier and Wentzell, Nils and Kaye, Jason and Chen, Kun}, + journal = {Phys. Rev. B}, + volume = {107}, + issue = {24}, + pages = {245123}, + numpages = {6}, + year = {2023}, + month = {Jun}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevB.107.245123}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.107.245123} +} + +@article{parcollet15, +title = "{TRIQS}: {A} toolbox for research on interacting quantum systems", +_journal = "Computer Physics Communications", +journal = "Comput. Phys. Commun.", +volume = "196", +number = "", +pages = "398-415", +year = "2015", +note = "", +issn = "0010-4655", +doi = "http://dx.doi.org/10.1016/j.cpc.2015.04.023", +url = "http://www.sciencedirect.com/science/article/pii/S0010465515001666", +author = "Olivier Parcollet and Michel Ferrero and Thomas Ayral and Hartmut Hafermann and Igor Krivenko and Laura Messio and Priyanka Seth" +} + +@article{shinaoka17, + title = {Compressing {G}reen's function using intermediate representation between imaginary-time and real-frequency domains}, + author = {Shinaoka, Hiroshi and Otsuki, Junya and Ohzeki, Masayuki and Yoshimi, Kazuyoshi}, + journal = {Phys. Rev. B}, + volume = {96}, + issue = {3}, + pages = {035147}, + numpages = {8}, + year = {2017}, + month = {Jul}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevB.96.035147}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.96.035147} +} + +@article{boehnke11, + title = {Orthogonal polynomial representation of imaginary-time {G}reen's functions}, + author = {Boehnke, Lewin and Hafermann, Hartmut and Ferrero, Michel and Lechermann, Frank and Parcollet, Olivier}, + journal = {Phys. Rev. B}, + volume = {84}, + issue = {7}, + pages = {075145}, + numpages = {13}, + year = {2011}, + _month = {Aug}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevB.84.075145}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.84.075145} +} + +@article{dong20, + title={Legendre-spectral {D}yson equation solver with super-exponential convergence}, + volume={152}, + ISSN={1089-7690}, + url={http://dx.doi.org/10.1063/5.0003145}, + DOI={10.1063/5.0003145}, + number={13}, + _journal={The Journal of Chemical Physics}, + journal={J. Chem. Phys.}, + publisher={AIP Publishing}, + author={Dong, Xinyang and Zgid, Dominika and Gull, Emanuel and Strand, Hugo U. R.}, + year={2020}, + pages={134107} +} + +@article{gull18, + title = {Chebyshev polynomial representation of imaginary-time response functions}, + author = {Gull, Emanuel and Iskakov, Sergei and Krivenko, Igor and Rusakov, Alexander A. and Zgid, Dominika}, + journal = {Phys. Rev. B}, + volume = {98}, + issue = {7}, + pages = {075127}, + numpages = {10}, + year = {2018}, + _month = {Aug}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevB.98.075127}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.98.075127} +} + +@article{hubbard63, + author = {Hubbard, J.}, + journal = {Proc. R. Soc. Lon. Ser.-A}, + month = {11}, + number = {1365}, + pages = {238--257}, + title = {Electron Correlations in Narrow Energy Bands}, + volume = {276}, + year = {1963}} + +@article{hedin65, + title = {{New Method for Calculating the One-Particle Green's Function with Application to the Electron-Gas Problem}}, + author = {Hedin, Lars}, + journal = {Phys. Rev.}, + volume = {139}, + issue = {3A}, + pages = {A796--A823}, + numpages = {0}, + year = {1965}, + month = {Aug}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRev.139.A796}, + url = {https://link.aps.org/doi/10.1103/PhysRev.139.A796} +} + +@article{golze19, + title={{The $GW$ Compendium: A Practical Guide to Theoretical Photoemission Spectroscopy}}, + author={Golze, Dorothea and Dvorak, Marc and Rinke, Patrick}, + _journal={Frontiers in chemistry}, + journal={Front. Chem.}, + volume={7}, + pages={377}, + year={2019}, + publisher={Frontiers Media SA}, + url = {https://www.frontiersin.org/articles/10.3389/fchem.2019.00377/full}, + doi = {10.3389/fchem.2019.00377} +} + +@article{cai22, + title = {Superconductivity in the uniform electron gas: Irrelevance of the + {K}ohn-{L}uttinger mechanism}, + author = {Cai, Xiansheng and Wang, Tao and Prokof'ev, Nikolay V. and Svistunov, Boris V. and Chen, Kun}, + journal = {Phys. Rev. B}, + volume = {106}, + issue = {22}, + pages = {L220502}, + numpages = {5}, + year = {2022}, + _month = {Dec}, + publisher = {American Physical Society}, + doi = {10.1103/PhysRevB.106.L220502}, + url = {https://link.aps.org/doi/10.1103/PhysRevB.106.L220502} +} + +@misc{hou23, + title={Precursory {C}ooper Flow in Ultralow-Temperature Superconductors}, + author={Pengcheng Hou and Xiansheng Cai and Tao Wang and Youjin Deng and Nikolay V. Prokof'ev and Boris V. Svistunov and Kun Chen}, + year={2023}, + eprint={2303.03624}, + archivePrefix={arXiv}, + primaryClass={cond-mat.supr-con} +} + +@misc{johnston23, + title = {A comparative study of the superconductivity in the {H}olstein and optical {S}u-{S}chrieffer-{H}eeger models}, + author = {{Tanjaroon Ly}, Andy and {Cohen-Stead}, Benjamin and {Malkaruge Costa}, Sohan and {Johnston}, Steven}, + year = {2023}, + eprint = {2307.10809}, + archivePrefix = {arXiv}, + primaryClass = {cond-mat.supr-con}, +} + + +@misc{tprf, + author = {Hugo U. R. Strand}, + journal = {GitHub repository}, + publisher = {GitHub}, + url = {https://github.com/TRIQS/tprf}, + title = {Two-Particle Response Function Tool-box (TPRF) for TRIQS}, + year = {2019}} + +@misc{pydlr, + author = {Hugo U. R. Strand and Jason Kaye}, + journal = {Python Package Index (PyPI) project}, + url = {https://pypi.org/project/pydlr/}, + title = {pydlr: Imaginary time calculations using the Discrete Lehmann Representation (DLR)}, + year = {2021}} + +@misc{libdlr, + author = {Kaye, Jason and Strand, Hugo U. R.}, + journal = {GitHub repository}, + url = {https://github.com/jasonkaye/libdlr}, + title = {libdr: Imaginary time calculations using the Discrete Lehmann + Representation (DLR)}, + publisher = {GitHub}, + year = {2021}} + +@misc{Lehmann.jl, + journal = {GitHub repository}, + publisher = {GitHub}, + title = {Lehmann.jl}, + url = {https://github.com/numericaleft/Lehmann.jl}, + title = {Julia implementation of the discrete Lehmann representation (DLR)}, + year = {2021}} + +@misc{cppdlr_git, + author = {Kaye, Jason and Wentzell, Nils and Strand, Hugo U. R.}, + journal = {GitHub repository}, + publisher = {GitHub}, + url = {https://github.com/flatironinstitute/cppdlr}, + title = {cppdlr: Imaginary time calculations using the discrete Lehmann representation}, + year = {2023}} + +@misc{cppdlr_doc, + author = {Kaye, Jason and Wentzell, Nils and Strand, Hugo U. R.}, + journal = {GitHub-hosted documentation}, + url = {https://flatironinstitute.github.io/cppdlr/}, + title = {cppdlr: Imaginary time calculations using the discrete Lehmann representation}, + year = {2023}} + +@misc{nda, + journal = {GitHub repository}, + publisher = {GitHub}, + url = {https://github.com/TRIQS/nda}, + title = {nda: C++ library for multi-dimensional arrays}} + +@article{wallerberger23, +title = {sparse-ir: Optimal compression and sparse sampling of many-body propagators}, +journal = {SoftwareX}, +volume = {21}, +pages = {101266}, +year = {2023}, +issn = {2352-7110}, +doi = {https://doi.org/10.1016/j.softx.2022.101266}, +url = {https://www.sciencedirect.com/science/article/pii/S2352711022001844}, +author = {Markus Wallerberger and Samuel Badr and Shintaro Hoshino and Sebastian Huber and Fumiya Kakizawa and Takashi Koretsune and Yuki Nagai and Kosuke Nogaki and Takuya Nomoto and Hitoshi Mori and Junya Otsuki and Soshun Ozaki and Thomas Plaikner and Rihito Sakurai and Constanze Vogel and Niklas Witt and Kazuyoshi Yoshimi and Hiroshi Shinaoka}, +keywords = {Intermediate representation, Sparse sampling, Python, Julia, Fortran}, +abstract = {We introduce sparse-ir, a collection of libraries to efficiently handle imaginary-time propagators, a central object in finite-temperature quantum many-body calculations. We leverage two concepts: firstly, the intermediate representation (IR), an optimal compression of the propagator with robust a priori error estimates, and secondly, sparse sampling, near-optimal grids in imaginary time and imaginary frequency from which the propagator can be reconstructed and on which diagrammatic equations can be solved. IR and sparse sampling are packaged into stand-alone, easy-to-use Python, Julia and Fortran libraries, which can readily be included into existing software. We also include an extensive set of sample codes showcasing the library for typical many-body and ab initio methods.} +} + +@misc{labollita23, + author = {Harrison LaBollita and Jason Kaye and Hugo U. R. Strand}, + title = {Stabilizing the calculation of the self-energy in dynamical mean-field theory using constrained residual minimization}, + year = {2023}, + journal = {In prepartion} +} + +} \ No newline at end of file diff --git a/joss/paper.md b/joss/paper.md new file mode 100644 index 0000000..42dc043 --- /dev/null +++ b/joss/paper.md @@ -0,0 +1,95 @@ +--- +title: 'cppdlr: Imaginary time calculations using the discrete Lehmann representation' +tags: + - C++ + - quantum many-body systems + - imaginary time Green's function + - Matsubara Green's function + - many-body Green's function methods + - low-rank compression +authors: + - name: Jason Kaye + orcid: 0000-0001-8045-6179 + equal-contrib: true + affiliation: "1, 2" # (Multiple affiliations must be quoted) + corresponding: true # (This is how to denote the corresponding author) + - name: Nils Wentzell + orcid: 0000-0003-3613-007X + equal-contrib: true # (This is how you can denote equal contributions between multiple authors) + affiliation: 1 + - name: Hugo U. R. Strand + orcid: 0000-0002-7263-4403 + affiliation: "3, 4" +affiliations: + - name: Center for Computational Quantum Physics, Flatiron Institute, New York, NY, USA + index: 1 + - name: Center for Computational Mathematics, Flatiron Institute, New York, NY, USA + index: 2 + - name: School of Science and Technology, Örebro University, Örebro, Sweden + index: 3 + - name: Institute for Molecules and Materials, Radboud University, 6525 AJ Nijmegen, the Netherlands + index: 4 +date: 22 September 2023 +bibliography: paper.bib + +--- + +# Summary + +Imaginary time Green's functions encode the static and dynamical response of quantum systems at thermal equilibrium to external perturbations, such as applied electromagnetic fields. They therefore represent a direct point of connection between theoretical calculations and experimental measurements. As a consequence, they appear routinely in quantum many-body calculations at finite temperature, both for model systems like the Hubbard model `[@hubbard63]`, and in ab-initio electronic structure calculations beyond density functional theory, e.g., using Hedin's GW method `[@hedin65,@golze19]`. +Highly compact and accurate representations of imaginary time Green's functions and related imaginary time-dependent response functions are therefore an important ingredient in the development of robust and efficient codes for quantum many-body calculations. + However, obtaining such representations has traditionally been challenging, particularly for low temperature calculations, in which the functions develop steep gradients. + +In the past several years, significant progress has been achieved using low-rank approximations of the +spectral Lehmann representation, which is given by +$$G(\tau) = - \int_{-\infty}^\infty d\omega \, +\frac{e^{-\tau \omega}}{1 + e^{-\beta \omega}} \, \rho(\omega).$$ +Here, $G(\tau)$ is a fermionic single-particle imaginary time Green's function, and +$\rho(\omega)$ is its corresponding spectral function, which encodes information +about the single-particle excitations of the underlying quantum many-body system. +The spectral function always exists, but +is typically not known. However, the existence of this integral representation +constrains the space of possible imaginary time Green's functions +to lie within the image of the integral operator, which is numerically low-rank, +enabling the construction of highly compact basis representations. The +intermediate representation (IR) was introduced first, and used the singular value +decomposition to obtain an orthogonal but non-explicit basis of imaginary time +Green's functions `[@shinaoka17,@chikano18]`. The recently-introduced discrete Lehmann representation (DLR) uses the +interpolative decomposition to obtain a non-orthogonal basis consisting of known +exponential functions `[@kaye22_dlr]`. The number of basis functions required in both representations is similar, and typically significantly less than the previous state-of-the art methods based on orthogonal polynomials `[@bohenke11,@gull18,@dong20]`. + +The DLR's use of an explicit basis of simple functions makes many common operations, +including interpolation, integration, Fourier transform, and convolution, simple and +highly efficient. This has led to a variety of recent algorithmic advances, including in +reducing the size of the Matsubara frequency mesh in dynamical mean-field theory +calculations `[@sheng23]`, stabilizing the calculation of the single-particle self-energy via the Dyson +equation `[@labollita23]`, improving the efficiency of the imaginary time discretization in the +mixing Green's function of the Keldysh formalism `[@kaye23_eqdyson]`, and accelerating the +evaluation of imaginary time Feynman diagrams `[@kaye23_diagrams]`. It has also +yielded immediate applications in computational physics, for example in low-temperature +studies of superconductivity `[@cai22,@hou23,@johnston23]`. The DLR can be straightforwardly +integrated into existing algorithms and codes, often yielding significant +improvements in efficiency, accuracy, and algorithmic simplicity. + +# Statement of need + +`cppdlr` is a C++ library which constructs the DLR and implements its standard operations. The +flexible yet high-level interface of `cppdlr` makes it appealing for use both +in small-scale applications and in +existing large-scale software projects. +The DLR has previously been implemented in other programming languages, +specifically in Python via `pydlr`, in Fortran via `libdlr`, and in Julia via +`Lehmann.jl` `[@kaye22_libdlr,@pydlr,@libdlr,@Lehmann.jl]`, as well as in the `sparse-ir` library implementing the IR `[@wallerberger23]`. `cppdlr` nevertheless provides a needed platform for +future developments. First, `cppdlr` is written in C++, a common language used +by many large projects in the quantum many-body physics community. Second, it +offers a high-level user interface simpler than that of `libdlr`, enabled by +the use of C++ templating and the `nda` library `[@nda]` for array types and BLAS/LAPACK +compatibility. These features have, for example, enabled the +implementation of the DLR in the TRIQS library `[@parcollet15]` +for quantum many-body calculations. + +`cppdlr` is distributed under the Apache License Version 2.0 through a public Git repository `[@cppdlr_git]`. The project documentation `[@cppdlr_doc]` is extensive, containing background on the DLR, a user guide describing example programs packaged with the library, and application interface (API) reference documentation for all classes and functions. We envision `cppdlr` as a platform for future algorithmic developments involving the DLR, and as a go-to tool for applications employing the DLR. + +# Acknowledgements + +We are thankful for helpful discussions with Kun Chen, Olivier Parcollet, Malte Rösner, and Yann in 't Veld. H.U.R.S. acknowledges funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (Grant agreement No. 854843-FASTCORR). The Flatiron Institute is a division of the Simons Foundation.