:orphan: # 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 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 [](ch_matrices), `MatPreallocateEnd()`, `MatPreallocateSet()`, `MatPreallocateSymmetricSetBlock()` `MatPreallocateBegin()`, `MatPreallocateSetLocal()` ## Level deprecated ## Location include/petscmat.h --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscmat.h) [Index of all Mat routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)