Many-body Green's Functions
API
Atom.Green.GreenN — TypeGreenN(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->------->-4All 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)
Atom.Green.Model — TypeModel(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
Atom.Green.Gn — Method@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->------->-4Atom.Green.Gnc — Methodfunction 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
Atom.Green.Heisenberg — MethodHeisenberg(o::Operator, E, τ)Transform operator o into Heisenberg picture
\[ \exp(Hτ)\cdot o \cdot \exp(-Hτ)\]