Suppose I wish to solve the following square system of equations:
$$A x = b$$
- Suppose that $A$ is modestly large and sparse (problem size $\sim 10^{3-4}$).
- Suppose that $A$ is banded primarily along the diagonal, but is not quite diagonally-dominant.
- Suppose also that the condition number of $A$ is quite large — say, $\kappa(A) \equiv \frac{|\lambda_{max}|}{|\lambda_{min}|} > 10^{12}$. (In some cases, it's above $10^16$.)
I've used a number of direct solvers: truncated SVD, SVD with Tikhonov regularization, Gaussian elimination, LU decomposition, and even MATLAB's mldivide() (that is, A\b). They all give significantly different results. When using truncated SVD, I find that between 10-20% of the singular values were below MATLAB's default tolerance.
I've implemented a few iterative methods: Gauss-Seidel, Gauss-Seidel with successive over-relaxation, and "block-form" Gauss-Seidel. Each of these methods diverged. Upon closer inspection, I discovered that the matrix didn't satisfy the convergence criteria for any of these methods ($\rho(M^{-1} N) < 1$), so I shouldn't have expected them to converge.
I'm running out of options!
What other approaches are appropriate for this kind of matrix problem? Are there any that specialize in dealing with high condition numbers?