MatCreateIS#

Creates a “process” unassembled matrix, MATIS, assembled on each process but not across processes.

Synopsis#

#include "petscmat.h"
PetscErrorCode MatCreateIS(MPI_Comm comm, PetscInt bs, PetscInt m, PetscInt n, PetscInt M, PetscInt N, ISLocalToGlobalMapping rmap, ISLocalToGlobalMapping cmap, Mat *A)


Input Parameters#

• comm - MPI communicator that will share the matrix

• bs - block size of the matrix

• m,n,M,N - local and/or global sizes of the left and right vector used in matrix vector products

• rmap - local to global map for rows

• cmap - local to global map for cols

Output Parameter#

• A - the resulting matrix

Notes#

m and n are NOT related to the size of the map; they represent the size of the local parts of the distributed vectors used in MatMult() operations. The sizes of rmap and cmap define the size of the local matrices.

If rmap (cmap) is NULL, then the local row (column) spaces matches the global space.

MATIS, MatSetLocalToGlobalMapping()