PETSc version 3.17.4
Fix/Edit manual page

# MatPreallocateLocation

An alternative to MatPreallocateSet() that puts the nonzero locations into the matrix if it exists

### Synopsis

    #include <petscmat.h>
    PetscErrorCode MatPreallocateLocations(Mat A,PetscInt row,PetscInt ncols,PetscInt *cols,PetscInt *dnz,PetscInt *onz)

Not Collective

### Input Parameters

| A | - matrix
| row | - row where values exist (must be local to this process)
| ncols | - number of columns
| cols | - columns with nonzeros
| 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 uses a bunch of variables private to the MatPreallocation.... routines.

### See Also

MatPreallocateInitialize(), 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