# MatIncreaseOverlap
Given a set of submatrices indicated by index sets, replaces the index sets by larger ones that represent submatrices with additional overlap. 
## Synopsis
```
#include "petscmat.h" 
PetscErrorCode MatIncreaseOverlap(Mat mat, PetscInt n, IS is[], PetscInt ov)
```
Collective


## Input Parameters

- ***mat -*** the matrix
- ***n   -*** the number of index sets
- ***is  -*** the array of index sets (these index sets will changed during the call)
- ***ov  -*** the additional overlap requested



## Options Database Key

- ***-mat_increase_overlap_scalable -*** use a scalable algorithm to compute the overlap (supported by MPIAIJ matrix)





## Note
The computed overlap preserves the matrix block sizes when the blocks are square.
That is: if a matrix nonzero for a given block would increase the overlap all columns associated with
that block are included in the overlap regardless of whether each specific column would increase the overlap.


## See Also
 `Mat`, `PCASM`, `MatSetBlockSize()`, `MatIncreaseOverlapSplit()`, `MatCreateSubMatrices()`

## Level
developer

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/interface/matrix.c.html#MatIncreaseOverlap">src/mat/interface/matrix.c</A>

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

## Implementations

<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/aij/mpi/mpiov.c.html#MatIncreaseOverlap_MPIAIJ">MatIncreaseOverlap_MPIAIJ in src/mat/impls/aij/mpi/mpiov.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/aij/seq/aij.c.html#MatIncreaseOverlap_SeqAIJ">MatIncreaseOverlap_SeqAIJ in src/mat/impls/aij/seq/aij.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/baij/mpi/baijov.c.html#MatIncreaseOverlap_MPIBAIJ">MatIncreaseOverlap_MPIBAIJ in src/mat/impls/baij/mpi/baijov.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/baij/seq/baij2.c.html#MatIncreaseOverlap_SeqBAIJ">MatIncreaseOverlap_SeqBAIJ in src/mat/impls/baij/seq/baij2.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/htool/htool.cxx.html#MatIncreaseOverlap_Htool">MatIncreaseOverlap_Htool in src/mat/impls/htool/htool.cxx</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/is/matis.c.html#MatIncreaseOverlap_IS">MatIncreaseOverlap_IS in src/mat/impls/is/matis.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/normal/normm.c.html#MatIncreaseOverlap_Normal">MatIncreaseOverlap_Normal in src/mat/impls/normal/normm.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/sbaij/mpi/sbaijov.c.html#MatIncreaseOverlap_MPISBAIJ">MatIncreaseOverlap_MPISBAIJ in src/mat/impls/sbaij/mpi/sbaijov.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/sbaij/seq/sbaij2.c.html#MatIncreaseOverlap_SeqSBAIJ">MatIncreaseOverlap_SeqSBAIJ in src/mat/impls/sbaij/seq/sbaij2.c</A><BR>


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


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