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->------->-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)
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->------->-4
Atom.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τ)\]