ichol encountered a nonpositive pivot

I have 2527676x2527676 sparse matrix K that ichol gives up easily with the ''ichol encountered a nonpositive pivot'' error. I tried re-odering, decreasing drop tol, level of fil and type of fil. I checked that diag(diag(K)==0) shows three zeros on the main diagonal. Regularization with speye function eliminates them but the solution with pcg is not correct. Any recommendations?

Answers (1)

they suggest using the diagcomp option.
"
If ichol breaks down as above, you can use the diagcomp option to construct a shifted incomplete Cholesky factorization. That is, instead of constructing L such that L*L' approximates A, ichol with diagonal compensation constructs L such that L*L' approximates M = A + alpha*diag(diag(A)) without explicitly forming M. As incomplete factorizations always exist for diagonally dominant matrices, alpha can be found to make M diagonally dominant
"

Categories

Find more on Sparse Matrices in Help Center and File Exchange

Products

Asked:

on 30 Oct 2018

Answered:

on 29 Nov 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!