Skip to main content
`Ctrl`+`K`

# ISPermutation

`PETSC_TRUE` or `PETSC_FALSE` depending on whether the index set has been declared to be a permutation.

## Synopsis

    #include "petscis.h"
    PetscErrorCode ISPermutation(IS is, PetscBool *perm)

Logically Collective

## Input Parameter

- is - the index set

## Output Parameter

- perm - `PETSC_TRUE` if a permutation, else `PETSC_FALSE`

## Note

If it is not already known that `is` is a permutation (if `ISSetPermutation()` or `ISSetInfo()` has not been called), this routine will not attempt to compute whether the index set is a permutation and will assume `perm` is `PETSC_FALSE`. To compute the value when it is not already known, use `ISGetInfo()` with the compute flag set to `PETSC_TRUE`.

## Developer Notes

Perhaps some of these routines should use the `PetscBool3` enum to return appropriate values

## See Also

`IS`, `ISSetPermutation()`, `ISGetInfo()`

## Level

intermediate

## Location

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

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