MatADot#

Computes the inner product with respect to a matrix, i.e., \((x, y)_A = y^H A x\) where \(A\) is symmetric (Hermitian when using complex) positive definite.

Synopsis#

#include "petscmat.h" 
PetscErrorCode MatADot(Mat mat, Vec x, Vec y, PetscScalar *val)

Collective

Input Parameters#

  • mat - matrix used to define the inner product

  • x - first vector

  • y - second vector

Output Parameter#

  • val - the dot product with respect to A

Note#

For complex vectors, MatADot() computes

$val = (x,y)_A = y^H A x,
$where $y^H$ denotes the conjugate transpose of `y`. Note that this corresponds to the "mathematicians" complex

inner product where the SECOND argument gets the complex conjugate.

See Also#

Matrices, Mat, MatANorm(), VecDot(), VecNorm(), MatMult(), MatMultAdd(), MatMultTransposeAdd()

Level#

intermediate

Location#

src/mat/interface/matrix.c


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