petsc-3.7.1 2016-05-15
Report Typos and Errors

# 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 Many br

### Input Parameters

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

### Output Parameters

C -the product matrix Many br

### Notes

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

This routine is currently only implemented for pairs of AIJ matrices and classes Many brwhich inherit from AIJ. Many br

Many br

### See Also

MatPtAPSymbolic(), MatPtAPNumeric(), MatMatMult(), MatRARt()

Level:intermediate
Location:src/mat/interface/matrix.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/tao/pde_constrained/examples/tutorials/elliptic.c.html