Two-point correlators
ElectronGas.TwoPoint — ModuleProvide N-body response and correlation functions
ElectronGas.TwoPoint.LindhardΩnFiniteTemperature — MethodLindhardΩnFiniteTemperature(dim::Int, q::T, n::Int, μ::T, kF::T, β::T, m::T, spin) where {T <: AbstractFloat}Compute the polarization function of free electrons at a given frequency. Relative Accuracy is about ~ 1e-6
Arguments
dim: dimensionq: external momentum, q<1e-4 will be treated as q=0n: externel Matsubara frequency, ωn=2π*n/βμ: chemical potentialkF: Fermi momentumβ: inverse temperaturem: massspin: number of spins
ElectronGas.TwoPoint.dWRPA — Method3D Imaginary-time effective interaction derived from random phase approximation. Return $dW_0(q, τ)/v_q$ where $v_q$ is the bare Coulomb interaction and $dW_0$ is the dynamic part of the effective interaction.
The total effective interaction can be recoverd using,
\[W_0(q, τ) = v_q δ(τ) + dW_0(q, τ).\]
The dynamic contribution is the fourier transform of,
\[dW_0(q, iω_n)=v_q^2 Π(q, iω_n)/(1-v_q Π(q, iω_n))\]
Note that this dynamic contribution $dW_0'' diverges at small q. For this reason, this function returns$dW0/vq``
Arguments
vqinv: inverse bare interaction as a function of qqgrid: one-dimensional array of the external momentum qτgrid: one-dimensional array of the imaginary-timedim: dimensionμ: chemical potentialkF: Fermi momentumβ: inverse temperaturespin: number of spinsmass: mass
ElectronGas.TwoPoint.freePropagatorT — MethodfreePropagatorT(type, τ, ω, β)Imaginary-time propagator.
Arguments
type: symbol :fermi, :boseτ: the imaginary time, must be (-β, β]ω: dispersion ϵ_k-μβ = 1.0: the inverse temperature
ElectronGas.TwoPoint.freePropagatorΩ — MethodfreePropagatorΩ(type, n, ω, β=1.0)Matsubara-frequency kernel of different type
Arguments
type: symbol :fermi, :bose, :corrn: index of the Matsubara frequencyω: dispersion ϵ_k-μβ: the inverse temperature