Posted on Mar 1, 2012 by
Helpful Rabbit
Currently, CR halts when rz=<M r, r> is less than tol. But if M is indefinite, this will clearly cause issues. Also, the stored residual norm is sqrt(<M r, r>) = sqrt(rz).
I suggest replacing rz with zz=<M r, M r>. The other option is to change rz to rr=<r, r>. I prefer zz, because rr will be inaccurate if there are modes in r that correspond to very small eigenvalues. If M is a good preconditioner, this issue is averted.
- Jacob
Comment #1
Posted on Mar 6, 2012 by Helpful Rabbitrevision 829 makes this change so that zz is used for halting in CR
Comment #2
Posted on Jul 8, 2013 by Happy Elephantmoved to github: https://github.com/pyamg/pyamg/issues
Status: Done