petsc-3.12.5 2020-03-29
Report Typos and Errors

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: Chapter 14 Hints for Performance Tuning 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