:orphan: # MatProductSymbolic Perform the symbolic portion of a matrix-matrix product operation, this creates a data structure for use with the numerical product to be done with `MatProductNumeric()` ## Synopsis ``` #include "petscmat.h" PetscErrorCode MatProductSymbolic(Mat mat) ``` Collective ## Input/Output Parameter - ***mat -*** the matrix whose values are to be computed via a matrix-matrix product operation ## Note `MatProductSetFromOptions()` must have been called on `mat` before calling this function ## See Also [](ch_matrices), `MatProduct`, `Mat`, `MatProductCreate()`, `MatProductCreateWithMat()`, `MatProductSetFromOptions()`, `MatProductNumeric()`, `MatProductSetType()`, `MatProductSetAlgorithm()` ## Level intermediate ## Location src/mat/interface/matproduct.c ## Examples src/tao/pde_constrained/tutorials/parabolic.c
## Implementations MatProductSymbolic_MPIAIJKokkos in src/mat/impls/aij/mpi/kokkos/mpiaijkok.kokkos.cxx
MatProductSymbolic_MPIAIJBACKEND in src/mat/impls/aij/mpi/mpiaij.c
MatProductSymbolic_H2OPUS in src/mat/impls/h2opus/cuda/math2opus.cu
MatProductSymbolic_Htool in src/mat/impls/htool/htool.cxx
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/interface/matproduct.c) [Index of all Mat routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)