Correct approach for transposing/reflecting iMPS with multi-site unit cell (ITensorInfiniteMPS)

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

  1. Reorder the tensors in the MPS (e.g. [A,B] → [B,A])
  2. Swap the site indices so that tensor B in the new MPS has the same siteind as tensor A in the original and visa versa
  3. 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.