:orphan:
# ISSetInfo
Set known information about an index set. 
## Synopsis
```
#include "petscis.h" 
PetscErrorCode ISSetInfo(IS is, ISInfo info, ISInfoType type, PetscBool permanent, PetscBool flg)
```
Logically Collective on `is` if `ISInfoType` is `IS_GLOBAL`


## Input Parameters

- ***is -*** the index set
- ***info -*** describing a property of the index set, one of those listed below,
- ***type -*** `IS_LOCAL` if the information describes the local portion of the index set,
`IS_GLOBAL` if it describes the whole index set
- ***permanent -*** `PETSC_TRUE` if it is known that the property will persist through changes to the index set, `PETSC_FALSE` otherwise
If the user sets a property as permanently known, it will bypass computation of that property
- ***flg -*** set the described property as true (`PETSC_TRUE`) or false (`PETSC_FALSE`)



## Info Describing IS Structure

- ***`IS_SORTED` -*** the [local part of the] index set is sorted in ascending order
- ***`IS_UNIQUE` -*** each entry in the [local part of the] index set is unique
- ***`IS_PERMUTATION` -*** the [local part of the] index set is a permutation of the integers {0, 1, ..., N-1}, where N is the size of the [local part of the] index set
- ***`IS_INTERVAL` -*** the [local part of the] index set is equal to a contiguous range of integers {f, f + 1, ..., f + N-1}
- ***`IS_IDENTITY` -*** the [local part of the] index set is equal to the integers {0, 1, ..., N-1}





## Notes
If type is `IS_GLOBAL`, all processes that share the index set must pass the same value in flg

It is possible to set a property with `ISSetInfo()` that contradicts what would be previously computed with `ISGetInfo()`


## See Also
 `ISInfo`, `ISInfoType`, `IS`

## Level
advanced

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/is/is/interface/index.c.html#ISSetInfo">src/vec/is/is/interface/index.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/is/is/interface/index.c)


[Index of all IS routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
