:orphan: # MatProductAlgorithm String with the name of an algorithm for a PETSc matrix product implementation ## Synopsis ``` typedef const char *MatProductAlgorithm; #define MATPRODUCTALGORITHMDEFAULT "default" #define MATPRODUCTALGORITHMSORTED "sorted" #define MATPRODUCTALGORITHMSCALABLE "scalable" #define MATPRODUCTALGORITHMSCALABLEFAST "scalable_fast" #define MATPRODUCTALGORITHMHEAP "heap" #define MATPRODUCTALGORITHMBHEAP "btheap" #define MATPRODUCTALGORITHMLLCONDENSED "llcondensed" #define MATPRODUCTALGORITHMROWMERGE "rowmerge" #define MATPRODUCTALGORITHMOUTERPRODUCT "outerproduct" #define MATPRODUCTALGORITHMATB "at*b" #define MATPRODUCTALGORITHMRAP "rap" #define MATPRODUCTALGORITHMNONSCALABLE "nonscalable" #define MATPRODUCTALGORITHMSEQMPI "seqmpi" #define MATPRODUCTALGORITHMBACKEND "backend" #define MATPRODUCTALGORITHMOVERLAPPING "overlapping" #define MATPRODUCTALGORITHMMERGED "merged" #define MATPRODUCTALGORITHMALLATONCE "allatonce" #define MATPRODUCTALGORITHMALLATONCEMERGED "allatonce_merged" #define MATPRODUCTALGORITHMALLGATHERV "allgatherv" #define MATPRODUCTALGORITHMCYCLIC "cyclic" #if defined(PETSC_HAVE_HYPRE) #define MATPRODUCTALGORITHMHYPRE "hypre" #endif ``` ## See Also [](sec_matmatproduct), [](ch_matrices), `MatSetType()`, `Mat`, `MatProductSetAlgorithm()`, `MatProductType` ## Level beginner ## Location include/petscmat.h --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscmat.h) [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)