Conflict between the code and comment on mps.canonical_form()

How do I use this algorithm? What does that parameter do?
Post Reply
dlwhddus9999
Posts: 1
Joined: 07 Apr 2019, 19:24

Conflict between the code and comment on mps.canonical_form()

Post by dlwhddus9999 »

Hi Johannes,


I have some questions regarding the canonical_form().

When the system becomes something like a "cat" state, the MPS has a very large correlation length and becomes non-injective.

Based on your comments in several FAQs and other git issues (e.g. https://github.com/tenpy/tenpy/issues/134 ), calling psi.canonical_form() should remove such behavior, i.e., collapse into one of symmetry broken sector. However, I realized that this does not happen.

However, based on what I read in the code, in fact calling canonical_form(tol_xi=number) simply generates the error if the correlation length is large. So this is what happens if I call canonical_form():

"ValueError: Degenerate spectrum of TransferMatrix (corr length xi=something)"

instead of doing the aforementioned projection. What is the intended action for canonical_form()?
Post Reply