diff --git a/docs/makepdf.jl b/docs/makepdf.jl index 5f86bc9..4b01a47 100644 --- a/docs/makepdf.jl +++ b/docs/makepdf.jl @@ -11,8 +11,12 @@ bib = CitationBibliography( makedocs(; modules = [SparseIR], authors = "Samuel Badr", - sitename = "SparseIR.jl Guide", + sitename = "SparseIRjl example", format = Documenter.LaTeX(; platform="tectonic"), pages = ["Guide" => "guide.md"], plugins = [bib] ) + +pdffile = joinpath(@__DIR__, "build", "SparseIRjlexample.pdf") +titlepage = joinpath(@__DIR__, "src", "assets", "titlepage_sparseirjl.pdf") +run(`cpdf -merge $titlepage $pdffile 4-end -o $pdffile`) \ No newline at end of file diff --git a/docs/src/assets/img/result.pdf b/docs/src/assets/img/result.pdf new file mode 100644 index 0000000..518c918 Binary files /dev/null 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 new file mode 100644 index 0000000..02660b6 Binary files /dev/null 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 new file mode 100644 index 0000000..cf7f946 Binary files /dev/null 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 new file mode 100644 index 0000000..ab720fe Binary files /dev/null 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 new file mode 100644 index 0000000..bb61e8e --- /dev/null +++ b/docs/src/assets/result-plot.jl @@ -0,0 +1,1672 @@ +### A Pluto.jl notebook ### +# v0.20.0 + +using Markdown +using InteractiveUtils + +# ╔═╡ 5d462555-664b-4de5-b076-5ee2078d6ff7 +using SparseIR, CairoMakie + +# ╔═╡ 2d5d27c2-e77e-4bfc-88f4-6e7d85f6fd13 +function compute(; β=10, ωmax=8, ε=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, ρ₀) + G₀l = -basis.s .* ρ₀l + + # Self-consistency loop: alternate between second-order expression for the + # self-energy and the Dyson equation until convergence. + Gl = copy(G₀l) + Gl_prev = zero(Gl) + G₀iω = evaluate(siω, G₀l) + Σl = 0 + while !isapprox(Gl, Gl_prev; rtol=ε) + Gl_prev = copy(Gl) + Gτ = evaluate(sτ, Gl) + Στ = @. U^2 * Gτ^3 + Σl = fit(sτ, Στ) + Σiω = evaluate(siω, Σl) + Giω = @. (G₀iω^-1 - Σiω)^-1 + Gl = fit(siω, Giω) + end + basis, siω, Gl, Σl, β +end + +# ╔═╡ bc15f8ab-ded8-4a62-b7de-9f0a2230e7d6 +function make_plot(basis, siω, Gl, Σl, β, filename) + box = FermionicFreq.(1:2:79) + siω_box = MatsubaraSampling(basis; sampling_points=box); + Σiω_box = evaluate(siω_box, Σl) + + iω = sampling_points(siω) + isinbox = in.(iω, Ref(box)) + iω = iω[isinbox] + Σiω = evaluate(siω, Σl)[isinbox] + + + fig = Figure() + + ax = Axis(fig[1,1]; + xlabel=L"Matsubara frequency $\omega\;[\pi/\beta]$", + ylabel=L"\mathrm{Im}\;\hat\Sigma\,(\mathrm{i}\omega)", + limits=(nothing, (-0.13, 0.0)) + ) + scatterlines!(ax, Int.(box), imag(Σiω_box); + marker=:+, + linestyle=:dot, + ) + scatter!(ax, Int.(iω), imag(Σiω); + marker=:x, + label=L"Sampling points$$", + color=:red, + markersize=15, + ) + axislegend(ax; position=:lt) + + ax_inset = Axis(fig[1,1]; + xlabel=L"Expansion order $\ell$", + yminorticksvisible=true, + yticks=LogTicks(WilkinsonTicks(4)), + yminorticks=IntervalsBetween(9), + limits=(nothing, (1e-6, 1.5)), + yscale=log10, + width=Relative(0.5), + height=Relative(0.5), + halign=0.93, + valign=0.3, + ) + translate!(ax_inset.scene, 0, 0, 10) + translate!(ax_inset.elements[:background], 0, 0, 9) + scatterlines!(ax_inset, eachindex(Gl)[1:2:end], abs.(Gl[1:2:end] / first(Gl)); + label=L"\left| G_\ell / G_1 \right|", + marker=:+, + markersize=13, + linestyle=:dash) + scatterlines!(ax_inset, eachindex(Σl)[1:2:end], abs.(Σl[1:2:end] / first(Σl)); + label=L"\left|\Sigma_\ell / \Sigma_1\right|", + marker=:x, + markersize=13, + linestyle=:dash) + scatterlines!(ax_inset, eachindex(basis.s), basis.s / first(basis.s); + label=L"S_\ell / S_1", + marker=:+, + markersize=8, + linestyle=:dot) + axislegend(ax_inset) + save(filename, fig) + fig +end + +# ╔═╡ 2e8e225d-8e72-4b36-9975-a0c44e271f8a +basis, siω, Gl, Σl, β = compute() + +# ╔═╡ 61e1df2f-54f2-4f39-8f3a-ee70a471b125 +let + ωs = FermionicFreq.(-15:2:15) + fig = Figure(size=(600, 600)) + ax = Axis(fig[1,1]; + xticksvisible=false, + xticklabelsvisible=false, + ylabel=L"\mathrm{Im}\;\hat{U}_\ell\,(\mathrm{i}\omega)") + ls = 1:2:7 + for l in ls + scatterlines!(ax, Int.(ωs), imag(basis.uhat[l].(ωs)); + color = RGBf(l / last(ls), 0.0, 1 - l / last(ls)), + linestyle=:dot, label=string(l) + ) + end + Legend(fig[1,2], ax, L"\ell"; framevisible=false) + ax = Axis(fig[2,1]; + xlabel=L"Matsubara frequency $\omega\;[\pi/\beta]$", + ylabel=L"\mathrm{Re}\;\hat{U}_\ell\,(\mathrm{i}\omega)") + ls = 2:2:8 + for l in ls + scatterlines!(ax, Int.(ωs), real(basis.uhat[l].(ωs)); + color = RGBf(l / last(ls), 0.0, 1 - l / last(ls)), + linestyle=:dot, label=string(l) + ) + end + Legend(fig[2,2], ax, L"\ell"; framevisible=false) + save("img/uhat_basis.pdf", fig) + fig +end + +# ╔═╡ b5bb004e-3ceb-41d9-8a30-3822d18a8c3b +let + ωs = range(-5, 5; length=1000) + fig = Figure(size=(600, 300)) + ax = Axis(fig[1,1]; + xlabel=L"Frequency $\omega$", + ylabel=L"V_\ell\,(\omega)") + ls = 1:6 + for l in ls + lines!(ax, ωs, basis.v[l].(ωs); + color = RGBf(l / last(ls), 0.0, 1 - l / last(ls)), + label=string(l) + ) + end + Legend(fig[1,2], ax, L"\ell"; framevisible=false) + save("img/v_basis.pdf", fig) + fig +end + +# ╔═╡ 9e5840ab-a480-4527-b938-1eac8cbe0330 +let + τs = range(0, 10; length=1000) + fig = Figure(size=(600, 300)) + ax = Axis(fig[1,1]; + xlabel=L"Imaginary time $\tau$", + ylabel=L"U_\ell\,(\tau)") + ls = 1:6 + for l in ls + lines!(ax, τs, basis.u[l].(τs); + color = RGBf(l / last(ls), 0.0, 1 - l / last(ls)), + label=string(l) + ) + end + Legend(fig[1,2], ax, L"\ell"; framevisible=false) + save("img/u_basis.pdf", fig) + fig +end + +# ╔═╡ c39a2c55-af9b-43ed-b11f-c89bcc3a1d00 +make_plot(basis, siω, Gl, Σl, β, "img/result.pdf") + +# ╔═╡ 00000000-0000-0000-0000-000000000001 +PLUTO_PROJECT_TOML_CONTENTS = """ +[deps] +CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" +SparseIR = "4fe2279e-80f0-4adb-8463-ee114ff56b7d" + +[compat] +CairoMakie = "~0.12.14" +SparseIR = "~1.0.18" +""" + +# ╔═╡ 00000000-0000-0000-0000-000000000002 +PLUTO_MANIFEST_TOML_CONTENTS = """ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.11.1" +manifest_format = "2.0" +project_hash = "8388f4e7586e27cdd3147342d380ad4cb027d31d" + +[[deps.AbstractFFTs]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "d92ad398961a3ed262d8bf04a1a2b8340f915fef" +uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" +version = "1.5.0" +weakdeps = ["ChainRulesCore", "Test"] + + [deps.AbstractFFTs.extensions] + AbstractFFTsChainRulesCoreExt = "ChainRulesCore" + AbstractFFTsTestExt = "Test" + +[[deps.AbstractTrees]] +git-tree-sha1 = "2d9c9a55f9c93e8887ad391fbae72f8ef55e1177" +uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" +version = "0.4.5" + +[[deps.Adapt]] +deps = ["LinearAlgebra", "Requires"] +git-tree-sha1 = "6a55b747d1812e699320963ffde36f1ebdda4099" +uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +version = "4.0.4" +weakdeps = ["StaticArrays"] + + [deps.Adapt.extensions] + AdaptStaticArraysExt = "StaticArrays" + +[[deps.AdaptivePredicates]] +git-tree-sha1 = "7e651ea8d262d2d74ce75fdf47c4d63c07dba7a6" +uuid = "35492f91-a3bd-45ad-95db-fcad7dcfedb7" +version = "1.2.0" + +[[deps.AliasTables]] +deps = ["PtrArrays", "Random"] +git-tree-sha1 = "9876e1e164b144ca45e9e3198d0b689cadfed9ff" +uuid = "66dad0bd-aa9a-41b7-9441-69ab47430ed8" +version = "1.1.3" + +[[deps.Animations]] +deps = ["Colors"] +git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d" +uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340" +version = "0.4.1" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.2" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" +version = "1.11.0" + +[[deps.Automa]] +deps = ["PrecompileTools", "SIMD", "TranscodingStreams"] +git-tree-sha1 = "a8f503e8e1a5f583fbef15a8440c8c7e32185df2" +uuid = "67c07d97-cdcb-5c2c-af73-a7f9c32a568b" +version = "1.1.0" + +[[deps.AxisAlgorithms]] +deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] +git-tree-sha1 = "01b8ccb13d68535d73d2b0c23e39bd23155fb712" +uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" +version = "1.1.0" + +[[deps.AxisArrays]] +deps = ["Dates", "IntervalSets", "IterTools", "RangeArrays"] +git-tree-sha1 = "16351be62963a67ac4083f748fdb3cca58bfd52f" +uuid = "39de3d68-74b9-583c-8d2d-e117c070f3a9" +version = "0.4.7" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" +version = "1.11.0" + +[[deps.Bessels]] +git-tree-sha1 = "4435559dc39793d53a9e3d278e185e920b4619ef" +uuid = "0e736298-9ec6-45e8-9647-e4fc86a2fe38" +version = "0.2.8" + +[[deps.Bzip2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" +uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" +version = "1.0.8+1" + +[[deps.CEnum]] +git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc" +uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" +version = "0.5.0" + +[[deps.CRC32c]] +uuid = "8bf52ea8-c179-5cab-976a-9e18b702a9bc" +version = "1.11.0" + +[[deps.CRlibm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e329286945d0cfc04456972ea732551869af1cfc" +uuid = "4e9b3aee-d8a1-5a3d-ad8b-7d824db253f0" +version = "1.0.1+0" + +[[deps.Cairo]] +deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] +git-tree-sha1 = "7b6ad8c35f4bc3bca8eb78127c8b99719506a5fb" +uuid = "159f3aea-2a34-519c-b102-8c37f9878175" +version = "1.1.0" + +[[deps.CairoMakie]] +deps = ["CRC32c", "Cairo", "Cairo_jll", "Colors", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools"] +git-tree-sha1 = "7947d2b61995eda7d5ca50c697b12bb578b918e5" +uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" +version = "0.12.14" + +[[deps.Cairo_jll]] +deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "009060c9a6168704143100f36ab08f06c2af4642" +uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" +version = "1.18.2+1" + +[[deps.ChainRulesCore]] +deps = ["Compat", "LinearAlgebra"] +git-tree-sha1 = "3e4b134270b372f2ed4d4d0e936aabaefc1802bc" +uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +version = "1.25.0" +weakdeps = ["SparseArrays"] + + [deps.ChainRulesCore.extensions] + ChainRulesCoreSparseArraysExt = "SparseArrays" + +[[deps.ColorBrewer]] +deps = ["Colors", "JSON", "Test"] +git-tree-sha1 = "61c5334f33d91e570e1d0c3eb5465835242582c4" +uuid = "a2cac450-b92f-5266-8821-25eda20663c8" +version = "0.4.0" + +[[deps.ColorSchemes]] +deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] +git-tree-sha1 = "b5278586822443594ff615963b0c09755771b3e0" +uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" +version = "3.26.0" + +[[deps.ColorTypes]] +deps = ["FixedPointNumbers", "Random"] +git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d" +uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" +version = "0.11.5" + +[[deps.ColorVectorSpace]] +deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"] +git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249" +uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" +version = "0.10.0" +weakdeps = ["SpecialFunctions"] + + [deps.ColorVectorSpace.extensions] + SpecialFunctionsExt = "SpecialFunctions" + +[[deps.Colors]] +deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] +git-tree-sha1 = "362a287c3aa50601b0bc359053d5c2468f0e7ce0" +uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" +version = "0.12.11" + +[[deps.Compat]] +deps = ["TOML", "UUIDs"] +git-tree-sha1 = "8ae8d32e09f0dcf42a36b90d4e17f5dd2e4c4215" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "4.16.0" +weakdeps = ["Dates", "LinearAlgebra"] + + [deps.Compat.extensions] + CompatLinearAlgebraExt = "LinearAlgebra" + +[[deps.CompilerSupportLibraries_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "1.1.1+0" + +[[deps.ConstructionBase]] +git-tree-sha1 = "76219f1ed5771adbb096743bff43fb5fdd4c1157" +uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" +version = "1.5.8" +weakdeps = ["IntervalSets", "LinearAlgebra", "StaticArrays"] + + [deps.ConstructionBase.extensions] + ConstructionBaseIntervalSetsExt = "IntervalSets" + ConstructionBaseLinearAlgebraExt = "LinearAlgebra" + ConstructionBaseStaticArraysExt = "StaticArrays" + +[[deps.Contour]] +git-tree-sha1 = "439e35b0b36e2e5881738abc8857bd92ad6ff9a8" +uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" +version = "0.6.3" + +[[deps.DataAPI]] +git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" +uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" +version = "1.16.0" + +[[deps.DataStructures]] +deps = ["Compat", "InteractiveUtils", "OrderedCollections"] +git-tree-sha1 = "1d0a14036acb104d9e89698bd408f63ab58cdc82" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.20" + +[[deps.DataValueInterfaces]] +git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" +uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" +version = "1.0.0" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" +version = "1.11.0" + +[[deps.DelaunayTriangulation]] +deps = ["AdaptivePredicates", "EnumX", "ExactPredicates", "PrecompileTools", "Random"] +git-tree-sha1 = "89df54fbe66e5872d91d8c2cd3a375f660c3fd64" +uuid = "927a84f5-c5f4-47a5-9785-b46e178433df" +version = "1.6.1" + +[[deps.Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" +version = "1.11.0" + +[[deps.Distributions]] +deps = ["AliasTables", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] +git-tree-sha1 = "d7477ecdafb813ddee2ae727afa94e9dcb5f3fb0" +uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" +version = "0.25.112" + + [deps.Distributions.extensions] + DistributionsChainRulesCoreExt = "ChainRulesCore" + DistributionsDensityInterfaceExt = "DensityInterface" + DistributionsTestExt = "Test" + + [deps.Distributions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + DensityInterface = "b429d917-457f-4dbc-8f4c-0cc954292b1d" + Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.DocStringExtensions]] +deps = ["LibGit2"] +git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.9.3" + +[[deps.Downloads]] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.EarCut_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e3290f2d49e661fbd94046d7e3726ffcb2d41053" +uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5" +version = "2.2.4+0" + +[[deps.EnumX]] +git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237" +uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" +version = "1.0.4" + +[[deps.ExactPredicates]] +deps = ["IntervalArithmetic", "Random", "StaticArrays"] +git-tree-sha1 = "b3f2ff58735b5f024c392fde763f29b057e4b025" +uuid = "429591f6-91af-11e9-00e2-59fbe8cec110" +version = "2.2.8" + +[[deps.Expat_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1c6317308b9dc757616f0b5cb379db10494443a7" +uuid = "2e619515-83b5-522b-bb60-26c02a35a201" +version = "2.6.2+0" + +[[deps.Extents]] +git-tree-sha1 = "81023caa0021a41712685887db1fc03db26f41f5" +uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910" +version = "0.1.4" + +[[deps.FFMPEG_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +git-tree-sha1 = "8cc47f299902e13f90405ddb5bf87e5d474c0d38" +uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" +version = "6.1.2+0" + +[[deps.FFTW]] +deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] +git-tree-sha1 = "4820348781ae578893311153d69049a93d05f39d" +uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" +version = "1.8.0" + +[[deps.FFTW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4d81ed14783ec49ce9f2e168208a12ce1815aa25" +uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" +version = "3.3.10+1" + +[[deps.FileIO]] +deps = ["Pkg", "Requires", "UUIDs"] +git-tree-sha1 = "62ca0547a14c57e98154423419d8a342dca75ca9" +uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" +version = "1.16.4" + +[[deps.FilePaths]] +deps = ["FilePathsBase", "MacroTools", "Reexport", "Requires"] +git-tree-sha1 = "919d9412dbf53a2e6fe74af62a73ceed0bce0629" +uuid = "8fc22ac5-c921-52a6-82fd-178b2807b824" +version = "0.8.3" + +[[deps.FilePathsBase]] +deps = ["Compat", "Dates"] +git-tree-sha1 = "7878ff7172a8e6beedd1dea14bd27c3c6340d361" +uuid = "48062228-2e41-5def-b9a4-89aafe57970f" +version = "0.9.22" +weakdeps = ["Mmap", "Test"] + + [deps.FilePathsBase.extensions] + FilePathsBaseMmapExt = "Mmap" + FilePathsBaseTestExt = "Test" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" +version = "1.11.0" + +[[deps.FillArrays]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "6a70198746448456524cb442b8af316927ff3e1a" +uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" +version = "1.13.0" +weakdeps = ["PDMats", "SparseArrays", "Statistics"] + + [deps.FillArrays.extensions] + FillArraysPDMatsExt = "PDMats" + FillArraysSparseArraysExt = "SparseArrays" + FillArraysStatisticsExt = "Statistics" + +[[deps.FixedPointNumbers]] +deps = ["Statistics"] +git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172" +uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +version = "0.8.5" + +[[deps.Fontconfig_jll]] +deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Zlib_jll"] +git-tree-sha1 = "db16beca600632c95fc8aca29890d83788dd8b23" +uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" +version = "2.13.96+0" + +[[deps.Format]] +git-tree-sha1 = "9c68794ef81b08086aeb32eeaf33531668d5f5fc" +uuid = "1fa38f19-a742-5d3f-a2b9-30dd87b9d5f8" +version = "1.3.7" + +[[deps.FreeType]] +deps = ["CEnum", "FreeType2_jll"] +git-tree-sha1 = "907369da0f8e80728ab49c1c7e09327bf0d6d999" +uuid = "b38be410-82b0-50bf-ab77-7b57e271db43" +version = "4.1.1" + +[[deps.FreeType2_jll]] +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "5c1d8ae0efc6c2e7b1fc502cbe25def8f661b7bc" +uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" +version = "2.13.2+0" + +[[deps.FreeTypeAbstraction]] +deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"] +git-tree-sha1 = "2493cdfd0740015955a8e46de4ef28f49460d8bc" +uuid = "663a7486-cb36-511b-a19d-713bb74d65c9" +version = "0.10.3" + +[[deps.FriBidi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1ed150b39aebcc805c26b93a8d0122c940f64ce2" +uuid = "559328eb-81f9-559d-9380-de523a88c83c" +version = "1.0.14+0" + +[[deps.GenericLinearAlgebra]] +deps = ["LinearAlgebra", "Printf", "Random", "libblastrampoline_jll"] +git-tree-sha1 = "f47136cac29a9b7a8a88dbce1195394978091edb" +uuid = "14197337-ba66-59df-a3e3-ca00e7dcff7a" +version = "0.3.13" + +[[deps.GeoFormatTypes]] +git-tree-sha1 = "59107c179a586f0fe667024c5eb7033e81333271" +uuid = "68eda718-8dee-11e9-39e7-89f7f65f511f" +version = "0.4.2" + +[[deps.GeoInterface]] +deps = ["Extents", "GeoFormatTypes"] +git-tree-sha1 = "2f6fce56cdb8373637a6614e14a5768a88450de2" +uuid = "cf35fbd7-0cd7-5166-be24-54bfbe79505f" +version = "1.3.7" + +[[deps.GeometryBasics]] +deps = ["EarCut_jll", "Extents", "GeoInterface", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"] +git-tree-sha1 = "b62f2b2d76cee0d61a2ef2b3118cd2a3215d3134" +uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" +version = "0.4.11" + +[[deps.Gettext_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" +uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" +version = "0.21.0+0" + +[[deps.Glib_jll]] +deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] +git-tree-sha1 = "674ff0db93fffcd11a3573986e550d66cd4fd71f" +uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" +version = "2.80.5+0" + +[[deps.Graphics]] +deps = ["Colors", "LinearAlgebra", "NaNMath"] +git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd" +uuid = "a2bd30eb-e257-5431-a919-1863eab51364" +version = "1.1.2" + +[[deps.Graphite2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" +version = "1.3.14+0" + +[[deps.GridLayoutBase]] +deps = ["GeometryBasics", "InteractiveUtils", "Observables"] +git-tree-sha1 = "fc713f007cff99ff9e50accba6373624ddd33588" +uuid = "3955a311-db13-416c-9275-1d80ed98e5e9" +version = "0.11.0" + +[[deps.Grisu]] +git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" +uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" +version = "1.0.2" + +[[deps.HarfBuzz_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll"] +git-tree-sha1 = "401e4f3f30f43af2c8478fc008da50096ea5240f" +uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" +version = "8.3.1+0" + +[[deps.HypergeometricFunctions]] +deps = ["LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] +git-tree-sha1 = "7c4195be1649ae622304031ed46a2f4df989f1eb" +uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" +version = "0.3.24" + +[[deps.ImageAxes]] +deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"] +git-tree-sha1 = "2e4520d67b0cef90865b3ef727594d2a58e0e1f8" +uuid = "2803e5a7-5153-5ecf-9a86-9b4c37f5f5ac" +version = "0.6.11" + +[[deps.ImageBase]] +deps = ["ImageCore", "Reexport"] +git-tree-sha1 = "eb49b82c172811fd2c86759fa0553a2221feb909" +uuid = "c817782e-172a-44cc-b673-b171935fbb9e" +version = "0.1.7" + +[[deps.ImageCore]] +deps = ["ColorVectorSpace", "Colors", "FixedPointNumbers", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "PrecompileTools", "Reexport"] +git-tree-sha1 = "b2a7eaa169c13f5bcae8131a83bc30eff8f71be0" +uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" +version = "0.10.2" + +[[deps.ImageIO]] +deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"] +git-tree-sha1 = "437abb322a41d527c197fa800455f79d414f0a3c" +uuid = "82e4d734-157c-48bb-816b-45c225c6df19" +version = "0.6.8" + +[[deps.ImageMetadata]] +deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"] +git-tree-sha1 = "355e2b974f2e3212a75dfb60519de21361ad3cb7" +uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49" +version = "0.9.9" + +[[deps.Imath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "0936ba688c6d201805a83da835b55c61a180db52" +uuid = "905a6f67-0a94-5f89-b386-d35d92009cd1" +version = "3.1.11+0" + +[[deps.IndirectArrays]] +git-tree-sha1 = "012e604e1c7458645cb8b436f8fba789a51b257f" +uuid = "9b13fd28-a010-5f03-acff-a1bbcff69959" +version = "1.0.0" + +[[deps.Inflate]] +git-tree-sha1 = "d1b1b796e47d94588b3757fe84fbf65a5ec4a80d" +uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" +version = "0.1.5" + +[[deps.IntelOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"] +git-tree-sha1 = "10bd689145d2c3b2a9844005d01087cc1194e79e" +uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" +version = "2024.2.1+0" + +[[deps.InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" +version = "1.11.0" + +[[deps.Interpolations]] +deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] +git-tree-sha1 = "88a101217d7cb38a7b481ccd50d21876e1d1b0e0" +uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" +version = "0.15.1" +weakdeps = ["Unitful"] + + [deps.Interpolations.extensions] + InterpolationsUnitfulExt = "Unitful" + +[[deps.IntervalArithmetic]] +deps = ["CRlibm_jll", "MacroTools", "RoundingEmulator"] +git-tree-sha1 = "8e125d40cae3a9f4276cdfeb4fcdb1828888a4b3" +uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" +version = "0.22.17" + + [deps.IntervalArithmetic.extensions] + IntervalArithmeticDiffRulesExt = "DiffRules" + IntervalArithmeticForwardDiffExt = "ForwardDiff" + IntervalArithmeticIntervalSetsExt = "IntervalSets" + IntervalArithmeticLinearAlgebraExt = "LinearAlgebra" + IntervalArithmeticRecipesBaseExt = "RecipesBase" + + [deps.IntervalArithmetic.weakdeps] + DiffRules = "b552c78f-8df3-52c6-915a-8e097449b14b" + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" + LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" + +[[deps.IntervalSets]] +git-tree-sha1 = "dba9ddf07f77f60450fe5d2e2beb9854d9a49bd0" +uuid = "8197267c-284f-5f27-9208-e0e47529a953" +version = "0.7.10" + + [deps.IntervalSets.extensions] + IntervalSetsRandomExt = "Random" + IntervalSetsRecipesBaseExt = "RecipesBase" + IntervalSetsStatisticsExt = "Statistics" + + [deps.IntervalSets.weakdeps] + Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" + Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" + +[[deps.IrrationalConstants]] +git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.2.2" + +[[deps.Isoband]] +deps = ["isoband_jll"] +git-tree-sha1 = "f9b6d97355599074dc867318950adaa6f9946137" +uuid = "f1662d9f-8043-43de-a69a-05efc1cc6ff4" +version = "0.1.1" + +[[deps.IterTools]] +git-tree-sha1 = "42d5f897009e7ff2cf88db414a389e5ed1bdd023" +uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" +version = "1.10.0" + +[[deps.IteratorInterfaceExtensions]] +git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" +uuid = "82899510-4779-5014-852e-03e436cf321d" +version = "1.0.0" + +[[deps.JLLWrappers]] +deps = ["Artifacts", "Preferences"] +git-tree-sha1 = "be3dc50a92e5a386872a493a10050136d4703f9b" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.6.1" + +[[deps.JSON]] +deps = ["Dates", "Mmap", "Parsers", "Unicode"] +git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" +uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +version = "0.21.4" + +[[deps.JpegTurbo]] +deps = ["CEnum", "FileIO", "ImageCore", "JpegTurbo_jll", "TOML"] +git-tree-sha1 = "fa6d0bcff8583bac20f1ffa708c3913ca605c611" +uuid = "b835a17e-a41a-41e7-81f0-2f016b05efe0" +version = "0.1.5" + +[[deps.JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "25ee0be4d43d0269027024d75a24c24d6c6e590c" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "3.0.4+0" + +[[deps.KernelDensity]] +deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"] +git-tree-sha1 = "7d703202e65efa1369de1279c162b915e245eed1" +uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b" +version = "0.6.9" + +[[deps.LAME_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "170b660facf5df5de098d866564877e119141cbd" +uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" +version = "3.100.2+0" + +[[deps.LLVMOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "78211fb6cbc872f77cad3fc0b6cf647d923f4929" +uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" +version = "18.1.7+0" + +[[deps.LZO_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "854a9c268c43b77b0a27f22d7fab8d33cdb3a731" +uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" +version = "2.10.2+1" + +[[deps.LaTeXStrings]] +git-tree-sha1 = "dda21b8cbd6a6c40d9d02a73230f9d70fed6918c" +uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +version = "1.4.0" + +[[deps.LazyArtifacts]] +deps = ["Artifacts", "Pkg"] +uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" +version = "1.11.0" + +[[deps.LazyModules]] +git-tree-sha1 = "a560dd966b386ac9ae60bdd3a3d3a326062d3c3e" +uuid = "8cdb02fc-e678-4876-92c5-9defec4f444e" +version = "0.3.1" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.4" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "8.6.0+0" + +[[deps.LibGit2]] +deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" +version = "1.11.0" + +[[deps.LibGit2_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] +uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" +version = "1.7.2+0" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.11.0+1" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" +version = "1.11.0" + +[[deps.Libffi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" +uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" +version = "3.2.2+1" + +[[deps.Libgcrypt_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll"] +git-tree-sha1 = "9fd170c4bbfd8b935fdc5f8b7aa33532c991a673" +uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" +version = "1.8.11+0" + +[[deps.Libgpg_error_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "fbb1f2bef882392312feb1ede3615ddc1e9b99ed" +uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" +version = "1.49.0+0" + +[[deps.Libiconv_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" +uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" +version = "1.17.0+0" + +[[deps.Libmount_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "0c4f9c4f1a50d8f35048fa0532dabbadf702f81e" +uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" +version = "2.40.1+0" + +[[deps.Libuuid_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "5ee6203157c120d79034c748a2acba45b82b8807" +uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" +version = "2.40.1+0" + +[[deps.LinearAlgebra]] +deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" +version = "1.11.0" + +[[deps.LogExpFunctions]] +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "a2d09619db4e765091ee5c6ffe8872849de0feea" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.28" + + [deps.LogExpFunctions.extensions] + LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" + LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" + LogExpFunctionsInverseFunctionsExt = "InverseFunctions" + + [deps.LogExpFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" +version = "1.11.0" + +[[deps.MKL_jll]] +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "oneTBB_jll"] +git-tree-sha1 = "f046ccd0c6db2832a9f639e2c669c6fe867e5f4f" +uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" +version = "2024.2.0+0" + +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.13" + +[[deps.Makie]] +deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "Dates", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Format", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageBase", "ImageIO", "InteractiveUtils", "Interpolations", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun", "Unitful"] +git-tree-sha1 = "3df66da15ba7b37b34f6557b7e1c95a3ff5c670b" +uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" +version = "0.21.14" + +[[deps.MakieCore]] +deps = ["ColorTypes", "GeometryBasics", "IntervalSets", "Observables"] +git-tree-sha1 = "4604f03e5b057e8e62a95a44929cafc9585b0fe9" +uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b" +version = "0.8.9" + +[[deps.MappedArrays]] +git-tree-sha1 = "2dab0221fe2b0f2cb6754eaa743cc266339f527e" +uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" +version = "0.4.2" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" +version = "1.11.0" + +[[deps.MathTeXEngine]] +deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "UnicodeFun"] +git-tree-sha1 = "e1641f32ae592e415e3dbae7f4a188b5316d4b62" +uuid = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" +version = "0.6.1" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.6+0" + +[[deps.Missings]] +deps = ["DataAPI"] +git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d" +uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +version = "1.2.0" + +[[deps.Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" +version = "1.11.0" + +[[deps.MosaicViews]] +deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] +git-tree-sha1 = "7b86a5d4d70a9f5cdf2dacb3cbe6d251d1a61dbe" +uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" +version = "0.3.4" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2023.12.12" + +[[deps.MultiFloats]] +deps = ["LinearAlgebra", "Printf", "Random", "SIMD"] +git-tree-sha1 = "39ffa6286f40544ecea725d8031c615e79d88d45" +uuid = "bdf0d083-296b-4888-a5b6-7498122e68a5" +version = "2.3.0" + +[[deps.NaNMath]] +deps = ["OpenLibm_jll"] +git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" +uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +version = "1.0.2" + +[[deps.Netpbm]] +deps = ["FileIO", "ImageCore", "ImageMetadata"] +git-tree-sha1 = "d92b107dbb887293622df7697a2223f9f8176fcd" +uuid = "f09324ee-3d7c-5217-9330-fc30815ba969" +version = "1.1.1" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[deps.Observables]] +git-tree-sha1 = "7438a59546cf62428fc9d1bc94729146d37a7225" +uuid = "510215fc-4207-5dde-b226-833fc4488ee2" +version = "0.5.5" + +[[deps.OffsetArrays]] +git-tree-sha1 = "1a27764e945a152f7ca7efa04de513d473e9542e" +uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" +version = "1.14.1" +weakdeps = ["Adapt"] + + [deps.OffsetArrays.extensions] + OffsetArraysAdaptExt = "Adapt" + +[[deps.Ogg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" +uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" +version = "1.3.5+1" + +[[deps.OpenBLAS_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] +uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" +version = "0.3.27+1" + +[[deps.OpenEXR]] +deps = ["Colors", "FileIO", "OpenEXR_jll"] +git-tree-sha1 = "327f53360fdb54df7ecd01e96ef1983536d1e633" +uuid = "52e1d378-f018-4a11-a4be-720524705ac7" +version = "0.3.2" + +[[deps.OpenEXR_jll]] +deps = ["Artifacts", "Imath_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "8292dd5c8a38257111ada2174000a33745b06d4e" +uuid = "18a262bb-aa17-5467-a713-aee519bc75cb" +version = "3.2.4+0" + +[[deps.OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" +version = "0.8.1+2" + +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "7493f61f55a6cce7325f197443aa80d32554ba10" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "3.0.15+1" + +[[deps.OpenSpecFun_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" +uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" +version = "0.5.5+0" + +[[deps.Opus_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6703a85cb3781bd5909d48730a67205f3f31a575" +uuid = "91d4177d-7536-5919-b921-800302f37372" +version = "1.3.3+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.6.3" + +[[deps.PCRE2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" +version = "10.42.0+1" + +[[deps.PDMats]] +deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "949347156c25054de2db3b166c52ac4728cbad65" +uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" +version = "0.11.31" + +[[deps.PNGFiles]] +deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] +git-tree-sha1 = "67186a2bc9a90f9f85ff3cc8277868961fb57cbd" +uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883" +version = "0.4.3" + +[[deps.Packing]] +deps = ["GeometryBasics"] +git-tree-sha1 = "ec3edfe723df33528e085e632414499f26650501" +uuid = "19eb6ba3-879d-56ad-ad62-d5c202156566" +version = "0.5.0" + +[[deps.PaddedViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "0fac6313486baae819364c52b4f483450a9d793f" +uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" +version = "0.5.12" + +[[deps.Pango_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e127b609fb9ecba6f201ba7ab753d5a605d53801" +uuid = "36c8627f-9965-5494-a995-c6b170f724f3" +version = "1.54.1+0" + +[[deps.Parsers]] +deps = ["Dates", "PrecompileTools", "UUIDs"] +git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" +uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +version = "2.8.1" + +[[deps.Pixman_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] +git-tree-sha1 = "35621f10a7531bc8fa58f74610b1bfb70a3cfc6b" +uuid = "30392449-352a-5448-841d-b1acce4e97dc" +version = "0.43.4+0" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.11.0" +weakdeps = ["REPL"] + + [deps.Pkg.extensions] + REPLExt = "REPL" + +[[deps.PkgVersion]] +deps = ["Pkg"] +git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da" +uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" +version = "0.3.3" + +[[deps.PlotUtils]] +deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "StableRNGs", "Statistics"] +git-tree-sha1 = "650a022b2ce86c7dcfbdecf00f78afeeb20e5655" +uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" +version = "1.4.2" + +[[deps.PolygonOps]] +git-tree-sha1 = "77b3d3605fc1cd0b42d95eba87dfcd2bf67d5ff6" +uuid = "647866c9-e3ac-4575-94e7-e3d426903924" +version = "0.1.2" + +[[deps.PrecompileTools]] +deps = ["Preferences"] +git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" +uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" +version = "1.2.1" + +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.4.3" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" +version = "1.11.0" + +[[deps.ProgressMeter]] +deps = ["Distributed", "Printf"] +git-tree-sha1 = "8f6bc219586aef8baf0ff9a5fe16ee9c70cb65e4" +uuid = "92933f4c-e287-5a05-a399-4b506db050ca" +version = "1.10.2" + +[[deps.PtrArrays]] +git-tree-sha1 = "77a42d78b6a92df47ab37e177b2deac405e1c88f" +uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" +version = "1.2.1" + +[[deps.QOI]] +deps = ["ColorTypes", "FileIO", "FixedPointNumbers"] +git-tree-sha1 = "18e8f4d1426e965c7b532ddd260599e1510d26ce" +uuid = "4b34888f-f399-49d4-9bb3-47ed5cae4e65" +version = "1.0.0" + +[[deps.QuadGK]] +deps = ["DataStructures", "LinearAlgebra"] +git-tree-sha1 = "cda3b045cf9ef07a08ad46731f5a3165e56cf3da" +uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" +version = "2.11.1" + + [deps.QuadGK.extensions] + QuadGKEnzymeExt = "Enzyme" + + [deps.QuadGK.weakdeps] + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "StyledStrings", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" +version = "1.11.0" + +[[deps.Random]] +deps = ["SHA"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" +version = "1.11.0" + +[[deps.RangeArrays]] +git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5" +uuid = "b3c3ace0-ae52-54e7-9d0b-2c1406fd6b9d" +version = "0.3.2" + +[[deps.Ratios]] +deps = ["Requires"] +git-tree-sha1 = "1342a47bf3260ee108163042310d26f2be5ec90b" +uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" +version = "0.4.5" +weakdeps = ["FixedPointNumbers"] + + [deps.Ratios.extensions] + RatiosFixedPointNumbersExt = "FixedPointNumbers" + +[[deps.Reexport]] +git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" +uuid = "189a3867-3050-52da-a836-e630ba90ab69" +version = "1.2.2" + +[[deps.RelocatableFolders]] +deps = ["SHA", "Scratch"] +git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864" +uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" +version = "1.0.1" + +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + +[[deps.Rmath]] +deps = ["Random", "Rmath_jll"] +git-tree-sha1 = "852bd0f55565a9e973fcfee83a84413270224dc4" +uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" +version = "0.8.0" + +[[deps.Rmath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "58cdd8fb2201a6267e1db87ff148dd6c1dbd8ad8" +uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" +version = "0.5.1+0" + +[[deps.RoundingEmulator]] +git-tree-sha1 = "40b9edad2e5287e05bd413a38f61a8ff55b9557b" +uuid = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705" +version = "0.2.1" + +[[deps.SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" + +[[deps.SIMD]] +deps = ["PrecompileTools"] +git-tree-sha1 = "98ca7c29edd6fc79cd74c61accb7010a4e7aee33" +uuid = "fdea26ae-647d-5447-a871-4b548cad5224" +version = "3.6.0" + +[[deps.Scratch]] +deps = ["Dates"] +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" +uuid = "6c6a2e73-6563-6170-7368-637461726353" +version = "1.2.1" + +[[deps.Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" +version = "1.11.0" + +[[deps.ShaderAbstractions]] +deps = ["ColorTypes", "FixedPointNumbers", "GeometryBasics", "LinearAlgebra", "Observables", "StaticArrays", "StructArrays", "Tables"] +git-tree-sha1 = "79123bc60c5507f035e6d1d9e563bb2971954ec8" +uuid = "65257c39-d410-5151-9873-9b3e5be5013e" +version = "0.4.1" + +[[deps.SharedArrays]] +deps = ["Distributed", "Mmap", "Random", "Serialization"] +uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" +version = "1.11.0" + +[[deps.Showoff]] +deps = ["Dates", "Grisu"] +git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" +uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" +version = "1.0.3" + +[[deps.SignedDistanceFields]] +deps = ["Random", "Statistics", "Test"] +git-tree-sha1 = "d263a08ec505853a5ff1c1ebde2070419e3f28e9" +uuid = "73760f76-fbc4-59ce-8f25-708e95d2df96" +version = "0.4.0" + +[[deps.SimpleTraits]] +deps = ["InteractiveUtils", "MacroTools"] +git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" +uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" +version = "0.9.4" + +[[deps.Sixel]] +deps = ["Dates", "FileIO", "ImageCore", "IndirectArrays", "OffsetArrays", "REPL", "libsixel_jll"] +git-tree-sha1 = "2da10356e31327c7096832eb9cd86307a50b1eb6" +uuid = "45858cf5-a6b0-47a3-bbea-62219f50df47" +version = "0.1.3" + +[[deps.Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" +version = "1.11.0" + +[[deps.SortingAlgorithms]] +deps = ["DataStructures"] +git-tree-sha1 = "66e0a8e672a0bdfca2c3f5937efb8538b9ddc085" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "1.2.1" + +[[deps.SparseArrays]] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +version = "1.11.0" + +[[deps.SparseIR]] +deps = ["Bessels", "GenericLinearAlgebra", "LinearAlgebra", "MultiFloats", "PrecompileTools", "QuadGK"] +git-tree-sha1 = "9e81b62a652a93ed0b64e65a6fe860ddf4ac8768" +uuid = "4fe2279e-80f0-4adb-8463-ee114ff56b7d" +version = "1.0.18" + +[[deps.SpecialFunctions]] +deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "2f5d4697f21388cbe1ff299430dd169ef97d7e14" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "2.4.0" +weakdeps = ["ChainRulesCore"] + + [deps.SpecialFunctions.extensions] + SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" + +[[deps.StableRNGs]] +deps = ["Random"] +git-tree-sha1 = "83e6cce8324d49dfaf9ef059227f91ed4441a8e5" +uuid = "860ef19b-820b-49d6-a774-d7a799459cd3" +version = "1.0.2" + +[[deps.StackViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c" +uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" +version = "0.1.1" + +[[deps.StaticArrays]] +deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] +git-tree-sha1 = "eeafab08ae20c62c44c8399ccb9354a04b80db50" +uuid = "90137ffa-7385-5640-81b9-e52037218182" +version = "1.9.7" +weakdeps = ["ChainRulesCore", "Statistics"] + + [deps.StaticArrays.extensions] + StaticArraysChainRulesCoreExt = "ChainRulesCore" + StaticArraysStatisticsExt = "Statistics" + +[[deps.StaticArraysCore]] +git-tree-sha1 = "192954ef1208c7019899fbf8049e717f92959682" +uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" +version = "1.4.3" + +[[deps.Statistics]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0" +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +version = "1.11.1" +weakdeps = ["SparseArrays"] + + [deps.Statistics.extensions] + SparseArraysExt = ["SparseArrays"] + +[[deps.StatsAPI]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" +uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" +version = "1.7.0" + +[[deps.StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "5cf7606d6cef84b543b483848d4ae08ad9832b21" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.34.3" + +[[deps.StatsFuns]] +deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] +git-tree-sha1 = "b423576adc27097764a90e163157bcfc9acf0f46" +uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" +version = "1.3.2" + + [deps.StatsFuns.extensions] + StatsFunsChainRulesCoreExt = "ChainRulesCore" + StatsFunsInverseFunctionsExt = "InverseFunctions" + + [deps.StatsFuns.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.StructArrays]] +deps = ["ConstructionBase", "DataAPI", "Tables"] +git-tree-sha1 = "f4dc295e983502292c4c3f951dbb4e985e35b3be" +uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" +version = "0.6.18" + + [deps.StructArrays.extensions] + StructArraysAdaptExt = "Adapt" + StructArraysGPUArraysCoreExt = "GPUArraysCore" + StructArraysSparseArraysExt = "SparseArrays" + StructArraysStaticArraysExt = "StaticArrays" + + [deps.StructArrays.weakdeps] + Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" + GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + +[[deps.StyledStrings]] +uuid = "f489334b-da3d-4c2e-b8f0-e476e12c162b" +version = "1.11.0" + +[[deps.SuiteSparse]] +deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] +uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" + +[[deps.SuiteSparse_jll]] +deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] +uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" +version = "7.7.0+0" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.3" + +[[deps.TableTraits]] +deps = ["IteratorInterfaceExtensions"] +git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" +uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" +version = "1.0.1" + +[[deps.Tables]] +deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "OrderedCollections", "TableTraits"] +git-tree-sha1 = "598cd7c1f68d1e205689b1c2fe65a9f85846f297" +uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" +version = "1.12.0" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.0" + +[[deps.TensorCore]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" +uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" +version = "0.1.1" + +[[deps.Test]] +deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +version = "1.11.0" + +[[deps.TiffImages]] +deps = ["ColorTypes", "DataStructures", "DocStringExtensions", "FileIO", "FixedPointNumbers", "IndirectArrays", "Inflate", "Mmap", "OffsetArrays", "PkgVersion", "ProgressMeter", "SIMD", "UUIDs"] +git-tree-sha1 = "38f139cc4abf345dd4f22286ec000728d5e8e097" +uuid = "731e570b-9d59-4bfa-96dc-6df516fadf69" +version = "0.10.2" + +[[deps.TranscodingStreams]] +git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.11.3" + +[[deps.TriplotBase]] +git-tree-sha1 = "4d4ed7f294cda19382ff7de4c137d24d16adc89b" +uuid = "981d1d27-644d-49a2-9326-4793e63143c3" +version = "0.1.0" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" +version = "1.11.0" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" +version = "1.11.0" + +[[deps.UnicodeFun]] +deps = ["REPL"] +git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" +uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" +version = "0.4.1" + +[[deps.Unitful]] +deps = ["Dates", "LinearAlgebra", "Random"] +git-tree-sha1 = "d95fe458f26209c66a187b1114df96fd70839efd" +uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" +version = "1.21.0" + + [deps.Unitful.extensions] + ConstructionBaseUnitfulExt = "ConstructionBase" + InverseFunctionsUnitfulExt = "InverseFunctions" + + [deps.Unitful.weakdeps] + ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.WoodburyMatrices]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "c1a7aa6219628fcd757dede0ca95e245c5cd9511" +uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" +version = "1.0.0" + +[[deps.XML2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] +git-tree-sha1 = "1165b0443d0eca63ac1e32b8c0eb69ed2f4f8127" +uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" +version = "2.13.3+0" + +[[deps.XSLT_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "a54ee957f4c86b526460a720dbc882fa5edcbefc" +uuid = "aed1982a-8fda-507f-9586-7b0439959a61" +version = "1.1.41+0" + +[[deps.Xorg_libX11_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] +git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" +version = "1.8.6+0" + +[[deps.Xorg_libXau_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" +uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" +version = "1.0.11+0" + +[[deps.Xorg_libXdmcp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" +uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" +version = "1.1.4+0" + +[[deps.Xorg_libXext_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "d2d1a5c49fae4ba39983f63de6afcbea47194e85" +uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" +version = "1.3.6+0" + +[[deps.Xorg_libXrender_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "47e45cd78224c53109495b3e324df0c37bb61fbe" +uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" +version = "0.9.11+0" + +[[deps.Xorg_libpthread_stubs_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" +uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" +version = "0.1.1+0" + +[[deps.Xorg_libxcb_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] +git-tree-sha1 = "bcd466676fef0878338c61e655629fa7bbc69d8e" +uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" +version = "1.17.0+0" + +[[deps.Xorg_xtrans_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" +uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" +version = "1.5.0+0" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.13+1" + +[[deps.isoband_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51b5eeb3f98367157a7a12a1fb0aa5328946c03c" +uuid = "9a68df92-36a6-505f-a73e-abb412b6bfb4" +version = "0.2.3+0" + +[[deps.libaom_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "1827acba325fdcdf1d2647fc8d5301dd9ba43a9d" +uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" +version = "3.9.0+0" + +[[deps.libass_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "e17c115d55c5fbb7e52ebedb427a0dca79d4484e" +uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" +version = "0.15.2+0" + +[[deps.libblastrampoline_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" +version = "5.11.0+0" + +[[deps.libfdk_aac_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8a22cf860a7d27e4f3498a0fe0811a7957badb38" +uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" +version = "2.0.3+0" + +[[deps.libpng_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "b70c870239dc3d7bc094eb2d6be9b73d27bef280" +uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" +version = "1.6.44+0" + +[[deps.libsixel_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "libpng_jll"] +git-tree-sha1 = "7dfa0fd9c783d3d0cc43ea1af53d69ba45c447df" +uuid = "075b6546-f08a-558a-be8f-8157d0f608a5" +version = "1.10.3+1" + +[[deps.libvorbis_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] +git-tree-sha1 = "490376214c4721cdaca654041f635213c6165cb3" +uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" +version = "1.3.7+2" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.59.0+0" + +[[deps.oneTBB_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "7d0ea0f4895ef2f5cb83645fa689e52cb55cf493" +uuid = "1317d2d5-d96f-522e-a858-c73665f53c3e" +version = "2021.12.0+0" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+2" + +[[deps.x264_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "35976a1216d6c066ea32cba2150c4fa682b276fc" +uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" +version = "10164.0.0+0" + +[[deps.x265_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "dcc541bb19ed5b0ede95581fb2e41ecf179527d2" +uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" +version = "3.6.0+0" +""" + +# ╔═╡ Cell order: +# ╠═5d462555-664b-4de5-b076-5ee2078d6ff7 +# ╠═2d5d27c2-e77e-4bfc-88f4-6e7d85f6fd13 +# ╠═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 +# ╟─00000000-0000-0000-0000-000000000001 +# ╟─00000000-0000-0000-0000-000000000002 diff --git a/docs/src/assets/result.pdf b/docs/src/assets/result.pdf new file mode 100644 index 0000000..b1e01af Binary files /dev/null and b/docs/src/assets/result.pdf differ diff --git a/docs/src/assets/titlepage_sparseirjl.pdf b/docs/src/assets/titlepage_sparseirjl.pdf new file mode 100644 index 0000000..13f44ac Binary files /dev/null and b/docs/src/assets/titlepage_sparseirjl.pdf differ diff --git a/docs/src/guide.md b/docs/src/guide.md index 1d6a24c..e5db8f9 100644 --- a/docs/src/guide.md +++ b/docs/src/guide.md @@ -1,9 +1,16 @@ -# [Example usage and detailed explanation](@id guide) +# [Introduction](@id guide) -We will explain the inner workings of `SparseIR.jl` by means of an example use case, adapted from the `sparse-ir` paper [Wallerberger2023](@cite). +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. +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. -## Problem statement +`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. +## 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 @@ -12,51 +19,49 @@ We will explain the inner workings of `SparseIR.jl` by means of an example use c > 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. -## Treatment - -### Outline +## [Outline](@id outline) To provide an overview, we first give the full code used to solve the problem with `SparseIR.jl`. ```julia using SparseIR -function main(ε = 1e-6) - β = 10.0 - ωmax = 8.0 - - # 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, ρ₀) - G₀l = -basis.s .* ρ₀l - - # Self-consistency loop: alternate between second-order expression for the - # self-energy and the Dyson equation until convergence. - Gl = copy(G₀l) - Gl_prev = zero(Gl) - G₀iω = evaluate(siω, G₀l) - while !isapprox(Gl, Gl_prev, atol=ε) - Gl_prev = copy(Gl) - Gτ = evaluate(sτ, Gl) - Στ = @. U^2 * Gτ^3 - Σl = fit(sτ, Στ) - Σiω = evaluate(siω, Σl) - Giω = @. (G₀iω^-1 - Σiω)^-1 - Gl = fit(siω, Giω) - end +β = 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, ρ₀) +G₀l = -basis.s .* ρ₀l + +# Self-consistency loop: alternate between second-order expression for the +# self-energy and the Dyson equation until convergence. +Gl = copy(G₀l) +Σl = zero(Gl) +Gl_prev = zero(Gl) +G₀iω = evaluate(siω, G₀l) +while !isapprox(Gl, Gl_prev, rtol=ε) + Gl_prev = copy(Gl) + Gτ = evaluate(sτ, Gl) + Στ = @. U^2 * Gτ^3 + Σl = fit(sτ, Στ) + Σiω = evaluate(siω, Σl) + Giω = @. (G₀iω^-1 - Σiω)^-1 + Gl = fit(siω, Giω) end ``` The following is a detailed explanation of what happens here. -### Basis construction +# Treatment + +## Basis construction We first import `SparseIR` and construct an appropriate basis (``\omega_\mathrm{max} = 8`` should be more than enough for this example): ```julia-repl @@ -94,11 +99,9 @@ Because we did not specify otherwise, the constructor chose the analytic continu ``` for us, where 80.0 is the value of the scale parameter ``\Lambda = \beta\omega_\mathrm{max}``. This kernel is visualized below. -```@raw html -Logistic Kernel -``` +![Logistic kernel used to construct the basis in our problem treatment.](assets/img/kernel.png) -#### Singular value expansion +### Singular value expansion Central is the _singular value expansion_'s (SVE) computation, which is handled by the function `SVEResult`: Its purpose is to construct the decomposition @@ -134,9 +137,9 @@ Here and in what follows, unless otherwise indicated, integrals are taken to be ``` 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](assets/img/sve_grid.png) + ![Sampling point distribution resulting from a Cartesian product of Gauss integration rules.](assets/img/sve_grid.png) - ##### Note: + #### Note: The points do not cover ``[-1, 1] × [-1, 1]`` but only ``[0, 1] × [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. @@ -146,7 +149,7 @@ Here and in what follows, unless otherwise indicated, integrals are taken to be 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. - ![abc](assets/img/kernel_red.png) + ![The reduced kernels.](assets/img/kernel_red.png) Using the integration rules allows us to approximate ```math @@ -198,8 +201,8 @@ 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 to the left to make the connection with the (subregion ``[0, 1] \times [0, 1]`` of the) previous figure more obvious. + ![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. @@ -214,7 +217,7 @@ 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 finishing touches +### 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``. @@ -223,10 +226,17 @@ The functions are now scaled to imaginary time and frequency according to \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}``. -We also add to our basis ``\hat{U}_\ell(i\omega)``, the Fourier transforms of the left singular functions, defined on the fermionic Matsubara frequencies ``i\omega = i(2n+1)\beta/\pi`` (with integer ``n``). +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). -### Constructing the samplers +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 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)``. +![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. ```julia-repl @@ -269,11 +279,11 @@ MatsubaraSampling{FermionicFreq, ComplexF64, SparseIR.SplitSVD{Float64}} with sa 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. This turns out to be close to optimal with respect to conditioning for this size (within a few percent). -Similarly, `MatsubaraSampling` chooses sampling points ``\{i\omega_n\}`` as the (discrete) extrema of the highest-order basis function in Matsubara. +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.: ```math - \hat G(i\omega) = \qty(\hat G(-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. @@ -281,17 +291,16 @@ In this case, sparse sampling is performed over non-negative frequencies only, c 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 ```math -\DeclareMathOperator*{\argmin}{arg\,min} - G_\ell = \argmin_{G_\ell} \sum_i \norm{G(\tau_i) - \sum_\ell E^\tau_{i\ell} G_\ell}^2, + G_\ell = \mathrm{arg}\,\mathrm{min}_{G_\ell} \sum_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 = \argmin_{G_\ell} \sum_n \norm{\hat{G}(i\omega_n) - \sum_\ell E^\omega_{n\ell} G_\ell}^2 + 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 ``` and taken together we now have a way of moving efficiently between both. -### Initializing the iteration +## 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 ```math @@ -336,6 +345,14 @@ julia> Gl = copy(G₀l) 2.816974873845819e-7 -3.924512839631511e-24 +julia> Σl = zero(Gl) +20-element Vector{ComplexF64}: + 0.0 + 0.0im + 0.0 + 0.0im + ⋮ + 0.0 + 0.0im + 0.0 + 0.0im + julia> Gl_prev = zero(Gl) 20-element Vector{Float64}: 0.0 @@ -353,7 +370,7 @@ julia> G₀iω = evaluate(siω, G₀l) 6.134766817544449e-19 - 0.020802317001514643im ``` -### Self-consistency loop +## Self-consistency loop If we take the second-order expression for the self-energy ```math @@ -361,13 +378,13 @@ If we take the second-order expression for the self-energy ``` and the Dyson equation ```math - \hat G(i\omega) = \pqty{\pqty{\hat G_0(i\omega)}^{-1} - \Sigma(i\omega)}^{-1} + \hat G(\mathrm{i}\omega) = \pqty{\pqty{\hat G_0(\mathrm{i}\omega)}^{-1} - \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 ``i\omega``, so we employ the IR basis to efficiently convert between the two bases. +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(i\omega)`` via evaluation in the ``i\omega``-basis. -Now the Dyson equation is used to get ``\hat G(i\omega)`` on the sampling frequencies, which is then fitted to the ``i\omega``-basis yielding ``G_\ell`` and completing the loop. +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=ε) @@ -381,7 +398,51 @@ julia> while !isapprox(Gl, Gl_prev, atol=ε) end ``` -## References +The entire script, as presented in [Outline](@ref outline), 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. +```julia-repl +julia> box = FermionicFreq.(1:2:79) +40-element Vector{FermionicFreq}: + π/β + 3π/β + ⋮ + 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> Σiω_box = evaluate(siω_box, Σl) +40-element Vector{ComplexF64}: + -6.067770915322836e-17 - 0.09325923974719101im + 2.0279596075077236e-17 - 0.1225916020773678im + ⋮ + -6.624594477591435e-17 - 0.014786512975659354im + -7.08391512971528e-17 - 0.01441676347590391im +``` +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. +![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 + +We introduced `SparseIR.jl`, a full featured implementation of the intermediate representation in the Julia programming language. +By means of a worked example, we explained in detail how to use it and the way it works internally. +In this example, we solved an Anderson impurity model with elliptical density of states to second order via a self-consistent loop. +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`. + + +# References ```@bibliography ``` diff --git a/docs/src/refs.bib b/docs/src/refs.bib index 87b18a7..8006428 100644 --- a/docs/src/refs.bib +++ b/docs/src/refs.bib @@ -1,25 +1,25 @@ @article{Krien2022, author = {Krien, Friedrich and Kauch, Anna}, date = {2022-04-21}, - journal = {The European Physical Journal B}, 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}, number = {4}, pages = {69}, volume = {95}, - day = {21} + day = {21}, + journal = {The European Physical Journal B} } @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}, - journal = {SoftwareX}, title = {sparse-ir: Optimal compression and sparse sampling of many-body propagators}, doi = {10.1016/j.softx.2022.101266}, issn = {2352-7110}, pages = {101266}, volume = {21}, + journal = {SoftwareX}, publisher = {Elsevier BV} } @@ -34,13 +34,13 @@ @misc{Mangott2022 @article{Aryasetiawan1998, author = {Aryasetiawan, F. and Gunnarsson, O.}, date = {1998-03}, - journal = {Reports On Progress in Physics}, title = {The GW method}, doi = {10.1088/0034-4885/61/3/002}, issn = {1361-6633}, number = {3}, pages = {237–312}, volume = {61}, + journal = {Reports On Progress in Physics}, publisher = {IOP Publishing} } @@ -57,14 +57,13 @@ @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}, - journal = {Physical Review Letters}, title = {From Infinite to Two Dimensions through the Functional Renormalization Group}, doi = {10.1103/PhysRevLett.112.196402}, issn = {1079-7114}, number = {19}, - number = {19}, pages = {196402}, volume = {112}, + journal = {Physical Review Letters}, numpages = {5}, publisher = {American Physical Society} } @@ -73,25 +72,25 @@ @article{Taranto2014 @article{Maris2006, author = {Maris, P. and Tandy, P.C.}, date = {2006}, - journal = {Nuclear Physics B - Proceedings Supplements}, title = {QCD modeling of hadron physics}, doi = {10.1016/j.nuclphysbps.2006.08.012}, issn = {0920-5632}, pages = {136–152}, url = {http://www.sciencedirect.com/science/article/pii/S0920563206004919}, volume = {161}, + journal = {Nuclear Physics B - Proceedings Supplements}, publisher = {Elsevier BV} } @article{Brambilla1996, author = {Brambilla, N. and Montaldi, E. and Prosperi, G. M.}, date = {1996-09}, - journal = {Physical Review D: Particles and Fields}, title = {Bethe–Salpeter equation in QCD in a Wilson loop context}, doi = {10.1103/PhysRevD.54.3506}, number = {5}, pages = {3506–3525}, volume = {54}, + journal = {Physical Review D: Particles and Fields}, numpages = {0}, publisher = {American Physical Society} } @@ -100,12 +99,12 @@ @article{Brambilla1996 @article{Eckhardt2020, author = {Eckhardt, Christian J. and Honerkamp, Carsten and Held, Karsten and Kauch, Anna}, date = {2020-04}, - journal = {Physical Review B}, title = {Truncated unity parquet solver}, doi = {10.1103/PhysRevB.101.155104}, number = {15}, pages = {155104}, volume = {101}, + journal = {Physical Review B}, numpages = {17}, publisher = {American Physical Society} } @@ -113,12 +112,12 @@ @article{Eckhardt2020 @article{Eckhardt2018, author = {Eckhardt, C. J. and Schober, G. A. H. and Ehrlich, J. and Honerkamp, C.}, date = {2018-08}, - journal = {Physical Review B}, title = {Truncated-unity parquet equations: Application to the repulsive Hubbard model}, doi = {10.1103/PhysRevB.98.075143}, number = {7}, pages = {075143}, volume = {98}, + journal = {Physical Review B}, numpages = {12}, publisher = {American Physical Society} } @@ -126,12 +125,12 @@ @article{Eckhardt2018 @article{Kaufmann2019, author = {Kaufmann, J. and Gunacker, P. and Kowalski, A. and Sangiovanni, G. and Held, K.}, date = {2019-08}, - journal = {Physical Review B}, title = {Symmetric improved estimators for continuous-time quantum Monte Carlo}, doi = {10.1103/PhysRevB.100.075119}, number = {7}, pages = {075119}, volume = {100}, + journal = {Physical Review B}, numpages = {15}, publisher = {American Physical Society} } @@ -140,12 +139,12 @@ @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}, - journal = {Physical Review Research}, title = {Quantitative functional renormalization group description of the two-dimensional Hubbard model}, doi = {10.1103/PhysRevResearch.2.033372}, number = {3}, pages = {033372}, volume = {2}, + journal = {Physical Review Research}, numpages = {19}, publisher = {American Physical Society} } @@ -154,12 +153,12 @@ @article{Hille2020 @article{Schaefer2021, author = {Schäfer, Thomas and al, et.}, date = {2021-03}, - journal = {Physical Review X}, 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}, pages = {011058}, volume = {11}, + journal = {Physical Review X}, numpages = {53}, publisher = {American Physical Society} } @@ -168,12 +167,12 @@ @article{Schaefer2021 @article{Chalupa2018, author = {Chalupa, P. and Gunacker, P. and Schäfer, T. and Held, K. and Toschi, A.}, date = {2018-06}, - journal = {Physical Review B}, 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}, pages = {245136}, volume = {97}, + journal = {Physical Review B}, numpages = {15}, publisher = {American Physical Society} } @@ -191,25 +190,25 @@ @misc{Chalupa2020 @article{Blase2020, author = {Blase, Xavier and Duchemin, Ivan and Jacquemin, Denis and Loos, Pierre-François}, date = {2020-09-03}, - journal = {Journal of Physical Chemistry Letters}, title = {The Bethe–Salpeter Equation Formalism: From Physics to Chemistry}, doi = {10.1021/acs.jpclett.0c01875}, number = {17}, pages = {7371–7382}, volume = {11}, day = {03}, + journal = {Journal of Physical Chemistry Letters}, publisher = {American Chemical Society} } @article{Takada2001, author = {Takada, Yasutami}, date = {2001-11}, - journal = {Physical Review Letters}, title = {Inclusion of Vertex Corrections in the Self-Consistent Calculation of Quasiparticles in Metals}, doi = {10.1103/PhysRevLett.87.226402}, number = {22}, pages = {226402}, volume = {87}, + journal = {Physical Review Letters}, numpages = {4}, publisher = {American Physical Society} } @@ -217,7 +216,6 @@ @article{Takada2001 @article{Maggio2017, author = {Maggio, Emanuele and Kresse, Georg}, date = {2017-10-10}, - journal = {Journal of Chemical Theory and Computation}, title = {GW Vertex Corrected Calculations for Molecular Systems}, doi = {10.1021/acs.jctc.7b00586}, issn = {1549-9618}, @@ -225,18 +223,19 @@ @article{Maggio2017 pages = {4765–4778}, volume = {13}, day = {10}, + journal = {Journal of Chemical Theory and Computation}, publisher = {American Chemical Society} } @article{Esirgen1997, author = {Esirgen, Gökhan and Bickers, N. E.}, date = {1997-01}, - journal = {Physical Review B}, title = {Fluctuation-exchange theory for general lattice Hamiltonians}, doi = {10.1103/PhysRevB.55.2122}, number = {4}, pages = {2122–2143}, volume = {55}, + journal = {Physical Review B}, numpages = {0}, publisher = {American Physical Society} } @@ -245,12 +244,12 @@ @article{Esirgen1997 @article{Kugler2018, author = {Kugler, Fabian B. and von Delft, Jan}, date = {2018-01}, - journal = {Physical Review Letters}, title = {Multiloop Functional Renormalization Group That Sums Up All Parquet Diagrams}, doi = {10.1103/PhysRevLett.120.057403}, number = {5}, pages = {057403}, volume = {120}, + journal = {Physical Review Letters}, numpages = {6}, publisher = {American Physical Society} } @@ -258,12 +257,12 @@ @article{Kugler2018 @article{Metzner2012, author = {Metzner, Walter and Salmhofer, Manfred and Honerkamp, Carsten and Meden, Volker and Schönhammer, Kurt}, date = {2012-03}, - journal = {Reviews of Modern Physics}, title = {Functional renormalization group approach to correlated fermion systems}, doi = {10.1103/RevModPhys.84.299}, number = {1}, pages = {299–352}, volume = {84}, + journal = {Reviews of Modern Physics}, numpages = {0}, publisher = {American Physical Society} } @@ -271,12 +270,12 @@ @article{Metzner2012 @article{Salpeter1951, author = {Salpeter, E. E. and Bethe, H. A.}, date = {1951-12}, - journal = {Physical Review}, title = {A Relativistic Equation for Bound-State Problems}, doi = {10.1103/PhysRev.84.1232}, number = {6}, pages = {1232–1242}, volume = {84}, + journal = {Physical Review}, numpages = {0}, publisher = {American Physical Society} } @@ -284,12 +283,12 @@ @article{Salpeter1951 @article{GellMann1951, author = {Gell-Mann, Murray and Low, Francis}, date = {1951-10}, - journal = {Physical Review}, title = {Bound States in Quantum Field Theory}, doi = {10.1103/PhysRev.84.350}, number = {2}, pages = {350–354}, volume = {84}, + journal = {Physical Review}, numpages = {0}, publisher = {American Physical Society} } @@ -297,12 +296,12 @@ @article{GellMann1951 @article{Georges1996, author = {Georges, Antoine and Kotliar, Gabriel and Krauth, Werner and Rozenberg, Marcelo J.}, date = {1996-01}, - journal = {Reviews of Modern Physics}, title = {Dynamical mean-field theory of strongly correlated fermion systems and the limit of infinite dimensions}, doi = {10.1103/RevModPhys.68.13}, number = {1}, pages = {13–125}, volume = {68}, + journal = {Reviews of Modern Physics}, numpages = {0}, publisher = {American Physical Society} } @@ -310,39 +309,39 @@ @article{Georges1996 @article{Bergli2011, author = {Elise Bergli and Morten Hjorth-Jensen}, date = {2011}, - journal = {Annals of Physics}, 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}, number = {5}, pages = {1125–1160}, url = {http://www.sciencedirect.com/science/article/pii/S0003491611000303}, - volume = {326} + volume = {326}, + journal = {Annals of Physics} } @article{Vilk1997, author = {Vilk, Y. M. and Tremblay, A.-M.S.}, date = {1997}, - journal = {Journal de Physique I}, title = {Non-Perturbative Many-Body Approach to the Hubbard Model and Single-Particle Pseudogap}, doi = {10.1051/jp1:1997135}, issn = {1286-4862}, number = {11}, pages = {1309–1368}, volume = {7}, + journal = {Journal de Physique I}, publisher = {EDP Sciences} } @article{Zantout2019, author = {Zantout, Karim and Backes, Steffen and Valentı́, Roser}, date = {2019-12}, - journal = {Physical Review Letters}, title = {Effect of Nonlocal Correlations on the Electronic Structure of LiFeAs}, doi = {10.1103/PhysRevLett.123.256401}, number = {25}, pages = {256401}, volume = {123}, + journal = {Physical Review Letters}, numpages = {6}, publisher = {American Physical Society} } @@ -350,12 +349,12 @@ @article{Zantout2019 @article{Lin2012, author = {Lin, Nan and Gull, Emanuel and Millis, Andrew J.}, date = {2012-09}, - journal = {Physical Review Letters}, 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}, pages = {106401}, volume = {109}, + journal = {Physical Review Letters}, numpages = {5}, publisher = {American Physical Society} } @@ -363,13 +362,13 @@ @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}, - journal = {Physical Review B}, title = {Overcomplete compact representation of two-particle Green's functions}, doi = {10.1103/PhysRevB.97.205111}, issn = {2469-9969}, number = {20}, pages = {205111}, - volume = {97} + volume = {97}, + journal = {Physical Review B} } @book{Hansen2010, @@ -385,46 +384,46 @@ @book{Hansen2010 @article{Rokhlin1996, author = {Rokhlin, Vladimir and Yarvin, Norman}, date = {1996-05}, - journal = {SIAM Journal on Scientific Computing}, title = {Generalized Gaussian Quadratures and Singular Value Decompositions of Integral Operators}, doi = {10.1137/S1064827596310779}, pages = {44}, - volume = {20} + volume = {20}, + journal = {SIAM Journal on Scientific Computing} } @article{Shinaoka2017, author = {Shinaoka, Hiroshi and Otsuki, Junya and Ohzeki, Masayuki and Yoshimi, Kazuyoshi}, date = {2017}, - journal = {Physical Review B}, title = {Compressing Green's function using intermediate representation between imaginary-time and real-frequency domains}, doi = {10.1103/PhysRevB.96.035147}, issn = {2469-9969}, number = {3}, pages = {35147}, volume = {96}, + journal = {Physical Review B}, publisher = {APS} } @article{Ha1982, author = {Chung-Wei Ha}, date = {1982}, - journal = {SIAM Journal on Mathematical Analysis}, title = {Eigenvalues of Differentiable Positive Definite Kernels}, doi = {10.1137/0517031}, number = {2}, pages = {415–419}, - volume = {17} + volume = {17}, + journal = {SIAM Journal on Mathematical Analysis} } @article{Chikano2018, author = {Chikano, Naoya and Otsuki, Junya and Shinaoka, Hiroshi}, date = {2018-07}, - journal = {Physical Review B}, title = {Performance analysis of a physically constructed orthogonal representation of imaginary-time Green's function}, doi = {10.1103/PhysRevB.98.035104}, number = {3}, pages = {035104}, volume = {98}, + journal = {Physical Review B}, publisher = {American Physical Society}, uri = {\url{papers3://publication/doi/10.1103/PhysRevB.98.035104}} } @@ -455,12 +454,12 @@ @incollection{Bickers2004 @article{Pavlyukh2020, author = {Pavlyukh, Y. and Stefanucci, G. and van Leeuwen, R.}, date = {2020-07}, - journal = {Physical Review B}, title = {Dynamically screened vertex correction to GW}, doi = {10.1103/PhysRevB.102.045121}, number = {4}, pages = {045121}, volume = {102}, + journal = {Physical Review B}, numpages = {22}, publisher = {American Physical Society} } @@ -468,12 +467,12 @@ @article{Pavlyukh2020 @article{Vilk1994, author = {Vilk, Y. M. and Chen, Liang and Tremblay, A.-M. S.}, date = {1994-05}, - journal = {Physical Review B}, title = {Theory of spin and charge fluctuations in the Hubbard model}, doi = {10.1103/PhysRevB.49.13267}, number = {18}, pages = {13267–13270}, volume = {49}, + journal = {Physical Review B}, numpages = {0}, publisher = {American Physical Society} } @@ -481,24 +480,24 @@ @article{Vilk1994 @article{Schober2018, author = {Schober, Giulio A. H. and Ehrlich, Jannis and Reckling, Timo and Honerkamp, Carsten}, date = {2018}, - journal = {Frontiers in Physics}, title = {Truncated-Unity Functional Renormalization Group for Multiband Systems With Spin-Orbit Coupling}, doi = {10.3389/fphy.2018.00032}, issn = {2296-424X}, pages = {32}, - volume = {6} + volume = {6}, + journal = {Frontiers in Physics} } @article{Li2019, author = {Gang Li and Anna Kauch and Petra Pudleiner and Karsten Held}, date = {2019}, - journal = {Computer Physics Communications}, title = {The victory project v1.0: An efficient parquet equations solver}, doi = {10.1016/j.cpc.2019.03.008}, issn = {0010-4655}, pages = {146–154}, url = {http://www.sciencedirect.com/science/article/pii/S0010465519300864}, volume = {241}, + journal = {Computer Physics Communications}, keywords = {Strongly correlated electron systems,Many body theory,Parquet equations,Hubbard model,Two-particle vertex} } @@ -506,12 +505,12 @@ @article{Li2019 @article{Otsuki2014, author = {Otsuki, Junya and Hafermann, Hartmut and Lichtenstein, Alexander I.}, date = {2014-12}, - journal = {Physical Review B}, title = {Superconductivity, antiferromagnetism, and phase separation in the two-dimensional Hubbard model: A dual-fermion approach}, doi = {10.1103/PhysRevB.90.235132}, number = {23}, pages = {235132}, volume = {90}, + journal = {Physical Review B}, numpages = {12}, publisher = {American Physical Society} } @@ -520,12 +519,12 @@ @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}, - journal = {Physical Review B}, title = {Collective charge excitations of strongly correlated electrons, vertex corrections, and gauge invariance}, doi = {10.1103/PhysRevB.90.235105}, number = {23}, pages = {235105}, volume = {90}, + journal = {Physical Review B}, numpages = {19}, publisher = {American Physical Society} } @@ -545,12 +544,12 @@ @book{Vasilev1998 @article{Onida2002, author = {Onida, Giovanni and Reining, Lucia and Rubio, Angel}, date = {2002-06}, - journal = {Reviews of Modern Physics}, title = {Electronic excitations: density-functional versus many-body Green's-function approaches}, doi = {10.1103/RevModPhys.74.601}, number = {2}, pages = {601–659}, volume = {74}, + journal = {Reviews of Modern Physics}, numpages = {0}, publisher = {American Physical Society} } @@ -559,12 +558,12 @@ @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}, - journal = {Physical Review B}, title = {Functional renormalization group study of an eight-band model for the iron arsenides}, doi = {10.1103/PhysRevB.89.214514}, number = {21}, pages = {214514}, volume = {89}, + journal = {Physical Review B}, numpages = {11}, publisher = {American Physical Society} } @@ -573,12 +572,12 @@ @article{Lichtenstein2014 @article{Galler2017, author = {Anna Galler and Patrik Thunström and Patrik Gunacker and Jan M. Tomczak and K. Held}, date = {2017-03}, - journal = {Physical Review B}, title = {Ab initio dynamical vertex approximation}, doi = {10.1103/PhysRevB.95.115107}, number = {11}, pages = {115107}, volume = {95}, + journal = {Physical Review B}, numpages = {13}, publisher = {American Physical Society} } @@ -587,12 +586,12 @@ @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}, - journal = {Reviews of Modern Physics}, title = {Diagrammatic routes to nonlocal correlations beyond dynamical mean field theory}, doi = {10.1103/RevModPhys.90.025003}, number = {2}, pages = {025003}, volume = {90}, + journal = {Reviews of Modern Physics}, numpages = {53}, publisher = {American Physical Society} } @@ -600,12 +599,12 @@ @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}, - journal = {Physical Review B}, title = {High-frequency asymptotics of the vertex function: Diagrammatic parametrization and algorithmic implementation}, doi = {10.1103/PhysRevB.102.085106}, number = {8}, pages = {085106}, volume = {102}, + journal = {Physical Review B}, numpages = {24}, publisher = {American Physical Society} } @@ -613,12 +612,12 @@ @article{Wentzell2020 @article{Li2016, author = {Li, Gang and Wentzell, Nils and Pudleiner, Petra and Thunström, Patrik and Held, Karsten}, date = {2016-04}, - journal = {Physical Review B}, 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}, pages = {165103}, volume = {93}, + journal = {Physical Review B}, numpages = {13}, publisher = {American Physical Society} } @@ -626,12 +625,12 @@ @article{Li2016 @article{Krien2019, author = {Krien, Friedrich}, date = {2019-06}, - journal = {Physical Review B}, title = {Efficient evaluation of the polarization function in dynamical mean-field theory}, doi = {10.1103/PhysRevB.99.235106}, number = {23}, pages = {235106}, volume = {99}, + journal = {Physical Review B}, numpages = {14}, publisher = {American Physical Society} } @@ -639,12 +638,12 @@ @article{Krien2019 @article{Kunes2011, author = {Kuneš, Jan}, date = {2011-02}, - journal = {Physical Review B}, title = {Efficient treatment of two-particle vertices in dynamical mean-field theory}, doi = {10.1103/PhysRevB.83.085102}, number = {8}, pages = {085102}, volume = {83}, + journal = {Physical Review B}, numpages = {8}, publisher = {American Physical Society} } @@ -652,36 +651,36 @@ @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}, - journal = {Physical Review B}, title = {Sparse sampling approach to efficient ab initio calculations at finite temperature}, doi = {10.1103/physrevb.101.035144}, number = {3}, pages = {035144}, - volume = {101} + volume = {101}, + journal = {Physical Review B} } @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}, - journal = {SciPost Physics}, title = {Sparse sampling and tensor network representation of two-particle Green's functions}, doi = {10.21468/scipostphys.8.1.012}, issn = {2542-4653}, number = {1}, pages = {012–23}, url = {https://scipost.org/SciPostPhys.8.1.012/pdf}, - volume = {8} + volume = {8}, + journal = {SciPost Physics} } @article{Rohringer2012, author = {Rohringer, G. and Valli, A. and Toschi, A.}, date = {2012-09}, - journal = {Physical Review B}, title = {Local electronic correlation at the two-particle level}, doi = {10.1103/PhysRevB.86.125114}, number = {12}, pages = {125114}, volume = {86}, + journal = {Physical Review B}, numpages = {26}, publisher = {American Physical Society} } @@ -690,12 +689,12 @@ @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}, - journal = {Physical Review Letters}, title = {Divergent Precursors of the Mott–Hubbard Transition at the Two-Particle Level}, doi = {10.1103/PhysRevLett.110.246405}, number = {24}, pages = {246405}, volume = {110}, + journal = {Physical Review Letters}, numpages = {5}, publisher = {American Physical Society} } @@ -703,12 +702,12 @@ @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}, - journal = {Physical Review B}, title = {Nonperturbative landscape of the Mott–Hubbard transition: Multiple divergence lines around the critical endpoint}, doi = {10.1103/PhysRevB.94.235108}, number = {23}, pages = {235108}, volume = {94}, + journal = {Physical Review B}, numpages = {25}, publisher = {American Physical Society} } @@ -716,12 +715,12 @@ @article{Schaefer2016 @article{Krien2019a, author = {Krien, Friedrich and Valli, Angelo and Capone, Massimo}, date = {2019-10}, - journal = {Physical Review B}, title = {Single-boson exchange decomposition of the vertex function}, doi = {10.1103/PhysRevB.100.155149}, number = {15}, pages = {155149}, volume = {100}, + journal = {Physical Review B}, numpages = {15}, publisher = {American Physical Society} } @@ -729,12 +728,12 @@ @article{Krien2019a @article{Thunstroem2018, author = {Thunström, P. and Gunnarsson, O. and Ciuchi, Sergio and Rohringer, G.}, date = {2018-12}, - journal = {Physical Review B}, title = {Analytical investigation of singularities in two-particle irreducible vertex functions of the Hubbard atom}, doi = {10.1103/PhysRevB.98.235107}, number = {23}, pages = {235107}, volume = {98}, + journal = {Physical Review B}, numpages = {16}, publisher = {American Physical Society} } @@ -743,12 +742,12 @@ @article{Thunstroem2018 @article{Fong2011, author = {David Chin-Lung Fong and Michael Saunders}, date = {2011}, - journal = {SIAM Journal on Scientific Computing}, title = {LSMR: An Iterative Algorithm for Sparse Least-Squares Problems}, doi = {10.1137/10079687X}, number = {5}, pages = {2950–2971}, - volume = {33} + volume = {33}, + journal = {SIAM Journal on Scientific Computing} } @book{Saad2003, @@ -764,12 +763,12 @@ @book{Saad2003 @article{Chikano2019, author = {Naoya Chikano and Kazuyoshi Yoshimi and Junya Otsuki and Hiroshi Shinaoka}, date = {2019}, - journal = {Computer Physics Communications}, 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}, url = {https://www.sciencedirect.com/science/article/pii/S001046551930058X}, - volume = {240} + volume = {240}, + journal = {Computer Physics Communications} } @book{Mahan2000, @@ -782,74 +781,74 @@ @book{Mahan2000 @article{Nomoto2020, author = {Nomoto, Takuya and Koretsune, Takashi and Arita, Ryotaro}, date = {2020}, - journal = {Physical Review Letters}, title = {Formation Mechanism of the Helical Q Structure in Gd-Based Skyr\-mion Materials}, doi = {10.1103/physrevlett.125.117204}, issn = {0031-9007}, number = {11}, pages = {117204}, volume = {125}, + journal = {Physical Review Letters}, pmid = {32975986} } @article{Nomoto2020a, author = {Nomoto, Takuya and Koretsune, Takashi and Arita, Ryotaro}, date = {2020}, - journal = {Physical Review B}, 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}, issn = {2469-9950}, number = {1}, pages = {014444}, - volume = {102} + volume = {102}, + journal = {Physical Review B} } @article{Nomura2020, author = {Nomura, Yusuke and Nomoto, Takuya and Hirayama, Motoaki and Arita, Ryotaro}, date = {2020}, - journal = {Physical Review Research}, title = {Magnetic exchange coupling in cuprate-analog d9 nickelates}, doi = {10.1103/physrevresearch.2.043144}, eprint = {2006.16943}, number = {4}, pages = {043144}, - volume = {2} + volume = {2}, + journal = {Physical Review Research} } @article{Iskakov2020, author = {Iskakov, Sergei and Yeh, Chia-Nan and Gull, Emanuel and Zgid, Dominika}, date = {2020}, - journal = {Physical Review B}, title = {Ab initio self-energy embedding for the photoemission spectra of NiO and MnO}, doi = {10.1103/physrevb.102.085105}, eprint = {2003.04440}, issn = {2469-9950}, number = {8}, pages = {085105}, - volume = {102} + volume = {102}, + journal = {Physical Review B} } @article{Otsuki2020, author = {Otsuki, Junya and Ohzeki, Masayuki and Shinaoka, Hiroshi and Yoshimi, Kazuyoshi}, date = {2020}, - journal = {Journal of the Physical Society of Japan}, title = {Sparse Modeling in Quantum Many-Body Problems}, doi = {10.7566/jpsj.89.012001}, number = {1}, pages = {012001}, - volume = {89} + volume = {89}, + journal = {Journal of the Physical Society of Japan} } @article{Krien2020, author = {Krien, Friedrich and Valli, Angelo and Chalupa, Patrick and Capone, Massimo and Lichtenstein, Alexander I. and Toschi, Alessandro}, date = {2020-11}, - journal = {Physical Review B}, title = {Boson-exchange parquet solver for dual fermions}, doi = {10.1103/PhysRevB.102.195131}, number = {19}, pages = {195131}, volume = {102}, + journal = {Physical Review B}, numpages = {17}, publisher = {American Physical Society} } @@ -858,12 +857,12 @@ @article{Krien2020 @article{Krien2021, author = {Krien, Friedrich and Kauch, Anna and Held, Karsten}, date = {2021-02}, - journal = {Physical Review Research}, title = {Tiling with triangles: parquet and $GW\ensuremath{\gamma}$ methods unified}, doi = {10.1103/PhysRevResearch.3.013149}, number = {1}, pages = {013149}, volume = {3}, + journal = {Physical Review Research}, numpages = {12}, publisher = {American Physical Society} } @@ -871,12 +870,12 @@ @article{Krien2021 @article{Astleithner2020, author = {Astleithner, K. and Kauch, A. and Ribic, T. and Held, K.}, date = {2020-04}, - journal = {Physical Review B}, title = {Parquet dual fermion approach for the Falicov-Kimball model}, doi = {10.1103/PhysRevB.101.165101}, number = {16}, pages = {165101}, volume = {101}, + journal = {Physical Review B}, numpages = {10}, publisher = {American Physical Society} } @@ -895,12 +894,12 @@ @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}, - journal = {Physical Review B}, title = {Parquet approximation for molecules: Spectrum and optical conductivity of the Pariser-Parr-Pople model}, doi = {10.1103/PhysRevB.99.125111}, number = {12}, pages = {125111}, volume = {99}, + journal = {Physical Review B}, numpages = {12}, publisher = {American Physical Society} } @@ -909,41 +908,38 @@ @article{Pudleiner2019a @article{Pudleiner2019, author = {Pudleiner, Petra and Kauch, Anna and Held, Karsten and Li, Gang}, date = {2019-08}, - journal = {Physical Review B}, title = {Competition between antiferromagnetic and charge density wave fluctuations in the extended Hubbard model}, doi = {10.1103/PhysRevB.100.075108}, number = {7}, pages = {075108}, volume = {100}, + journal = {Physical Review B}, numpages = {10}, publisher = {American Physical Society} } - - @article{Wallerberger2021, author = {Wallerberger, Markus and Shinaoka, Hiroshi and Kauch, Anna}, date = {2021-08}, - journal = {Physical Review Research}, title = {Solving the Bethe-Salpeter equation with exponential convergence}, doi = {10.1103/PhysRevResearch.3.033168}, number = {3}, pages = {033168}, volume = {3}, + journal = {Physical Review Research}, numpages = {18}, publisher = {American Physical Society} } - @article{Kaufmann2021, author = {Kaufmann, Josef and Eckhardt, Christian and Pickem, Matthias and Kitatani, Motoharu and Kauch, Anna and Held, Karsten}, date = {2021-01}, - journal = {Physical Review B}, title = {Self-consistent ladder dynamical vertex approximation}, doi = {10.1103/PhysRevB.103.035120}, number = {3}, pages = {035120}, volume = {103}, + journal = {Physical Review B}, numpages = {19}, publisher = {American Physical Society} } @@ -952,26 +948,25 @@ @article{Kaufmann2021 @article{Kaye2021, author = {Jason Kaye and Denis Golež}, date = {2021}, - journal = {SciPost Physics}, title = {Low rank compression in the numerical solution of the nonequilibrium Dyson equation}, doi = {10.21468/SciPostPhys.10.4.091}, number = {4}, pages = {91}, volume = {10}, + journal = {SciPost Physics}, publisher = {SciPost} } @article{Kaltak2020, author = {Kaltak, Merzuk and Kresse, Georg}, date = {2020-05}, - journal = {Physical Review B}, 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}, number = {20}, - number = {20}, pages = {205145}, volume = {101}, + journal = {Physical Review B}, numpages = {17}, publisher = {American Physical Society} } @@ -979,23 +974,23 @@ @article{Kaltak2020 @article{Dong2020, author = {Dong,Xinyang and Zgid,Dominika and Gull,Emanuel and Strand,Hugo U. R.}, date = {2020}, - journal = {The Journal of Chemical Physics}, title = {Legendre-spectral Dyson equation solver with super-exponential convergence}, doi = {10.1063/5.0003145}, number = {13}, pages = {134107}, - volume = {152} + volume = {152}, + journal = {The Journal of Chemical Physics} } @article{Boehnke2011, author = {Boehnke, Lewin and Hafermann, Hartmut and Ferrero, Michel and Lechermann, Frank and Parcollet, Olivier}, date = {2011-08}, - journal = {Physical Review B}, title = {Orthogonal polynomial representation of imaginary-time Green's functions}, doi = {10.1103/PhysRevB.84.075145}, number = {7}, pages = {075145}, volume = {84}, + journal = {Physical Review B}, numpages = {13}, publisher = {American Physical Society} } @@ -1003,12 +998,12 @@ @article{Boehnke2011 @article{Gull2018, author = {Gull, Emanuel and Iskakov, Sergei and Krivenko, Igor and Rusakov, Alexander A. and Zgid, Dominika}, date = {2018-08}, - journal = {Physical Review B}, title = {Chebyshev polynomial representation of imaginary-time response functions}, doi = {10.1103/PhysRevB.98.075127}, number = {7}, pages = {075127}, volume = {98}, + journal = {Physical Review B}, numpages = {10}, publisher = {American Physical Society} } @@ -1016,12 +1011,12 @@ @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}, - journal = {Physical Review B}, title = {Cubic scaling algorithm for the random phase approximation: Self-interstitials and vacancies in Si}, doi = {10.1103/PhysRevB.90.054115}, number = {5}, pages = {054115}, volume = {90}, + journal = {Physical Review B}, numpages = {11}, publisher = {American Physical Society} } @@ -1029,12 +1024,12 @@ @article{Kaltak2014 @article{Ku2002, author = {Ku, Wei and Eguiluz, Adolfo G.}, date = {2002-08}, - journal = {Physical Review Letters}, title = {Band-Gap Problem in Semiconductors Revisited: Effects of Core States and Many-Body Self-Consistency}, doi = {10.1103/PhysRevLett.89.126401}, number = {12}, pages = {126401}, volume = {89}, + journal = {Physical Review Letters}, numpages = {4}, publisher = {American Physical Society} } @@ -1043,12 +1038,12 @@ @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}, - journal = {Physical Review B}, 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}, pages = {205148}, volume = {103}, + journal = {Physical Review B}, numpages = {12}, publisher = {American Physical Society} } @@ -1056,35 +1051,35 @@ @article{Witt2021 @article{DeDominicis1964, author = {De Dominicis,Cyrano and Martin,Paul C.}, date = {1964}, - journal = {Journal of Mathematical Physics}, title = {Stationary Entropy Principle and Renormalization in Normal and Superfluid Systems. II. Diagrammatic Formulation}, doi = {10.1063/1.1704064}, number = {1}, pages = {31–59}, - volume = {5} + volume = {5}, + journal = {Journal of Mathematical Physics} } @article{Diatlov1957, author = {Diatlov, I T and Sudakov, V V and Ter-Martirosian, K A}, date = {1957-11}, - journal = {Soviet Phys. JETP}, title = {ASYMPTOTIC MESON-MESON SCATTERING THEORY}, url = {https://www.osti.gov/biblio/4338008}, volume = {5}, + journal = {Soviet Phys. JETP}, place = {Country unknown/Code not available} } @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}, - journal = {Computer Physics Communications}, title = {w2dynamics: Local one- and two-particle quantities from dynamical mean field theory}, doi = {10.1016/j.cpc.2018.09.007}, issn = {0010-4655}, pages = {388–399}, url = {http://www.sciencedirect.com/science/article/pii/S0010465518303217}, volume = {235}, + journal = {Computer Physics Communications}, keywords = {(continuous-time) quantum Monte Carlo, Anderson impurity model, Dynamical mean field theory, Green\textquoterights functions} } @@ -1093,12 +1088,12 @@ @article{Wallerberger2019 @article{Shinaoka2021, author = {Hiroshi Shinaoka and Junya Otsuki and Mitsuaki Kawamura and Nayuta Takemori and Kazuyoshi Yoshimi}, date = {2021}, - journal = {SciPost Physics}, title = {DCore: Integrated DMFT software for correlated electrons}, doi = {10.21468/SciPostPhys.10.5.117}, number = {5}, pages = {117}, volume = {10}, + journal = {SciPost Physics}, publisher = {SciPost} } @@ -1106,13 +1101,13 @@ @article{Shinaoka2021 @article{Schwarz2002, author = {K. Schwarz and P. Blaha and G. K. H. Madsen}, date = {2002}, - journal = {Computer Physics Communications}, title = {Electronic structure calculations of solids using the WIEN2k package for material sciences}, doi = {10.1016/S0010-4655(02)00206-0}, issn = {0010-4655}, pages = {71–76}, url = {http://www.sciencedirect.com/science/article/B6TJ5-45HWTK3-1/2/587e362e22aaa2e8e66c005aef5b2571}, volume = {147}, + journal = {Computer Physics Communications}, keywords = {Density functional theory}, owner = {georg}, timestamp = {2013.10.01} @@ -1121,7 +1116,6 @@ @article{Schwarz2002 @article{Kunes2010, author = {Jan Kuneš and Ryotaro Arita and Philipp Wissgott and Alessandro Toschi and Hiroaki Ikeda and Karsten Held}, date = {2010}, - journal = {Computer Physics Communications}, title = {Wien2wannier: From linearized augmented plane waves to maximally localized Wannier functions}, doi = {10.1016/j.cpc.2010.08.005}, issn = {0010-4655}, @@ -1129,18 +1123,19 @@ @article{Kunes2010 pages = {1888–1895}, url = {http://www.sciencedirect.com/science/article/pii/S0010465510002948}, volume = {181}, + journal = {Computer Physics Communications}, keywords = {Electronic structure, Density functional theory, Wannier functions, Augmented plane waves, Wien2K, Wannier90} } @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}, - journal = {Journal of Statistical Mechanics: Theory and Experiment}, title = {The ALPS project release 2.0: open source software for strongly correlated systems}, doi = {10.1088/1742-5468/2011/05/p05001}, number = {05}, pages = {P05001}, volume = {2011}, + journal = {Journal of Statistical Mechanics: Theory and Experiment}, publisher = {IOP Publishing} } @@ -1148,12 +1143,12 @@ @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}, - journal = {Physical Review B}, title = {Dynamical vertex approximation in its parquet implementation: Application to Hubbard nanorings}, doi = {10.1103/PhysRevB.91.115115}, number = {11}, pages = {115115}, volume = {91}, + journal = {Physical Review B}, numpages = {13}, publisher = {American Physical Society} } @@ -1161,18 +1156,17 @@ @article{Valli2015 @article{Hohenstein2012, author = {Hohenstein,Edward G. and Parrish,Robert M. and Martínez,Todd J.}, date = {2012}, - journal = {The Journal of Chemical Physics}, title = {Tensor hypercontraction density fitting. I. Quartic scaling second- and third-order Møller-Plesset perturbation theory}, doi = {10.1063/1.4732310}, number = {4}, pages = {044103}, - volume = {137} + volume = {137}, + journal = {The Journal of Chemical Physics} } @article{Schollwoeck2011, author = {Ulrich Schollwöck}, date = {2011}, - journal = {Annals of Physics}, 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,25 +1174,25 @@ @article{Schollwoeck2011 number = {1}, pages = {96–192}, url = {https://www.sciencedirect.com/science/article/pii/S0003491610001752}, - volume = {326} + volume = {326}, + journal = {Annals of Physics} } @article{Hubbard1963, author = {Hubbard, J. and Flowers, Brian Hilton}, date = {1963}, - journal = {Proceedings of the Royal Society of London. Series A. Mathematical and Physical Sciences}, title = {Electron correlations in narrow energy bands}, doi = {10.1098/rspa.1963.0204}, number = {1365}, pages = {238–257}, volume = {276}, + journal = {Proceedings of the Royal Society of London. Series A. Mathematical and Physical Sciences}, ranking = {rank2} } @article{Anderson1965, author = {Anderson, Donald G.}, date = {1965-10}, - journal = {Journal of the ACM}, title = {Iterative Procedures for Nonlinear Integral Equations}, doi = {10.1145/321296.321305}, issn = {0004-5411}, @@ -1206,6 +1200,7 @@ @article{Anderson1965 pages = {547–560}, volume = {12}, issue_date = {Oct. 1965}, + journal = {Journal of the ACM}, location = {New York, NY, USA}, numpages = {14}, publisher = {Association for Computing Machinery} @@ -1214,23 +1209,23 @@ @article{Anderson1965 @article{Walker2011, author = {Walker, Homer F. and Ni, Peng}, date = {2011}, - journal = {SIAM Journal on Numerical Analysis}, title = {Anderson Acceleration for Fixed-Point Iterations}, doi = {10.1137/10078356X}, number = {4}, pages = {1715–1735}, - volume = {49} + volume = {49}, + journal = {SIAM Journal on Numerical Analysis} } @article{Monkhorst1976, author = {Monkhorst, Hendrik J. and Pack, James D.}, date = {1976-06}, - journal = {Physical Review B}, title = {Special points for Brillouin-zone integrations}, doi = {10.1103/PhysRevB.13.5188}, number = {12}, pages = {5188–5192}, volume = {13}, + journal = {Physical Review B}, numpages = {0}, publisher = {American Physical Society} } @@ -1247,7 +1242,6 @@ @book{Ashcroft1976 @article{Weideman2002, author = {J. A. C. Weideman}, date = {2002}, - journal = {The American Mathematical Monthly}, title = {Numerical Integration of Periodic Functions: A Few Examples}, issn = {00029890, 19300972}, number = {1}, @@ -1255,6 +1249,7 @@ @article{Weideman2002 url = {http://www.jstor.org/stable/2695765}, urldate = {2024-05-06}, volume = {109}, + journal = {The American Mathematical Monthly}, publisher = {Mathematical Association of America} } @@ -1280,8 +1275,8 @@ @misc{Kelley2022 @article{Chen2016, author = {Chen, Jiahao and Revels, Jarrett}, date = {2016}, - journal = {arXiv preprint arXiv:1608.04295}, - title = {Robust benchmarking in noisy environments} + title = {Robust benchmarking in noisy environments}, + journal = {arXiv preprint arXiv:1608.04295} } @book{Negele1988, @@ -1298,24 +1293,24 @@ @book{Negele1988 @article{Bezanson2017, author = {Bezanson, Jeff and Edelman, Alan and Karpinski, Stefan and Shah, Viral B}, date = {2017}, - journal = {SIAM review}, title = {Julia: A fresh approach to numerical computing}, doi = {10.1137/141000671}, number = {1}, pages = {65–98}, volume = {59}, + journal = {SIAM review}, publisher = {SIAM} } @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}, - journal = {Physical Review X}, title = {Multiscale Space-Time Ansatz for Correlation Functions of Quantum Systems Based on Quantics Tensor Trains}, doi = {10.1103/PhysRevX.13.021015}, number = {2}, pages = {021015}, volume = {13}, + journal = {Physical Review X}, numpages = {27}, publisher = {American Physical Society} } @@ -1323,14 +1318,13 @@ @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}, - journal = {Physical Review Letters}, title = {Quantics Tensor Cross Interpolation for High-Resolution Parsimonious Representations of Multivariate Functions}, doi = {10.1103/PhysRevLett.132.056501}, issn = {1079-7114}, number = {5}, - number = {5}, pages = {056501}, volume = {132}, + journal = {Physical Review Letters}, numpages = {6}, publisher = {American Physical Society} } @@ -1338,12 +1332,12 @@ @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}, - journal = {Physical Review X}, title = {Learning Feynman Diagrams with Tensor Trains}, doi = {10.1103/PhysRevX.12.041018}, number = {4}, pages = {041018}, volume = {12}, + journal = {Physical Review X}, numpages = {30}, publisher = {American Physical Society} } @@ -1357,14 +1351,13 @@ @unpublished{Michalek2024 @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}, - journal = {Physical Review B}, title = {Efficient ab initio Migdal–Eliashberg calculation considering the retardation effect in phonon-mediated superconductors}, doi = {10.1103/physrevb.102.134503}, issn = {2469-9950}, number = {13}, - number = {13}, pages = {134503}, volume = {102}, + journal = {Physical Review B}, numpages = {8}, publisher = {American Physical Society} } @@ -1372,12 +1365,12 @@ @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}, - journal = {Physical Review Letters}, title = {Generic Optical Excitations of Correlated Systems: $\pi$-tons}, doi = {10.1103/PhysRevLett.124.047401}, number = {4}, pages = {047401}, volume = {124}, + journal = {Physical Review Letters}, numpages = {6}, publisher = {American Physical Society} } @@ -1385,12 +1378,12 @@ @article{Kauch2020 @article{Astretsov2020, author = {Astretsov, Grigory V. and Rohringer, Georg and Rubtsov, Alexey N.}, date = {2020-02}, - journal = {Physical Review B}, 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}, pages = {075109}, volume = {101}, + journal = {Physical Review B}, numpages = {17}, publisher = {American Physical Society} } @@ -1398,12 +1391,12 @@ @article{Astretsov2020 @article{Kitatani2019, author = {Kitatani, Motoharu and Schäfer, Thomas and Aoki, Hideo and Held, Karsten}, date = {2019-01}, - journal = {Physical Review B}, 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}, pages = {041115}, volume = {99}, + journal = {Physical Review B}, numpages = {6}, publisher = {American Physical Society} } @@ -1411,11 +1404,11 @@ @article{Kitatani2019 @article{CruzUribe2002, author = {Cruz-Uribe, David and Neugebauer, Christoph J}, date = {2002}, - journal = {J. Inequal. Pure Appl. Math}, title = {Sharp error bounds for the trapezoidal rule and Simpson's rule}, number = {4}, pages = {1--22}, - volume = {3} + volume = {3}, + journal = {J. Inequal. Pure Appl. Math} } @misc{Helton2022, @@ -1425,4 +1418,14 @@ @misc{Helton2022 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} +} + @Comment{jabref-meta: databaseType:biblatex;}