# MatCreateSeqAIJWithArrays

Creates an sequential AIJ matrix using matrix elements (in CSR format) provided by the user.

### Synopsis

    #include "petscmat.h"
    PetscErrorCode PETSCMAT_DLLEXPORT MatCreateSeqAIJWithArrays(MPI_Comm comm,PetscInt m,PetscInt n,PetscInt* i,PetscInt*j,PetscScalar *a,Mat *mat)

Collective on MPI_Comm

### Input Parameters

| comm | - must be an MPI communicator of size 1
| m | - number of rows
| n | - number of columns
| i | - row indices
| j | - column indices
| a | - matrix values

### Output Parameter

mat -the matrix

### Notes

The i, j, and a arrays are not copied by this routine, the user must free these arrays once the matrix is destroyed

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 = nz = 6] v = {1,2,3,4,5,6} [size = nz = 6]

### See Also

MatCreate(), MatCreateMPIAIJ(), MatCreateSeqAIJ(), MatCreateMPIAIJWithArrays(), MatMPIAIJSetPreallocationCSR()

Level:intermediate
Location:src/mat/impls/aij/seq/aij.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages