So to make things simpler I tried the following "minimum" Hamiltonian
ampo += -4.,"Sp",1,"Sm",2;
ampo += -4.,"Sm",1,"Sp",2;
And it doesn't work with the following site-setting head file
s = IQIndex{nameint("S=1/2 ",n),
Index(nameint("Up ",n),1,Site),QN({1,2}),
Index(nameint("Dn ",n),1,Site),QN({-1,2})};
I think the problem might be in this parity-conserving QN definition. What do you think about it? Thanks!