How to convert iMPS to finite MPS?

How do I use this algorithm? What does that parameter do?
Post Reply
aeberharter
Posts: 3
Joined: 04 Nov 2019, 13:36

How to convert iMPS to finite MPS?

Post by aeberharter »

I have an iMPS as the result of an iDMRG run. By calling

Code: Select all

psi.enlarge_mps_unit_cell(m)
I can easily increase the number of sites in the unit cell, however it is still in iMPS form.
Would it work if one calculates the canonical_form with setting the bond dimension to chi = 1 at the boundary?
User avatar
Johannes
Site Admin
Posts: 413
Joined: 21 Jul 2018, 12:52
Location: TU Munich

Re: How to convert iMPS to finite MPS?

Post by Johannes »

Why? What do you want to do with the state afterwards?

Yes, of course, you can just insert a projector onto the index with maximal singualar value at the boundary, i.e. bond dimension 1, and formally declare it a finite MPS. But this truncation is likely not the "optimal" state of maximal overlap with the infinite one; you might need to do a few sweeps (with the VariationalCompression) to get the best approximation of the original state.

Maybe, you're more looking for the "segment" boundary conditions, where we consider a finite subsystem embedded into the background of an infinite system?
W10104
Posts: 1
Joined: 25 Aug 2023, 23:45

Re: How to convert iMPS to finite MPS?

Post by W10104 »

For future readers turned to this question from Google, here is a how-to for modifying boundary conditions using the projector Johannes mentioned: https://tenpy.readthedocs.io/en/latest/ ... te-left-bc
Post Reply