<div dir="ltr">Thanks everyone, I will try <span class="im">KSPSetConvergenceTest to test.<br></span></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 24, 2014 at 2:54 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> writes:<br>
<br>
> On Wed, Sep 24, 2014 at 2:31 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
><br>
>><br>
>>   Brian,<br>
>><br>
>>     Your convergence test routine could call KSPBuildResidual() and then<br>
>> compute the 1-norm of the residual and make any decision it likes based on<br>
>> that norm.  See KSPSetConvergenceTest()<br>
><br>
><br>
> Note that what Barry is saying is that the convergence theory for CG<br>
> guarantees monotonicity in the energy (A) norm, but says nothing<br>
> about L1 so you might get crap.<br>
<br>
</span>Moreover, if you have an overdetermined linear system, but want to<br>
minimize the 1-norm of the residual (instead of the 2-norm that least<br>
squares minimizes), you are actually asking to solve a "linear program"<br>
and need to use an LP solver (a very different algorithm).<br>
<br>
If you merely watch the 1-norm of the residual, it might increase as the<br>
least squares solver converges.<br>
</blockquote></div><br><br clear="all"><br>-- <br>Brian Yang<br>U of Houston<br><br><br><br>
</div>