I'm having difficulties patching together from what I read about obtaining the condition number of a real, symmetric, positive definite sparse matrix.
In my code, I found that there is incomplete Cholesky factorization routine (used as preconditioner I suppose). I also have a ILU preconditioner which I could use as Wolfgang Bangerth recommended in an ill-posed version of this question.
I think I can use the Cholesky factorization to estimate the condition number, but I'm not sure.
Result of the preconditioner is $U = L^T$ of my CRS matrix. To estimate the condition number, I need the ratio of maximum and minimum eigenvalues. Using this would be very quick to code.
But how can I use $U$ to get the eigenvalues?
The second best approach I've see so far is writing my matrix to a file and using scipy.sparse.linalg.lsmr to solve the least-squares problems. This also outputs the condition number, but is a little overkill and much more work.
Please understand that matrices and linear algebra are not my daily occupation :)
A = [2, 1; 1, 2]
is a counterexample; its eigenvalues are 3 and 1. $\endgroup$