Hi,

I have a question about the sign convention of AutoMPO in fermionic systems where the Hamiltonian does not conserve spin, e.g. due to the presence of spin-orbit coupling.

I would like to code the term (in latex form)

$$

c^\dag*{\uparrow,b} c*{\downarrow,b+1} + h.c.

$$

when building up the Hamiltonian. I get correct benchmark results for the ground-state energy of the Hamiltonian when I use the lines

ampo += 1,"Cdagup",b,"Cdn",b+1;

ampo += 1,"Cup",b,"Cdagdn",b+1;

in itensor language. However, when I intuitively read these two lines "word by word", they would read (in latex form)

$$

c^\dag*{\uparrow,b} c*{\downarrow,b+1} +c*{\uparrow,b} c^\dag*{downarrow,b+1}

$$

which upon anticommuting the second term yields

$$

c^\dag*{\uparrow,b} c*{\downarrow,b+1} - h.c.

$$

i.e. an anti-hermitian operator. By contrast, if I put a relative minus sign between the two lines of itensor code, thus intuitively writing a hermitian operator, I get unphysical results. Also, for spin-conserving terms, there is no similar sign issues, and everything can be coded intuitively using AutoMPO. Is there a simple rule for the sign-convention in general non-spin-conserving terms?

Thank you very much in advance for your help.