## Canonical form for very small singular values

General discussions on the ideas behind the algorithm.
aeberharter
Posts: 3
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: 399
Joined: 21 Jul 2018, 12:52
Location: TU Munich

### 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$$
$$M M M M M = M M M M R' Q' = M M M R' Q' Q' = ... = R' Q' Q' Q' Q'$$
$$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.
Let me know if you actually implement it, even if you just want to try it out 