ISPairToList#

Convert an IS pair encoding an integer map to a list of IS.

Synopsis#

#include "petscis.h"  
PetscErrorCode ISPairToList(IS xis, IS yis, PetscInt *listlen, IS **islist)

Collective

Input Parameters#

Output Parameters#

  • listlen - length of islist

  • islist - list of ISs breaking up indices by color

Notes#

Each IS in islist contains the preimage for each index on yis. The IS in islist 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 MPI processes that assign some indices i to j. This is essentially the inverse of ISListToPair().

xis and yis must be of the same length and have congruent communicators.

The resulting IS have subcommunicators in a “deadlock-free” order (see ISListToPair()).

See Also#

IS, ISListToPair()

Level#

developer

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