MeanFieldToolkit.MFTDecompose

MeanFieldToolkit.MFTDecompose.InterQuarticToHoppingMethod
InterQuarticToHopping(Uij::Array{ComplexF64, 4}, Chis::Dict{String, Matrix{ComplexF64}}) --> Dict{String, Matrix{ComplexF64}}

Function to decompose a general density-type, inter-site quartic interaction into MFT hopping channels (both inter-site and on-site). The interaction is provided as a rank-4 array living on the bond. The expectation values as a dictionary of matrices containing the expectation values on the two sites, i and j, and the bond i ↔ j with keys "ii", "jj", and "ij".

source
MeanFieldToolkit.MFTDecompose.InterQuarticToPairingMethod
InterQuarticToPairing(Uij::Array{ComplexF64, 4}, Deltas::Dict{String, Matrix{ComplexF64}}) --> Dict{String, Matrix{ComplexF64}}

Function to decompose a general density-type, inter-site quartic interaction into MFT pairing channels. The interaction is provided as a rank-4 array living on the bond. The expectation values as a dictionary of matrices containing the expectation values on the two sites, i and j, and the bond i ↔ j with keys "ii", "jj", and "ij".

source
MeanFieldToolkit.MFTDecompose.IntraQuarticToHoppingMethod
IntraQuarticToHopping(Uii::Array{ComplexF64, 4}, Chis::Dict{String, Matrix{ComplexF64}}) --> Dict{String, Matrix{ComplexF64}}

Function to decompose a general density-type, intra-site quartic interaction into MFT hopping channels. The interaction is provided as a rank-4 array living on the site. The expectation values as a dictionary of matrices containing the expectation values on the site, i with key "ii".

source
MeanFieldToolkit.MFTDecompose.IntraQuarticToPairingMethod
IntraQuarticToHopping(Uii::Array{ComplexF64, 4}, Chis::Dict{String, Matrix{ComplexF64}}) --> Dict{String, Matrix{ComplexF64}}

Function to decompose a general density-type, intra-site quartic interaction into MFT pairing channels. The interaction is provided as a rank-4 array living on the site. The expectation values as a dictionary of matrices containing the expectation values on the site, i with key "ii".

source

How to write custom mean-field equations

  • Suppose you are dealing with a 2n-fermion interation on two sites of the general form $U^{ij}_{\alpha_1...\alpha_n ; \beta_1...\beta_n}f^{\dagger}_{i, \alpha_1}f_{i, \alpha_2}...f^{\dagger}_{j, \beta_{n-1}}f_{j, \beta_{n}}$. All the information about the interaction will be stored in the rank = 2n arrays $U^{ij}$.
  • Furthermore, you will need the expectation value matrices $\chi_{rr'}^{\alpha\beta} = \langle f^{\dagger}_{r, \alpha}f_{r', \beta}\rangle$, for $\chi_{ii},\chi_{jj},$ and $\chi_{ij}$. Assume this is passed as a dictionary of matrices with the keys being $"ii", "jj", and "ij"$.
  • Now, the function which decomposes the interaction on the bond connecting sites $i, j$ can be defined as
    function CustomDecomposition(U::Array{Float64, 2*n}, Expectations::Dict{String, Matrix{ComplexF64}}) :: Dict{String, Matrix{ComplexF64}}

        ##### Write down your mean field equations and find their on-site component t_{ii}, t_{jj}, and inter-site t_{ij}

        return Dict("ii" => t_ii, "jj" => t_jj, "ij" => t_ij)
    end