petsc-3.12.1 2019-10-22
Report Typos and Errors

# 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: Chapter 14 Hints for Performance Tuning 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