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

(since v3.19)

Notes#

This routine is no longer needed since assembling matrices without explicit preallocation will not be slower than the use of this routine

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

See Also#

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

Level#

deprecated

Location#

include/petscmat.h


Edit on GitLab

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