PETSc version 3.17.5
Fix/Edit manual page

MatPtAP

Creates the matrix product C = P^T * A * P

Synopsis

#include "petscmat.h" 
PetscErrorCode MatPtAP(Mat A,Mat P,MatReuse scall,PetscReal fill,Mat *C)
Neighbor-wise Collective on Mat

Input Parameters

A - the matrix
P - the projection matrix
scall - either MAT_INITIAL_MATRIX or MAT_REUSE_MATRIX
fill - expected fill as ratio of nnz(C)/(nnz(A) + nnz(P)), use PETSC_DEFAULT if you do not have a good estimate if the result is a dense matrix this is irrelevant

Output Parameters

C - the product matrix

Notes

C will be created and must be destroyed by the user with MatDestroy().

For matrix types without special implementation the function fallbacks to MatMatMult() followed by MatTransposeMatMult().

See Also

MatMatMult(), MatRARt()

Level

intermediate

Location

src/mat/interface/matrix.c

Examples

src/ksp/ksp/tutorials/ex76.c.html
src/tao/pde_constrained/tutorials/elliptic.c.html

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages