[MPS] Fix Jacobi SVD convergence for small columns (#199063)

This PR addresses the remaining ill-conditioned case in #196112. Codex prepared the following description for review:

> The MPS Jacobi SVD skips rotations when the product of two column norms falls below float32 epsilon, even when the columns are strongly correlated. For the ill-conditioned input in #196112 this produces non-orthogonal U and inflated small singular values.
>
> Apply the relative correlation criterion to small nonzero columns. Retain null-space completion: disabling it still gives an orthogonality error of 1 for rank-deficient inputs. Add device-generic float32, float64, complex64, and complex128 coverage (float32 and complex64 on MPS) in test_linalg.py for orthogonality, reconstruction, singular values, and numerical rank, without a fixed seed.

Fixes #19611

Authored with assistance from Codex.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/199063
Approved by: https://github.com/atalman

(cherry picked from commit d16cb389d2d0a3cb6854b1e43c1d0f910d7403da)

Co-authored-by: Nikita Shulga <nikita.shulga@gmail.com>
资产 2