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#

  • xis - domain IS

  • yis - range IS

Output Parameters#

  • listlen - length of islist

  • islist - list of ISs breaking up indis by color

Notes#

Each IS on the output list contains the preimage for each index on the second input IS. The IS 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 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