You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test_scipy_sparse_linalg: assert wide_spectrum against per-solver criterion
Reverts the previous loose 1e-3 ||r||/||b|| bound; asserts each
solver against its own contractual stopping criterion instead.
cg -> ||r|| / ||b|| < 10 * rtol
minres -> ||r|| / (||A|| ||x||) < 10 * rtol
Both bounds verified against SciPy 1.15 on the same problem:
cg stops at iter 48 with ||r||/||b|| ~ 7e-9, minres stops at
iter 40 with ||r||/(||A|| ||x||) ~ 2e-7 -- the prior 1e-5 bound
on ||r||/||b|| was unreachable for minres on this matrix
(||A||~1e2 inflates ||r||/||b|| by ~||A|| ||x||/||b||~1.4e2
relative to the criterion minres actually optimises). Avoids
SVD by using max(|diag|) for ||A||_2 of the diagonal matrix.
0 commit comments