PETSc version 3.15.5
Fix/Edit manual page

# MatPreallocateInitialize

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

    #include <petscmat.h>
    PetscErrorCode MatPreallocateInitialize(MPI_Comm comm, PetscInt nrows, PetscInt ncols, PetscInt *dnz, PetscInt *onz)

Collective

### 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
| onz | - the other array passed to the matrix preallocation routines

### Notes

See Users-Manual: ch_performance 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(), MatPreallocateSymmetricSetBlock(), MatPreallocateSetLocal(),
MatPreallocateSymmetricSetLocalBlock()

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