VecGhost and PCFieldSplit

Jed Brown jed at
Fri May 29 17:13:28 CDT 2009

Jed Brown wrote:

>   bfbt(S,Sp) = inv(Bp Cp) B A C inv(Bp Cp)

This is of course inv(Cp Bp) C A B inv(Cp Bp).

I added an LSC preconditioner, where the user assembles Lp = Cp*Bp
and uses PetscObjectCompose to attach it to Sp (the preconditioning
matrix for the Schur complement).  I find this API much more convenient
than drilling through PCFieldSplit to get a PC on which to call (a
hypothetical) PCLSCSetOperators.  It's much less convenient if you don't
implement your own MatGetSubMatrix so please view this particular
interface as purely experimental.  I'll change it to comply with
whatever we agree on.  Perhaps it would make sense to copy an olist (of
auxiliary objects) on MatGetSubMatrix so that PC-specific information
could be carried through to the appropriate PC, even through submatrices
of Jp.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the petsc-dev mailing list