Page 1 of 1

iTDVP and canonical forms

Posted: 18 Aug 2021, 22:25
by nsherman
I'm working on developing an iTDVP algorithm using TeNPy. I'm able to recycle most of the aspects from the finite TDVP code, but there are some issues when trying to insert the updated tensors to for an updated MPS. Essentially, we have a 1-site and 0-site effective Hamiltonian that we use to update the singular values, and the tensor with form "Th". Let's denote updated tensors Th' and s'. First, s' is no longer necessarily diagonal, and also Th' is no longer in its canonical form. To test this, I would expect that since Th = A-s, that Th' = A'-s', and so contracting Th' with Th'* from the left, should result in s' contracted with s'* from the left (essentially the test in the function "MPS.norm_test()"). However, this test fails, and the difference grows with the time evolution time dt.

I'm hoping maybe I can get help with the following question. Is this loss of canonical form actually a property of the iTDVP evolution procedure, or is it a bug in my code? Also, if it is a property of the iTDVP procedure, how do I then bring these tensors into the appropriate form to then create an updated MPS? Making s' diagonal can be done using an SVD, and absorbing U, V appropriately using the gauge freedom we have, but it's not as clear to me what to do with Th'.

Thank you for your time.

Best,
Nick

Re: iTDVP and canonical forms

Posted: 23 Aug 2021, 04:02
by schrodingers_dog
What is your Th?

Re: iTDVP and canonical forms

Posted: 23 Aug 2021, 04:11
by schrodingers_dog
Let AL denote the left canonical form of the iMPS, and AR denote the right canonical form. Let C be the two-leg center tensor. (C should be "s" in your notation.) Also the mixed-form tensor AC = AL-C = C-AR. (I believe AC is your "Th"?) Then, iTDVP updates C to C' and AC to AC'. To find AL' and AR' from AC' and C', you can use Eq. 139-142 in this https://arxiv.org/pdf/1810.07006.pdf.