BVMatMult#

Computes the matrix-vector product for each column, Y=A*V.

Synopsis#

#include "slepcbv.h" 
PetscErrorCode BVMatMult(BV V,Mat A,BV Y)

Neighbor-wise Collective

Input Parameters#

  • V - basis vectors context

  • A - the matrix

Output Parameter#

  • Y - the result

Notes#

Both V and Y must be distributed in the same manner. Only active columns (excluding the leading ones) are processed. In the result Y, columns are overwritten starting from the leading ones. The number of active columns in V and Y should match, although they need not be the same columns.

It is possible to choose whether the computation is done column by column or as a Mat-Mat product, see BVSetMatMultMethod().

See Also#

BVCopy(), BVSetActiveColumns(), BVMatMultColumn(), BVMatMultTranspose(), BVMatMultHermitianTranspose(), BVSetMatMultMethod()

Level#

beginner

Location#

src/sys/classes/bv/interface/bvops.c

Implementations#

BVMatMult_Contiguous() in src/sys/classes/bv/impls/contiguous/contig.c
BVMatMult_Mat() in src/sys/classes/bv/impls/mat/bvmat.c
BVMatMult_Svec() in src/sys/classes/bv/impls/svec/svec.c
BVMatMult_Vecs() in src/sys/classes/bv/impls/vecs/vecs.c


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