Spectral functions

This module defines the kernels of Lehmann representation for different particles and symmetries.

Lehmann.Spectral.boseEinsteinMethod
function boseEinstein(ω)

Compute the Fermi Dirac function. Assume $k_B T/\hbar=1$

\[f(ω) = 1/(e^{ωβ}-1)\]

Arguments

  • ω: frequency
  • β: the inverse temperature
source
Lehmann.Spectral.densityMethod
function 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
source
Lehmann.Spectral.fermiDiracMethod
function fermiDirac(ω)

Compute the Fermi Dirac function. Assume $k_B T/\hbar=1$

\[f(ω) = 1/(e^{ωβ}+1)\]

Arguments

  • ω: frequency
  • β: the inverse temperature
source
Lehmann.Spectral.kernelBoseSymΩMethod
function 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
source
Lehmann.Spectral.kernelBoseTMethod
function 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
source
Lehmann.Spectral.kernelBoseT_PHMethod
function 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
source
Lehmann.Spectral.kernelBoseT_PHAMethod
function 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
source
Lehmann.Spectral.kernelBoseT_regularMethod
function 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
source
Lehmann.Spectral.kernelBoseΩMethod
function 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
source
Lehmann.Spectral.kernelBoseΩ_PHMethod
function 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
source
Lehmann.Spectral.kernelBoseΩ_PHAMethod
function 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
source
Lehmann.Spectral.kernelBoseΩ_regularMethod
function 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
source
Lehmann.Spectral.kernelFermiSymΩMethod
function 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
source
Lehmann.Spectral.kernelFermiTMethod
function 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
source
Lehmann.Spectral.kernelFermiT_PHMethod
function 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
source
Lehmann.Spectral.kernelFermiT_PHAMethod
function 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
source
Lehmann.Spectral.kernelFermiT_dωMethod
function 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
source
Lehmann.Spectral.kernelFermiT_dω2Method
function 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
source
Lehmann.Spectral.kernelFermiT_dω3Method
function 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
source
Lehmann.Spectral.kernelFermiT_dω4Method
kernelFermiT_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
source
Lehmann.Spectral.kernelFermiT_dω5Method
kernelFermiT_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
source
Lehmann.Spectral.kernelFermiΩMethod
function 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
source
Lehmann.Spectral.kernelFermiΩ_PHMethod
function 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
source
Lehmann.Spectral.kernelFermiΩ_PHAMethod
function 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
source
Lehmann.Spectral.kernelSymTMethod
function 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
source
Lehmann.Spectral.kernelTMethod
function kernelT(isFermi, symmetry, τGrid::AbstractVector{T}, ωGrid::AbstractVector{T}, β::T, regularized::Bool = false; type = T) where {T<:AbstractFloat}

Compute kernel with given τ and ω grids.

source
Lehmann.Spectral.kernelTMethod
function 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 as Val(isFermi).
  • symmetry: :ph, :pha, or :none. It should be wrapped as Val(symmetry).
  • τ: the imaginary time, must be (-β, β]
  • ω: energy
  • β: the inverse temperature
  • regularized: use regularized kernel or not
source
Lehmann.Spectral.kernelΩMethod
function 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.

source
Lehmann.Spectral.kernelΩMethod
function 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 as Val(isFermi).
  • symmetry: :ph, :pha, or :none. It should be wrapped as Val(symmetry).
  • n: index of the Matsubara frequency
  • ω: energy
  • β: the inverse temperature
  • regularized: use regularized kernel or not
source