MatCreateScatter#
Creates a new matrix of MatType
MATSCATTER
, based on a VecScatter
Synopsis#
#include "petscmat.h"
PetscErrorCode MatCreateScatter(MPI_Comm comm, VecScatter scatter, Mat *A)
Collective
Input Parameters#
comm - MPI communicator
scatter - a
VecScatter
Output Parameter#
A - the matrix
Notes#
PETSc requires that matrices and vectors being used for certain
operations are partitioned accordingly. For example, when
creating a scatter matrix, A, that supports parallel matrix-vector
products using MatMult
(A,x,y) the user should set the number
of local matrix rows to be the number of local elements of the
corresponding result vector, y. Note that this is information is
required for use of the matrix interface routines, even though
the scatter matrix may not actually be physically partitioned.
Developer Notes#
This directly accesses information inside the VecScatter
associated with the matrix-vector product
for this matrix. This is not desirable..
See Also#
Matrices, Mat
, MatScatterSetVecScatter()
, MatScatterGetVecScatter()
, MATSCATTER
Level#
intermediate
Location#
src/mat/impls/scatter/mscatter.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages