Skip to main content
`Ctrl`+`K`

# 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"
    #define MATPRODUCTALGORITHMHYPRE           "hypre"

## See Also

Matrix-Matrix Products, Matrices, `MatSetType()`, `Mat`, `MatProductSetAlgorithm()`, `MatProductType`

## Level

beginner

## Location

include/petscmat.h

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