petsc-3.12.4 2020-02-04
Report Typos and Errors

# MatCreateSeqAIJSELL

Creates a sparse matrix of type SEQAIJSELL. This type inherits from AIJ and is largely identical, but keeps a "shadow" copy of the matrix in SEQSELL format, which is used when this format may be more suitable for a requested operation. Currently, SEQSELL format is used for MatMult, MatMultTranspose, MatMultAdd, MatMultTransposeAdd, and MatSOR operations. Because SEQAIJSELL is a subtype of SEQAIJ, the option "-mat_seqaij_type seqaijsell" can be used to make sequential AIJ matrices default to being instances of MATSEQAIJSELL.

### Synopsis

    PetscErrorCode  MatCreateSeqAIJSELL(MPI_Comm comm,PetscInt m,PetscInt n,PetscInt nz,const PetscInt nnz[],Mat *A)

Collective

### Input Parameters

| comm | - MPI communicator, set to PETSC_COMM_SELF
| m | - number of rows
| n | - number of columns
| nz | - number of nonzeros per row (same for all rows)
| nnz | - array containing the number of nonzeros in the various rows (possibly different for each row) or NULL

### Output Parameter

A -the matrix

### Options Database Keys

-mat_aijsell_eager_shadow -Construct shadow matrix upon matrix assembly; default is to take a "lazy" approach, performing this step the first time the matrix is applied

### Notes

If nnz is given then nz is ignored

### See Also

MatCreate(), MatCreateMPIAIJSELL(), MatSetValues()

### Level

intermediate

### Location

src/mat/impls/aij/seq/aijsell/aijsell.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages