: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
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/transpose/htransm.c.html#MatCreateHermitianTranspose">src/mat/impls/transpose/htransm.c</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/tutorials/ex27.c.html">src/ksp/ksp/tutorials/ex27.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/tutorials/ex81.c.html">src/ksp/ksp/tutorials/ex81.c</A><BR>


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