petsc-3.3-p7 2013-05-11

ISMapToList

convert an IS pair encoding an integer map to a list of ISs. Each IS on the output list contains the preimage for each index on the second input IS. The ISs on the output list are constructed on the subcommunicators of the input IS pair. Each subcommunicator corresponds to the preimage of some index j -- this subcomm contains exactly the ranks that assign some indices i to j. This is essentially the inverse of ISListToMap().

Synopsis

#include "petscis.h"  
#undef  __FUNCT__
#define __FUNCT__ "ISMapToList"
PetscErrorCode ISMapToList(IS xis, IS yis, PetscInt *listlen, IS **islist) 
Collective on indis.

Input arguments

xis - domain IS
yis - range IS

Output arguments

listlen - length of islist
islist - list of ISs breaking up indis by color

Note

See Also

ISListToMap()

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

xis and yis must be of the same length and have congruent communicators. - - The resulting ISs have subcommunicators in a "deadlock-free" order (see ISListToMap()).