[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: further about PCComputeExplicitOperator()
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@xxxxxxxxxxx>
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