# MatMPIDenseSetPreallocation
Sets the array used to store the matrix entries 
## Synopsis
```
#include "petscmat.h"  
PetscErrorCode MatMPIDenseSetPreallocation(Mat B, PetscScalar *data)
```
Collective


## Input Parameters

- ***B -*** the matrix


- ***data -*** optional location of matrix data.  Set data=NULL for PETSc
to control all matrix memory allocation.



## Notes
The dense format is fully compatible with standard Fortran 77
storage by columns.

The data input variable is intended primarily for Fortran programmers
who wish to allocate their own matrix memory space.  Most users should
set data=NULL.




## See Also
 `MATMPIDENSE`, `MatCreate()`, `MatCreateSeqDense()`, `MatSetValues()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/dense/mpi/mpidense.c.html#MatMPIDenseSetPreallocation">src/mat/impls/dense/mpi/mpidense.c</A>

## Implementations

<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/dense/mpi/mpidense.c.html#MatMPIDenseSetPreallocation_MPIDense">MatMPIDenseSetPreallocation_MPIDense in src/mat/impls/dense/mpi/mpidense.c</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/impls/dense/mpi/mpidense.c)


[Index of all Mat routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
