MatGetOwnershipRange#

For matrices that own values by row, excludes MATELEMENTAL and MATSCALAPACK, returns the range of matrix rows owned by this MPI rank. 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 :any:<sec_matlayout> for details on matrix layouts

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

Note#

This function requires that the matrix be preallocated. If you have not preallocated, consider using PetscSplitOwnership(MPI_Comm comm, PetscInt *n, PetscInt *N) and then MPI_Scan() to calculate prefix sums of the local sizes.

See Also#

MatGetOwnershipRanges(), MatGetOwnershipRangeColumn(), MatGetOwnershipRangesColumn(), PetscSplitOwnership(), PetscSplitOwnershipBlock(), PetscLayout

Level#

beginner

Location#

src/mat/interface/matrix.c

Examples#

src/mat/tutorials/ex15.c.html
src/mat/tutorials/ex15f.F90.html
src/mat/tutorials/ex16.c.html
src/mat/tutorials/ex17.c.html
src/mat/tutorials/ex17f.F90.html
src/mat/tutorials/ex4.c.html
src/mat/tutorials/ex4f.F90.html
src/mat/tutorials/ex5cu.cu.html
src/mat/tutorials/ex5k.kokkos.cxx.html
src/ksp/pc/tutorials/ex3.c.html
src/ksp/ksp/tutorials/ex11.c.html


Edit on GitLab

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