[SciPy-User] scipy.sparse.linalg.cg statistics?

Pauli Virtanen pav@iki...
Fri Oct 8 11:30:10 CDT 2010

Fri, 08 Oct 2010 17:42:10 +0200, Nico Schlömer wrote:
> There's a major drawback, though, which may not be easily fixed: To
> calculate the residual, one has to compute an extra matrix-vector
> multiplication *per step*, which effectively increases the runtime of
> the CG algorithm by a factor of two (!). Ideally -- and classically --
> the residual is retrieved directly from the CG method itself. Now
> obviously, the callback method does not provide for residual vector
> input, but I'm not quite sure what's the reason for that.

That can quite likely be easily fixed by making a small change to Scipy. 
An interesting point here is that the `gmres` routine on the other hand 
only passes the residual norm to the callback, so there would be also 
some other things to harmonize here.

Is there some other information that would be useful in the callback? I 
can think of: residual vector, residual 2-norm, and current iterate -- 
what else?

If you have time, please file a bug report,


so that we won't forget this issue.

Pauli Virtanen

More information about the SciPy-User mailing list