:orphan:
# MatCreateHermitianTranspose
Creates a new matrix object of `MatType` `MATHERMITIANTRANSPOSEVIRTUAL` that behaves like A'*
## Synopsis
```
#include "petscmat.h"
PetscErrorCode MatCreateHermitianTranspose(Mat A, Mat *N)
```
Collective
## Input Parameter
- ***A -*** the (possibly rectangular) matrix
## Output Parameter
- ***N -*** the matrix that represents A'*
## Note
The Hermitian transpose A' is NOT actually formed! Rather the new matrix
object performs the matrix-vector product, `MatMult()`, by using the `MatMultHermitianTranspose()` on
the original matrix
## See Also
[](ch_matrices), `Mat`, `MatCreateNormal()`, `MatMult()`, `MatMultHermitianTranspose()`, `MatCreate()`,
`MATTRANSPOSEVIRTUAL`, `MatCreateTranspose()`, `MatHermitianTransposeGetMat()`, `MATNORMAL`, `MATNORMALHERMITIAN`
## Level
intermediate
## Location
src/mat/impls/transpose/htransm.c
## Examples
src/ksp/ksp/tutorials/ex27.c
src/ksp/ksp/tutorials/ex81.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/impls/transpose/htransm.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)