:orphan:
# ISGetNonlocalIS
Gather all nonlocal indices for this `IS` and present them as another sequential index set. 
## Synopsis
```
#include "petscis.h" 
PetscErrorCode ISGetNonlocalIS(IS is, IS *complement)
```
Collective


## Input Parameter

- ***is -*** the index set



## Output Parameter

- ***complement -*** sequential `IS` with indices identical to the result of
`ISGetNonlocalIndices()`





## Notes
Complement represents the result of `ISGetNonlocalIndices()` as an `IS`.
Therefore scalability issues similar to `ISGetNonlocalIndices()` apply.

The resulting `IS` must be restored using `ISRestoreNonlocalIS()`.


## See Also
 `IS`, `ISGetNonlocalIndices()`, `ISRestoreNonlocalIndices()`, `ISAllGather()`, `ISGetSize()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/is/is/interface/index.c.html#ISGetNonlocalIS">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)  
