You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am not sure whether we can implement a multi-orbital model with its specified interaction in current version of package. For example, given orbital A at a particular lattice position, it has its own μ_A, t_AA for same-orbital hopping, t_AB for different-orbital hopping, and U_A for Hubbard interaction. It is easy to implement the hopping matrix, but I am unsure about the interaction if I have more than one orbital {A, B, C}.
Due to a lack of documentation, it is difficult to figure out whether this feature is already part of the package or not. However, from what I can tell by reading the source code, it seems that this feature is not yet implemented and only supports Hubbard interaction for a single orbital. It does not require a lot of modification though. I only need to define my own interaction_matrix_exp and propose_local for different orbitals.
So, I need to construct the U matrix, specifically, the α.
then finally, the interaction term need to be written to be like this
@inline function interaction_matrix_exp!(f::MagneticHirschField, result::Diagonal, slice, power)
N = size(f.conf, 1)
@inbounds for i in axes(f.conf, 1)
result.diag[i] = exp( power * α[i] * f.conf[i, slice])
end
@inbounds for i in axes(f.conf, 1)
result.diag[i+N] = exp(-power * α[i] * f.conf[i, slice])
end
nothing
end
function propose_local(mc, f::MagneticHirschField, i, slice)
ΔE_Boson = -2.0 * α[i] * f.conf[i, slice]
mc.stack.field_cache.Δ[1] = exp(+ΔE_Boson) - 1.0
mc.stack.field_cache.Δ[2] = exp(-ΔE_Boson) - 1.0
detratio = calculate_detratio!(mc.stack.field_cache, mc.stack.greens, i)
# There is no bosonic part (exp(-ΔE_Boson)) to the partition function.
# Therefore pass 0.0
return detratio, 0.0, nothing
end
let me know if this is correct approach.
The text was updated successfully, but these errors were encountered:
I am not sure whether we can implement a multi-orbital model with its specified interaction in current version of package. For example, given orbital A at a particular lattice position, it has its own
μ_A
,t_AA
for same-orbital hopping,t_AB
for different-orbital hopping, andU_A
for Hubbard interaction. It is easy to implement the hopping matrix, but I am unsure about the interaction if I have more than one orbital {A, B, C}.Due to a lack of documentation, it is difficult to figure out whether this feature is already part of the package or not. However, from what I can tell by reading the source code, it seems that this feature is not yet implemented and only supports Hubbard interaction for a single orbital. It does not require a lot of modification though. I only need to define my own
interaction_matrix_exp
andpropose_local
for different orbitals.So, I need to construct the
U
matrix, specifically, theα
.α[i] = acosh(exp(-0.5 * param.delta_tau * ComplexF64(U[i])))
where i is positions of sites.
then finally, the interaction term need to be written to be like this
let me know if this is correct approach.
The text was updated successfully, but these errors were encountered: