:orphan: # MatGetNonzeroState Returns a 64-bit integer representing the current state of nonzeros in the matrix. If the matrix has had no new nonzero locations added to (or removed from) the matrix since the previous call then the value will be the same, otherwise it will be larger ## Synopsis ``` #include "petscmat.h" PetscErrorCode MatGetNonzeroState(Mat mat, PetscObjectState *state) ``` Not Collective ## Input Parameter - ***A -*** the matrix ## Output Parameter - ***state -*** the current state ## Notes You can only compare states from two different calls to the SAME matrix, you cannot compare calls between different matrices Use `PetscObjectStateGet()` to check for changes to the numerical values in a matrix Use the result of `PetscObjectGetId()` to compare if a previously checked matrix is the same as the current matrix, do not compare object pointers. ## See Also [](ch_matrices), `Mat`, `PetscObjectStateGet()`, `PetscObjectGetId()` ## Level intermediate ## Location src/mat/interface/matrix.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/interface/matrix.c) [Index of all Mat routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)