**petsc-master 2020-07-01**

# MatTransposeMatMult

Performs Matrix-Matrix Multiplication C=A^T*B.
### Synopsis

#include "petscmat.h"
PetscErrorCode MatTransposeMatMult(Mat A,Mat B,MatReuse scall,PetscReal fill,Mat *C)

Neighbor-wise Collective on Mat

### Input Parameters

### Output Parameters

**C ** -the product matrix

### Notes

C will be created if MAT_INITIAL_MATRIX and must be destroyed by the user with MatDestroy().
MAT_REUSE_MATRIX can only be used if the matrices A and B have the same nonzero pattern as in the previous call.

To determine the correct fill value, run with -info and search for the string "Fill ratio" to see the value
actually needed.

This routine is currently implemented for pairs of AIJ matrices and pairs of SeqDense matrices and classes
which inherit from SeqAIJ. C will be of same type as the input matrices.

### See Also

MatMatMult(), MatMatTransposeMult(), MatPtAP()

### Level

intermediate

### Location

src/mat/interface/matrix.c
### Examples

src/ksp/ksp/tutorials/ex72.c.html

src/tao/constrained/tutorials/tomographyADMM.c.html

src/tao/tutorials/ex4.c.html

Index of all Mat routines

Table of Contents for all manual pages

Index of all manual pages