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

Input Parameters#

Output Parameter#

  • C - the product matrix

Notes#

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

This is a convenience routine that wraps the use of the MatProductCreate() with a MatProductType of MATPRODUCT_PtAP functionality into a single function call. For more involved matrix-matrix operations see MatProductCreate().

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#

src/mat/interface/matrix.c

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