Skip to main content
`Ctrl`+`K`

# MatPreallocateSet

Indicates the locations (rows and columns) in the matrix where nonzeros will be inserted using a local number of the rows and columns

## Synopsis

    #include <petscmat.h>
    PetscErrorCode MatPreallocateSet(PetscInt nrows, PetscInt *rows,PetscInt ncols, PetscInt *cols,PetscInt *dnz, PetscInt *onz)

Not Collective

## Input Parameters

- row - the row

- ncols - the number of columns in the matrix

- cols - the columns indicated

## Output Parameters

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

- onz - the other array passed to the matrix preallocation routines

(since v3.19)

## Notes

This routine is no longer needed since assembling matrices without explicit preallocation will not be slower than the use of this routine

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 variables declared in MatPreallocateBegin().

## See Also

Matrices, `MatPreallocateEnd()`, `MatPreallocateSet()`, `MatPreallocateSymmetricSetBlock()`, `MatPreallocateBegin()`, `MatPreallocateSetLocal()`

## Level

deprecated

## Location

include/petscmat.h

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages