Query on Preconditioners for linbcg (Conjugate Gradient for Sparse System)


lfayalah
04-01-2003, 03:47 PM
Hello All!

It has been a real pleasure to find this forum! I've been a real fan of the Numerical Recipes book.

I've been using "linbcg" with high success to solve a sparse NxN system of equations; but, for my current application (my thesis on gas reservoir simulation), it is taking many times more than N iterations (up to 500*N iterations) to converge. It always converges, though.

I wonder if anyone may know whether a preconditioner for the NxN matrix (other than the diagonal of the original matrix) is available to go along with the linbcg subroutine. My main concern is that the preconditioner should be also in the indexed storage mode that linbcg uses... I understand that an "incomplete LU decomposition" is usually recommended as a first good trial for a preconditioner. However, i have a hard time trying to apply it to the vectors "sa" and "ija" that are already built in the indexed storage mode (I do not really construct the original A matrix).

Basically, I am looking for a substitute for the routine "asolve" that could speed things up. Any thoughts on this?

Thanks much in advance!

Luis Ayala