[petsc-dev] LSC question

Jed Brown jedbrown at mcs.anl.gov
Fri Mar 9 10:28:45 CST 2012


On Fri, Mar 9, 2012 at 10:24, Barry Smith <bsmith at mcs.anl.gov> wrote:

>    Please modify MatGetSchurComplement() to forward the L and Lp. I think
> is should be automatic.
>

How should we attach L and Lp to the matrix? Note that there could be many
Lp matrices that we would like to attach because there are many pairs of
index sets that we could use when defining the Schur complement. Even for
2x2 systems like mixed elasticity, how do I distinguish between the Lp that
arises when I eliminate displacements versus when I eliminate pressure?


>
> > This is better because there are multiple ways to take a Schur
> complement, thus "L" cannot be defined without knowing the index sets.
> >
> > Additionally, the original matrix does not currently retain ownership,
> so the user can't actually attach anything to the Schur complement without
> implementing MatGetSchurComplement() themselves.
> >
> > Worse yet, MatGetSchurComplement() is probably going to call
> MatGetSubMatrix() with exactly the same arguments as the outer
> PCFieldSplit, because both of them will need the submatrices.
>
>   Yes, this is why we cannot use MatGetSchurComplement() inside the
> PCFIELDSPLIT
>
>   So we are stuck with having PCFIELDSPLIT forward the and L and Lp from
> the outer matrix. Will you add this?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120309/635a4750/attachment.html>


More information about the petsc-dev mailing list