<div dir="ltr">That was fast.<div><br></div><div>Thanks.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jan 3, 2014 at 5:41 AM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">"R. Oğuz Selvitopi" <<a href="mailto:roguzsel@gmail.com">roguzsel@gmail.com</a>> writes:<br>
<br>
> Hello,<br>
><br>
> Is it possible to partition a parallel matrix in PETSc as follows:<br>
><br>
> A B C<br>
> D E F<br>
> G H I<br>
><br>
> The blocks A-D-G belong to processor 0 (A is the diagonal block, D and<br>
> G are off-diagonal blocks)<br>
><br>
> The blocks B-E-H belong to processor 1 (E is the diagonal block, B and<br>
> H are off-diagonal blocks)<br>
><br>
> The blocks C-F-I belong to processor 2 (I is the diagonal block, C and<br>
> F are off-diagonal blocks)<br>
<br>
</div>Assemble the transpose, then either use MatMultTranspose or<br>
MatCreateTranspose.<br>
<div class="im"><br>
> Or, is it possible to have nine processors and each has a block of the<br>
> matrix above? Block A belongs to processor 0, block B belongs to<br>
> processor 1, and so on...<br>
<br>
</div>Not with sparse matrices (except using MatShell, in which case you are<br>
responsible for the implementation). You can do it for dense matrices<br>
(see MatElemental).<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">---------<br><br>Oguz.</div>
</div>