Ok...<br>So, is it correct to say that, we provide a Pmat matrix, the PC will use this Pmat to do the preconditioning operation (with an operation name M^{-1}, but it is only operations not really a matrix).<br><br>This Pmat can be obtained, for example, from a lower order method of the problem (as stated in the manual).<br>
<br>The PC in PETSc provides different options how to get this M^{-1} operations from the Pmat provide by the user. <br><br>Ling<br><br><br><div class="gmail_quote">On Mon, Jan 28, 2013 at 12:50 PM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@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 dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote"><div class="im">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>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><div>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 class="im">
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>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></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>
</blockquote></div><br>