I am trying to implement the iTEBD algorithm for the $PXP$ model, i.e, the hamiltonian is
$$H = \sum_iP_{i-1}X_iP_{i+1}.$$
Here $P$ is the projector onto the ground state and $X$ is the usual pauli x matrix.
I aim to time evolve a certain initial state and record certain observables. To do so, I initialized my iMPS (infinite Matrix Product State), and as a check, I took the overlap of this with itself. As I expected, this gave me a result of 1. However, it appears that as I time evolve my state, the normalization strays further from unity, and by the last time step, it is of the order 1e5. I know that we perform a truncation in each time step, but my question is can this introduce such a large error?
I have used a trotter step of 0.01, and a bond dimension of 50, and I have evolved for 20-time steps. For context, I am trying to time-evolve a state that resembles the Neel state, i.e it looks like $|...0101...\rangle$
Edit: it appears that the norm squared is jumping around rather than just increasing
The link to my code is below for anyone who is interested
https://colab.research.google.com/drive/12p8c6UJB5M49tOJqbTno1bZpUfc_I-mB?usp=sharing
As this is the first time I am working with tensor networks and I haven’t seen any examples online of 3-body hamiltonians, I would also like to get it cleared if there would be any particular differences in applying 3-body vs 2-body hamiltonians. Right now what I do is contract 3 site tensors, apply the time evolution operator, and SVD out the resulting tensor.