diff --git a/docs/src/assets/img/condscaling.pdf b/docs/src/assets/img/condscaling.pdf new file mode 100644 index 0000000..eddbe28 Binary files /dev/null and b/docs/src/assets/img/condscaling.pdf differ diff --git a/docs/src/assets/img/result.pdf b/docs/src/assets/img/result.pdf index 518c918..8da1893 100644 Binary files a/docs/src/assets/img/result.pdf and b/docs/src/assets/img/result.pdf differ diff --git a/docs/src/assets/img/u_basis.pdf b/docs/src/assets/img/u_basis.pdf index 02660b6..048d6c4 100644 Binary files a/docs/src/assets/img/u_basis.pdf and b/docs/src/assets/img/u_basis.pdf differ diff --git a/docs/src/assets/img/uhat_basis.pdf b/docs/src/assets/img/uhat_basis.pdf index cf7f946..4a76022 100644 Binary files a/docs/src/assets/img/uhat_basis.pdf and b/docs/src/assets/img/uhat_basis.pdf differ diff --git a/docs/src/assets/img/v_basis.pdf b/docs/src/assets/img/v_basis.pdf index ab720fe..7b50e6d 100644 Binary files a/docs/src/assets/img/v_basis.pdf and b/docs/src/assets/img/v_basis.pdf differ diff --git a/docs/src/assets/result-plot.jl b/docs/src/assets/result-plot.jl index bb61e8e..eef346d 100644 --- a/docs/src/assets/result-plot.jl +++ b/docs/src/assets/result-plot.jl @@ -7,6 +7,9 @@ using InteractiveUtils # ╔═╡ 5d462555-664b-4de5-b076-5ee2078d6ff7 using SparseIR, CairoMakie +# ╔═╡ 45e50347-0b4d-41a2-8b3e-3ad293674e86 +using LinearAlgebra + # ╔═╡ 2d5d27c2-e77e-4bfc-88f4-6e7d85f6fd13 function compute(; β=10, ωmax=8, ε=1e-6) # Construct the IR basis and sparse sampling for fermionic propagators @@ -41,6 +44,15 @@ function compute(; β=10, ωmax=8, ε=1e-6) basis, siω, Gl, Σl, β end +# ╔═╡ c386d225-825a-4906-acc6-042b6809aba8 +function dos(basis, Gl) + w = range(-8, 8; length=100) + E = transpose(basis.v(w)) + display(E) + Gw = E * Gl + -1/pi * imag(Gw) +end + # ╔═╡ bc15f8ab-ded8-4a62-b7de-9f0a2230e7d6 function make_plot(basis, siω, Gl, Σl, β, filename) box = FermionicFreq.(1:2:79) @@ -109,6 +121,12 @@ end # ╔═╡ 2e8e225d-8e72-4b36-9975-a0c44e271f8a basis, siω, Gl, Σl, β = compute() +# ╔═╡ d1c9ba8b-ce30-4f4e-a2d8-3ca61f881803 +imag(Gl) + +# ╔═╡ 2e25484a-de38-4d90-b0df-f676a76d119b +lines(dos(basis, Gl)) + # ╔═╡ 61e1df2f-54f2-4f39-8f3a-ee70a471b125 let ωs = FermionicFreq.(-15:2:15) @@ -181,10 +199,41 @@ end # ╔═╡ c39a2c55-af9b-43ed-b11f-c89bcc3a1d00 make_plot(basis, siω, Gl, Σl, β, "img/result.pdf") +# ╔═╡ 94984eca-ae0c-40d3-b938-b2f6ecc72198 +begin + tauconds = [] + iwconds = [] + betas = exp.(range(log(1), log(100); length=1000)) + for β in betas + basis = FiniteTempBasis{Fermionic}(β, 1.0, 1e-6) + stau = TauSampling(basis) + siw = MatsubaraSampling(basis) + push!(tauconds, cond(stau)) + push!(iwconds, cond(siw)) + end +end + +# ╔═╡ 6f0b1e60-2acb-4e6a-9b15-bdb6be3ea76e +begin + fig = Figure() + ax = Axis(fig[1,1]; yscale=log10, xscale=log10, + xlabel=L"Cutoff $\Lambda$", ylabel=L"Sampling condition number$$", + xticks=LogTicks(WilkinsonTicks(3)), + xminorticks=IntervalsBetween(9), + xminorticksvisible=true, + yminorticksvisible=true) + lines!(ax, betas, tauconds, label=L"TauSampling$$") + lines!(ax, betas, iwconds, label=L"MatsubaraSampling$$") + axislegend(ax; position=:lt) + save("img/condscaling.pdf", fig) + fig +end + # ╔═╡ 00000000-0000-0000-0000-000000000001 PLUTO_PROJECT_TOML_CONTENTS = """ [deps] CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" +LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" SparseIR = "4fe2279e-80f0-4adb-8463-ee114ff56b7d" [compat] @@ -198,7 +247,7 @@ PLUTO_MANIFEST_TOML_CONTENTS = """ julia_version = "1.11.1" manifest_format = "2.0" -project_hash = "8388f4e7586e27cdd3147342d380ad4cb027d31d" +project_hash = "4624ca61f28be70faeb7ed9ce9d06783e1b7788b" [[deps.AbstractFFTs]] deps = ["LinearAlgebra"] @@ -1662,11 +1711,17 @@ version = "3.6.0+0" # ╔═╡ Cell order: # ╠═5d462555-664b-4de5-b076-5ee2078d6ff7 # ╠═2d5d27c2-e77e-4bfc-88f4-6e7d85f6fd13 +# ╠═d1c9ba8b-ce30-4f4e-a2d8-3ca61f881803 +# ╠═c386d225-825a-4906-acc6-042b6809aba8 +# ╠═2e25484a-de38-4d90-b0df-f676a76d119b # ╠═61e1df2f-54f2-4f39-8f3a-ee70a471b125 # ╠═b5bb004e-3ceb-41d9-8a30-3822d18a8c3b # ╠═9e5840ab-a480-4527-b938-1eac8cbe0330 # ╠═bc15f8ab-ded8-4a62-b7de-9f0a2230e7d6 # ╠═2e8e225d-8e72-4b36-9975-a0c44e271f8a # ╠═c39a2c55-af9b-43ed-b11f-c89bcc3a1d00 +# ╠═45e50347-0b4d-41a2-8b3e-3ad293674e86 +# ╠═94984eca-ae0c-40d3-b938-b2f6ecc72198 +# ╠═6f0b1e60-2acb-4e6a-9b15-bdb6be3ea76e # ╟─00000000-0000-0000-0000-000000000001 # ╟─00000000-0000-0000-0000-000000000002 diff --git a/docs/src/assets/titlepage_sparseirjl.pdf b/docs/src/assets/titlepage_sparseirjl.pdf index 13f44ac..c74e7ae 100644 Binary files a/docs/src/assets/titlepage_sparseirjl.pdf and b/docs/src/assets/titlepage_sparseirjl.pdf differ diff --git a/docs/src/guide.md b/docs/src/guide.md index e5db8f9..0fe50f9 100644 --- a/docs/src/guide.md +++ b/docs/src/guide.md @@ -1,20 +1,22 @@ # [Introduction](@id guide) We present `SparseIR.jl`, a Julia library for constructing and working with the intermediate representation of correlation functions [Shinaoka2017,Li2020,Shinaoka2022,Wallerberger2023](@cite). -The intermediate representation (IR) takes the matrix kernel occuring in transforming propagators between the real frequency axis and the imaginary time axis and performs singular value expansion (SVE) on it, decomposing it into a set of singular values as well as two sets of functions. -One of those lives on the real frequency axis and one on the imaginary time axis and they each constitute a basis for the space of all propagators on their respective axis. +The intermediate representation (IR) takes the matrix kernel occurring in transforming propagators between the real-frequency axis and the imaginary-time axis and performs a singular value expansion (SVE) on it, decomposing it into a set of singular values as well as two sets of functions. +One of those lives on the real-frequency axis and one on the imaginary-time axis. Expressing a propagator in terms of either basis--by an ordinary least squares fit--then allows us to easily transition between them. In combination with a prescription for constructing sparse sets of sampling points on each axis, we have a method for optimally compressing propagators. `SparseIR.jl` implements the intermediate representation, providing on-the-fly computation of basis functions and singular values accurate to full precision along with routines for sparse sampling. -Here, we will explain its inner workings by means of a worked example use case. +It is further fully unit tested, featuring near-complete code coverage. +Here, we will explain its inner workings by means of an example use case. +In preparing this document, `SparseIR.jl` version `1.0.18` and Julia version `1.11.1` were used. ## Problem statement We take a problem to be solved from the `sparse-ir` paper [Wallerberger2023](@cite). > Let us perform self-consistent second-order perturbation theory for the single impurity Anderson model at finite temperature. > Its Hamiltonian is given by > ```math -> H = U c^\dagger_\uparrow c^\dagger_\downarrow c_\downarrow c_\uparrow + \sum_{p\sigma} \big(V_{p\sigma} f_{p\sigma}^\dagger c_\sigma + V_{p\sigma}^* c_\sigma^\dagger c_\sigma^\dagger\big) + \sum_{p\sigma} \epsilon_{p} f_{p\sigma}^\dagger f_{p\sigma} +> H = U c^\dagger_\uparrow c^\dagger_\downarrow c_\downarrow c_\uparrow + \sum_{p\sigma} \big(V_{p\sigma} f_{p\sigma}^\dagger c_\sigma + V_{p\sigma}^* c_\sigma^\dagger f_{p\sigma}\big) + \sum_{p\sigma} \epsilon_{p} f_{p\sigma}^\dagger f_{p\sigma} > ``` > where ``U`` is the electron interaction strength, ``c_\sigma`` annihilates an electron on the impurity, ``f_{p\sigma}`` annihilates an electron in the bath, ``\dagger`` denotes the Hermitian conjugate, ``p\in\mathbb R`` is bath momentum, and ``\sigma\in\{\uparrow, \downarrow\}`` is spin. > The hybridization strength ``V_{p\sigma}`` and bath energies ``\epsilon_p`` are chosen such that the non-interacting density of states is semi-elliptic with a half-bandwidth of one, ``\rho_0(\omega) = \frac2\pi\sqrt{1-\omega^2}``, ``U=1.2``, ``\beta=10``, and the system is assumed to be half-filled. @@ -57,13 +59,30 @@ while !isapprox(Gl, Gl_prev, rtol=ε) Gl = fit(siω, Giω) end ``` -The following is a detailed explanation of what happens here. +Note that this script as presented is optimized for readability instead of performance; in practice, you would want to make minor adjustments to ensure maximum type inferrability and full type stability, among other things putting the code in a function instead of executing in global scope. +Such an performance-optimized version is provided in [Appendix: Optimized script](@ref optimized-script). +The following is a detailed explanation of what happens here under the hood and why. # Treatment +If we take the second-order expression for the self-energy, which at half filling is simply +```math + \Sigma(\tau) = U^2 \pqty{G(\tau)}^3 +``` +and the Dyson equation +```math + \hat G(\mathrm{i}\omega) = \pqty{\pqty{\hat G_0(\mathrm{i}\omega)}^{-1} - \hat\Sigma(\mathrm{i}\omega)}^{-1} +``` +we have a system of two coupled equations. +The first one is diagonal in ``\tau`` and the second is diagonal in ``\mathrm{i}\omega``, so we need a way of converting efficiently between these two axes. + ## Basis construction -We first import `SparseIR` and construct an appropriate basis (``\omega_\mathrm{max} = 8`` should be more than enough for this example): +We first import `SparseIR` and construct an appropriate basis. +To do so, we must first choose an appropriate UV frequency cutoff ``\omega_\mathrm{max}``, representing the maximum bandwidth our basis can capture. +The non-interacting density of states in our problem is semi-elliptic with half-bandwidth 1. +Once we introduce interactions via the interaction strength ``U``, this band splits into the lower and the upper Hubbard bands, centered around ``\omega = \pm U/2`` respectively. +So the bandwidth should be around ``3.2`` at a minimum, but we choose more than twice that with ``\omega_\mathrm{max} = 8`` to be safe. ```julia-repl julia> using SparseIR @@ -93,17 +112,57 @@ julia> basis = FiniteTempBasis{Fermionic}(β, ωmax, ε) 2.2623276239584257e-6 ``` There is quite a lot happening behind the scenes in this first innocuous-looking statement, so we will break it down: -Because we did not specify otherwise, the constructor chose the analytic continuation kernel for fermions, `LogisticKernel(80.0)`, defined by + +### Kernel +Consider a propagator/Green's function defined on the imaginary-time axis +```math + G(\tau) \equiv -\ev{T_\tau A(\tau) B(0)} +``` +and the associated spectral function in real frequency ``\rho(\omega) = -(1/\pi) \;\mathrm{Im}\;G(\omega)``. +These are related via +```math + G(\tau) = -\int_{-\omega_\mathrm{max}}^{+\omega_\mathrm{max}} \dd{\omega} \tilde K(\tau, \omega) \rho(\omega) +``` +with the integral kernel ```math - K(x, y) = \frac{e^{-\Lambda y (x + 1) / 2}}{1 + e^{-\Lambda y}}, + \tilde K(\tau, \omega) = \frac{e^{-\tau\omega}}{e^{-\beta\omega} + 1} ``` -for us, where 80.0 is the value of the scale parameter ``\Lambda = \beta\omega_\mathrm{max}``. -This kernel is visualized below. -![Logistic kernel used to construct the basis in our problem treatment.](assets/img/kernel.png) +mediating between them. +If we perform an SVE on this kernel, yielding the decomposition +```math + \tilde K(\tau, \omega) = \sum_{\ell=1}^\infty U_\ell(\tau) S_\ell V_\ell(\omega), +``` +with the ``U_\ell``s and ``V_\ell``s each forming an orthonormal system, we can write +```math + G(\tau) = \sum_{\ell=1}^\infty U_\ell(\tau) G_\ell = \sum_{\ell=1}^L U_\ell(\tau) G_\ell + \epsilon_{L+1}(\tau) +``` +with expansion coefficients given by +```math + G_\ell = -\int_{-\omega_\mathrm{max}}^{+\omega_\mathrm{max}} \dd{\omega} S_\ell V_\ell(\omega) \rho(\omega). +``` +The singular values decay at least exponentially quickly ``\log S_\ell = \order{-\ell / \log(\beta\omega_\mathrm{max})}``, so the error ``\epsilon_{L+1}(\tau)`` we incur by representing the Green's function in this way and cutting off the sum after ``L`` terms does too. +If we know its expansion coefficients, we can easily compute the propagator's Fourier transform by +```math + \hat G(\mathrm{i}\omega) = \int_0^\beta \dd{\tau} e^{\mathrm{i}\omega\tau} G(\tau) \approx \sum_{\ell=1}^L \hat U_\ell(\mathrm{i}\omega) G_\ell, +``` +where ``\mathrm{i}\omega = (2n+1)\mathrm{i}\pi/\beta`` with ``n \in \mathbb Z`` is a Matsubara frequency. +The representation in terms of these expansion coefficients is what is called the intermediate representation and what `SparseIR.jl` is concerned with. + +To standardize our variables, we define ``x \in [-1,+1]`` and ``y \in [-1,+1]`` by +```math + \tau = \beta (x+1)/2 \qand \omega = \omega_\mathrm{max} y +``` +so that the kernel can be written +```math + K(x, y) = \frac{e^{-\Lambda y (x + 1) / 2}}{e^{-\Lambda y} + 1}, +``` +with ``\Lambda = \beta\omega_\mathrm{max} = 80``. +This is represented by the object `LogisticKernel(80.0)`, which `FiniteTempBasis` uses internally. +![Logistic kernel used to construct the basis in our problem treatment 𝐾(𝑥,𝑦).](assets/img/kernel.png) ### Singular value expansion -Central is the _singular value expansion_'s (SVE) computation, which is handled by the function `SVEResult`: +Central is the _singular value expansion_'s [Hansen2010](@cite) computation, which is handled by the function `SVEResult`: Its purpose is to construct the decomposition ```math K(x, y) \approx \sum_{\ell = 0}^L U_\ell(x) S_\ell V_\ell(y) @@ -113,7 +172,7 @@ By construction, the singular functions form an orthonormal basis, i.e. ```math \int \dd{x} U_\ell(x) U_{\ell'}(x) = \delta_{\ell\ell'} = \int \dd{y} V_\ell(y) V_{\ell'}(y). ``` -and thus +and thus above equation is equivalent to a pair of eigenvalue equations ```math \left. \begin{aligned} @@ -122,12 +181,12 @@ and thus \end{aligned} \right\} ``` -Here and in what follows, unless otherwise indicated, integrals are taken to be over the interval ``[-1,1]``. +Here and in what follows, unless otherwise indicated, integrals are taken to be over the interval ``[-1,+1]`` (because we rescaled to ``x`` and ``y`` variables). 1. The function first calls the `choose_accuracy` helper and thereby sets the appropriate working precision. - Because we did not specify a working accuracy ``\varepsilon``, it chooses for us ``\varepsilon \approx 2.2 \times 10^{-16}`` and working type `Float64x2` - a 128 bits floating point type provided by the MultiFloats.jl package - because in computing the SVD we incur a precision loss of about half our input bits, leaving us with full double accuracy results only if we use quad precision during the computation. + Because we did not specify a working accuracy ``\varepsilon^2``, it chooses for us machine precision `eps(Float64)`, i.e. ``\varepsilon \approx 2.2 \times 10^{-16}`` and working type `Float64x2` - a 128 bits floating point type provided by the MultiFloats.jl package - because in computing the SVD we incur a precision loss of about half our input bits, leaving us with full double accuracy results only if we use quad precision during the computation. -2. Then - by calling out to the `CentrosymmSVE` constructor - a support grid ``\{x_i\} \times \{y_j\}`` the kernel will later be evaluated on is built. +2. Then - by calling out to the `CentrosymmSVE` constructor - a support grid ``\{x_i\} \times \{y_j\}`` for the kernel to later be evaluated on is built. Along with these support points weights ``\{w_i\}`` and ``\{z_j\}`` are computed. These points and weights consist of repeated scaled Gauss integration rules, such that ```math @@ -136,20 +195,20 @@ Here and in what follows, unless otherwise indicated, integrals are taken to be \int \dd{y} g(y) \approx \sum_j g(y_j) z_j. ``` To get an idea regarding the distribution of these sampling points, refer to following figure, which shows ``\{x_i\} \times \{y_j\}`` for ``\Lambda = 80``: - ![Sampling point distribution resulting from a Cartesian product of Gauss integration rules.](assets/img/sve_grid.png) #### Note: - The points do not cover ``[-1, 1] × [-1, 1]`` but only ``[0, 1] × [0, 1]``. + The points do not cover ``[-1, 1] \times [-1, 1]`` but only ``[0, 1] \times [0, 1]``. This is actually a special case as we exploit the kernel's centrosymmetry, i.e. ``K(x, y) = K(-x, -y)``. It is straightforward to show that the left/right singular vectors then can be chosen as either odd or even functions. - Consequentially, they are singular functions of a reduced kernel ``K^\mathrm{red}_\pm`` on ``[0, 1] × [0, 1]`` that is given as either: + Consequentially, we actually sample from a reduced kernel ``K^\mathrm{red}_\pm`` on ``[0, 1] \times [0, 1]`` that is given as either ```math - K^\mathrm{red}_\pm(x, y) = K(x, y) \pm K(x, -y) + K^\mathrm{red}_\pm(x, y) = K(x, y) \pm K(x, -y), ``` - It is these reduced kernels we will actually sample from, gaining a 4-fold speedup in constructing the SVE. - ![The reduced kernels.](assets/img/kernel_red.png) + gaining a 4-fold speedup (because we take only a quarter of the domain) in constructing the SVE. + The full singular functions can be reconstructed by (anti-)symmetrically continuing them to the negative axis. + ![The reduced kernels. Compare their [0,1] × [0,1] subregions with the sampling point distribution plot above.](assets/img/kernel_red.png) Using the integration rules allows us to approximate ```math @@ -160,7 +219,7 @@ Here and in what follows, unless otherwise indicated, integrals are taken to be \end{aligned} \right\} ``` - which we now multiply by ``\sqrt{w_i}`` and ``\sqrt{z_j}`` respectively, yielding + which we now multiply by ``\sqrt{w_i}`` and ``\sqrt{z_j}`` respectively to normalize our basis functions, yielding ```math \left. \begin{aligned} @@ -201,14 +260,12 @@ Here and in what follows, unless otherwise indicated, integrals are taken to be !!! info Special care is taken here to avoid FP-arithmetic cancellation around ``x = -1`` and ``x = +1``. - ![Kernel matrices.](assets/img/kernel_red_matrices.png) - Note that in the plot, the matrices are rotated 90 degrees counterclockwise to make the connection with the (subregion ``[0, 1] \times [0, 1]`` of the) previous figure more obvious. - Thus we can see how the choice of sampling points has magnified and brought to the matrices' centers the regions of interest. - Furthermore, elements with absolute values smaller than ``10\%`` of the maximum have been omitted to emphasize the structure; this should however not be taken to mean that there is any sparsity to speak of we could exploit in the next step. + ![Kernel matrices, rotated 90 degrees counterclockwise to make the connection with the (subregion [0,1] × [0,1] of the) previous figure more obvious. Thus we can see how the choice of sampling points has magnified and brought to the matrices' centers the regions of interest. + Furthermore, elements with absolute values smaller than 10\% of the maximum have been omitted to emphasize the structure; this should however not be taken to mean that there is any sparsity to speak of we could exploit in the next step.](assets/img/kernel_red_matrices.png) -4. Take the truncated singular value decomposition (TSVD) of ``K``, or rather, of ``K_+`` and ``K_-``. - We use here a custom TSVD routine written by Markus Wallerberger which combines a homemade rank-revealing QR decomposition with `GenericLinearAlgebra.svd!`. - This is necessary because there is currently no TSVD for arbitrary types available. +4. Take the truncated singular value decomposition (trSVD) of ``K``, or rather, of ``K_+`` and ``K_-``. + We use here a custom trSVD routine written by Markus Wallerberger which combines a homemade rank-revealing QR decomposition with `GenericLinearAlgebra.svd!`. + This is necessary because there is currently no trSVD for quad precision types available. 5. Via the function `truncate`, we throw away superfluous terms in our expansion. More specifically, we choose the basis size ``L`` such that ``S_\ell / S_0 > \varepsilon`` for all ``\ell \leq L``. @@ -216,93 +273,82 @@ Here and in what follows, unless otherwise indicated, integrals are taken to be 6. Finally, we need a postprocessing step implemented in `postprocess` which performs some technical manipulation to turn the SVD result into the SVE we actually want. The functions are represented as piecewise Legendre polynomials, which model a function on the interval ``[x_\mathrm{min}, x_\mathrm{max}]`` as a set of segments on the intervals ``[a_i, a_{i+1}]``, where on each interval the function is expanded in scaled Legendre polynomials. + The interval endpoints are chosen such that they reflect the approximate position of roots of a high-order singular function in ``x``. ### The finishing touches The difficult part of constructing the `FiniteTempBasis` is now over. Next we truncate the left and right singular functions by discarding ``U_\ell`` and ``V_\ell`` with indices ``\ell > L`` to match the ``S_\ell``. -The functions are now scaled to imaginary time and frequency according to +The functions are now scaled to imaginary-time and frequency according to ```math \tau = \beta/2 (x + 1) \qand \omega = \omega_\mathrm{max} y ``` -and to match them, the singular values are multiplied by ``\sqrt{(\beta/2)\omega}``. +and to match them, the singular values are multiplied by ``\sqrt{(\beta/2)\omega}``, because ``K(x,y) \sqrt{\dd x\dd y} = K(\tau,\omega) \sqrt{\dd\tau\dd\omega}``. We also add to our basis ``\hat{U}_\ell(\mathrm{i}\omega)``, the Fourier transforms of the left singular functions, defined on the fermionic Matsubara frequencies ``\mathrm{i}\omega = \mathrm{i}(2n+1)\beta/\pi`` (with integer ``n``). This is particularly simple, because the Legendre polynomials' Fourier transforms are known analytically and given by spherical Bessel functions, for which we can rely on `Bessels.jl` [Helton2022](@cite). We can now take a look at our basis functions to get a feel for them: -![The first 6 left singular basis functions on the imaginary time axis.](assets/img/u_basis.pdf) + +![The first 6 left singular basis functions on the imaginary-time axis.](assets/img/u_basis.pdf) + ![The first 6 right singular basis functions on the frequency axis.](assets/img/v_basis.pdf) + Looking back at the image of the kernel ``K(x,y)`` we can imagine how it is reconstructed by multiplying and summing (including a factor ``S_\ell``) ``U_\ell(\tau)`` and ``V_\ell(\omega)``. +An important property of the left singular functions is interlacing, i.e. ``U_\ell`` interlaces ``U_{\ell+1}``. +A function ``g`` with roots ``\alpha_{n-1} \leq \ldots \leq \alpha_1`` interlaces a function ``f`` with roots ``\beta_n \leq \ldots \leq \beta_1`` if +```math + \beta_n \leq \alpha_{n-1} \leq \beta_{n-1} \leq \ldots \leq \beta_1. +``` +We will use this property in constructing our sparse sampling set. + ![The first 8 Fourier transformed basis functions on the Matsubara frequency axis.](assets/img/uhat_basis.pdf) + As for the Matsubara basis functions, we plot only the non-zero components, i.e. ``\mathrm{Im}\;\hat U_\ell\,(\mathrm{i}\omega)`` with odd ``\ell`` and ``\mathrm{Re}\;\hat U_\ell\,(\mathrm{i}\omega)`` with even ``\ell``. ## Constructing the samplers -With our basis complete, we construct sparse sampling objects for fermionic propagators on the imaginary time axis and on the Matsubara frequency axis. +With our basis complete, we construct sparse sampling objects for fermionic propagators on the imaginary-time axis and on the Matsubara frequency axis. ```julia-repl -julia> sτ = TauSampling(basis) -TauSampling64 with sampling points: - 0.018885255323127792 - 0.10059312563754808 - 0.25218900406693556 - 0.4822117319309194 - 0.8042299148252774 - 1.2376463941125326 - 1.8067997157763205 - 2.535059399842931 - 3.4296355795122793 - 4.45886851573216 - 5.541131484267839 - 6.570364420487721 - 7.464940600157068 - 8.19320028422368 - 8.762353605887466 - 9.195770085174722 - 9.51778826806908 - 9.747810995933065 - 9.899406874362452 - 9.981114744676873 - -julia> siω = MatsubaraSampling(basis; positive_only=true) -MatsubaraSampling{FermionicFreq, ComplexF64, SparseIR.SplitSVD{Float64}} with sampling points: - FermionicFreq(1) - FermionicFreq(3) - FermionicFreq(5) - FermionicFreq(7) - FermionicFreq(9) - FermionicFreq(11) - FermionicFreq(17) - FermionicFreq(27) - FermionicFreq(49) - FermionicFreq(153) +julia> sτ = TauSampling(basis); + +julia> show(sampling_points(sτ)) +[0.018885255323127792, 0.10059312563754808, 0.25218900406693556, 0.4822117319309194, 0.8042299148252774, 1.2376463941125326, 1.8067997157763205, 2.535059399842931, 3.4296355795122793, 4.45886851573216, 5.541131484267839, 6.570364420487721, 7.464940600157068, 8.19320028422368, 8.762353605887466, 9.195770085174722, 9.51778826806908, 9.747810995933065, 9.899406874362452, 9.981114744676873] + +julia> siω = MatsubaraSampling(basis; positive_only=true); + +julia> show(sampling_points(siω)) +FermionicFreq[FermionicFreq(1), FermionicFreq(3), FermionicFreq(5), FermionicFreq(7), FermionicFreq(9), FermionicFreq(11), FermionicFreq(17), FermionicFreq(27), FermionicFreq(49), FermionicFreq(153)] ``` Both functions first determine a suitable set of sampling points on their respective axis. -In the case of `TauSampling`, the sampling points ``\{\tau_i\}`` are chosen as the extrema of the highest-order basis function in imaginary time. +In the case of `TauSampling`, the sampling points ``\{\tau_i\}`` are chosen as the extrema of the highest-order basis function in imaginary-time; this works because ``U_\ell`` has exactly ``\ell`` roots. This turns out to be close to optimal with respect to conditioning for this size (within a few percent). Similarly, `MatsubaraSampling` chooses sampling points ``\{\mathrm{i}\omega_n\}`` as the (discrete) extrema of the highest-order basis function in Matsubara. By setting `positive_only=true`, one assumes that functions to be fitted are symmetric in -Matsubara frequency, i.e.: +Matsubara frequency, i.e. ```math - \hat G(\mathrm{i}\omega) = \qty(\hat G(-\mathrm{i}\omega))^* + \hat G(\mathrm{i}\omega) = \qty(\hat G(-\mathrm{i}\omega))^*. ``` -or equivalently, that they are purely real in imaginary time. -In this case, sparse sampling is performed over non-negative frequencies only, cutting away half of the necessary sampling space, so we get only 10 sampling points instead of the 20 in the imaginary time case. +In this case, sparse sampling is performed over non-negative frequencies only, cutting away half of the necessary sampling space, so we get only 10 sampling points instead of the 20 in the imaginary-time case. Then, both compute design matrices by ``E^\tau_{i\ell} = u_\ell(\tau_i)`` and ``E^\omega_{n\ell} = \hat{u}_\ell(i\omega_n)`` as well as their SVDs. -We are now able to get the IR basis coefficients of a function that is known on the imaginary time sampling points by solving the fitting problem +We are now able to get the IR basis coefficients of a function that is known on the imaginary-time sampling points by solving the fitting problem ```math - G_\ell = \mathrm{arg}\,\mathrm{min}_{G_\ell} \sum_i \norm{G(\tau_i) - \sum_\ell E^\tau_{i\ell} G_\ell}^2, + G_\ell = \mathrm{arg\,min}_{G_\ell} \sum_{\{\tau_i\}} \norm{G(\tau_i) - \sum_\ell E^\tau_{i\ell} G_\ell}^2, ``` which can be done efficiently once the SVD is known. The same can be done on the Matsubara axis ```math - G_\ell = \mathrm{arg}\,\mathrm{min}_{G_\ell} \sum_n \norm{\hat{G}(\mathrm{i}\omega_n) - \sum_\ell E^\omega_{n\ell} G_\ell}^2 + G_\ell = \mathrm{arg\,min}_{G_\ell} \sum_{\{\mathrm{i}\omega_n\}} \norm{\hat{G}(\mathrm{i}\omega_n) - \sum_\ell E^\omega_{n\ell} G_\ell}^2 ``` and taken together we now have a way of moving efficiently between both. +In solving these problems, we need to take their conditioning into consideration; in the case of the Matsubara axis, the problem is somewhat worse conditioned than on the imaginary-time axis due to its discrete nature. +We augment it therefore with 4 additional sampling frequencies. + +![Scaling behavior of the fitting problems' conditioning.](assets/img/condscaling.pdf) ## Initializing the iteration -Because the non-interacting density of states is given ``\rho_0(\omega) = \frac{2}{\pi}\sqrt{1 - \omega^2}``, we can easily get the IR basis coefficients for the non-interacting propagater +Because the non-interacting density of states is given ``\rho_0(\omega) = \frac{2}{\pi}\sqrt{1 - \omega^2}``, we can easily get the IR basis coefficients for the non-interacting propagator ```math {G_0}_\ell = -S_\ell {\rho_0}_\ell = -S_\ell \int \dd{\omega} V_\ell(\omega) \rho_0(\omega) ``` @@ -372,22 +418,21 @@ julia> G₀iω = evaluate(siω, G₀l) ## Self-consistency loop -If we take the second-order expression for the self-energy +We are now ready to tackle the coupled equations from the start, and will state them here for the reader's convenience: ```math \Sigma(\tau) = U^2 \pqty{G(\tau)}^3 ``` and the Dyson equation ```math - \hat G(\mathrm{i}\omega) = \pqty{\pqty{\hat G_0(\mathrm{i}\omega)}^{-1} - \Sigma(\mathrm{i}\omega)}^{-1} + \hat G(\mathrm{i}\omega) = \pqty{\pqty{\hat G_0(\mathrm{i}\omega)}^{-1} - \hat\Sigma(\mathrm{i}\omega)}^{-1}. ``` -we have a system of two coupled equations. The first one is diagonal in ``\tau`` and the second is diagonal in ``\mathrm{i}\omega``, so we employ the IR basis to efficiently convert between the two bases. Starting with our approximation to ``G_\ell`` we evaluate in the ``\tau``-basis to get ``G(\tau)``, from which we can compute the self-energy on the sampling points ``\Sigma(\tau)`` according to the first equation. This can now be fitted to the ``\tau``-basis to get ``\Sigma_\ell``, and from there ``\hat\Sigma(\mathrm{i}\omega)`` via evaluation in the ``\mathrm{i}\omega``-basis. Now the Dyson equation is used to get ``\hat G(\mathrm{i}\omega)`` on the sampling frequencies, which is then fitted to the ``\mathrm{i}\omega``-basis yielding ``G_\ell`` and completing the loop. This is now performed until convergence. ```julia-repl -julia> while !isapprox(Gl, Gl_prev, atol=ε) +julia> while !isapprox(Gl, Gl_prev, rtol=ε) Gl_prev = copy(Gl) Gτ = evaluate(sτ, Gl) Στ = @. U^2 * Gτ^3 @@ -397,13 +442,30 @@ julia> while !isapprox(Gl, Gl_prev, atol=ε) Gl = fit(siω, Giω) end ``` +This is what one iteration looks like spelled out in equations: +```math +\begin{aligned} + G^\mathrm{prev}_\ell &= G_\ell \\ + G(\tau_i) &= \sum_\ell U_\ell(\tau_i) G_\ell \\ + \Sigma(\tau_i) &= U^2 \pqty{G(\tau_i)}^3 \\ + \Sigma_\ell &= \mathrm{arg\,min}_{\Sigma_\ell} \sum_{\{\tau_i\}} \norm{\Sigma(\tau_i) - \sum_\ell U_\ell(\tau_i) \Sigma_\ell}^2 \\ + \hat\Sigma(\mathrm{i}\omega_n) &= \sum_\ell \hat U_\ell(\mathrm{i}\omega_n) \Sigma_\ell \\ + \hat G(\mathrm{i}\omega_n) &= \pqty{\pqty{\hat G_0(\mathrm{i}\omega_n)}^{-1} - \hat\Sigma(\mathrm{i}\omega_n)}^{-1} \\ + G_\ell &= \mathrm{arg\,min}_{G_\ell} \sum_{\{\mathrm{i}\omega_n\}} \norm{\hat G(\mathrm{i}\omega_n) - \sum_\ell \hat U_\ell(\mathrm{i}\omega_n) G_\ell}^2 +\end{aligned} +``` +We consider the iteration converged when the difference between subsequent iterations does not exceed the basis accuracy, i.e. when +```math + \norm{G_\ell - G^\mathrm{prev}_\ell} \leq \varepsilon \max\Bqty{\norm{G_\ell}, \norm{G^\mathrm{prev}_\ell}}, +``` +where the norm is ``\norm{G_\ell}^2 = \sum_{\ell=1}^L G_\ell^2``. -The entire script, as presented in [Outline](@ref outline), takes around 60ms to run and allocates roughly 19MiB on a laptop CPU from 2019. +The entire script, as presented in [Appendix: Optimized script](@ref optimized-script), takes around 60ms to run and allocates roughly 19MiB on a laptop CPU from 2019. ## Visualizing the solution To plot our solution for the self-energy, we create a `MatsubaraSampling` object on a dense box of sampling frequencies. -In this case, the fact that the sampling matrix of such a frequency set is badly conditioned does not matter, because we only need it for expanding, i.e. multiplying a vector. +In this case, we only need it for expanding, i.e. multiplying a vector, hence there is no need for constructing the SVD, so we pass `factorize=false`. ```julia-repl julia> box = FermionicFreq.(1:2:79) 40-element Vector{FermionicFreq}: @@ -413,9 +475,7 @@ julia> box = FermionicFreq.(1:2:79) 77π/β 79π/β -julia> siω_box = MatsubaraSampling(basis; sampling_points=box); -┌ Warning: Sampling matrix is poorly conditioned (cond = 2.668196257523898e15). -└ @ SparseIR ~/.julia/dev/SparseIR/src/sampling.jl:87 +julia> siω_box = MatsubaraSampling(basis; sampling_points=box, factorize=false); julia> Σiω_box = evaluate(siω_box, Σl) 40-element Vector{ComplexF64}: @@ -429,7 +489,8 @@ We are now in a position to visualize the results of our calculation: - In the main plot, the imaginary part of the self-energy in Matsubara alongside the sampling points on which it was computed. This illustrates very nicely one of the main advantages of our method: During the entire course of the iteration we only ever need to store and calculate with the values of all functions on the sparse set of sampling points and are still able to expand the result the a dense frequency set in the end. - In the inset, the IR basis coefficients of the self-energy and of the propagator, along with the basis singular values. - We only plot the nonvanishing basis coefficients, which are those at odd values of ``\ell`` because the real parts of ``\hat G(\mathrm{i}\omega)`` and ``\hat \Sigma(\mathrm{i}\omega)`` are almost zero. + We only plot the non-vanishing basis coefficients, which are those at odd values of ``\ell`` because the real parts of ``\hat G(\mathrm{i}\omega)`` and ``\hat \Sigma(\mathrm{i}\omega)`` are almost zero. + The singular values ``S_\ell/S_1`` are the bound for ``\abs{G_l / G_1}`` and ``\abs{\Sigma_\ell / \Sigma_1}``. ![Self-energy calculated in the self-consistency iteration. The inset shows the IR basis coefficients corresponding to the self-energy and the propagator.](assets/img/result.pdf) # Summary and outlook @@ -440,9 +501,59 @@ In this example, we solved an Anderson impurity model with elliptical density of We successfully obtained the self-energy (accurate to second order) with minimal computational effort. Regarding further work, perhaps the single most obvious direction is the extension to multi-particle quantities; And indeed, [Shinaoka2018,Wallerberger2021](@cite) did exactly this, with Markus Wallerberger writing the as of yet unpublished Julia library `OvercompleteIR.jl` which builds on top of `SparseIR.jl`. - +This library has already found applications in solving the parquet equations for the Hubbard model and for the Anderson impurity model [Michalek2024](@cite). # References ```@bibliography ``` + +# [Appendix: Optimized script](@id optimized-script) +With minimal modifications we can transform our code to be more optimized for performance: +- Put script in a function. This is because globals are type instable in Julia. +- Add `::Vector{Float64}` annotation to ensure type inferrability of `ρ₀l`. +- `Gl` in the loop will be a `Vector{ComplexF64}` in the loop, so make it `complex` right away for type stability. +- Preallocate and reuse arrays to remove allocations in the loop, minimizing total allocations and time spent garbage collecting. Here we benefit from `SparseIR.jl` providing in-place variants `fit!` and `evaluate!`. +```julia +using SparseIR + +function main(; β=10.0, ωmax=8.0, ε=1e-6) + # Construct the IR basis and sparse sampling for fermionic propagators + basis = FiniteTempBasis{Fermionic}(β, ωmax, ε) + sτ = TauSampling(basis) + siω = MatsubaraSampling(basis; positive_only=true) + + # Solve the single impurity Anderson model coupled to a bath with a + # semicircular density of states with unit half bandwidth. + U = 1.2 + ρ₀(ω) = 2 / π * √(1 - clamp(ω, -1, +1)^2) + + # Compute the IR basis coefficients for the non-interacting propagator + ρ₀l = overlap.(basis.v, ρ₀)::Vector{Float64} + G₀l = -basis.s .* ρ₀l + + # Self-consistency loop: alternate between second-order expression for the + # self-energy and the Dyson equation until convergence. + Gl = complex(G₀l) + G₀iω = evaluate(siω, G₀l) + + # Preallocate arrays for the self-energy and the Green's function + Σl = similar(Gl) + Στ = similar(Gl, ComplexF64, length(sampling_points(sτ))) + Σiω = similar(G₀iω) + Gτ = similar(Στ) + Giω = similar(G₀iω) + + Gl_prev = zero(Gl) + while !isapprox(Gl, Gl_prev, rtol=ε) + Gl_prev .= Gl + evaluate!(Gτ, sτ, Gl) + @. Στ = U^2 * Gτ^3 + fit!(Σl, sτ, Στ) + evaluate!(Σiω, siω, Σl) + @. Giω = (G₀iω^-1 - Σiω)^-1 + fit!(Gl, siω, Giω) + end + return basis, Σl +end +``` diff --git a/docs/src/refs.bib b/docs/src/refs.bib index 8006428..0f81636 100644 --- a/docs/src/refs.bib +++ b/docs/src/refs.bib @@ -1,6 +1,6 @@ @article{Krien2022, author = {Krien, Friedrich and Kauch, Anna}, - date = {2022-04-21}, + year = {2022-04-21}, title = {The plain and simple parquet approximation: single-and multi-boson exchange in the two-dimensional Hubbard model}, doi = {10.1140/epjb/s10051-022-00329-6}, issn = {1434-6036}, @@ -13,7 +13,7 @@ @article{Krien2022 @article{Wallerberger2023, author = {Wallerberger, Markus and Badr, Samuel and Hoshino, Shintaro and Huber, Sebastian and Kakizawa, Fumiya and Koretsune, Takashi and Nagai, Yuki and Nogaki, Kosuke and Nomoto, Takuya and Mori, Hitoshi and Otsuki, Junya and Ozaki, Soshun and Plaikner, Thomas and Sakurai, Rihito and Vogel, Constanze and Witt, Niklas and Yoshimi, Kazuyoshi and Shinaoka, Hiroshi}, - date = {2023-02}, + year = {2023-02}, title = {sparse-ir: Optimal compression and sparse sampling of many-body propagators}, doi = {10.1016/j.softx.2022.101266}, issn = {2352-7110}, @@ -25,7 +25,7 @@ @article{Wallerberger2023 @misc{Mangott2022, author = {Julian Mangott}, - date = {2022}, + year = {2022}, title = {Correlations in multi-orbital electronic systems: parquet equations}, doi = {10.34726/hss.2022.101270}, note = {Master thesis, TU Wien} @@ -33,7 +33,7 @@ @misc{Mangott2022 @article{Aryasetiawan1998, author = {Aryasetiawan, F. and Gunnarsson, O.}, - date = {1998-03}, + year = {1998-03}, title = {The GW method}, doi = {10.1088/0034-4885/61/3/002}, issn = {1361-6633}, @@ -46,7 +46,7 @@ @article{Aryasetiawan1998 @book{Ring1980, author = {Ring, Peter and Schuck, Peter}, - date = {1980}, + year = {1980}, title = {The Nuclear Many-Body Problem}, isbn = {978-3-540-21206-5}, publisher = {Springer-Verlag}, @@ -56,7 +56,7 @@ @book{Ring1980 @article{Taranto2014, author = {Taranto, C. and Andergassen, S. and Bauer, J. and Held, K. and Katanin, A. and Metzner, W. and Rohringer, G. and Toschi, A.}, - date = {2014-05}, + year = {2014-05}, title = {From Infinite to Two Dimensions through the Functional Renormalization Group}, doi = {10.1103/PhysRevLett.112.196402}, issn = {1079-7114}, @@ -71,7 +71,7 @@ @article{Taranto2014 @article{Maris2006, author = {Maris, P. and Tandy, P.C.}, - date = {2006}, + year = {2006}, title = {QCD modeling of hadron physics}, doi = {10.1016/j.nuclphysbps.2006.08.012}, issn = {0920-5632}, @@ -84,7 +84,7 @@ @article{Maris2006 @article{Brambilla1996, author = {Brambilla, N. and Montaldi, E. and Prosperi, G. M.}, - date = {1996-09}, + year = {1996-09}, title = {Bethe–Salpeter equation in QCD in a Wilson loop context}, doi = {10.1103/PhysRevD.54.3506}, number = {5}, @@ -98,7 +98,7 @@ @article{Brambilla1996 @article{Eckhardt2020, author = {Eckhardt, Christian J. and Honerkamp, Carsten and Held, Karsten and Kauch, Anna}, - date = {2020-04}, + year = {2020-04}, title = {Truncated unity parquet solver}, doi = {10.1103/PhysRevB.101.155104}, number = {15}, @@ -111,7 +111,7 @@ @article{Eckhardt2020 @article{Eckhardt2018, author = {Eckhardt, C. J. and Schober, G. A. H. and Ehrlich, J. and Honerkamp, C.}, - date = {2018-08}, + year = {2018-08}, title = {Truncated-unity parquet equations: Application to the repulsive Hubbard model}, doi = {10.1103/PhysRevB.98.075143}, number = {7}, @@ -124,7 +124,7 @@ @article{Eckhardt2018 @article{Kaufmann2019, author = {Kaufmann, J. and Gunacker, P. and Kowalski, A. and Sangiovanni, G. and Held, K.}, - date = {2019-08}, + year = {2019-08}, title = {Symmetric improved estimators for continuous-time quantum Monte Carlo}, doi = {10.1103/PhysRevB.100.075119}, number = {7}, @@ -138,7 +138,7 @@ @article{Kaufmann2019 @article{Hille2020, author = {Hille, Cornelia and Kugler, Fabian B. and Eckhardt, Christian J. and He, Yuan-Yao and Kauch, Anna and Honerkamp, Carsten and Toschi, Alessandro and Andergassen, Sabine}, - date = {2020-09}, + year = {2020-09}, title = {Quantitative functional renormalization group description of the two-dimensional Hubbard model}, doi = {10.1103/PhysRevResearch.2.033372}, number = {3}, @@ -152,7 +152,7 @@ @article{Hille2020 @article{Schaefer2021, author = {Schäfer, Thomas and al, et.}, - date = {2021-03}, + year = {2021-03}, title = {Tracking the Footprints of Spin Fluctuations: A MultiMethod, MultiMessenger Study of the Two-Dimensional Hubbard Model}, doi = {10.1103/PhysRevX.11.011058}, number = {1}, @@ -166,7 +166,7 @@ @article{Schaefer2021 @article{Chalupa2018, author = {Chalupa, P. and Gunacker, P. and Schäfer, T. and Held, K. and Toschi, A.}, - date = {2018-06}, + year = {2018-06}, title = {Divergences of the irreducible vertex functions in correlated metallic systems: Insights from the Anderson impurity model}, doi = {10.1103/PhysRevB.97.245136}, number = {24}, @@ -179,7 +179,7 @@ @article{Chalupa2018 @misc{Chalupa2020, author = {Patrick Chalupa and Thomas Schäfer and Matthias Reitner and Daniel Springer and Sabine Andergassen and Alessandro Toschi}, - date = {2020}, + year = {2020}, title = {Fingerprints of the local moment formation and its Kondo screening in the generalized susceptibilities of many-electron problems}, doi = {10.48550/arxiv.2003.07829}, eprint = {2003.07829}, @@ -189,7 +189,7 @@ @misc{Chalupa2020 @article{Blase2020, author = {Blase, Xavier and Duchemin, Ivan and Jacquemin, Denis and Loos, Pierre-François}, - date = {2020-09-03}, + year = {2020-09-03}, title = {The Bethe–Salpeter Equation Formalism: From Physics to Chemistry}, doi = {10.1021/acs.jpclett.0c01875}, number = {17}, @@ -202,7 +202,7 @@ @article{Blase2020 @article{Takada2001, author = {Takada, Yasutami}, - date = {2001-11}, + year = {2001-11}, title = {Inclusion of Vertex Corrections in the Self-Consistent Calculation of Quasiparticles in Metals}, doi = {10.1103/PhysRevLett.87.226402}, number = {22}, @@ -215,7 +215,7 @@ @article{Takada2001 @article{Maggio2017, author = {Maggio, Emanuele and Kresse, Georg}, - date = {2017-10-10}, + year = {2017-10-10}, title = {GW Vertex Corrected Calculations for Molecular Systems}, doi = {10.1021/acs.jctc.7b00586}, issn = {1549-9618}, @@ -229,7 +229,7 @@ @article{Maggio2017 @article{Esirgen1997, author = {Esirgen, Gökhan and Bickers, N. E.}, - date = {1997-01}, + year = {1997-01}, title = {Fluctuation-exchange theory for general lattice Hamiltonians}, doi = {10.1103/PhysRevB.55.2122}, number = {4}, @@ -243,7 +243,7 @@ @article{Esirgen1997 @article{Kugler2018, author = {Kugler, Fabian B. and von Delft, Jan}, - date = {2018-01}, + year = {2018-01}, title = {Multiloop Functional Renormalization Group That Sums Up All Parquet Diagrams}, doi = {10.1103/PhysRevLett.120.057403}, number = {5}, @@ -256,7 +256,7 @@ @article{Kugler2018 @article{Metzner2012, author = {Metzner, Walter and Salmhofer, Manfred and Honerkamp, Carsten and Meden, Volker and Schönhammer, Kurt}, - date = {2012-03}, + year = {2012-03}, title = {Functional renormalization group approach to correlated fermion systems}, doi = {10.1103/RevModPhys.84.299}, number = {1}, @@ -269,7 +269,7 @@ @article{Metzner2012 @article{Salpeter1951, author = {Salpeter, E. E. and Bethe, H. A.}, - date = {1951-12}, + year = {1951-12}, title = {A Relativistic Equation for Bound-State Problems}, doi = {10.1103/PhysRev.84.1232}, number = {6}, @@ -282,7 +282,7 @@ @article{Salpeter1951 @article{GellMann1951, author = {Gell-Mann, Murray and Low, Francis}, - date = {1951-10}, + year = {1951-10}, title = {Bound States in Quantum Field Theory}, doi = {10.1103/PhysRev.84.350}, number = {2}, @@ -295,7 +295,7 @@ @article{GellMann1951 @article{Georges1996, author = {Georges, Antoine and Kotliar, Gabriel and Krauth, Werner and Rozenberg, Marcelo J.}, - date = {1996-01}, + year = {1996-01}, title = {Dynamical mean-field theory of strongly correlated fermion systems and the limit of infinite dimensions}, doi = {10.1103/RevModPhys.68.13}, number = {1}, @@ -308,7 +308,7 @@ @article{Georges1996 @article{Bergli2011, author = {Elise Bergli and Morten Hjorth-Jensen}, - date = {2011}, + year = {2011}, title = {Summation of Parquet diagrams as an ab initio method in nuclear structure calculations}, doi = {10.1016/j.aop.2010.09.015}, issn = {0003-4916}, @@ -322,7 +322,7 @@ @article{Bergli2011 @article{Vilk1997, author = {Vilk, Y. M. and Tremblay, A.-M.S.}, - date = {1997}, + year = {1997}, title = {Non-Perturbative Many-Body Approach to the Hubbard Model and Single-Particle Pseudogap}, doi = {10.1051/jp1:1997135}, issn = {1286-4862}, @@ -335,7 +335,7 @@ @article{Vilk1997 @article{Zantout2019, author = {Zantout, Karim and Backes, Steffen and Valentı́, Roser}, - date = {2019-12}, + year = {2019-12}, title = {Effect of Nonlocal Correlations on the Electronic Structure of LiFeAs}, doi = {10.1103/PhysRevLett.123.256401}, number = {25}, @@ -348,7 +348,7 @@ @article{Zantout2019 @article{Lin2012, author = {Lin, Nan and Gull, Emanuel and Millis, Andrew J.}, - date = {2012-09}, + year = {2012-09}, title = {Two-Particle Response in Cluster Dynamical Mean-Field Theory: Formalism and Application to the Raman Response of High-Temperature Superconductors}, doi = {10.1103/PhysRevLett.109.106401}, number = {10}, @@ -361,7 +361,7 @@ @article{Lin2012 @article{Shinaoka2018, author = {Shinaoka, Hiroshi and Otsuki, Junya and Haule, Kristjan and Wallerberger, Markus and Gull, Emanuel and Yoshimi, Kazuyoshi and Ohzeki, Masayuki}, - date = {2018-05}, + year = {2018-05}, title = {Overcomplete compact representation of two-particle Green's functions}, doi = {10.1103/PhysRevB.97.205111}, issn = {2469-9969}, @@ -373,7 +373,7 @@ @article{Shinaoka2018 @book{Hansen2010, author = {Per Christian Hansen}, - date = {2010}, + year = {2010}, title = {Discrete Inverse Problems: Insights and Algorithms}, doi = {10.1137/1.9780898718836}, isbn = {978-0-898716-96-2}, @@ -383,7 +383,7 @@ @book{Hansen2010 @article{Rokhlin1996, author = {Rokhlin, Vladimir and Yarvin, Norman}, - date = {1996-05}, + year = {1996-05}, title = {Generalized Gaussian Quadratures and Singular Value Decompositions of Integral Operators}, doi = {10.1137/S1064827596310779}, pages = {44}, @@ -393,7 +393,7 @@ @article{Rokhlin1996 @article{Shinaoka2017, author = {Shinaoka, Hiroshi and Otsuki, Junya and Ohzeki, Masayuki and Yoshimi, Kazuyoshi}, - date = {2017}, + year = {2017}, title = {Compressing Green's function using intermediate representation between imaginary-time and real-frequency domains}, doi = {10.1103/PhysRevB.96.035147}, issn = {2469-9969}, @@ -406,7 +406,7 @@ @article{Shinaoka2017 @article{Ha1982, author = {Chung-Wei Ha}, - date = {1982}, + year = {1982}, title = {Eigenvalues of Differentiable Positive Definite Kernels}, doi = {10.1137/0517031}, number = {2}, @@ -417,7 +417,7 @@ @article{Ha1982 @article{Chikano2018, author = {Chikano, Naoya and Otsuki, Junya and Shinaoka, Hiroshi}, - date = {2018-07}, + year = {2018-07}, title = {Performance analysis of a physically constructed orthogonal representation of imaginary-time Green's function}, doi = {10.1103/PhysRevB.98.035104}, number = {3}, @@ -430,7 +430,7 @@ @article{Chikano2018 @book{Fetter2003, author = {Fetter, A.L. and Walecka, J.D.}, - date = {2003}, + year = {2003}, title = {Quantum Theory of Many-particle Systems}, isbn = {9780486428277}, publisher = {Dover Publications}, @@ -443,7 +443,7 @@ @book{Fetter2003 @incollection{Bickers2004, author = {Bickers, N. E.}, booktitle = {Theoretical Methods for Strongly Correlated Electrons. CRM Series in Mathematical Physics}, - date = {2004}, + year = {2004}, title = {Self-Consistent Many-Body Theory for Condensed Matter Systems}, doi = {10.1007/0-387-21717-7_6}, editor = {Sénéchal, D. and Tremblay, A.-M. and Bourbonnais, C.}, @@ -453,7 +453,7 @@ @incollection{Bickers2004 @article{Pavlyukh2020, author = {Pavlyukh, Y. and Stefanucci, G. and van Leeuwen, R.}, - date = {2020-07}, + year = {2020-07}, title = {Dynamically screened vertex correction to GW}, doi = {10.1103/PhysRevB.102.045121}, number = {4}, @@ -466,7 +466,7 @@ @article{Pavlyukh2020 @article{Vilk1994, author = {Vilk, Y. M. and Chen, Liang and Tremblay, A.-M. S.}, - date = {1994-05}, + year = {1994-05}, title = {Theory of spin and charge fluctuations in the Hubbard model}, doi = {10.1103/PhysRevB.49.13267}, number = {18}, @@ -479,7 +479,7 @@ @article{Vilk1994 @article{Schober2018, author = {Schober, Giulio A. H. and Ehrlich, Jannis and Reckling, Timo and Honerkamp, Carsten}, - date = {2018}, + year = {2018}, title = {Truncated-Unity Functional Renormalization Group for Multiband Systems With Spin-Orbit Coupling}, doi = {10.3389/fphy.2018.00032}, issn = {2296-424X}, @@ -490,7 +490,7 @@ @article{Schober2018 @article{Li2019, author = {Gang Li and Anna Kauch and Petra Pudleiner and Karsten Held}, - date = {2019}, + year = {2019}, title = {The victory project v1.0: An efficient parquet equations solver}, doi = {10.1016/j.cpc.2019.03.008}, issn = {0010-4655}, @@ -504,7 +504,7 @@ @article{Li2019 @article{Otsuki2014, author = {Otsuki, Junya and Hafermann, Hartmut and Lichtenstein, Alexander I.}, - date = {2014-12}, + year = {2014-12}, title = {Superconductivity, antiferromagnetism, and phase separation in the two-dimensional Hubbard model: A dual-fermion approach}, doi = {10.1103/PhysRevB.90.235132}, number = {23}, @@ -518,7 +518,7 @@ @article{Otsuki2014 @article{Hafermann2014, author = {Hafermann, Hartmut and van Loon, Erik G. C. P. and Katsnelson, Mikhail I. and Lichtenstein, Alexander I. and Parcollet, Olivier}, - date = {2014-12}, + year = {2014-12}, title = {Collective charge excitations of strongly correlated electrons, vertex corrections, and gauge invariance}, doi = {10.1103/PhysRevB.90.235105}, number = {23}, @@ -532,7 +532,7 @@ @article{Hafermann2014 @book{Vasilev1998, author = {Vasil'ev, A. N.}, - date = {1998-07}, + year = {1998-07}, title = {Functional Methods in Quantum Field Theory and Statistical Physics}, edition = {1}, isbn = {9789056990350}, @@ -543,7 +543,7 @@ @book{Vasilev1998 @article{Onida2002, author = {Onida, Giovanni and Reining, Lucia and Rubio, Angel}, - date = {2002-06}, + year = {2002-06}, title = {Electronic excitations: density-functional versus many-body Green's-function approaches}, doi = {10.1103/RevModPhys.74.601}, number = {2}, @@ -557,7 +557,7 @@ @article{Onida2002 @article{Lichtenstein2014, author = {Lichtenstein, J. and Maier, S. A. and Honerkamp, C. and Platt, C. and Thomale, R. and Andersen, O. K. and Boeri, L.}, - date = {2014-06}, + year = {2014-06}, title = {Functional renormalization group study of an eight-band model for the iron arsenides}, doi = {10.1103/PhysRevB.89.214514}, number = {21}, @@ -571,7 +571,7 @@ @article{Lichtenstein2014 @article{Galler2017, author = {Anna Galler and Patrik Thunström and Patrik Gunacker and Jan M. Tomczak and K. Held}, - date = {2017-03}, + year = {2017-03}, title = {Ab initio dynamical vertex approximation}, doi = {10.1103/PhysRevB.95.115107}, number = {11}, @@ -585,7 +585,7 @@ @article{Galler2017 @article{Rohringer2018, author = {Rohringer, G. and Hafermann, H. and Toschi, A. and Katanin, A. A. and Antipov, A. E. and Katsnelson, M. I. and Lichtenstein, A. I. and Rubtsov, A. N. and Held, K.}, - date = {2018-05}, + year = {2018-05}, title = {Diagrammatic routes to nonlocal correlations beyond dynamical mean field theory}, doi = {10.1103/RevModPhys.90.025003}, number = {2}, @@ -598,7 +598,7 @@ @article{Rohringer2018 @article{Wentzell2020, author = {Wentzell, Nils and Li, Gang and Tagliavini, Agnese and Taranto, Ciro and Rohringer, Georg and Held, Karsten and Toschi, Alessandro and Andergassen, Sabine}, - date = {2020-08}, + year = {2020-08}, title = {High-frequency asymptotics of the vertex function: Diagrammatic parametrization and algorithmic implementation}, doi = {10.1103/PhysRevB.102.085106}, number = {8}, @@ -611,7 +611,7 @@ @article{Wentzell2020 @article{Li2016, author = {Li, Gang and Wentzell, Nils and Pudleiner, Petra and Thunström, Patrik and Held, Karsten}, - date = {2016-04}, + year = {2016-04}, title = {Efficient implementation of the parquet equations: Role of the reducible vertex function and its kernel approximation}, doi = {10.1103/PhysRevB.93.165103}, number = {16}, @@ -624,7 +624,7 @@ @article{Li2016 @article{Krien2019, author = {Krien, Friedrich}, - date = {2019-06}, + year = {2019-06}, title = {Efficient evaluation of the polarization function in dynamical mean-field theory}, doi = {10.1103/PhysRevB.99.235106}, number = {23}, @@ -637,7 +637,7 @@ @article{Krien2019 @article{Kunes2011, author = {Kuneš, Jan}, - date = {2011-02}, + year = {2011-02}, title = {Efficient treatment of two-particle vertices in dynamical mean-field theory}, doi = {10.1103/PhysRevB.83.085102}, number = {8}, @@ -650,7 +650,7 @@ @article{Kunes2011 @article{Li2020, author = {Li, Jia and Wallerberger, Markus and Chikano, Naoya and Yeh, Chia-Nan and Gull, Emanuel and Shinaoka, Hiroshi}, - date = {2020}, + year = {2020}, title = {Sparse sampling approach to efficient ab initio calculations at finite temperature}, doi = {10.1103/physrevb.101.035144}, number = {3}, @@ -661,7 +661,7 @@ @article{Li2020 @article{Shinaoka2020, author = {Shinaoka, Hiroshi and Geffroy, Dominique and Wallerberger, Markus and Otsuki, Junya and Yoshimi, Kazuyoshi and Gull, Emanuel and Kuneš, Jan}, - date = {2020}, + year = {2020}, title = {Sparse sampling and tensor network representation of two-particle Green's functions}, doi = {10.21468/scipostphys.8.1.012}, issn = {2542-4653}, @@ -674,7 +674,7 @@ @article{Shinaoka2020 @article{Rohringer2012, author = {Rohringer, G. and Valli, A. and Toschi, A.}, - date = {2012-09}, + year = {2012-09}, title = {Local electronic correlation at the two-particle level}, doi = {10.1103/PhysRevB.86.125114}, number = {12}, @@ -688,7 +688,7 @@ @article{Rohringer2012 @article{Schaefer2013, author = {Schäfer, T. and Rohringer, G. and Gunnarsson, O. and Ciuchi, S. and Sangiovanni, G. and Toschi, A.}, - date = {2013-06}, + year = {2013-06}, title = {Divergent Precursors of the Mott–Hubbard Transition at the Two-Particle Level}, doi = {10.1103/PhysRevLett.110.246405}, number = {24}, @@ -701,7 +701,7 @@ @article{Schaefer2013 @article{Schaefer2016, author = {Schäfer, T. and Ciuchi, S. and Wallerberger, M. and Thunström, P. and Gunnarsson, O. and Sangiovanni, G. and Rohringer, G. and Toschi, A.}, - date = {2016-12}, + year = {2016-12}, title = {Nonperturbative landscape of the Mott–Hubbard transition: Multiple divergence lines around the critical endpoint}, doi = {10.1103/PhysRevB.94.235108}, number = {23}, @@ -714,7 +714,7 @@ @article{Schaefer2016 @article{Krien2019a, author = {Krien, Friedrich and Valli, Angelo and Capone, Massimo}, - date = {2019-10}, + year = {2019-10}, title = {Single-boson exchange decomposition of the vertex function}, doi = {10.1103/PhysRevB.100.155149}, number = {15}, @@ -727,7 +727,7 @@ @article{Krien2019a @article{Thunstroem2018, author = {Thunström, P. and Gunnarsson, O. and Ciuchi, Sergio and Rohringer, G.}, - date = {2018-12}, + year = {2018-12}, title = {Analytical investigation of singularities in two-particle irreducible vertex functions of the Hubbard atom}, doi = {10.1103/PhysRevB.98.235107}, number = {23}, @@ -741,7 +741,7 @@ @article{Thunstroem2018 @article{Fong2011, author = {David Chin-Lung Fong and Michael Saunders}, - date = {2011}, + year = {2011}, title = {LSMR: An Iterative Algorithm for Sparse Least-Squares Problems}, doi = {10.1137/10079687X}, number = {5}, @@ -752,7 +752,7 @@ @article{Fong2011 @book{Saad2003, author = {Yousef Saad}, - date = {2003}, + year = {2003}, title = {Iterative Methods for Sparse Linear Systems}, doi = {10.1137/1.9780898718003}, isbn = {978-0-89871-534-7}, @@ -762,7 +762,7 @@ @book{Saad2003 @article{Chikano2019, author = {Naoya Chikano and Kazuyoshi Yoshimi and Junya Otsuki and Hiroshi Shinaoka}, - date = {2019}, + year = {2019}, title = {irbasis: Open-source database and software for inter\mediate-representation basis functions of imaginary-time Green's function}, doi = {10.1016/j.cpc.2019.02.006}, pages = {181–188}, @@ -773,14 +773,14 @@ @article{Chikano2019 @book{Mahan2000, author = {Mahan, G. D.}, - date = {2000}, + year = {2000}, title = {Many-Particle Physics}, publisher = {Kluwer Academic/Plenum Publishers, New York} } @article{Nomoto2020, author = {Nomoto, Takuya and Koretsune, Takashi and Arita, Ryotaro}, - date = {2020}, + year = {2020}, title = {Formation Mechanism of the Helical Q Structure in Gd-Based Skyr\-mion Materials}, doi = {10.1103/physrevlett.125.117204}, issn = {0031-9007}, @@ -793,7 +793,7 @@ @article{Nomoto2020 @article{Nomoto2020a, author = {Nomoto, Takuya and Koretsune, Takashi and Arita, Ryotaro}, - date = {2020}, + year = {2020}, title = {Local force method for the ab initio tight-binding model: Effect of spin-dependent hopping on exchange interactions}, doi = {10.1103/physrevb.102.014444}, eprint = {2003.11162}, @@ -806,7 +806,7 @@ @article{Nomoto2020a @article{Nomura2020, author = {Nomura, Yusuke and Nomoto, Takuya and Hirayama, Motoaki and Arita, Ryotaro}, - date = {2020}, + year = {2020}, title = {Magnetic exchange coupling in cuprate-analog d9 nickelates}, doi = {10.1103/physrevresearch.2.043144}, eprint = {2006.16943}, @@ -818,7 +818,7 @@ @article{Nomura2020 @article{Iskakov2020, author = {Iskakov, Sergei and Yeh, Chia-Nan and Gull, Emanuel and Zgid, Dominika}, - date = {2020}, + year = {2020}, title = {Ab initio self-energy embedding for the photoemission spectra of NiO and MnO}, doi = {10.1103/physrevb.102.085105}, eprint = {2003.04440}, @@ -831,7 +831,7 @@ @article{Iskakov2020 @article{Otsuki2020, author = {Otsuki, Junya and Ohzeki, Masayuki and Shinaoka, Hiroshi and Yoshimi, Kazuyoshi}, - date = {2020}, + year = {2020}, title = {Sparse Modeling in Quantum Many-Body Problems}, doi = {10.7566/jpsj.89.012001}, number = {1}, @@ -842,7 +842,7 @@ @article{Otsuki2020 @article{Krien2020, author = {Krien, Friedrich and Valli, Angelo and Chalupa, Patrick and Capone, Massimo and Lichtenstein, Alexander I. and Toschi, Alessandro}, - date = {2020-11}, + year = {2020-11}, title = {Boson-exchange parquet solver for dual fermions}, doi = {10.1103/PhysRevB.102.195131}, number = {19}, @@ -856,7 +856,7 @@ @article{Krien2020 @article{Krien2021, author = {Krien, Friedrich and Kauch, Anna and Held, Karsten}, - date = {2021-02}, + year = {2021-02}, title = {Tiling with triangles: parquet and $GW\ensuremath{\gamma}$ methods unified}, doi = {10.1103/PhysRevResearch.3.013149}, number = {1}, @@ -869,7 +869,7 @@ @article{Krien2021 @article{Astleithner2020, author = {Astleithner, K. and Kauch, A. and Ribic, T. and Held, K.}, - date = {2020-04}, + year = {2020-04}, title = {Parquet dual fermion approach for the Falicov-Kimball model}, doi = {10.1103/PhysRevB.101.165101}, number = {16}, @@ -882,7 +882,7 @@ @article{Astleithner2020 @misc{Kauch2019, author = {Anna Kauch and Felix Hörbinger and Gang Li and Karsten Held}, - date = {2019}, + year = {2019}, title = {Interplay between magnetic and superconducting fluctuations in the doped 2d Hubbard model}, doi = {10.48550/arxiv.1901.09743}, eprint = {1901.09743}, @@ -893,7 +893,7 @@ @misc{Kauch2019 @article{Pudleiner2019a, author = {Pudleiner, P. and Thunström, P. and Valli, A. and Kauch, A. and Li, G. and Held, K.}, - date = {2019-03}, + year = {2019-03}, title = {Parquet approximation for molecules: Spectrum and optical conductivity of the Pariser-Parr-Pople model}, doi = {10.1103/PhysRevB.99.125111}, number = {12}, @@ -907,7 +907,7 @@ @article{Pudleiner2019a @article{Pudleiner2019, author = {Pudleiner, Petra and Kauch, Anna and Held, Karsten and Li, Gang}, - date = {2019-08}, + year = {2019-08}, title = {Competition between antiferromagnetic and charge density wave fluctuations in the extended Hubbard model}, doi = {10.1103/PhysRevB.100.075108}, number = {7}, @@ -920,7 +920,7 @@ @article{Pudleiner2019 @article{Wallerberger2021, author = {Wallerberger, Markus and Shinaoka, Hiroshi and Kauch, Anna}, - date = {2021-08}, + year = {2021-08}, title = {Solving the Bethe-Salpeter equation with exponential convergence}, doi = {10.1103/PhysRevResearch.3.033168}, number = {3}, @@ -933,7 +933,7 @@ @article{Wallerberger2021 @article{Kaufmann2021, author = {Kaufmann, Josef and Eckhardt, Christian and Pickem, Matthias and Kitatani, Motoharu and Kauch, Anna and Held, Karsten}, - date = {2021-01}, + year = {2021-01}, title = {Self-consistent ladder dynamical vertex approximation}, doi = {10.1103/PhysRevB.103.035120}, number = {3}, @@ -947,7 +947,7 @@ @article{Kaufmann2021 @article{Kaye2021, author = {Jason Kaye and Denis Golež}, - date = {2021}, + year = {2021}, title = {Low rank compression in the numerical solution of the nonequilibrium Dyson equation}, doi = {10.21468/SciPostPhys.10.4.091}, number = {4}, @@ -959,7 +959,7 @@ @article{Kaye2021 @article{Kaltak2020, author = {Kaltak, Merzuk and Kresse, Georg}, - date = {2020-05}, + year = {2020-05}, title = {Minimax isometry method: A compressive sensing approach for Matsubara summation in many-body perturbation theory}, doi = {10.1103/PhysRevB.101.205145}, issn = {2469-9969}, @@ -973,7 +973,7 @@ @article{Kaltak2020 @article{Dong2020, author = {Dong,Xinyang and Zgid,Dominika and Gull,Emanuel and Strand,Hugo U. R.}, - date = {2020}, + year = {2020}, title = {Legendre-spectral Dyson equation solver with super-exponential convergence}, doi = {10.1063/5.0003145}, number = {13}, @@ -984,7 +984,7 @@ @article{Dong2020 @article{Boehnke2011, author = {Boehnke, Lewin and Hafermann, Hartmut and Ferrero, Michel and Lechermann, Frank and Parcollet, Olivier}, - date = {2011-08}, + year = {2011-08}, title = {Orthogonal polynomial representation of imaginary-time Green's functions}, doi = {10.1103/PhysRevB.84.075145}, number = {7}, @@ -997,7 +997,7 @@ @article{Boehnke2011 @article{Gull2018, author = {Gull, Emanuel and Iskakov, Sergei and Krivenko, Igor and Rusakov, Alexander A. and Zgid, Dominika}, - date = {2018-08}, + year = {2018-08}, title = {Chebyshev polynomial representation of imaginary-time response functions}, doi = {10.1103/PhysRevB.98.075127}, number = {7}, @@ -1010,7 +1010,7 @@ @article{Gull2018 @article{Kaltak2014, author = {Kaltak, Merzuk and Klime\ifmmode \check{s}\else \v{s}\fi{}, Ji\ifmmode \check{r}\else \v{r}\fi{}\'{\i} and Kresse, Georg}, - date = {2014-08}, + year = {2014-08}, title = {Cubic scaling algorithm for the random phase approximation: Self-interstitials and vacancies in Si}, doi = {10.1103/PhysRevB.90.054115}, number = {5}, @@ -1023,7 +1023,7 @@ @article{Kaltak2014 @article{Ku2002, author = {Ku, Wei and Eguiluz, Adolfo G.}, - date = {2002-08}, + year = {2002-08}, title = {Band-Gap Problem in Semiconductors Revisited: Effects of Core States and Many-Body Self-Consistency}, doi = {10.1103/PhysRevLett.89.126401}, number = {12}, @@ -1037,7 +1037,7 @@ @article{Ku2002 @article{Witt2021, author = {Witt, Niklas and van Loon, Erik G. C. P. and Nomoto, Takuya and Arita, Ryotaro and Wehling, Tim O.}, - date = {2021-05}, + year = {2021-05}, title = {Efficient fluctuation-exchange approach to low-temperature spin fluctuations and superconductivity: From the Hubbard model to ${\mathrm{Na}}_{x}{\mathrm{CoO}}_{2}\ifmmode\cdot\else\textperiodcentered\fi{}{y\mathrm{H}}_{2}\mathrm{O}$}, doi = {10.1103/PhysRevB.103.205148}, number = {20}, @@ -1050,7 +1050,7 @@ @article{Witt2021 @article{DeDominicis1964, author = {De Dominicis,Cyrano and Martin,Paul C.}, - date = {1964}, + year = {1964}, title = {Stationary Entropy Principle and Renormalization in Normal and Superfluid Systems. II. Diagrammatic Formulation}, doi = {10.1063/1.1704064}, number = {1}, @@ -1062,7 +1062,7 @@ @article{DeDominicis1964 @article{Diatlov1957, author = {Diatlov, I T and Sudakov, V V and Ter-Martirosian, K A}, - date = {1957-11}, + year = {1957-11}, title = {ASYMPTOTIC MESON-MESON SCATTERING THEORY}, url = {https://www.osti.gov/biblio/4338008}, volume = {5}, @@ -1072,7 +1072,7 @@ @article{Diatlov1957 @article{Wallerberger2019, author = {Markus Wallerberger and Andreas Hausoel and Patrik Gunacker and Alexander Kowalski and Nicolaus Parragh and Florian Goth and Karsten Held and Giorgio Sangiovanni}, - date = {2019}, + year = {2019}, title = {w2dynamics: Local one- and two-particle quantities from dynamical mean field theory}, doi = {10.1016/j.cpc.2018.09.007}, issn = {0010-4655}, @@ -1087,7 +1087,7 @@ @article{Wallerberger2019 @article{Shinaoka2021, author = {Hiroshi Shinaoka and Junya Otsuki and Mitsuaki Kawamura and Nayuta Takemori and Kazuyoshi Yoshimi}, - date = {2021}, + year = {2021}, title = {DCore: Integrated DMFT software for correlated electrons}, doi = {10.21468/SciPostPhys.10.5.117}, number = {5}, @@ -1100,7 +1100,7 @@ @article{Shinaoka2021 @article{Schwarz2002, author = {K. Schwarz and P. Blaha and G. K. H. Madsen}, - date = {2002}, + year = {2002}, title = {Electronic structure calculations of solids using the WIEN2k package for material sciences}, doi = {10.1016/S0010-4655(02)00206-0}, issn = {0010-4655}, @@ -1115,7 +1115,7 @@ @article{Schwarz2002 @article{Kunes2010, author = {Jan Kuneš and Ryotaro Arita and Philipp Wissgott and Alessandro Toschi and Hiroaki Ikeda and Karsten Held}, - date = {2010}, + year = {2010}, title = {Wien2wannier: From linearized augmented plane waves to maximally localized Wannier functions}, doi = {10.1016/j.cpc.2010.08.005}, issn = {0010-4655}, @@ -1129,7 +1129,7 @@ @article{Kunes2010 @article{Bauer2011, author = {B Bauer and L D Carr and H G Evertz and A Feiguin and J Freire and S Fuchs and L Gamper and J Gukelberger and E Gull and S Guertler and A Hehn and R Igarashi and S V Isakov and D Koop and P N Ma and P Mates and H Matsuo and O Parcollet and G Pawłowski and J D Picon and L Pollet and E Santos and V W Scarola and U Schollwöck and C Silva and B Surer and S Todo and S Trebst and M Troyer and M L Wall and P Werner and S Wessel}, - date = {2011-05}, + year = {2011-05}, title = {The ALPS project release 2.0: open source software for strongly correlated systems}, doi = {10.1088/1742-5468/2011/05/p05001}, number = {05}, @@ -1142,7 +1142,7 @@ @article{Bauer2011 @article{Valli2015, author = {Valli, A. and Schäfer, T. and Thunström, P. and Rohringer, G. and Andergassen, S. and Sangiovanni, G. and Held, K. and Toschi, A.}, - date = {2015-03}, + year = {2015-03}, title = {Dynamical vertex approximation in its parquet implementation: Application to Hubbard nanorings}, doi = {10.1103/PhysRevB.91.115115}, number = {11}, @@ -1155,7 +1155,7 @@ @article{Valli2015 @article{Hohenstein2012, author = {Hohenstein,Edward G. and Parrish,Robert M. and Martínez,Todd J.}, - date = {2012}, + year = {2012}, title = {Tensor hypercontraction density fitting. I. Quartic scaling second- and third-order Møller-Plesset perturbation theory}, doi = {10.1063/1.4732310}, number = {4}, @@ -1166,7 +1166,7 @@ @article{Hohenstein2012 @article{Schollwoeck2011, author = {Ulrich Schollwöck}, - date = {2011}, + year = {2011}, title = {The density-matrix renormalization group in the age of matrix product states}, doi = {10.1016/j.aop.2010.09.012}, issn = {0003-4916}, @@ -1180,7 +1180,7 @@ @article{Schollwoeck2011 @article{Hubbard1963, author = {Hubbard, J. and Flowers, Brian Hilton}, - date = {1963}, + year = {1963}, title = {Electron correlations in narrow energy bands}, doi = {10.1098/rspa.1963.0204}, number = {1365}, @@ -1192,14 +1192,14 @@ @article{Hubbard1963 @article{Anderson1965, author = {Anderson, Donald G.}, - date = {1965-10}, + year = {1965-10}, title = {Iterative Procedures for Nonlinear Integral Equations}, doi = {10.1145/321296.321305}, issn = {0004-5411}, number = {4}, pages = {547–560}, volume = {12}, - issue_date = {Oct. 1965}, + issue_year = {Oct. 1965}, journal = {Journal of the ACM}, location = {New York, NY, USA}, numpages = {14}, @@ -1208,7 +1208,7 @@ @article{Anderson1965 @article{Walker2011, author = {Walker, Homer F. and Ni, Peng}, - date = {2011}, + year = {2011}, title = {Anderson Acceleration for Fixed-Point Iterations}, doi = {10.1137/10078356X}, number = {4}, @@ -1219,7 +1219,7 @@ @article{Walker2011 @article{Monkhorst1976, author = {Monkhorst, Hendrik J. and Pack, James D.}, - date = {1976-06}, + year = {1976-06}, title = {Special points for Brillouin-zone integrations}, doi = {10.1103/PhysRevB.13.5188}, number = {12}, @@ -1232,7 +1232,7 @@ @article{Monkhorst1976 @book{Ashcroft1976, author = {Ashcroft, Neil W and Mermin, N David}, - date = {1976}, + year = {1976}, title = {Solid state physics}, location = {New York, NY}, publisher = {Holt, Rinehart and Winston}, @@ -1241,13 +1241,13 @@ @book{Ashcroft1976 @article{Weideman2002, author = {J. A. C. Weideman}, - date = {2002}, + year = {2002}, title = {Numerical Integration of Periodic Functions: A Few Examples}, issn = {00029890, 19300972}, number = {1}, pages = {21–36}, url = {http://www.jstor.org/stable/2695765}, - urldate = {2024-05-06}, + urlyear = {2024-05-06}, volume = {109}, journal = {The American Mathematical Monthly}, publisher = {Mathematical Association of America} @@ -1255,7 +1255,7 @@ @article{Weideman2002 @misc{Dirnboeck2024, author = {Selina Dirnböck and Seung-Sup B. Lee and Fabian B. Kugler and Sebastian Huber and Jan von Delft and Karsten Held and Markus Wallerberger}, - date = {2024}, + year = {2024}, title = {Overcomplete intermediate representation of two-particle Green's functions and its relation to partial spectral functions}, doi = {10.48550/arxiv.2404.05541}, eprint = {2404.05541}, @@ -1265,7 +1265,7 @@ @misc{Dirnboeck2024 @misc{Kelley2022, author = {C. T. Kelley}, - date = {2022}, + year = {2022}, title = {SIAMFANLEquations.jl}, doi = {10.5281/zenodo.4284807}, note = {Julia Package}, @@ -1274,14 +1274,14 @@ @misc{Kelley2022 @article{Chen2016, author = {Chen, Jiahao and Revels, Jarrett}, - date = {2016}, + year = {2016}, title = {Robust benchmarking in noisy environments}, journal = {arXiv preprint arXiv:1608.04295} } @book{Negele1988, author = {Negele, J.W. and Orland, H.}, - date = {1988}, + year = {1988}, title = {Quantum Many-particle Systems}, isbn = {9780201125931}, publisher = {Basic Books}, @@ -1292,7 +1292,7 @@ @book{Negele1988 @article{Bezanson2017, author = {Bezanson, Jeff and Edelman, Alan and Karpinski, Stefan and Shah, Viral B}, - date = {2017}, + year = {2017}, title = {Julia: A fresh approach to numerical computing}, doi = {10.1137/141000671}, number = {1}, @@ -1304,7 +1304,7 @@ @article{Bezanson2017 @article{Shinaoka2023, author = {Shinaoka, Hiroshi and Wallerberger, Markus and Murakami, Yuta and Nogaki, Kosuke and Sakurai, Rihito and Werner, Philipp and Kauch, Anna}, - date = {2023-04}, + year = {2023-04}, title = {Multiscale Space-Time Ansatz for Correlation Functions of Quantum Systems Based on Quantics Tensor Trains}, doi = {10.1103/PhysRevX.13.021015}, number = {2}, @@ -1317,7 +1317,7 @@ @article{Shinaoka2023 @article{Ritter2024, author = {Ritter, Marc K. and Núñez Fernández, Yuriel and Wallerberger, Markus and von Delft, Jan and Shinaoka, Hiroshi and Waintal, Xavier}, - date = {2024-01}, + year = {2024-01}, title = {Quantics Tensor Cross Interpolation for High-Resolution Parsimonious Representations of Multivariate Functions}, doi = {10.1103/PhysRevLett.132.056501}, issn = {1079-7114}, @@ -1331,7 +1331,7 @@ @article{Ritter2024 @article{NunezFernandez2022, author = {Núñez Fernández, Yuriel and Jeannin, Matthieu and Dumitrescu, Philipp T. and Kloss, Thomas and Kaye, Jason and Parcollet, Olivier and Waintal, Xavier}, - date = {2022-11}, + year = {2022-11}, title = {Learning Feynman Diagrams with Tensor Trains}, doi = {10.1103/PhysRevX.12.041018}, number = {4}, @@ -1344,13 +1344,14 @@ @article{NunezFernandez2022 @unpublished{Michalek2024, author = {Michalek, Matthias}, - date = {2024}, - title = {Solving the Anderson impurity model with intermediate representation of the parquet equations} + year = {2024}, + title = {Solving the Anderson impurity model with intermediate representation of the parquet equations}, + note = {Master's thesis} } @article{Wang2020, author = {Wang, Tianchun and Nomoto, Takuya and Nomura, Yusuke and Shinaoka, Hiroshi and Otsuki, Junya and Koretsune, Takashi and Arita, Ryotaro}, - date = {2020-10}, + year = {2020-10}, title = {Efficient ab initio Migdal–Eliashberg calculation considering the retardation effect in phonon-mediated superconductors}, doi = {10.1103/physrevb.102.134503}, issn = {2469-9950}, @@ -1364,7 +1365,7 @@ @article{Wang2020 @article{Kauch2020, author = {Kauch, A. and Pudleiner, P. and Astleithner, K. and Thunström, P. and Ribic, T. and Held, K.}, - date = {2020-01}, + year = {2020-01}, title = {Generic Optical Excitations of Correlated Systems: $\pi$-tons}, doi = {10.1103/PhysRevLett.124.047401}, number = {4}, @@ -1377,7 +1378,7 @@ @article{Kauch2020 @article{Astretsov2020, author = {Astretsov, Grigory V. and Rohringer, Georg and Rubtsov, Alexey N.}, - date = {2020-02}, + year = {2020-02}, title = {Dual parquet scheme for the two-dimensional Hubbard model: Modeling low-energy physics of high-$T_c$ cuprates with high momentum resolution}, doi = {10.1103/PhysRevB.101.075109}, number = {7}, @@ -1390,7 +1391,7 @@ @article{Astretsov2020 @article{Kitatani2019, author = {Kitatani, Motoharu and Schäfer, Thomas and Aoki, Hideo and Held, Karsten}, - date = {2019-01}, + year = {2019-01}, title = {Why the critical temperature of high-$T_c$ cuprate superconductors is so low: The importance of the dynamical vertex structure}, doi = {10.1103/PhysRevB.99.041115}, number = {4}, @@ -1403,7 +1404,7 @@ @article{Kitatani2019 @article{CruzUribe2002, author = {Cruz-Uribe, David and Neugebauer, Christoph J}, - date = {2002}, + year = {2002}, title = {Sharp error bounds for the trapezoidal rule and Simpson's rule}, number = {4}, pages = {1--22}, @@ -1413,19 +1414,19 @@ @article{CruzUribe2002 @misc{Helton2022, author = {Helton, Michael and Smith, Oscar}, - date = {2022}, + year = {2022}, title = {Bessels.jl}, url = {https://github.com/JuliaMath/Bessels.jl} } @article{Shinaoka2022, - author = {Shinaoka, Hiroshi and Chikano, Naoya and Gull, Emanuel and Li, Jia and Nomoto, Takuya and Otsuki, Junya and Wallerberger, Markus and Wang, Tianchun and Yoshimi, Kazuyoshi}, - date = {2022-09}, - journaltitle = {SciPost Physics Lecture Notes}, - title = {Efficient ab initio many-body calculations based on sparse modeling of Matsubara Green’s function}, - doi = {10.21468/scipostphyslectnotes.63}, - issn = {2590-1990}, - publisher = {Stichting SciPost} + author = {Shinaoka, Hiroshi and Chikano, Naoya and Gull, Emanuel and Li, Jia and Nomoto, Takuya and Otsuki, Junya and Wallerberger, Markus and Wang, Tianchun and Yoshimi, Kazuyoshi}, + year = {2022-09}, + journal = {SciPost Physics Lecture Notes}, + title = {Efficient ab initio many-body calculations based on sparse modeling of Matsubara Green’s function}, + doi = {10.21468/scipostphyslectnotes.63}, + issn = {2590-1990}, + publisher = {Stichting SciPost} } @Comment{jabref-meta: databaseType:biblatex;}