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: ch_performance for more details.

Do not malloc or free dnz and onz, that is handled internally by these routines

See Also#

MatPreallocateEnd(), MatPreallocateSet(), MatPreallocateSymmetricSetBlock() MatPreallocateBegin(), MatPreallocateSymmetricSetLocalBlock(), MatPreallocateSetLocal()

Level#

intermediate

Location#

include/petscmat.h


Edit on GitLab

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages