MatGetLocalSubMatrix#
Gets a reference to a submatrix specified in local numbering
Synopsis#
#include "petscmat.h"
PetscErrorCode MatGetLocalSubMatrix(Mat mat, IS isrow, IS iscol, Mat *submat)
Not Collective
Input Parameters#
mat - matrix to extract local submatrix from
isrow - local row indices for submatrix
iscol - local column indices for submatrix
Output Parameter#
submat - the submatrix
Notes#
The submat should be returned with MatRestoreLocalSubMatrix()
.
Depending on the format of mat, the returned submat may not implement MatMult()
. Its communicator may be
the same as mat, it may be PETSC_COMM_SELF
, or some other subcomm of mat’s.
The submat always implements MatSetValuesLocal()
. If isrow and iscol have the same block size, then
MatSetValuesBlockedLocal()
will also be implemented.
The mat must have had a ISLocalToGlobalMapping
provided to it with MatSetLocalToGlobalMapping()
.
Matrices obtained with DMCreateMatrix() generally already have the local to global mapping provided.
See Also#
MatRestoreLocalSubMatrix()
, MatCreateLocalRef()
, MatSetLocalToGlobalMapping()
Level#
intermediate
Location#
Examples#
Implementations#
MatGetLocalSubMatrix_IS in src/mat/impls/is/matis.c
MatGetLocalSubMatrix_Nest in src/mat/impls/nest/matnest.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages