Hi, I am not at all a specialist on this, but I recall that Numerical Recipes states that the Gram-Schmidt process gives terrible results, and should be avoided nearly always. Instead, singular value decomposition should be used. To avoid the problem below, would is be an idea to replace the GM algo by SVD? NIcky On 24 February 2010 13:07, Pauli Virtanen <pav+sp@iki.fi> wrote:
Tue, 23 Feb 2010 20:26:02 -0500, Darcoux Christine wrote:
It seems that the vectors produced by the Gram-Schmidt process may not be orthogonal (probably due to the presence of roundoff errors or when the matrix is ill conditionned). I would suggest to add an option to test for loss of orthogonality and reorthogonalize if needed. See http://www4.ncsu.edu/~ctk/newton/SOLVERS/nsoli.m for an example.
From the literature, it appears that orthogonality of the Krylov vectors is not very important for GMRES convergence, see e.g.
A. Greenbaum, M. Rozložník, Z. Strakoš BIT Numerical Mathematics, 37, 706 (1997). http://www.springerlink.com/content/277614q38kj6q376/
The GMRES implementations in Scipy use the modified Gram-Schmid procedure, so they should be OK in this respect.
Do you have some evidence suggesting that reorthogonalization is a significant improvement for some problems? I'll accept patches providing such a flag in any case, though.
Best regards, Pauli
_______________________________________________ SciPy-Dev mailing list SciPy-Dev@scipy.org http://mail.scipy.org/mailman/listinfo/scipy-dev