1 /* $Id: adj.h,v 1.2 1997/07/02 22:25:57 bsmith Exp $ */ 2 3 #include "src/mat/matimpl.h" 4 #include <math.h> 5 6 #if !defined(__ADJ_H) 7 #define __ADJ_H 8 9 /* 10 MATSEQADJ format - Compressed row storage for storing adjacency lists, but no 11 matrix values. This is for grid reorderings (to reduce bandwidth) 12 grid partitionings, etc. This is NOT currently a dynamic data-structure. 13 14 */ 15 16 typedef struct { 17 int m, n; /* rows, columns */ 18 int nz; 19 int *diag; /* pointers to diagonal elements */ 20 int *i; /* pointer to beginning of each row */ 21 int *j; /* column values: j + i[k] - 1 is start of row k */ 22 PetscTruth symmetric; /* user indicates the nonzero structure is symmetric */ 23 } Mat_SeqAdj; 24 25 #endif 26