Hi,

Would you mind clarifying how I can go about finding the magnetic ground state and magnetic order using TenPy and plotting the resulting spin structure? I started exploring TenPy's DMRG features, but am not sure how exactly to go about doing this. Naively, I would have thought that it is a matter of plotting (Sx,Sy,Sz), where Si are the spin expectation values. But this is not possible if I conserve spin along a certain direction right? Would I have what I need if I don't conserve spin in any direction? I am looking to make a figure like this:

I basically want to see whether I have AFM, FM, 120 AFM, etc states for given exchange parameters.

Thanks in advance!

## How to plot spin structure?

### Re: How to plot spin structure?

AFM, FM, 120°AFM mean that the system spontaneously breaks the symmetry, i.e. you have degenerate ground states.

It's important to distinguish between continous and discrete symmetries, which you break here.

If you enforce charge conservation, this might indeed force DMRG to write a superposition of the degenerate states where you can't see the symmetry breaking in the expectation values. However, you should still be able to see long range order in the correlation functions - say you fix one spin in the center of the lattice, and measure the correlation with all other sites. This should give you figures similar to the above (with a "whole" punched in the center).

Alternatively, you can try to just not use charge conservation. DMRG should then tend towards a minimally entangled superposition of the degenerate ground states, which usually breaks the symmetry, such that you can get the above figures by normal psi.expectation_value() already.

Note that formally for a finite system there is still a "true", unique ground state without spontaneous symmetry breaking - but the gap to the other "degenerate" states is exponentially small in system size, and DMRG usually not able to resolve it for sufficiently large systems - so it instead minimizes it's truncation error and chooses a spontaneously broken state of lower entanglement.

If you want to read up on this, the "Anderson tower of states" is a good keyword to look it up in the literature, see e.g. this somewhat pedagogical review on SSB vs long-range order and the tower of states.

It's important to distinguish between continous and discrete symmetries, which you break here.

If you enforce charge conservation, this might indeed force DMRG to write a superposition of the degenerate states where you can't see the symmetry breaking in the expectation values. However, you should still be able to see long range order in the correlation functions - say you fix one spin in the center of the lattice, and measure the correlation with all other sites. This should give you figures similar to the above (with a "whole" punched in the center).

Alternatively, you can try to just not use charge conservation. DMRG should then tend towards a minimally entangled superposition of the degenerate ground states, which usually breaks the symmetry, such that you can get the above figures by normal psi.expectation_value() already.

Note that formally for a finite system there is still a "true", unique ground state without spontaneous symmetry breaking - but the gap to the other "degenerate" states is exponentially small in system size, and DMRG usually not able to resolve it for sufficiently large systems - so it instead minimizes it's truncation error and chooses a spontaneously broken state of lower entanglement.

If you want to read up on this, the "Anderson tower of states" is a good keyword to look it up in the literature, see e.g. this somewhat pedagogical review on SSB vs long-range order and the tower of states.