petsc-3.7.1 2016-05-15
Report Typos and Errors

MatCheckCompressedRow

Determines whether the compressed row matrix format should be used. If the format is to be used, this routine creates Mat_CompressedRow struct. Compressed row format provides high performance routines by taking advantage of zero rows. Supported types are MATAIJ, MATBAIJ and MATSBAIJ.

Synopsis

#include "petscmat.h"  
PETSC_EXTERN PetscErrorCode MatCheckCompressedRow(Mat A,PetscInt nrows,Mat_CompressedRow *compressedrow,PetscInt *ai,PetscInt mbs,PetscReal ratio)
Collective Many br

Input Parameters

A - the matrix Many br
nrows - number of rows with nonzero entries Many br
compressedrow - pointer to the struct Mat_CompressedRow Many br
ai - row pointer used by seqaij and seqbaij Many br
mbs - number of (block) rows represented by ai Many br
ratio - ratio of (num of zero rows)/m, used to determine if the compressed row format should be used Many br

Notes: By default PETSc will not check for compressed rows on sequential matrices. Call MatSetOption(Mat,MAT_CHECK_COMPRESSED_ROW,PETSC_TRUE); before Many brMatAssemblyBegin() to have it check. Many br

Developer Note: The reason this takes the compressedrow, ai and mbs arguments is because it is called by both the SeqAIJ and SEQBAIJ matrices and Many brthe values are not therefore obtained by directly taking the values from the matrix object. Many brThis is not a general public routine and hence is not listed in petscmat.h (it exposes a private data structure) but it is used Many brby some preconditioners and hence is labeled as PETSC_EXTERN Many br

Many br

Level:developer
Location:
src/mat/utils/compressedrow.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages