Thank you Jed.<br>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} 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?<br>
<br>Ling<br><br><div class="gmail_quote">On Mon, Jan 28, 2013 at 12:33 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"><div><br><div class="gmail_quote">On Mon, Jan 28, 2013 at 1:27 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>Ahh.. that's true! <br>In case M is not A (as you pointed out earlier), does PCLU provide the approximated inverse matrix of M^{-1} using LU factorization on M?</div>
</blockquote></div><br></div>Not really, preconditioners are based on inexact algorithms applied to A, not explicit formation of an M that is easier to factor exactly. Since the preconditioner P ("=M^{-1}") is non-singular, there _exists_ an M such that P=M^{-1}, but M is not explicitly computed and it's not used in the solve. Only P is used, and only in special cases (like incomplete factorization) is there even a practical algorithm available to compute M if you wanted to. (For many interesting algorithms, M is dense even though A is sparse.)</div>
</div>
</blockquote></div><br>