Skip to main content
`Ctrl`+`K`

# MatMultHermitianTranspose

Computes matrix Hermitian-transpose times a vector \(y = A^H * x\).

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatMultHermitianTranspose(Mat mat, Vec x, Vec y)

Neighbor-wise Collective

## Input Parameters

- mat - the matrix

- x - the vector to be multiplied

## Output Parameter

- y - the result

## Notes

The vectors `x` and `y` cannot be the same. I.e., one cannot call `MatMultHermitianTranspose`(A,y,y).

Also called the conjugate transpose, complex conjugate transpose, or adjoint.

For real numbers `MatMultTranspose()` and `MatMultHermitianTranspose()` are identical.

## See Also

Matrices, `Mat`, `MatMult()`, `MatMultAdd()`, `MatMultHermitianTransposeAdd()`, `MatMultTranspose()`

## Level

beginner

## Location

src/mat/interface/matrix.c

## Examples

src/ksp/ksp/tutorials/ex27.c

## Implementations

MatMultHermitianTranspose_SeqAIJKokkos() in src/mat/impls/aij/seq/kokkos/aijkok.kokkos.cxx
MatMultHermitianTranspose_SeqAIJCUSPARSE() in src/mat/impls/aij/seq/seqcusparse/aijcusparse.cu
MatMultHermitianTranspose_SeqAIJHIPSPARSE() in src/mat/impls/aij/seq/seqhipsparse/aijhipsparse.hip.c
MatMultHermitianTranspose_SeqBAIJ() in src/mat/impls/baij/seq/baij2.c
MatMultHermitianTranspose_ConstantDiagonal() in src/mat/impls/cdiagonal/cdiagonal.c
MatMultHermitianTranspose_MPIDense() in src/mat/impls/dense/mpi/mpidense.c
MatMultHermitianTranspose_SeqDense() in src/mat/impls/dense/seq/dense.c
MatMultHermitianTranspose_Nest() in src/mat/impls/nest/matnest.c
MatMultHermitianTranspose_ScaLAPACK() in src/mat/impls/scalapack/matscalapack.c
MatMultHermitianTranspose_Shell() in src/mat/impls/shell/shell.c
MatMultHermitianTranspose_HT() in src/mat/impls/transpose/htransm.c

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages