:orphan:
# ISConcatenate
Forms a new `IS` by locally concatenating the indices from an `IS` list without reordering.
## Synopsis
```
#include "petscis.h"
PetscErrorCode ISConcatenate(MPI_Comm comm, PetscInt len, const IS islist[], IS *isout)
```
Collective
## Input Parameters
- ***comm -*** communicator of the concatenated `IS`.
- ***len -*** size of islist array (nonnegative)
- ***islist -*** array of index sets
## Output Parameter
- ***isout -*** The concatenated index set; empty, if `len` == 0.
## Notes
The semantics of calling this on comm imply that the comms of the members of `islist` also contain this rank.
## See Also
[](sec_scatter), `IS`, `ISDifference()`, `ISSum()`, `ISExpand()`, `ISIntersect()`
## Level
intermediate
## Location
src/vec/is/is/utils/isdiff.c
## Examples
src/ksp/ksp/tutorials/ex43.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/is/is/utils/isdiff.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)