MatsubaraFrequency
A MatsubaraFrequency{PT} of particle type PT at temperature $T$ and with Matsubara index $n$ can be generated using
T = 1.0
n = 5
v = MatsubaraFrequency(T, n, Fermion) # v = \pi T (2 n + 1)
w = MatsubaraFrequency(T, n, Boson) # w = \pi T (2 n )Matsubara frequencies can be added, subtracted and their sign can be reversed, producing a new instance of MatsubaraFrequency, potentially of different particle type.
v1 = v + v # typeof(v1) = MatsubaraFrequency{Boson}
v2 = w - v # typeof(v2) = MatsubaraFrequency{Fermion}
v3 = -v # typeof(v3) = MatsubaraFrequency{Fermion}Types
MatsubaraFunctions.AbstractParticle — Typeabstract type AbstractParticleMatsubaraFunctions.Fermion — Typestruct Fermion <: AbstractParticleMatsubaraFunctions.Boson — Typestruct Boson <: AbstractParticleMatsubaraFunctions.AbstractMatsubaraFrequency — Typeabstract type AbstractMatsubaraFrequencyMatsubaraFunctions.MatsubaraFrequency — Typestruct MatsubaraFrequency{PT <: AbstractParticle} <: AbstractMatsubaraFrequencyMatsubaraFrequency type with fields:
T :: Float64: temperatureval :: Float64: position on the imaginary axisidx :: Int64: Matsubara index
Functions
MatsubaraFunctions.temperature — Functionfunction temperature(
w :: MatsubaraFrequency
) :: Float64Returns w.T
function temperature(
grid :: AbstractMatsubaraGrid
) :: Float64Returns grid.T
function temperature(
f :: MatsubaraFunction
) :: Float64Returns temperature for which f.grids are defined
MatsubaraFunctions.value — Functionfunction value(
w :: MatsubaraFrequency
) :: Float64Returns w.val
MatsubaraFunctions.index — Functionfunction index(
w :: MatsubaraFrequency
) :: Int64Returns w.idx
function index(
x :: MatsubaraIndex
) :: Int64Returns x.idx