## Canonical form for very small singular values

General discussions on the ideas behind the algorithm.
aeberharter
Posts: 2
Joined: 04 Nov 2019, 13:36

### Canonical form for very small singular values

The present algorithm to calculate the canonical form for infinite systems calculates the left and right dominant eigenvectors and takes the square root of each, which comes with a loss in precision.

It turns out that close to criticality and at large bond dimensions singular values eventually will become smaller than 1.e-8 which is about the domain where above mentioned precision loss becomes a problem and limits the effective bond dimension of the state.

Is there a method to circumvent this problem? Do you know an algorithm which is able to compute the canonical form with higher precision? I would be happy to implement it myself.
Johannes
Posts: 282
Joined: 21 Jul 2018, 12:52
Location: UC Berkeley

### Re: Canonical form for very small singular values

One alternative is to iteratively do QR decompositions (and RQ decompositions).
$$M M M M M = Q R M M M M = Q Q R M M M = ... = Q Q Q Q R$$
and as
$$M M M M M = M M M M R' Q' = M M M R' Q' Q' = ... = R' Q' Q' Q' Q'$$
Then your state is in the form
$$M M M M M M M M M M = Q Q Q Q Q R R' Q' Q' Q' Q' Q'$$,
hence you can simply SVD $$RR'$$ and should get the singular values. The $$Q, Q'$$ should give you the state in left/right canonical form.

However, I should warn you that I'm not sure if this will help you: this method can become slow near criticality.
If you compare it with the diagonalization of the transfer matrix, it would be diagonalizing it with a power method (as opposed to Arnoldi/Lanczos, which is much faster).

Let me know if you actually implement it, even if you just want to try it out