SciPost Submission Page
MatsubaraFunctions.jl: An equilibrium Green's function library in the Julia programming language
by Dominik Kiese, Anxiang Ge, Nepomuk Ritz, Jan von Delft, Nils Wentzell
|Authors (as registered SciPost users):
|SciPost Physics Codebases
The Matsubara Green's function formalism stands as a powerful technique for computing the thermodynamic characteristics of interacting quantum many-particle systems at finite temperatures. In this manuscript, our focus centers on introducing MatsubaraFunctions.jl, a Julia library that implements data structures for generalized n-point Green's functions on Matsubara frequency grids. The package's architecture prioritizes user-friendliness without compromising the development of efficient solvers for quantum field theories in equilibrium. Following a comprehensive introduction of the fundamental types, we delve into a thorough examination of key facets of the interface. This encompasses avenues for accessing Green's functions, techniques for extrapolation and interpolation, as well as the incorporation of symmetries and a variety of parallelization strategies. Examples of increasing complexity serve to demonstrate the practical utility of the library, supplemented by discussions on strategies for sidestepping impediments to optimal performance.
List of changes
Added to Section 4.3.3: "Our motivation for this comparison is twofold: Firstly, we want to verify the overall correctness of both implementations and, secondly, we want to test how robust the multiboson formalism is to implementation details. This regards, for example, the treatment of correlation functions at the boundaries of their respective frequency grids. While the Julia code relies on (polynomial or constant) extrapolation, the C++ code replaces correlators with their asymptotic value instead. Ideally, these details should be irrelevant, except in the most difficult parameter regimes."
Changed in Section 4.3.3: "We would like to note that this is most likely not due to a fundamental performance advantage of Julia over C++, but simply the result of several optimizations (such as those presented in Sec. 4.3.2) that were more easy to implement using MatsubaraFunctions.jl."
Added to Section 3: "A full documentation of the package is available from the github repository."
Added to Section 5: "Note, however, that calculations in momentum or real space are already feasible with the current state of the package, if a suitable mapping from, say, wavevectors to indices is provided."
Submission & Refereeing History
You are currently on this page
Reports on this Submission
I thank the authors for addressing my comments and questions. In my opinion, the paper is now ready for publication.
Concerning the minor issue with Eq. (26): This equation is referenced many times in the text, for example in the footnote on page 20. However, when I click on the link behind the citation of Eq. (26), I don't end up on page 19, where the equations 26 are shown, but on page 12. This occurs for various pdf viewers which I tried.