Functional DLR builder

This module provides a DLR builder based on a functional QR algorithm. It can generate DLR at extremely low temperature.

Lehmann.Functional.buildFunction
function build(dlrGrid, print::Bool = true)

Construct discrete Lehmann representation

#Arguments:

  • dlrGrid: struct that contains the information to construct the DLR grid. The following entries are required: Λ: the dimensionless scale β*Euv, rtol: the required relative accuracy, isFermi: fermionic or bosonic, symmetry: particle-hole symmetry/antisymmetry or none
  • print: print the internal information or not
source
Lehmann.Functional.projPHA_τMethod
function projPHA_τ(Λ::Float, t1::Float, t2::Float)

particle-hole asymmetric kernel: $K(ω, τ)=e^{-ωτ}-e^{-ω(β-τ)}$

\[KK=\int_0^{Λ} dω K(ω,t_1)K(ω,t_2)=\frac{1-e^{-(t_1+t_2)}}{t_1+t_2}+\frac{1-e^{-(2β-t_1-t_2)}}{2β-t_1-t_2}-\frac{1-e^{-(β+t_1-t_2)}}{β+t_1-t_2}-\frac{1-e^{-(β-t_1+t_2)}}{β-t_1+t_2}\]

source
Lehmann.Functional.projPHA_ωMethod
function projPHA_ω(Λ::Float, ω1::Float, ω2::Float)

particle=hole asymmetric kernel: $K(ω, τ)=e^{-ωτ}-e^{-ω(β-τ)}$

\[KK=\int_0^{1/2} dτ K(ω_1,τ)K(ω_2,τ)=\frac{1-e^{-(ω_1+ω_2)}}{ω_1+ω_2}-\frac{e^{-ω_2}-e^{-ω_1}}{ω_1-ω_2}\]

source
Lehmann.Functional.projPH_τMethod
function projPH_τ(Λ::Float, t1::Float, t2::Float)

particle-hole symmetric kernel: $K(ω, τ)=e^{-ω*τ}+e^{-ω*(β-τ)}$

\[KK=\int_0^{Λ} dω K(ω,t_1)K(ω,t_2)=\frac{1-e^{-(t_1+t_2)}}{t_1+t_2}+\frac{1-e^{-(2β-t_1-t_2)}}{2β-t_1-t_2}+\frac{1-e^{-(β+t_1-t_2)}}{β+t_1-t_2}+\frac{1-e^{-(β-t_1+t_2)}}{β-t_1+t_2}\]

source
Lehmann.Functional.projPH_ωMethod
function projPH_ω(Λ::Float, ω1::Float, ω2::Float)

particle-hole symmetric kernel: $K(ω, τ)=e^{-ωτ}+e^{-ω(β-τ)}$

\[KK=\int_0^{1/2} dτ K(ω_1,τ)K(ω_2,τ)=\frac{1-e^{-(ω_1+ω_2)}}{ω_1+ω_2}+\frac{e^{-ω_2}-e^{-ω_1}}{ω_1-ω_2}\]

source
Lehmann.Functional.projqqMethod
projqq(basis, q1::Vector{Float}, q2::Vector{Float})

return $\left<q1, q2\right> = \sum_{jk} c_j d_k \left<K_j, K_k\right>$ where $q_1=\sum_j c_j K_j$ and $q_2=\sum_k d_k K_k$

source