<div dir="ltr"><div class="gmail_default" style="font-size:small">Thanks Barry and Lawrence - this makes sense now.  MatMult for the shell matrix should take care of everything - I'll do some tests on convergence/performance.  Thanks!</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 6, 2018 at 12:44 PM, Lawrence Mitchell <span dir="ltr"><<a href="mailto:lawrence.mitchell@imperial.ac.uk" target="_blank">lawrence.mitchell@imperial.ac.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On 6 Jul 2018, at 17:30, zakaryah <<a href="mailto:zakaryah@gmail.com">zakaryah@gmail.com</a>> wrote:<br>
> <br>
> ​Thanks for your help, Barry.<br>
> <br>
> I agree about the preconditioning.  I still don't understand why I don't need a particular solver for my shell matrix.  My reasoning is that KSP is easy with M but difficult with A, since A has a dense row and column, whereas M is entirely sparse.  Sherman-Morrison seems to be an efficient way of dealing with this but I could be wrong.​<br>
<br>
</span>As Barry says, low-rank perturbations are not terrible for the convergence of Krylov methods.  E.g. <br>
<br>
Theorem 2.1 of <a href="https://arxiv.org/pdf/1508.07633.pdf" rel="noreferrer" target="_blank">https://arxiv.org/pdf/1508.<wbr>07633.pdf</a><br>
<br>
and a refinement in <a href="https://arxiv.org/pdf/1612.08369.pdf" rel="noreferrer" target="_blank">https://arxiv.org/pdf/1612.<wbr>08369.pdf</a> with improved bounds.<br>
<br>
Cheers,<br>
<br>
Lawrence</blockquote></div><br></div>