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