Hello Miles,
I recently run into a problem with flavor mixing. More specifically, I have fermion c_1 with charge q_1=3 hopping on odd sites and the other fermion c_2 with charge q_2=1 hopping on even sites. My U(1) invariant interaction will eventually mix the two flavors. However, at the benchmark stage, when there is no interaction and when the system size is relatively big (~20 unit cells), flavor mixing happens, meaning that three c_2 fermions disappear from the even sites and become one c_1 fermion on the odd sites, even if my initial state only consists of c_2 fermions. Even though this mixing still conserves total U(1) charge and fermion parity, ideally it’s not supposed to happen because the two flavors should be hopping independently before interaction is added.
Here is how I define the two site types:
function ITensors.space(
::SiteType"Odd";
conserve_qns=false,
conserve_Q=conserve_qns,
conserve_nfparity=conserve_qns,
qnname_Q="Q",
qnname_nfparity="NfParity",
)
if conserve_Q && conserve_nfparity
return [
# 0 particle
QN((qnname_Q, 0),(qnname_nfparity,0,-2)) => 1,
# 1 particle
QN((qnname_Q, +3),(qnname_nfparity,1,-2)) => 1,
]
end
return 2
end
function ITensors.space(
::SiteType"Even";
conserve_qns=false,
conserve_Q=conserve_qns,
conserve_nfparity=conserve_qns,
qnname_Q="Q",
qnname_nfparity="NfParity",
)
if conserve_Q && conserve_nfparity
return [
# 0 particle
QN((qnname_Q, 0),(qnname_nfparity,0,-2)) => 1,
# 1 particle
QN((qnname_Q, +1),(qnname_nfparity,1,-2)) => 1,
]
end
return 2
end
I have the following two questions:
- Is there a way to avoid the mixing at free fermion level?
- If the answer to the 1st question is yes, then would it prevent me from adding flavor-mixing interactions?
Thanks a lot for your time.
-Meng