Call after you are completed with the ia,ja indices obtained with MatGetRowIJ().


#include "petscmat.h" 
PetscErrorCode MatRestoreRowIJ(Mat mat, PetscInt shift, PetscBool symmetric, PetscBool inodecompressed, PetscInt *n, const PetscInt *ia[], const PetscInt *ja[], PetscBool *done)


Input Parameters#

  • mat - the matrix

  • shift - 1 or zero indicating we want the indices starting at 0 or 1

  • symmetric - PETSC_TRUE or PETSC_FALSE indicating the matrix data structure should be symmetrized

  • inodecompressed - PETSC_TRUE or PETSC_FALSE indicating if the nonzero structure of the inodes or the nonzero elements is wanted. For MATBAIJ matrices the compressed version is always used.

  • n - size of (possibly compressed) matrix

  • ia - the row pointers

  • ja - the column indices

Output Parameter#


This routine zeros out n, ia, and ja. This is to prevent accidental us of the array after it has been restored. If you pass NULL, it will not zero the pointers. Use of ia or ja after MatRestoreRowIJ() is invalid.

Fortran Note#

MatRestoreRowIJ() Fortran binding is deprecated (since PETSc 3.19), use MatRestoreRowIJF90()

See Also#

Matrices, Mat, MatGetRowIJ(), MatRestoreRowIJF90(), MatRestoreColumnIJ()






MatRestoreRowIJ_MPIAdj() in src/mat/impls/adj/mpi/mpiadj.c
MatRestoreRowIJ_MPIAIJ() in src/mat/impls/aij/mpi/mpiaij.c
MatRestoreRowIJ_SeqAIJ() in src/mat/impls/aij/seq/aij.c
MatRestoreRowIJ_SeqBAIJ() in src/mat/impls/baij/seq/baij.c
MatRestoreRowIJ_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