# Different results for equivalent representations of S_x

I want to obtain the symmetry-broken ground state of the Ising chain.
Interestingly, it seems that it makes a difference for ITensor whether I use

for (int i = 1; i < N; i++)
{
ampo += -1, "Sx", i, "Sx", i+1;
}


or

for (int i = 1; i < N; i++)
{
ampo += -0.5, "S+", i, "S+", i+1;
ampo += -0.5, "S-", i, "S-", i+1;
ampo += -0.5, "S+", i, "S-", i+1;
ampo += -0.5, "S-", i, "S+", i+1;
}


to construct the MPO.
The upper version delivers a wrong result whereas the version below delivers the correct ground state after applying DMRG several times with decreasing field in x-direction to finally end up in the symmetry-broken ground state. Shouldn't the two versions be equivalent and therefore deliver the same results? You can find a working example here:

https://pastebin.com/WtZPMQhH

All the best,
Matthias

+1 vote
selected by

Hi Matthias,

Since Sx = 1/2(S+ + S-), I think to get the same Hamiltonian you would need to use:

ampo += -2, "Sx", i, "Sx", i+1;


(since Sxi Sxi+1 = 1/2 (S+i + S-i+1) 1/2 (S+i + S-i+1) = 1/4 (S+ S+ + S- S- + S+ S- + S- S+)).

though I haven't tested it. Could you try it out?

Cheers,
Matt

commented by (220 points)
Hi Matt,

Thank you for your fast reply. I cannot believe I actually messed up the prefactors and was not able to see it, although I have checked for it.

All the best,
Matthias