Many-body Green's Functions

API

Atom.Green.GreenNType
GreenN(m::Model, τ, orbital, isfermi=true)

Construct struct to store the variables to evaulate N-body Green's functions. The leg index is assumed to be [1, 2, 3, ...,2N], where the incoming legs are 1:N, and the outgoing legs are N+1:2N The full Green's function is defined as,

\[G_{2N}=\left<\mathcal{T} c_{2N}c_{2N-1}...c_{N+1}c^+_{N}...c^+_{2}c^+_{1}\right>\]

e.g.,

1->------->-3
    | G4 |        
2->------->-4

All other Green's function are derived from the above full Green's function

#Arguments

  • m: Model struct
  • τ: array stores the imaginary-time of legs
  • orbital: array stores the orbital/spin of legs
  • N: particle number (Note that the leg numebr is 2N)
source
Atom.Green.ModelType
Model(H::Operator, c⁺::Vector{Operator}, c⁻::Vector{Operator})

Construct a model. All input operators are in the Fock space. But all members of Model struct is in the eigenspace. Operator should be a matrix type.

Arguments:

  • β: inverse temperature
  • H: Hamiltonian in the Fock space
  • c⁺, c⁻: creation/anniliation operators for each orbital, all in the Fock space
source
Atom.Green.GnMethod
@inline function Gn(m::Model, g::GreenN)

Evaluate the full N-body Green's function.

\[G_{2N}=\left<\mathcal{T} c_{2N}c_{2N-1}...c_{N+1}c^+_{N}...c^+_{2}c^+_{1}\right>\]

e.g.,

1->------->-3
    | G4 |        
2->------->-4
source
Atom.Green.GncMethod
function Gnc(m::Model, g::GreenN)

Evaluate the connected N-body Green's function.

e.g., G4c(43;21) = 1->–––->-4 1->–––->-4 1->–- –->-4 | G4 | - + X 2->–––->-3 2->–––->-3 2->–- –->-3

source
Atom.Green.HeisenbergMethod
Heisenberg(o::Operator, E, τ)

Transform operator o into Heisenberg picture

\[ \exp(Hτ)\cdot o \cdot \exp(-Hτ)\]

source