petscmaster 20161209
ISEmbed
embed IS a into IS b by finding the locations in b that have the same indices as in a. If c is the IS of these locations, we have a = b*c, regarded as a composition of the corresponding ISLocalToGlobalMaps.
Synopsis
#include "petscis.h"
#undef __FUNCT__
#define __FUNCT__ "ISEmbed"
PetscErrorCode ISEmbed(IS a, IS b, PetscBool drop, IS *c)
Not collective.
Input arguments
 a   IS to embed

 b   IS to embed into

 drop   flag indicating whether to drop a's indices that are not in b.

Output arguments
c local embedding indices
Note
If some of a's global indices are not among b's indices the embedding is impossible. The local indices of a
corresponding to these global indices are either mapped to 1 (if !drop) or are omitted (if drop). In the former
case the size of c is that same as that of a, in the latter case c's size may be smaller.
The resulting IS is sequential, since the index substition it encodes is purely local.
See Also
ISLocalToGlobalMapping
Level:advanced
Location:src/vec/is/is/utils/isdiff.c
Index of all IS routines
Table of Contents for all manual pages
Index of all manual pages