MatPtAP#
Creates the matrix product \(C = P^T * A * P\)
Synopsis#
Neighbor-wise Collective
Input Parameters#
A - the matrix
P - the projection matrix
scall - either
MAT_INITIAL_MATRIX
orMAT_REUSE_MATRIX
fill - expected fill as ratio of nnz(C)/(nnz(A) + nnz(P)), use
PETSC_DETERMINE
orPETSC_CURRENT
if you do not have a good estimate if the result is a dense matrix this is irrelevant
Output Parameter#
C - the product matrix
Notes#
C will be created and must be destroyed by the user with MatDestroy()
.
An alternative approach to this function is to use MatProductCreate()
and set the desired options before the computation is done
The deprecated PETSC_DEFAULT
in fill
also means use the current value
Developer Note#
For matrix types without special implementation the function fallbacks to MatMatMult()
followed by MatTransposeMatMult()
.
See Also#
Matrices, Mat
, MatProductCreate()
, MatMatMult()
, MatRARt()
Level#
intermediate
Location#
Examples#
src/ksp/ksp/tutorials/ex76.c
src/tao/pde_constrained/tutorials/elliptic.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages