#include "petscmat.h" PetscErrorCode MatRARt(Mat A,Mat R,MatReuse scall,PetscReal fill,Mat *C)Neighbor-wise Collective on Mat
A | - the matrix | |
R | - the projection matrix | |
scall | - either MAT_INITIAL_MATRIX or MAT_REUSE_MATRIX | |
fill | - expected fill as ratio of nnz(C)/nnz(A), use PETSC_DEFAULT if you do not have a good estimate if the result is a dense matrix this is irrelevent |
C | - the product matrix |
This routine is currently only implemented for pairs of AIJ matrices and classes which inherit from AIJ. Due to PETSc sparse matrix block row distribution among processes, parallel MatRARt is implemented via explicit transpose of R, which could be very expensive. We recommend using MatPtAP().