Skip to main content
`Ctrl`+`K`

# 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 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`)

## Values of `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

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

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