ISInvertPermutation#

Creates a new permutation that is the inverse of a given permutation.

Synopsis#

#include "petscis.h" 
PetscErrorCode ISInvertPermutation(IS is, PetscInt nlocal, IS *isout)

Collective

Input Parameters#

  • is - the index set

  • nlocal - number of indices on this processor in result (ignored for 1 processor) or use PETSC_DECIDE

Output Parameter#

  • isout - the inverse permutation

Note#

For parallel index sets this does the complete parallel permutation, but the code is not efficient for huge index sets (10,000,000 indices).

See Also#

IS, ISGetInfo(), ISSetPermutation(), ISGetPermutation()

Level#

intermediate

Location#

src/vec/is/is/interface/index.c

Implementations#

ISInvertPermutation_Block() in src/vec/is/is/impls/block/block.c
ISInvertPermutation_General() in src/vec/is/is/impls/general/general.c
ISInvertPermutation_Stride() in src/vec/is/is/impls/stride/stride.c


Index of all IS routines
Table of Contents for all manual pages
Index of all manual pages