Fix real schur and polynomial solver.

For certain inputs, the real schur decomposition might get stuck in a cycle. Exceptional shifts are supposed to knock us out of that - but previously they were only ever applied at iteration 10 and 30, which doesn't help if the cycle starts after cycle 30. Modified to apply a shift every 16 iterations (for reference, LAPACK seems to do it every 6 iterations).

Also added an assert in polynomial solver to verify that the schur decomposition was successful.

Fixes #2633 (closed).

Merge request reports

Loading