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

# MatMatMultNumeric

Performs the numeric matrix-matrix product. Call this routine after first calling MatMatMultSymbolic().

### Synopsis

    #include "petscmat.h"
    PetscErrorCode MatMatMultNumeric(Mat A,Mat B,Mat C)

Neighbor-wise Collective on Mat

### Input Parameters

| A | - the left matrix
| B | - the right matrix

### Output Parameters

C -the product matrix, which was created by from MatMatMultSymbolic() or a call to MatMatMult().

### Notes

C must have been created with MatMatMultSymbolic().

This routine is currently implemented for - pairs of AIJ matrices and classes which inherit from AIJ, C will be of type MATAIJ. - pairs of AIJ (A) and Dense (B) matrix, C will be of type Dense. - pairs of Dense (A) and AIJ (B) matrix, C will be of type Dense.

### See Also

MatMatMult(), MatMatMultSymbolic()

### Level

intermediate

### Location

src/mat/interface/matrix.c

### Examples

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

### Implementations

MatMatMultNumeric_MPIDense_MPIAIJ in src/mat/impls/aij/mpi/mpiaij.c
MatMatMultNumeric_MPIAIJ_MPIAIJ_nonscalable in src/mat/impls/aij/mpi/mpimatmatmult.c
MatMatMultNumeric_MPIDense in src/mat/impls/aij/mpi/mpimatmatmult.c
MatMatMultNumeric_MPIAIJ_MPIDense in src/mat/impls/aij/mpi/mpimatmatmult.c
MatMatMultNumeric_MPIAIJ_MPIAIJ in src/mat/impls/aij/mpi/mpimatmatmult.c
MatMatMultNumeric_SeqDense_SeqAIJ in src/mat/impls/aij/seq/aij.c
MatMatMultNumeric_SeqAIJMKL_SeqAIJMKL_SpMV2 in src/mat/impls/aij/seq/aijmkl/aijmkl.c
MatMatMultNumeric_SeqAIJ_SeqAIJ in src/mat/impls/aij/seq/matmatmult.c
MatMatMultNumeric_SeqAIJ_SeqAIJ_Sorted in src/mat/impls/aij/seq/matmatmult.c
MatMatMultNumeric_SeqAIJ_SeqAIJ_Scalable in src/mat/impls/aij/seq/matmatmult.c
MatMatMultNumeric_SeqAIJ_SeqDense in src/mat/impls/aij/seq/matmatmult.c
MatMatMultNumeric_SeqAIJ_SeqAIJ_Combined in src/mat/impls/aij/seq/matmatmult.c
MatMatMultNumeric_SeqBAIJ_SeqDense in src/mat/impls/baij/seq/baij2.c
MatMatMultNumeric_MPIDense_MPIDense in src/mat/impls/dense/mpi/mpidense.c
MatMatMultNumeric_SeqDenseCUDA_SeqDenseCUDA in src/mat/impls/dense/seq/cuda/densecuda.cu
MatMatMultNumeric_SeqDense_SeqDense in src/mat/impls/dense/seq/dense.c
MatMatMultNumeric_Elemental in src/mat/impls/elemental/matelem.cxx
MatMatMultNumeric_AIJ_AIJ_wHYPRE in src/mat/impls/hypre/mhypre.c
MatMatMultNumeric_HYPRE_HYPRE in src/mat/impls/hypre/mhypre.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages