Dear community,

I am trying to simulate a 2D Hamiltonian on a rectangular lattice geometry using DMRG in Julia, and I expect the ground state of my system to be invariant under a pi rotation of the lattice.

I was wondering if just performing the DMRG sweeps on half of the MPS and copying the resulting ITensors on the other side of the system could help enforce this symmetry.

Would it be useful (and efficient) compared to performing the whole sweep?

Looking at the dmrg.jl file it looks like I would just have to change the for loop in line 201 to `for (b, ha) in sweepnext(Int(N/2))`

and then do something like `psi[end] = psi[1]`

, `psi[end-1] = psi[2]`

and so on.

For this last point, is there a way to efficiently replace the values of one ITensor with the ones of another without changing the indices? I tried using `replacebond!`

without success as there is a mismatch in the indices of the two tensors.

Best,

NiccolĂ˛