<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, May 19, 2015 at 5:54 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@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"><span class=""><br>
> On May 19, 2015, at 5:47 PM, Fande Kong <<a href="mailto:fande.kong@colorado.edu">fande.kong@colorado.edu</a>> wrote:<br>
><br>
> If I am interested in extracting some remote and local rows and columns but as another sequential matrix, then I have to use  MatGetSubMatrices?<br>
<br>
</span>  Yes<br>
<span class=""><br>
> There are no ways to use MatGetSubMatrix to get a sequential matrix?<br>
<br>
</span>  No</blockquote><div><br></div><div>Well, you could use MatGetSubMatrix() where only 1 proc gets rows and columns, then extract the</div><div>serial submatrix.</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> Because I am only interested in one sequential matrix per core not multi matrices.<br>
<br>
</span>  You can just ask for one matrix with MatGetSubMatrices() will give you one sequential matrix per MPI process.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
><br>
> Fande,<br>
><br>
> On Tue, May 19, 2015 at 4:40 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
><br>
> > On May 19, 2015, at 5:33 PM, Fande Kong <<a href="mailto:fande.kong@colorado.edu">fande.kong@colorado.edu</a>> wrote:<br>
> ><br>
> > Hi all,<br>
> ><br>
> > I am confused with MatGetSubMatrix and MatGetSubMatrices.  In my understanding, I think MatGetSubMatrix extracts local rows and columns to form another parallel matrix with the same communicator, while MatGetSubMatrices extracts both local and remote entities to construct some sequential matrices. Is it right?<br>
><br>
>   Yes except that MatGetSubMatrix can also use remote rows (and columns) for the part that is on a particular processor. That is it is not restricted to only grabbing local rows/columns in the new parallel matrix.<br>
><br>
><br>
> ><br>
> > Thanks,<br>
> ><br>
> > Fande,<br>
><br>
><br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div>
</div></div>