MatIsStructurallySymmetric#
Test whether a matrix is structurally symmetric
Synopsis#
#include "petscmat.h"
PetscErrorCode MatIsStructurallySymmetric(Mat A, PetscBool *flg)
Collective
Input Parameter#
A - the matrix to test
Output Parameter#
flg - the result
Notes#
If the matrix does yet know it is structurally symmetric this can be an expensive operation, also available MatIsStructurallySymmetricKnown()
One can declare that a matrix is structurally symmetric with MatSetOption(mat,MAT_STRUCTURALLY_SYMMETRIC,PETSC_TRUE) and if it is known to remain structurally
symmetric after changes to the matrices values one can call MatSetOption(mat,MAT_STRUCTURAL_SYMMETRY_ETERNAL,PETSC_TRUE)
See Also#
Matrices, Mat, MAT_STRUCTURALLY_SYMMETRIC, MAT_STRUCTURAL_SYMMETRY_ETERNAL, MatTranspose(), MatIsTranspose(), MatIsHermitian(), MatIsSymmetric(), MatSetOption(), MatIsStructurallySymmetricKnown()
Level#
intermediate
Location#
Implementations#
MatIsStructurallySymmetric_IS in src/mat/impls/is/matis.c
MatIsStructurallySymmetric_SeqSBAIJ in src/mat/impls/sbaij/seq/sbaij.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages