You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The interpolation of MeshDLR Green's functions in frequency space using Matsubara frequencies is broken when the Matsubara frequencies does not have the same inverse temperature $\beta$.
Expected behavior: The two Green's functions should be equal, and diff <= 1e-12
Actual behavior: They differ by diff = 0.32143129179554025
Origin of the issue
The DLR theory allows for interpolation in the whole complex plane of frequencies. In Triqs we restrict this a bit by requiring that the input has the type matsubara_freq.
Being able to interpolate using Matsubara frequencies at a different temperature is the golden door to generating an initial guess at some temperature using a self consistent solution at another (but not so different) temperature, when e.g. solving for a range of temperatures.
Description
The interpolation of MeshDLR Green's functions in frequency space using Matsubara frequencies is broken when the Matsubara frequencies does not have the same inverse temperature$\beta$ .
Steps to Reproduce
Expected behavior: The two Green's functions should be equal, and
diff <= 1e-12
Actual behavior: They differ by
diff = 0.32143129179554025
Origin of the issue
The DLR theory allows for interpolation in the whole complex plane of frequencies. In Triqs we restrict this a bit by requiring that the input has the type
matsubara_freq
.Currently the index of the Matsubara frequency is used to evaluate the interpolation, see
https://github.com/TRIQS/triqs/blob/3.3.x/c%2B%2B/triqs/mesh/dlr.hpp#L269
which only works for frequencies having the same inverse temperature. To make this work for any Matsubara we need to compute the complex value of the Matsubara frequency and use a DLR Matsubara kernel that allows for complex frequencies as input, extending the current
cppdlr:k_if
functionality that only takes an integer, seehttps://github.com/flatironinstitute/cppdlr/blob/1.1.x/c%2B%2B/cppdlr/dlr_kernels.hpp#L113
Why this makes sense
Being able to interpolate using Matsubara frequencies at a different temperature is the golden door to generating an initial guess at some temperature using a self consistent solution at another (but not so different) temperature, when e.g. solving for a range of temperatures.
Versions
Triqs 3.3.x at 86a7993 on July 31, 2024
The text was updated successfully, but these errors were encountered: