petsc-3.7.7 2017-09-25
Report Typos and Errors

# 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 Arguments

mat - matrix to extract local submatrix from isrow - local row indices for submatrix iscol - local column indices for submatrix

### Output Arguments

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(). Note that matrices obtained with DMCreateMat() generally already have the local to global mapping provided.

### See Also

MatRestoreLocalSubMatrix(), MatCreateLocalRef(), MatSetLocalToGlobalMapping()

Level:intermediate
Location:src/mat/interface/matrix.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/snes/examples/tutorials/ex28.c.html
src/ts/examples/tutorials/ex14.c.html