petsc-3.10.3 2018-12-18
Report Typos and Errors

# MatCreateRedundantMatrix

Create redundant matrices and put them into processors of subcommunicators.

### Synopsis

    #include "petscmat.h"
    PetscErrorCode MatCreateRedundantMatrix(Mat mat,PetscInt nsubcomm,MPI_Comm subcomm,MatReuse reuse,Mat *matredundant)

Collective on Mat

### Input Parameters

| mat | - the matrix
| nsubcomm | - the number of subcommunicators (= number of redundant parallel or sequential matrices)
| subcomm | - MPI communicator split from the communicator where mat resides in (or MPI_COMM_NULL if nsubcomm is used)
| reuse | - either MAT_INITIAL_MATRIX or MAT_REUSE_MATRIX

### Output Parameter

matredundant -redundant matrix

### Notes

MAT_REUSE_MATRIX can only be used when the nonzero structure of the original matrix has not changed from that last call to MatCreateRedundantMatrix().

This routine creates the duplicated matrices in subcommunicators; you should NOT create them before calling it.

### See Also

MatDestroy()

### Level

advanced

### Location

src/mat/interface/matrix.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages