petsc-3.9.4 2018-09-11
Report Typos and Errors

MatPreallocateSetLocalRemoveDups

Indicates the locations (rows and columns) in the matrix where nonzeros will be inserted using a local number of the rows and columns. This version removes any duplicate columns in cols

Synopsis

#include <petscmat.h>
PetscErrorCode MatPreallocateSetLocalRemoveDups(ISLocalToGlobalMappping map,PetscInt nrows, PetscInt *rows,PetscInt ncols, PetscInt *cols,PetscInt *dnz, PetscInt *onz)
Not Collective

Input Parameters

map - the row mapping from local numbering to global numbering
nrows - the number of rows indicated
rows - the indices of the rows (these values are mapped to the global values)
cmap - the column mapping from local to global numbering
ncols - the number of columns in the matrix (this value will be changed if duplicate columns are found)
cols - the columns indicated (these values are mapped to the global values, they are then sorted and duplicates removed)
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

See Also

MatPreallocateFinalize(), MatPreallocateSet(), MatPreallocateSymmetricSetBlock()
MatPreallocateInitialize(), MatPreallocateSymmetricSetLocalBlock(), MatPreallocateSetLocal()

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