MatMPISBAIJSetPreallocationCSR#

Creates a sparse parallel matrix in MATMPISBAIJ format using the given nonzero structure and (optional) numerical values

Synopsis#

#include "petscmat.h" 
PetscErrorCode MatMPISBAIJSetPreallocationCSR(Mat B, PetscInt bs, const PetscInt i[], const PetscInt j[], const PetscScalar v[])

Collective

Input Parameters#

  • B - the matrix

  • bs - the block size

  • i - the indices into j for the start of each local row (indices start with zero)

  • j - the column indices for each local row (indices start with zero) these must be sorted for each row

  • v - optional values in the matrix, pass NULL if not provided

Notes#

The i, j, and v arrays ARE copied by this routine into the internal format used by PETSc; thus you CANNOT change the matrix entries by changing the values of v after you have called this routine.

Though this routine has Preallocation() in the name it also sets the exact nonzero locations of the matrix entries and usually the numerical values as well

Any entries passed in that are below the diagonal are ignored

See Also#

Matrices, Mat, MATMPISBAIJ, MatCreate(), MatCreateSeqAIJ(), MatSetValues(), MatMPIBAIJSetPreallocation(), MatCreateAIJ(), MATMPIAIJ, MatCreateMPISBAIJWithArrays()

Level#

advanced

Location#

src/mat/impls/sbaij/mpi/mpisbaij.c

Implementations#

MatMPISBAIJSetPreallocationCSR_MPISBAIJ() in src/mat/impls/sbaij/mpi/mpisbaij.c


Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages