petsc-3.12.4 2020-02-04
Report Typos and Errors

# MatPtAPSymbolic

Creates the (i,j) structure of the matrix product C = P^T * A * P

### Synopsis

    #include "petscmat.h"
    PetscErrorCode MatPtAPSymbolic(Mat A,Mat P,PetscReal fill,Mat *C)

Neighbor-wise Collective on Mat

### Input Parameters

| A | - the matrix
| P | - the projection matrix

### Output Parameters

C -the (i,j) structure of the product matrix

### Notes

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

This routine is currently only implemented for pairs of SeqAIJ matrices and classes which inherit from SeqAIJ. C will be of type MATSEQAIJ. The product is computed using this (i,j) structure by calling MatPtAPNumeric().

### See Also

MatPtAP(), MatPtAPNumeric(), MatMatMultSymbolic()

### Level

intermediate

### Location

src/mat/interface/matrix.c

### Implementations

MatPtAPSymbolic_MPIAIJ_MPIAIJ_scalable in src/mat/impls/aij/mpi/mpiptap.c
MatPtAPSymbolic_MPIAIJ_MPIXAIJ_allatonce in src/mat/impls/aij/mpi/mpiptap.c
MatPtAPSymbolic_MPIAIJ_MPIAIJ_allatonce in src/mat/impls/aij/mpi/mpiptap.c
MatPtAPSymbolic_MPIAIJ_MPIXAIJ_allatonce_merged in src/mat/impls/aij/mpi/mpiptap.c
MatPtAPSymbolic_MPIAIJ_MPIAIJ_allatonce_merged in src/mat/impls/aij/mpi/mpiptap.c
MatPtAPSymbolic_MPIAIJ_MPIAIJ in src/mat/impls/aij/mpi/mpiptap.c
MatPtAPSymbolic_SeqAIJ_SeqAIJ_SparseAxpy in src/mat/impls/aij/seq/matptap.c
MatPtAPSymbolic_SeqDense_SeqDense in src/mat/impls/dense/seq/dense.c
MatPtAPSymbolic_AIJ_AIJ_wHYPRE in src/mat/impls/hypre/mhypre.c
MatPtAPSymbolic_IS_XAIJ in src/mat/impls/is/matis.c
MatPtAPSymbolic_SeqAIJ_SeqMAIJ in src/mat/impls/maij/maij.c
MatPtAPSymbolic_MPIAIJ_MPIMAIJ in src/mat/impls/maij/maij.c
MatPtAPSymbolic_MPIAIJ_MPIMAIJ_allatonce in src/mat/impls/maij/maij.c
MatPtAPSymbolic_MPIAIJ_MPIMAIJ_allatonce_merged in src/mat/impls/maij/maij.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages