Now I have another problem... It seems that after DMRG I can't regauge the MPS by (say) psi.position(1).
Test Hamiltonian:
    k = 0;
    ampo += -2.*t1,"Sz",k+1;
    ampo += -2.*t1,"Sz",k+2;
    ampo += -2.*t1,"Sz",k+3;
    ampo += -4.*t1,"Sx",k+1,"Sx",k+2;
    ampo += -4.*t1,"Sx",k+2,"Sx",k+3;
    ampo += -2.*h,"Sx",k+4;
    ampo += -2.*h,"Sx",k+5;
    ampo += -2.*h,"Sx",k+6;
    ampo += -2.*h,"Sx",k+7;
    ampo += -2.*h,"Sx",k+8;
    ampo += -2.*h,"Sx",k+9;
initial state:
    auto state = InitState(sites);
    for (j = 1; j <= N; ++j)
    {
        if (j % 2 == 1)
            state.set(j,"Up");
        else
            state.set(j,"Dn");
    }
with head file:
    SpinHalfSite(int n, Args const& args = Args::global())
    {
        if ((n % 9 >= 1) && (n % 9 <= 3))
            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})};
        else
            s = IQIndex{nameint("site ",n), Index("0",2,Site),QN({0,2})};
    }
I think the problem might have something to do with the site setup, but can't find a way out. What do you think? Thanks!