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

  • A - the matrix

Output Parameter#

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

Notes#

See 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 A’s normal operation.

See Also#

Matrices, Mat, MatCreateAIJ(), MATAIJ, MATBAIJ, MATSBAIJ

Level#

advanced

Location#

src/mat/interface/matrix.c

Examples#

src/ksp/ksp/tutorials/ex76.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_Htool in src/mat/impls/htool/htool.cxx
MatGetDiagonalBlock_IS in src/mat/impls/is/matis.c
MatGetDiagonalBlock_MPIKAIJ in src/mat/impls/kaij/kaij.c
MatGetDiagonalBlock_Normal in src/mat/impls/normal/normm.c
MatGetDiagonalBlock_NormalHermitian in src/mat/impls/normal/normmh.c
MatGetDiagonalBlock_MPISBAIJ in src/mat/impls/sbaij/mpi/mpisbaij.c
MatGetDiagonalBlock_MPISELL in src/mat/impls/sell/mpi/mpisell.c


Edit on GitLab

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