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.c
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