Could `svd!` support option `check=false` like `lu!` and other factorizations?

The SVD is a little different from LU and Cholesky. In theory, the algorithm shouldn’t fail for any matrix with finite elements so the error here is actually considered a bug in LAPACK, see Possible bug in `dgesdd` routine · Issue #672 · Reference-LAPACK/lapack · GitHub. Hence, I’m not sure it is a good idea to extend check to cover a case that is actually a bug.

I think the issue might be isolated to the divide-and-conquer algorithm so you might be able to completely avoid the issue by setting alg=QRIteration().

If you can isolate the matrix, ideally after it has been transformed to a bidiagonal, it would be useful if you could share it in the linked issue.

4 Likes