Spectral functions
This module defines the kernels of Lehmann representation for different particles and symmetries.
Lehmann.Spectral — ModuleSpectral representation related functions
Lehmann.Spectral.boseEinstein — Methodfunction boseEinstein(ω)Compute the Fermi Dirac function. Assume $k_B T/\hbar=1$
\[f(ω) = 1/(e^{ωβ}-1)\]
Arguments
ω: frequencyβ: the inverse temperature
Lehmann.Spectral.density — Methodfunction density(isFermi::Bool, ω, β)Compute the imaginary-time kernel of different type. Assume $k_B T/\hbar=1$
Arguments
isFermi: fermionic or bosonicω: energyβ: the inverse temperature
Lehmann.Spectral.fermiDirac — Methodfunction fermiDirac(ω)Compute the Fermi Dirac function. Assume $k_B T/\hbar=1$
\[f(ω) = 1/(e^{ωβ}+1)\]
Arguments
ω: frequencyβ: the inverse temperature
Lehmann.Spectral.kernelBoseSymΩ — Methodfunction kernelBoseSymΩ(n::Int, ω::T, β::T) where {T <: AbstractFloat}Compute the bosonic kernel with Matsubara frequency.
\[g(iω_n) = -sgn(ω)(1 - e^{-|ω|β})/(iω_n-ω),\]
where $ω_n=2nπ/β$. The convention here is consist with the book "Quantum Many-particle Systems" by J. Negele and H. Orland, Page 95
Arguments
n: index of the Matsubara frequencyω: energyβ: the inverse temperature
Lehmann.Spectral.kernelBoseT — Methodfunction kernelBoseT(τ, ω, β)Compute the imaginary-time bosonic kernel. Machine accuracy ~eps(g) is guaranteed``
\[g(τ>0) = e^{-ωτ}/(1-e^{-ωβ}), g(τ≤0) = -e^{-ωτ}/(1-e^{ωβ})\]
Arguments
τ: the imaginary time, must be (-β, β]ω: frequencyβ: the inverse temperature
Lehmann.Spectral.kernelBoseT_PH — Methodfunction kernelBoseT_PH(τ, ω, β)Compute the imaginary-time kernel for correlation function $⟨O(τ)O(0)⟩$. Machine accuracy ~eps(C) is guaranteed``
\[K(τ) = e^{-ω|τ|}+e^{-ω(β-|τ|)}\]
Arguments
τ: the imaginary time, must be (-β, β]ω: frequency, ω>=0β: the inverse temperature
Lehmann.Spectral.kernelBoseT_PHA — Methodfunction kernelBoseT_PHA(τ, ω, β)Compute the imaginary-time kernel for correlation function $⟨O(τ)O(0)⟩$. Machine accuracy ~eps(C) is guaranteed``
\[K(τ) = e^{-ω|τ|}-e^{-ω(β-|τ|)}\]
Arguments
τ: the imaginary time, must be (0, β]ω: frequency, ω>=0β: the inverse temperature
Lehmann.Spectral.kernelBoseT_regular — Methodfunction kernelBoseT_regular(τ, ω, β)Compute the imaginary-time bosonic kernel with a regulator near ω=0. Machine accuracy ~eps(g) is guaranteed``
\[g(τ>0) = e^{-ωτ}/(1+e^{-ωβ}), g(τ≤0) = e^{-ωτ}/(1+e^{ωβ})\]
Arguments
τ: the imaginary time, must be (-β, β]ω: frequencyβ: the inverse temperature
Lehmann.Spectral.kernelBoseΩ — Methodfunction kernelBoseΩ(n::Int, ω::T, β::T) where {T <: AbstractFloat}Compute the bosonic kernel with Matsubara frequency.
\[g(iω_n) = -1/(iω_n-ω),\]
where $ω_n=2nπ/β$. The convention here is consist with the book "Quantum Many-particle Systems" by J. Negele and H. Orland, Page 95
Arguments
n: index of the Matsubara frequencyω: energyβ: the inverse temperature
Lehmann.Spectral.kernelBoseΩ_PH — Methodfunction kernelBoseΩ_PH(n::Int, ω::T, β::T) where {T <: AbstractFloat}Compute the Matsubara-frequency kernel for a correlator $⟨O(τ)O(0)⟩_{iω_n}$.
\[K(iω_n) = \frac{2ω}{ω^2+ω_n^2}(1-e^{-ωβ}),\]
where $ω_n=2nπ/β$. The convention here is consist with the book "Quantum Many-particle Systems" by J. Negele and H. Orland, Page 95
Arguments
n: index of the Matsubara frequencyω: energyβ: the inverse temperature
Lehmann.Spectral.kernelBoseΩ_PHA — Methodfunction kernelBoseΩ_PHA(n::Int, ω::T, β::T) where {T <: AbstractFloat}Compute the Matsubara-frequency kernel for a anormalous fermionic correlator with particle-hole symmetry.
\[K(iω_n) = -\frac{2iω_n}{ω^2+ω_n^2}(1-e^{-ωβ}),\]
where $ω_n=2nπ/β$. The convention here is consist with the book "Quantum Many-particle Systems" by J. Negele and H. Orland, Page 95
Arguments
n: index of the fermionic Matsubara frequencyω: energyβ: the inverse temperature
Lehmann.Spectral.kernelBoseΩ_regular — Methodfunction kernelBoseΩ_regular(n::Int, ω::T, β::T) where {T <: AbstractFloat}Compute the bosonic kernel in Matsubara frequency with a regulartor near ω=0
\[g(iω_n) = -(1-e^{-ωβ})/(1+e^{-ωβ})/(iω_n-ω),\]
where $ω_n=2nπ/β$. The convention here is consist with the book "Quantum Many-particle Systems" by J. Negele and H. Orland, Page 95
Arguments
n: index of the Matsubara frequencyω: energyβ: the inverse temperature
Lehmann.Spectral.kernelFermiSymΩ — Methodfunction kernelFermiSymΩ(n::Int, ω::T, β::T) where {T <: AbstractFloat}Compute the symmetrized fermionic kernel with Matsubara frequency.
\[g(iω_n) = -(1+e^{-|ω|β})/(iω_n-ω),\]
where $ω_n=(2n+1)π/β$. The convention here is consist with the book "Quantum Many-particle Systems" by J. Negele and H. Orland, Page 95
Arguments
n: index of the Matsubara frequencyω: energyβ: the inverse temperature
Lehmann.Spectral.kernelFermiT — Methodfunction kernelFermiT(τ, ω, β)Compute the imaginary-time fermionic kernel. Machine accuracy ~eps(g) is guaranteed``
\[g(τ>0) = e^{-ωτ}/(1+e^{-ωβ}), g(τ≤0) = -e^{-ωτ}/(1+e^{ωβ})\]
Arguments
τ: the imaginary time, must be (-β, β]ω: frequencyβ: the inverse temperature
Lehmann.Spectral.kernelFermiT_PH — Methodfunction kernelFermiT_PH(τ, ω, β)Compute the imaginary-time kernel for correlation function $⟨O(τ)O(0)⟩$. Machine accuracy ~eps(C) is guaranteed``
\[K(τ) = e^{-ω|τ|}+e^{-ω(β-|τ|)}\]
Arguments
τ: the imaginary time, must be (-β, β]ω: frequency, ω>=0β: the inverse temperature
Lehmann.Spectral.kernelFermiT_PHA — Methodfunction kernelFermiT_PHA(τ, ω, β)Compute the imaginary-time kernel for correlation function $⟨O(τ)O(0)⟩$. Machine accuracy ~eps(C) is guaranteed``
\[K(τ) = e^{-ω|τ|}-e^{-ω(β-|τ|)}\]
Arguments
τ: the imaginary time, must be (0, β]ω: frequency, ω>=0β: the inverse temperature
Lehmann.Spectral.kernelFermiT_dω — Methodfunction kernelFermiT_dω(τ, ω, β)Compute the first derivative of the imaginary-time fermionic kernel with respect to ω.
Arguments
τ: the imaginary time, must be (-β, β]ω: frequencyβ: the inverse temperature
Lehmann.Spectral.kernelFermiT_dω2 — Methodfunction kernelFermiT_dω2(τ, ω, β)Compute the second derivative of the imaginary-time fermionic kernel with respect to ω.
Arguments
τ: the imaginary time, must be (-β, β]ω: frequencyβ: the inverse temperature
Lehmann.Spectral.kernelFermiT_dω3 — Methodfunction kernelFermiT_dω3(τ, ω, β)Compute the third derivative of the imaginary-time fermionic kernel with respect to ω.
Arguments
τ: the imaginary time, must be (-β, β]ω: frequencyβ: the inverse temperature
Lehmann.Spectral.kernelFermiT_dω4 — MethodkernelFermiT_dω4(τ, ω, β)Compute the fourth derivative of the imaginary-time fermionic kernel with respect to ω.
Arguments
τ: the imaginary time, must be (-β, β]ω: frequencyβ: the inverse temperature
Lehmann.Spectral.kernelFermiT_dω5 — MethodkernelFermiT_dω5(τ, ω, β)Compute the fifth derivative of the imaginary-time fermionic kernel with respect to ω.
Arguments
τ: the imaginary time, must be (-β, β]ω: frequencyβ: the inverse temperature
Lehmann.Spectral.kernelFermiΩ — Methodfunction kernelFermiΩ(n::Int, ω::T, β::T) where {T <: AbstractFloat}Compute the fermionic kernel with Matsubara frequency.
\[g(iω_n) = -1/(iω_n-ω),\]
where $ω_n=(2n+1)π/β$. The convention here is consist with the book "Quantum Many-particle Systems" by J. Negele and H. Orland, Page 95
Arguments
n: index of the Matsubara frequencyω: energyβ: the inverse temperature
Lehmann.Spectral.kernelFermiΩ_PH — Methodfunction kernelFermiΩ_PH(n::Int, ω::T, β::T) where {T <: AbstractFloat}Compute the Matsubara-frequency kernel for a correlator $⟨O(τ)O(0)⟩_{iω_n}$.
\[K(iω_n) = -\frac{2iω_n}{ω^2+ω_n^2}(1+e^{-ωβ}),\]
where $ω_n=(2n+1)π/β$. The convention here is consist with the book "Quantum Many-particle Systems" by J. Negele and H. Orland, Page 95
Arguments
n: index of the Matsubara frequencyω: energyβ: the inverse temperature
Lehmann.Spectral.kernelFermiΩ_PHA — Methodfunction kernelFermiΩ_PHA(n::Int, ω::T, β::T) where {T <: AbstractFloat}Compute the Matsubara-frequency kernel for a anormalous fermionic correlator with particle-hole symmetry.
\[K(iω_n) = \frac{2ω}{ω^2+ω_n^2}(1+e^{-ωβ}),\]
where $ω_n=(2n+1)π/β$. The convention here is consist with the book "Quantum Many-particle Systems" by J. Negele and H. Orland, Page 95
Arguments
n: index of the fermionic Matsubara frequencyω: energyβ: the inverse temperature
Lehmann.Spectral.kernelSymT — Methodfunction kernelSymT(τ, ω, β)Compute the symmetrized imaginary-time kernel, which applies for both fermions and bosons. Machine accuracy ~eps(g) is guaranteed``
\[g(ω>0) = e^{-ωτ}, g(ω≤0) = e^{ω(β-τ)}\]
Arguments
τ: the imaginary time, must be (0, β]ω: frequencyβ: the inverse temperature
Lehmann.Spectral.kernelT — Methodfunction kernelT(isFermi, symmetry, τGrid::AbstractVector{T}, ωGrid::AbstractVector{T}, β::T, regularized::Bool = false; type = T) where {T<:AbstractFloat}Compute kernel with given τ and ω grids.
Lehmann.Spectral.kernelT — Methodfunction kernelT(::Val{isFermi}, ::Val{symmetry}, τ::T, ω::T, β::T, regularized::Bool = false) where {T<:AbstractFloat}Compute the imaginary-time kernel of different type.
Arguments
isFermi: fermionic or bosonic. It should be wrapped asVal(isFermi).symmetry: :ph, :pha, or :none. It should be wrapped asVal(symmetry).τ: the imaginary time, must be (-β, β]ω: energyβ: the inverse temperatureregularized: use regularized kernel or not
Lehmann.Spectral.kernelΩ — Methodfunction kernelΩ(isFermi, symmetry, nGrid::Vector{Int}, ωGrid::Vector{T}, β::T, regularized::Bool = false; type = Complex{T}) where {T<:AbstractFloat}Compute kernel matrix with given ωn (integer!) and ω grids.
Lehmann.Spectral.kernelΩ — Methodfunction kernelΩ(::Val{isFermi}, ::Val{symmetry}, n::Int, ω::T, β::T, regularized::Bool = false) where {T<:AbstractFloat}Compute the imaginary-time kernel of different type. Assume $k_B T/\hbar=1$
Arguments
isFermi: fermionic or bosonic. It should be wrapped asVal(isFermi).symmetry: :ph, :pha, or :none. It should be wrapped asVal(symmetry).n: index of the Matsubara frequencyω: energyβ: the inverse temperatureregularized: use regularized kernel or not