block preconditioning questions

Dave May dave.mayhem23 at
Thu Jan 10 20:45:15 CST 2008

Hi Gideon,
    I've created a small package built around petsc which contains
implementations for representing block vectors, matrices and
preconditioners. Whilst no documentation exist yet (sorry), a number of
examples are included with the package. In addition, I have only defined a
subset of operations for the block objects, but there are enough to allow
you to setup, precondition and solve both linear & nonlinear block systems.

You can obtain the tarball from within the following URL

If you do try to use this package, and encounter any difficulties, please
don't hesitate to contact me.

    Dave May.

On Jan 8, 2008 8:19 AM, Gideon Simpson <grs2103 at> wrote:

> Is there a robust way to implement the following?
> Suppose I have a block diagonal matrix
> P = [A 0; 0 Q];
> and I know the indices of A and Q in this block matrix.  I now want to
> apply different preconditioners on the A block and on the Q block.
> One way, that I've had some success with, is to write a PCSHELL, where I
> split the input and output vectors using index sets and apply the relevant
> preconditioner on each of these.  However, this hardwires things, and I was
> wondering if there was another method.
> -gideon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the petsc-users mailing list