#include "petscmat.h" PetscErrorCode MatCreateSeqAIJWithArrays(MPI_Comm comm,PetscInt m,PetscInt n,PetscInt i[],PetscInt j[],PetscScalar a[],Mat *mat)Collective
comm | - must be an MPI communicator of size 1 | |
m | - number of rows | |
n | - number of columns | |
i | - row indices; that is i[0] = 0, i[row] = i[row-1] + number of elements in that row of the matrix | |
j | - column indices | |
a | - matrix values |
mat | - the matrix |
You cannot set new nonzero locations into this matrix, that will generate an error.
The i and j indices are 0 based
The format which is used for the sparse matrix input, is equivalent to a row-major ordering.. i.e for the following matrix, the input data expected is as shown
1 0 0
2 0 3
4 5 6
i = {0,1,3,6} [size = nrow+1 = 3+1]
j = {0,0,2,0,1,2} [size = 6]; values must be sorted for each row
v = {1,2,3,4,5,6} [size = 6]