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.
#define __FUNCT__ "ISEmbed"
PetscErrorCode ISEmbed(IS a, IS b, PetscBool drop, IS *c)
|a ||- IS to embed
|b ||- IS to embed into
|drop ||- flag indicating whether to drop a's indices that are not in b.
c -local embedding indices
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.
Index of all IS routines
Table of Contents for all manual pages
Index of all manual pages