# 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 Parameters

- ***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
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/is/is/utils/isdiff.c.html#ISConcatenate">src/vec/is/is/utils/isdiff.c</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/tutorials/ex43.c.html">src/ksp/ksp/tutorials/ex43.c.html</A><BR>


---
[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](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
