Skip to main content
`Ctrl`+`K`

# MatMultHermitianTransposeAdd

Computes \(v3 = v2 + A^H * v1\).

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatMultHermitianTransposeAdd(Mat mat, Vec v1, Vec v2, Vec v3)

Neighbor-wise Collective

## Input Parameters

- mat - the matrix

- v1 - the vector to be multiplied by the Hermitian transpose

- v2 - the vector to be added to the result

## Output Parameter

- v3 - the result

## Note

The vectors `v1` and `v3` cannot be the same. I.e., one cannot call `MatMultHermitianTransposeAdd`(A,v1,v2,v1).

## See Also

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

## Level

beginner

## Location

src/mat/interface/matrix.c

## Implementations

MatMultHermitianTransposeAdd_SeqAIJKokkos() in src/mat/impls/aij/seq/kokkos/aijkok.kokkos.cxx
MatMultHermitianTransposeAdd_SeqAIJCUSPARSE() in src/mat/impls/aij/seq/seqcusparse/aijcusparse.cu
MatMultHermitianTransposeAdd_SeqAIJHIPSPARSE() in src/mat/impls/aij/seq/seqhipsparse/aijhipsparse.hip.cxx
MatMultHermitianTransposeAdd_SeqBAIJ() in src/mat/impls/baij/seq/baij2.c
MatMultHermitianTransposeAdd_ConstantDiagonal() in src/mat/impls/cdiagonal/cdiagonal.c
MatMultHermitianTransposeAdd_MPIDense() in src/mat/impls/dense/mpi/mpidense.c
MatMultHermitianTransposeAdd_SeqDense() in src/mat/impls/dense/seq/dense.c
MatMultHermitianTransposeAdd_Nest() in src/mat/impls/nest/matnest.c
MatMultHermitianTransposeAdd_ScaLAPACK() in src/mat/impls/scalapack/matscalapack.c
MatMultHermitianTransposeAdd_Shell() in src/mat/impls/shell/shell.c

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