I have an iMPS (from VUMPS via the ITensorInfiniteMPS package) representing the ground state of an SPT (symmetry protected topological) phase. This iMPS should have a reflection symmetry, and I want to implement this symmetry transformation on the iMPS in order to calculate the “generalized transfer matrix” a la [1204.0704] Detection of Symmetry Protected Topological Phases in 1D.
For reflection symmetries, the authors mention “transposing” the MPS. If I consider a single-site unit cell iMPS, I would expect this is equivalent to swapping left and right bond indices while keeping the same site/physical index.
For a 2 site unit cell, I believe the correct approach is to
- Reorder the tensors in the MPS (e.g. [A,B] → [B,A])
- Swap the site indices so that tensor B in the new MPS has the same
siteindas tensor A in the original and visa versa - Swap bond indices to be consistent with the new ordering while also transposing left/right indices of A and B
If the original left tensor A had indices i_A, l_A, r_A and right tensor B had indices i_B, l_B, r_B, my new MPS has as its left tensor B with indices i_A, r_A, l_A and right tensor A with indices i_B, r_B, l_B.
Does this seem like the correct direction to take? My actual case is a little more complicated (I’m really working with ladder geometry and a 4-site unit cell) but this seems like the minimal example to get started.