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

Notes#

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

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


Edit on GitLab

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