petsc-3.7.1 2016-05-15
Report Typos and Errors

# ISListToPair

convert an IS list to a pair of ISs of equal length defining an equivalent integer multimap. Each IS on the input list is assigned an integer j so that all of the indices of that IS are mapped to j.

### Synopsis

    #include "petscis.h"
    #undef  __FUNCT__
    #define __FUNCT__ "ISListToPair"
    PetscErrorCode ISListToPair(MPI_Comm comm, PetscInt listlen, IS islist[], IS *xis, IS *yis)

Collective on comm. Many br

### Input arguments

| comm | - MPI_Comm Many br
| listlen | - IS list length Many br
| islist | - IS list Many br

### Output arguments

| xis | - domain IS Many br
| yis | - range IS Many br

Many br

### Notes

The global integers assigned to the ISs of the local input list might not correspond to the Many brlocal numbers of the ISs on that list, but the two *orderings* are the same: the global Many brintegers assigned to the ISs on the local list form a strictly increasing sequence. Many br

The ISs on the input list can belong to subcommunicators of comm, and the subcommunicators Many bron the input IS list are assumed to be in a "deadlock-free" order. Many br

Local lists of PetscObjects (or their subcommes) on a comm are "deadlock-free" if subcomm1 Many brpreceeds subcomm2 on any local list, then it preceeds subcomm2 on all ranks. Many brEquivalently, the local numbers of the subcomms on each local list are drawn from some global Many brnumbering. This is ensured, for example, by ISPairToList(). Many br

### See Also

ISPairToList()

Level:advanced
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