Relabelling MPS indices

This is a (late) follow up to Applying a particle hole transform with quantum numbers.

Given an MPS psi, I want to create the state \bar{psi}, i.e. apply a particle hole transform to every site. I know I can’t do this because a particle hole transform has undefined flux, but in the end the two MPSs have exactly the same elements, its just that what was called |0> is now called |1>, for every site. For example, is psi was the vacuum, then \bar{\psi} will be the fully filled state. These two MPS’s have the same elements, just in different places.

In this sense, they are exactly the same MPS, it’s just the labels have changed. So I was wondering if there was a way to do this by simply relabelling/replacing the site indices, rather than applying any PH gates.

Thanks!

Hi, sorry for the slow response here. Yes, I think what you described should work. Did you try it?

What you could do is to take your MPS tensors, then define new tensors with the same index structure, then write a function that copies the elements out of the old tensors into the new ones but reverses the sense of ordering of the physical index.

Another related approach would be to convert the tensors to plain Julia arrays, make new physical indices with their quantum numbers reversed, and construct new tensors using the arrays with these new indices. However, in this plan you’d also have to correspondingly update any operators or Hamiltonians you are using (though I guess they are PH symmetric so perhaps you wouldn’t?).