:orphan: # MatHYPRESetPreallocation Preallocates memory for a sparse parallel matrix in HYPRE IJ format ## Synopsis ``` PetscErrorCode MatHYPRESetPreallocation(Mat A, PetscInt dnz, const PetscInt dnnz[], PetscInt onz, const PetscInt onnz[]) ``` Collective ## Input Parameters - ***A -*** the matrix - ***dnz -*** number of nonzeros per row in DIAGONAL portion of local submatrix (same value is used for all local rows) - ***dnnz -*** array containing the number of nonzeros in the various rows of the DIAGONAL portion of the local submatrix (possibly different for each row) or `NULL` (`PETSC_NULL_INTEGER` in Fortran), if `d_nz` is used to specify the nonzero structure. The size of this array is equal to the number of local rows, i.e `m`. For matrices that will be factored, you must leave room for (and set) the diagonal entry even if it is zero. - ***onz -*** number of nonzeros per row in the OFF-DIAGONAL portion of local submatrix (same value is used for all local rows). - ***onnz -*** array containing the number of nonzeros in the various rows of the OFF-DIAGONAL portion of the local submatrix (possibly different for each row) or `NULL` (`PETSC_NULL_INTEGER` in Fortran), if `o_nz` is used to specify the nonzero structure. The size of this array is equal to the number of local rows, i.e `m`. ## Note If the *nnz parameter is given then the *nz parameter is ignored; for sequential matrices, `onz` and `onnz` are ignored. ## See Also [](ch_matrices), `Mat`, `MatCreate()`, `MatMPIAIJSetPreallocation()`, `MATHYPRE`, `MATAIJ` ## Level intermediate ## Location src/mat/impls/hypre/mhypre.c ## Examples src/ksp/ksp/tutorials/ex4.c
src/ksp/ksp/tutorials/ex55.c
## Implementations MatHYPRESetPreallocation_HYPRE in src/mat/impls/hypre/mhypre.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/impls/hypre/mhypre.c) [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)