<a href="http://petsc.cs.iit.edu/petsc/petsc-dev/rev/90ce2a6ecab0">http://petsc.cs.iit.edu/petsc/petsc-dev/rev/90ce2a6ecab0</a><br><br><div class="gmail_quote">On Fri, Jun 22, 2012 at 1:45 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
On Jun 22, 2012, at 4:11 PM, Jed Brown wrote:<br>
<br>
> On Fri, Jun 22, 2012 at 9:19 AM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
>  CGNE is only for people who have A (which is square) and want to solve the normal equations with CG using the preconditioner of A and its transpose for the preconditioner. Basically it allows the user to avoid computing A'A explicitly or making their own shell matrix.  It is definitely not a substitute for LSQR.<br>

><br>
> What? Maybe you are saying the same thing, but CGNE is a general-purpose non-symmetric method. It works well when the singular values are much better behaved than eigenvalues. A unitary matrix is a classic example where CGNE converges in one iteration (unpreconditioned), but GMRES and CGS need N iterations.<br>

<br>
</div></div>   Maybe you should add this to the KSPCGNE manual page. Without the "What?" :-)<br>
<span class="HOEnZb"><font color="#888888"><br>
   Barry<br>
<br>
<br>
</font></span></blockquote></div><br>