Page 1 of 1
How to convert iMPS to finite MPS?
Posted: 08 Feb 2022, 11:50
by aeberharter
I have an iMPS as the result of an iDMRG run. By calling
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?
Re: How to convert iMPS to finite MPS?
Posted: 09 Feb 2022, 06:48
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?
Re: How to convert iMPS to finite MPS?
Posted: 26 Aug 2023, 00:31
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