<div dir="ltr">HI Jed,<div><br></div><div>Thanks for your reply. I am redistributing the matrix to construct a test example only, not for the real problem. </div><div><br></div><div>Thanks,</div><div><br></div><div>Fande Kong,</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 29, 2015 at 10:36 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Fande Kong <<a href="mailto:fdkong.jd@gmail.com">fdkong.jd@gmail.com</a>> writes:<br>
> I want to redistribute a parallel matrix after it is partitioned by a<br>
> partitioner; for example, ParMETIS. Are there any functions for this<br>
> purpose?<br>
<br>
</span>MatPermute or MatGetSubMatrix.<br>
<br>
Note that you usually want to partition a mesh, then assemble a matrix<br>
in a distribution that matches the mesh.  I'd say redistributing the<br>
matrix after partitioning is an algorithm smell for PDE-type problems.<br>
</blockquote></div><br></div>