#include "petscmat.h" PetscErrorCode MatCreateMPIAdj(MPI_Comm comm,PetscInt m,PetscInt N,PetscInt *i,PetscInt *j,PetscInt *values,Mat *A)Collective on MPI_Comm
comm | - MPI communicator | |
m | - number of local rows | |
N | - number of global columns | |
i | - the indices into j for the start of each row | |
j | - the column indices for each row (sorted for each row). The indices in i and j start with zero (NOT with one). | |
values | - [optional] edge weights |
Notes: This matrix object does not support most matrix operations, include MatSetValues(). You must NOT free the ii, values and jj arrays yourself. PETSc will free them when the matrix is destroyed; you must allocate them with PetscMalloc(). If you call from Fortran you need not create the arrays with PetscMalloc(). Should not include the matrix diagonals.
If you already have a matrix, you can create its adjacency matrix by a call to MatConvert, specifying a type of MATMPIADJ.
Possible values for MatSetOption() - MAT_STRUCTURALLY_SYMMETRIC