# MatMPIAIJGetSeqAIJ
Returns the local piece of this distributed matrix 
## Synopsis
```
#include "petscmat.h" 
PetscErrorCode MatMPIAIJGetSeqAIJ(Mat A, Mat *Ad, Mat *Ao, const PetscInt *colmap[])
```
Not collective


## Input Parameter

- ***A -*** The `MATMPIAIJ` matrix



## Output Parameters

- ***Ad -*** The local diagonal block as a `MATSEQAIJ` matrix
- ***Ao -*** The local off-diagonal block as a `MATSEQAIJ` matrix
- ***colmap -*** An array mapping local column numbers of Ao to global column numbers of the parallel matrix



## Note
The rows in Ad and Ao are in [0, Nr), where Nr is the number of local rows on this process. The columns
in Ad are in [0, Nc) where Nc is the number of local columns. The columns are Ao are in [0, Nco), where Nco is
the number of nonzero columns in the local off-diagonal piece of the matrix A. The array colmap maps these
local column numbers to global column numbers in the original matrix.




## See Also
 `MATMPIAIJ`, `MatMPIAIJGetLocalMat()`, `MatMPIAIJGetLocalMatCondensed()`, `MatCreateAIJ()`, `MATMPIAIJ`, `MATSEQAIJ`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/aij/mpi/mpiaij.c.html#MatMPIAIJGetSeqAIJ">src/mat/impls/aij/mpi/mpiaij.c</A>

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


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/impls/aij/mpi/mpiaij.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)  
