petsc-3.7.1 2016-05-15
Report Typos and Errors

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. Many br

Input arguments

a - IS to embed Many br
b - IS to embed into Many br
drop - flag indicating whether to drop a's indices that are not in b. Many br

Output arguments

c -local embedding indices Many br

Note

If some of a's global indices are not among b's indices the embedding is impossible. The local indices of a Many brcorresponding to these global indices are either mapped to -1 (if !drop) or are omitted (if drop). In the former Many brcase the size of c is that same as that of a, in the latter case c's size may be smaller. Many br

The resulting IS is sequential, since the index substition it encodes is purely local. Many br

Many br

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