petsc-dev 2012-05-24

ISColoringToList

convert an IS pair encoding a coloring of the indices (first IS) by integers (second IS), to a list of ISs. Each IS on the output list contains the indices (from the first input IS) colored by the same integer (from the second input IS). The ISs on the output list are constructed on the subcommunicators of the input IS pair. Each subcommunicator corresponds to a color -- contains exactly the ranks that contain the corresponding color in the second input IS. This is essentially the inverse of ISListToColoring().

Synopsis

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

Input arguments

indis - IS of indices
coloris - IS of colors

Output arguments

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

Note

See Also

ISListToColoring()

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

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