How to compute inner product of finite MPS with another finite MPS translated by n sites.

How do I use this algorithm? What does that parameter do?
Post Reply
vmen
Posts: 4
Joined: 21 Nov 2023, 03:25

How to compute inner product of finite MPS with another finite MPS translated by n sites.

Post by vmen »

Hi,

I am wondering, given finite boundary condition MPSs |M1>, |M2>, how I can compute the inner product <M1|T^n|M2>,, where T is the translation operator (to the right), by one site. For example, for n=1, I want to do the following contraction:

Code: Select all

                M11 -    M12-     M13- ..... M1(N-1) - M1N
          \      \         \         \           \       \
         M21 -     M22 -    M23-    M24 ....      M2N
I know that for an iMPS, I can just use the roll by 1 site iMPS method. I'm not too sure how I can do the above contraction without working with the tensors directly using just TeNPy methods. I appreciate any help!
User avatar
Johannes
Site Admin
Posts: 428
Joined: 21 Jul 2018, 12:52
Location: TU Munich

Re: How to compute inner product of finite MPS with another finite MPS translated by n sites.

Post by Johannes »

The picture you drew above is also not an inner product with the remaining open legs - do you think about closing those as well? That would mean that T is the translation operator with *periodic* boundary conditions.

It's not too hard to contract all of this on the tensor level, though. I started writing some simple code for it to post here, but then I decided that I can also add it directly into TeNPy, so here you go: overlap_translate_finite.

Later, I realized, that there actually was some functionality in that direction as well, namely the permute_sites in combination with the plain overlap.
It's a separate way of contracting things, though, and calling the permute first has a good chance of suffering from truncation errors during the permutation - but it works for more general permutations/translations, which might be useful for cylinder geometries with non-trivial snaking.
vmen
Posts: 4
Joined: 21 Nov 2023, 03:25

Re: How to compute inner product of finite MPS with another finite MPS translated by n sites.

Post by vmen »

Hi Johannes,

Thank you so much for your response, this is really helpful!

Also I now realize how the open legs in the diagram might have been confusing - I intended for the dangling legs to indicate periodic contraction, not that they are open. Sorry for the confusion - I do in fact want the periodic translation operator.
Post Reply