further about PCComputeExplicitOperator()
Barry Smith
bsmith at mcs.anl.gov
Sat May 3 14:42:59 CDT 2008
On May 2, 2008, at 7:19 PM, Dave May wrote:
> Hi Barry,
> Does PCComputeExplicitOperator() really build B*A or A*B?
> 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.
Dave,
You are correct; I apologize. There is a
KSPComputeExplicitOperator() that computes the preconditioned operator
(B*A or A*B) depends on the KSP preconditioner
sider. The manual page for PCComputeExplicitOperator() does not
mention KSPComputeExplicitOperator(), I have rectified this.
Barry
>
>
> 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.
>
> Cheers,
> Dave.
>
>
>
> On Sat, May 3, 2008 at 2:50 AM, Barry Smith <bsmith at mcs.anl.gov>
> wrote:
>
> Note also:
> PCComputeExplicitOperator - Computes the explicit preconditioned
> operator.
> this means it computes B*A or A*B (depending on left or right
> preconditioning). This beasty
> (unless you use Jacobi preconditioning) is always dense and it makes
> no sense to store in
> sparse format except for fun.
>
> Barry
>
More information about the petsc-users
mailing list