petsc3.3p7 20130511
ISMapFactorRight
for a pair of ISs a and b, regarded as localtoglobal index maps, compute IS c such that a = b*c as a composition of maps. In other words, find a substitution of local indices c such that a factors through c (and b). Another way to look at this is as finding the right factor for b in a (b is the left factor).
Synopsis
#include "petscis.h"
#undef __FUNCT__
#define __FUNCT__ "ISMapFactorRight"
PetscErrorCode ISMapFactorRight(IS a, IS b, PetscBool drop, IS *c)
Not collective.
Input arguments
 a   IS to factor

 b   left factor

 drop   flag indicating whether to drop a's indices that can't factor through b.

Output arguments
c right local factor
Note
If some of a's global indices are not among b's indices the factorization 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 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/utils/isdiff.c
Index of all IS routines
Table of Contents for all manual pages
Index of all manual pages