Skip to main content
`Ctrl`+`K`

# MatGetOwnershipRange

For matrices that own values by row, excludes `MATELEMENTAL` and `MATSCALAPACK`, returns the range of matrix rows owned by this MPI process.

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatGetOwnershipRange(Mat mat, PetscInt *m, PetscInt *n)

Not Collective

## Input Parameter

- mat - the matrix

## Output Parameters

- m - the global index of the first local row, use `NULL` to not obtain this value

- n - one more than the global index of the last local row, use `NULL` to not obtain this value

## Notes

If the `Mat` was obtained from a `DM` with `DMCreateMatrix()`, then the range values are determined by the specific `DM`.

If the `Mat` was created directly the range values are determined by the local size passed to `MatSetSizes()` or `MatCreateAIJ()`. If `PETSC_DECIDE` was passed as the local size, then the vector uses default values for the range using `PetscSplitOwnership()`.

For certain `DM`, such as `DMDA`, it is better to use `DM` specific routines, such as `DMDAGetGhostCorners()`, to determine the local values in the matrix.

The high argument is one more than the last element stored locally.

For all matrices it returns the range of matrix rows associated with rows of a vector that would contain the result of a matrix vector product with this matrix. See Matrix Layouts for details on matrix layouts.

## See Also

Matrices, `Mat`, `MatGetOwnershipRanges()`, `MatGetOwnershipRangeColumn()`, `MatGetOwnershipRangesColumn()`, `PetscSplitOwnership()`, `PetscSplitOwnershipBlock()`, `PetscLayout`, `MatSetSizes()`, `MatCreateAIJ()`, `DMDAGetGhostCorners()`, `DM`

## Level

beginner

## Location

src/mat/interface/matrix.c

## Examples

src/ksp/ksp/tutorials/ex59.c
src/ksp/ksp/tutorials/ex19.c
src/ksp/ksp/tutorials/ex18.c
src/ksp/ksp/tutorials/ex54.c
src/ksp/ksp/tutorials/ex60.c
src/ksp/ksp/tutorials/ex12.c
src/ksp/ksp/tutorials/ex16.c
src/ksp/ksp/tutorials/ex11.c
src/ksp/ksp/tutorials/ex55.c
src/ksp/ksp/tutorials/ex15.c

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