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/mat/tests/ex111.c
src/mat/tests/ex272.c
src/mat/tests/ex89.c
src/mat/tests/ex90.c
src/mat/tests/ex93.c
src/mat/tests/ex94.c
src/mat/tests/ex96.c
src/mat/tests/ex101.c
src/mat/tests/ex115.c
src/mat/tests/ex161.c


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