[petsc-users] Input and output distributions of vectors for PCShellSetApply 'apply' routine

Jed Brown jed at 59A2.org
Sun Mar 6 23:23:36 CST 2011


On Sun, Mar 6, 2011 at 21:03, Jack Poulson <jack.poulson at gmail.com> wrote:

> Sorry to hit the list so quickly again, but the PCShellSetApply
> documentation doesn't say anything about how the 'xin' and 'xout' vectors
> will be distributed, or if it's up to the user to determine it.
>

When you create a parallel matrix, MatSetSizes(A,m,n,M,N) is always called
(one way or another, perhaps as part of MatCreateMPIAIJ or similar). The
pair (m,M) defines the row distribution (m locally owned out of M global)
and (n,N) defines the column distribution. This is also the distribution of
the vectors obtained using MatGetVecs().

Most KSPs only work for square systems in which case the left and right Vecs
necessarily have the same distribution. LSQR is the only KSP I can think of
that works with non-square systems. With LSQR, PCApply is called after
MatMultTranspose so its input should be in the column distribution of the
operator.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20110306/94491388/attachment.htm>


More information about the petsc-users mailing list