Skip to main content
`Ctrl`+`K`

# MATIS

MATIS = “is” - A matrix type to be used for non-overlapping domain decomposition methods (e.g. `PCBDDC` or `KSPFETIDP`). This stores the matrices in globally unassembled form and the parallel matrix vector product is handled “implicitly”.

## Options Database Keys

- -mat_type is - Set the matrix type to `MATIS`.

- -mat_is_allow_repeated - Allow repeated entries in the local part of the local to global maps.

- -mat_is_fixempty - Fix local matrices in case of empty local rows/columns.

- -mat_is_storel2l - Store the local-to-local operators generated by the Galerkin process of `MatPtAP()`.

## Notes

Options prefix for the inner matrix are given by `-is_mat_xxx`

You must call `MatSetLocalToGlobalMapping()` before using this matrix type.

You can do matrix preallocation on the local matrix after you obtain it with `MatISGetLocalMat()`; otherwise, you could use `MatISSetPreallocation()` or `MatXAIJSetPreallocation()`

## See Also

Matrices, `Mat`, `MATIS`, `Mat`, `MatISGetLocalMat()`, `MatSetLocalToGlobalMapping()`, `MatISSetPreallocation()`, `MatCreateIS()`, `PCBDDC`, `KSPFETIDP`

## Level

intermediate

## Location

src/mat/impls/is/matis.c

## Examples

src/ksp/ksp/tutorials/ex59.c
src/ksp/ksp/tutorials/ex71.c
src/ksp/ksp/tutorials/ex34.c
src/snes/tutorials/ex12.c
src/ksp/ksp/tutorials/ex72.c
src/ksp/ksp/tutorials/ex29.c

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages