Actually I think I would still need to figure out some details for the part:
links.at(l) = Index(QN({"Nf", 0}),?,
QN({"Nf",-1}),?,
QN({"Nf",+1}),?,
Out,
ts);
I guess that the 0, +1, -1 are okay, as my Hamiltonian only contains density-density interactions ,which do not change the QN, and hoppings which carry +-1. Still, even after reading carefully your explanation in the related post, I do not how to figure out the value of the dimensions ?'s above. Naively, I would say that for the QNs +-1 I would have dimension 1, as I only have one
type of term for each in the Hamiltonian (c^tc +h.c.).
For the QN(0) I would say that I have dimension 2 for identities, plus 1 for density-density interactions (analogous to S_zS_z), plus 1 for F operators appearing due to the Jordan-Wigner transformation, which would make it 4 overall. But this is not working. I guess my reasoning is wrong and the long-range nature of interactions, with F operators appearing in between make these dimensions more difficult to count, right?