Hi Barry,<br>&nbsp;&nbsp; Does  PCComputeExplicitOperator() really build B*A or A*B? <br>The above code appears to just be applying the preconditioner to the each column of the identity matrix, with no reference to the original operator or the preconditioner side. <br>
<br>I only wanted to clarify this fact as at one stage I wrote a function to compute B*A or A*B as I had convinced myself that PCComputeExplicitOperator() just assembled the inverse of the preconditioner.<br><br>Cheers,<br>
&nbsp;&nbsp;&nbsp; Dave.<br><br><br><br><div class="gmail_quote">On Sat, May 3, 2008 at 2:50 AM, Barry Smith &lt;<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>&nbsp;Note also:<br>
PCComputeExplicitOperator - Computes the explicit preconditioned operator.<br>
this means it computes B*A or A*B (depending on left or right preconditioning). This beasty<br>
(unless you use Jacobi preconditioning) is always dense and it makes no sense to store in<br>
sparse format except for fun.<br><font color="#888888">
<br>
 &nbsp; Barry</font><div><div></div><br></div></blockquote></div>