petsc-3.12.4 2020-02-04
Report Typos and Errors

# MatGetDiagonalBlock

Returns the part of the matrix associated with the on-process coupling

### Synopsis

    #include "petscmat.h"
    PetscErrorCode MatGetDiagonalBlock(Mat A,Mat *a)

Not Collective

### Input Parameters

A -the matrix

### Output Parameters

a -the diagonal part (which is a SEQUENTIAL matrix)

### Notes

see the manual page for MatCreateAIJ() for more information on the "diagonal part" of the matrix. Use caution, as the reference count on the returned matrix is not incremented and it is used as part of the containing MPI Mat's normal operation.

### Level

advanced

### Location

src/mat/interface/matrix.c

### Implementations

MatGetDiagonalBlock_MPIAIJ in src/mat/impls/aij/mpi/mpiaijpc.c
MatGetDiagonalBlock_MPIBAIJ in src/mat/impls/baij/mpi/mpibaij.c
MatGetDiagonalBlock_MPIDense in src/mat/impls/dense/mpi/mpidense.c
MatGetDiagonalBlock_MPIKAIJ in src/mat/impls/kaij/kaij.c
MatGetDiagonalBlock_MPISBAIJ in src/mat/impls/sbaij/mpi/mpisbaij.c
MatGetDiagonalBlock_MPISELL in src/mat/impls/sell/mpi/mpisell.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages