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