MatGetInfo

Returns information about matrix storage (number of nonzeros, memory, etc.).

Synopsis

int MatGetInfo(Mat mat,MatInfoType flag,MatInfo *info)
Collective on Mat if MAT_GLOBAL_MAX or MAT_GLOBAL_SUM is usedas the flag

Input Parameters

mat -the matrix

Output Parameters

flag - flag indicating the type of parameters to be returned (MAT_LOCAL - local matrix, MAT_GLOBAL_MAX - maximum over all processors, MAT_GLOBAL_SUM - sum over all processors)
info - matrix information context

Notes

The MatInfo context contains a variety of matrix data, includingnumber of nonzeros allocated and used, number of mallocs duringmatrix assembly, etc. Additional information for factored matricesis provided (such as the fill ratio, number of mallocs duringfactorization, etc.). Much of this info is printed to STDOUTwhen using the runtime options
      -log_info -mat_view_info

Example for C/C++ Users

See the file ${PETSC_DIR}/include/mat.h for a complete list ofdata within the MatInfo context. For example,
      MatInfo info;
      Mat     A;
      double  mal, nz_a, nz_u;

      MatGetInfo(A,MAT_LOCAL,&info);
      mal  = info.mallocs;
      nz_a = info.nz_allocated;

Example for Fortran Users

Fortran users should declare info as a double precisionarray of dimension MAT_INFO_SIZE, and then extract the parametersof interest. See the file ${PETSC_DIR}/include/finclude/mat. ha complete list of parameter names.
      double  precision info(MAT_INFO_SIZE)
      double  precision mal, nz_a
      Mat     A
      integer ierr

      call MatGetInfo(A,MAT_LOCAL,info,ierr)
      mal = info(MAT_INFO_MALLOCS)
      nz_a = info(MAT_INFO_NZ_ALLOCATED)

Keywords

matrix, get, info, storage, nonzeros, memory, fill

Location: src/mat/interface/matrix.c
Matrix Index
Table of Contents