<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 28, 2013 at 1:46 PM, Ling Zou <span dir="ltr"><<a href="mailto:lingzou80@gmail.com" target="_blank">lingzou80@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":1ev">As you explained, M is not explicitly computed. However, when setup the ksp<br><br>KSPSetOperators(KSP ksp,Mat Amat,Mat Pmat,MatStructure flag);<br>
<br>We need a Pmat (the M we are talking about here). In the solver, we actually need M^{-1} </div></blockquote><div><br></div><div style>The two statements above contradict. You can *either* have M=Pmat or you can have "M^{-1}" is the preconditioning operation used in the Krylov method.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":1ev">as the preconditioning matrix, so we don't need to compute the M matrix but need PC to get the approximated M^{-1}, right? Even we don't explicitly compute M, but we still need provide non-zero entries for this M, is it correct?</div>
</blockquote></div><br>You need to provide a matrix that will be used to compute a preconditioning operation. The preconditioning operation will *not* be the inverse of the matrix you provide, but it may be "close".</div>
</div>