MatIsHermitianKnown#

Checks if a matrix knows if it is Hermitian or not and its Hermitian state

Synopsis#

#include "petscmat.h" 
PetscErrorCode MatIsHermitianKnown(Mat A, PetscBool *set, PetscBool *flg)

Not Collective

Input Parameter#

  • A - the matrix to check

Output Parameters#

  • set - PETSC_TRUE if the matrix knows its Hermitian state (this tells you if the next flag is valid)

  • flg - the result (only valid if set is PETSC_TRUE)

Notes#

Does not check the matrix values directly, so this may return unknown (set = PETSC_FALSE). Use MatIsHermitian() if you want it explicitly checked

One can declare that a matrix is Hermitian with MatSetOption(mat,MAT_HERMITIAN,PETSC_TRUE) and if it is known to remain Hermitian after changes to the matrices values one can call MatSetOption(mat,MAT_SYMMETRY_ETERNAL,PETSC_TRUE)

See Also#

Matrices, Mat, MAT_SYMMETRY_ETERNAL, MAT_HERMITIAN, MatTranspose(), MatIsTranspose(), MatIsHermitian(), MatIsStructurallySymmetric(), MatSetOption(), MatIsSymmetric()

Level#

advanced

Location#

src/mat/interface/matrix.c


Edit on GitLab

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