# 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 chapter in the users manual on performance for more details

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

### 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