Project MPS into inversion-symmetry subspace.

By inversion-symmetry I mean the exchange of lattice indices @@ci\to c{ -i}@@. I need to project the state into the subspace with +1 (or -1) eigenvalue of inversion symmetry, how can I do that in MPS language? Thanks in advance.

commented by (41.2k points)
Good question. I think I know an answer, but before posting it (which focuses on the implementation in ITensor code), I wanted to check with you if you think the solution is correct from a mathematical viewpoint.

The solution I have in mind is, given some MPS psi with site indices s_1,s_2,s_3,... produce another mps phi which is equivalent to psi up to the exchange of indices s_{N} <-> s1, s_{N-1} <-> s_2, etc. Then adding these two MPS together and dividing by 2 will give an MPS which is symmetric in the way you want. And this can be done efficiently, with at most a doubling of the bond dimension (and hopefully less than that, depending on system-specific details).

Likewise one could subtract these two MPS to get an antisymmetric one.

The part I'd like your feedback on is whether that counts as the projection, mathematically speaking, that you are looking for. It certainly has at least some of properties of a projector P, namely that P^2 = P. Another is that I believe Pv=0 for v antisymmetric and P the projector (as defined above) into the symmetric subspace.

Thanks,
Miles
commented by (140 points)
Thanks Miles. It seems to be the correct projection I want. Could you elaborate on the technical details, cause I don't see (or I might miss) documentation on manually constructing an MPS?.