petsc-3.7.1 2016-05-15
Report Typos and Errors

# 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 Many br

### Input Parameters

| A | - the left matrix Many br
| B | - the right matrix Many br
| scall | - either MAT_INITIAL_MATRIX or MAT_REUSE_MATRIX Many br
| fill | - expected fill as ratio of nnz(C)/(nnz(A) + nnz(B)), use PETSC_DEFAULT if not known Many br

### Output Parameters

C -the product matrix Many br

### Notes

C will be created if MAT_INITIAL_MATRIX and must be destroyed by the user with MatDestroy(). Many br

MAT_REUSE_MATRIX can only be used if the matrices A and B have the same nonzero pattern as in the previous call Many br

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

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

Many br

### See Also

MatTransposeMatMultSymbolic(), MatTransposeMatMultNumeric(), MatMatMult(), MatMatTransposeMult(), MatPtAP()

Level:intermediate
Location:src/mat/interface/matrix.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages

### Examples

src/ksp/ksp/examples/tutorials/ex10.c.html