MatPreallocateSymmetricInitialize

Begins the block of code that will count the number of nonzeros per row in a matrix providing the data that one can use to correctly preallocate the matrix.

Synopsis

PetscErrorCode MatPreallocateSymmetricInitialize(MPI_Comm comm, PetscInt nrows, PetscInt ncols, PetscInt *dnz, PetscInt *onz)
Collective on MPI_Comm

Input Parameters

comm - the communicator that will share the eventually allocated matrix
nrows - the number of LOCAL rows in the matrix
ncols - the number of LOCAL columns in the matrix

Output Parameters

dnz - the array that will be passed to the matrix preallocation routines
ozn - the other array passed to the matrix preallocation routines

Notes

See the <A href="../../docs/manual.pdf#nameddest=Chapter 12 Hints for Performance Tuning">Hints for Performance Improvment</A> chapter in the users manual for more details.

Do not malloc or free dnz and onz, that is handled internally by these routines

This is a MACRO not a function because it has a leading { that is closed by PetscPreallocateFinalize().

See Also

MatPreallocateFinalize(), MatPreallocateSet(), MatPreallocateSymmetricSet(), MatPreallocateSetLocal(),
MatPreallocateInitialize(), MatPreallocateSymmetricSetLocal()

Level:intermediate
Location:
src/mat/../../include/petscmat.h
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages