:orphan:
# MatTransposeSymbolic
Computes the symbolic part of the transpose of a matrix. 
## Synopsis
```
#include "petscmat.h" 
PetscErrorCode MatTransposeSymbolic(Mat A, Mat *B)
```
Collective


## Input Parameter

- ***A -*** the matrix to transpose



## Output Parameter

- ***B -*** the transpose. This is a complete matrix but the numerical portion is invalid. One can call `MatTranspose`(A,`MAT_REUSE_MATRIX`,&B) to compute the
numerical portion.





## Note
This is not supported for many matrix types, use `MatTranspose()` in those cases


## See Also
 [](ch_matrices), `Mat`, `MatTransposeSetPrecursor()`, `MatTranspose()`, `MatMultTranspose()`, `MatMultTransposeAdd()`, `MatIsTranspose()`, `MatReuse`, `MAT_INITIAL_MATRIX`, `MAT_REUSE_MATRIX`, `MAT_INPLACE_MATRIX`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/interface/matrix.c.html#MatTransposeSymbolic">src/mat/interface/matrix.c</A>

## Implementations

<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/aij/seq/symtranspose.c.html#MatTransposeSymbolic_SeqAIJ">MatTransposeSymbolic_SeqAIJ in src/mat/impls/aij/seq/symtranspose.c</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/interface/matrix.c)


[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)  
