<div class="gmail_quote">On Sat, May 14, 2011 at 23:33, Dmitry Karpeev <span dir="ltr"><<a href="mailto:karpeev@mcs.anl.gov">karpeev@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 id=":1lr">That would also be convenient if a Vec and a Mat shared the layout<br>
(Mat's cmap), because then they automatically have<br>
compatible splits and/or localtoglobalmappings.  Recently, however, I<br>
became convinced that l2gmappings, as they are now,<br>
are not adequate for some more advanced tasks, such as splitting of<br>
matrices/vectors into overlapping pieces.</div></blockquote></div><br><div>How so? MatGetLocalSubMatrix() does this right now (sort of, the values are not guaranteed to be available because its primary purpose is for assembly). Or do you mean getting overlapping pieces based on the global ordering and then having local spaces automatically defined? I'm not sure that makes semantic sense. If IS had the information about the local space that is in PetscLayout+ISLocalToGlobalMapping, than MatGetSubMatrix() could include the local space.</div>