Hi!
I am considering the problems of how to apply tebd on 2d lattices.
My thought was to cut the 1d segments of 2d lattices and apply tebd on it.
On implementing this idea, I have one problem.
On constructing MPS states from these 1d segments, we have dangling legs across MPS states, vUP and vDOWN.
The current MPS setting does not have this functionality.
One option would be to use GroupedSite. We can group up leg, down leg, and physical leg.
However, constructing operators for tebd is a bit cumbersome (although not impossible).
I am just wondering whether Tenpy has the functionality for these dangling legs.
Best.
tebd on 2d lattice/ MPS with dangling legs
Re: tebd on 2d lattice/ MPS with dangling legs
Let me understand what you want to do. Do you want to write down a fully2D PEPS where each tensor has
5 legs, left, right,up, down, physical?
And then you somehow extract a single row/column of the PEPS as an MPS, with "dangling" legs (for a row, dangling up and down indices) to apply TEBD to it?
One general problem with this approach is that TEBD requires the canonical form, which is not given if you have "dangling" legs. A recent paper arXiv:1908.07545 tried to address this.
That aside, you can take a look at how I solved this problem for the tenpy.networks.purification_mps.PurificationMPS, for which you can run tenpy.algorithms.purification_tebd.PurificationTEBD.
The PurificationMPS has one extra leg `q` on each B tensor of the MPS, and PurificationTEBD basically overrides the `update_bond` method of TEBD to handle that.
However, in your case you have a completely different geometry, so you might need to override more. Also, for a 2D lattice, there are no H_bond terms generated in the current models, that works only for a NearestNeighborModel on a 1D chain.
5 legs, left, right,up, down, physical?
And then you somehow extract a single row/column of the PEPS as an MPS, with "dangling" legs (for a row, dangling up and down indices) to apply TEBD to it?
One general problem with this approach is that TEBD requires the canonical form, which is not given if you have "dangling" legs. A recent paper arXiv:1908.07545 tried to address this.
That aside, you can take a look at how I solved this problem for the tenpy.networks.purification_mps.PurificationMPS, for which you can run tenpy.algorithms.purification_tebd.PurificationTEBD.
The PurificationMPS has one extra leg `q` on each B tensor of the MPS, and PurificationTEBD basically overrides the `update_bond` method of TEBD to handle that.
However, in your case you have a completely different geometry, so you might need to override more. Also, for a 2D lattice, there are no H_bond terms generated in the current models, that works only for a NearestNeighborModel on a 1D chain.

 Posts: 9
 Joined: 15 May 2020, 10:52
Re: tebd on 2d lattice/ MPS with dangling legs
Thanks so much, Johannes!
The point you understood was exactly correct.
Indeed, I was having a look at the paper that you made a reference.
I was imagining the current TEBD can be reused to apply TEBD to the canonical PEPS state, but as you have done with new Purification TEBD, I might need a new TEBD engine.
Best.
The point you understood was exactly correct.
Indeed, I was having a look at the paper that you made a reference.
I was imagining the current TEBD can be reused to apply TEBD to the canonical PEPS state, but as you have done with new Purification TEBD, I might need a new TEBD engine.
Best.