slepc-3.21.1 2024-04-26
Report Typos and Errors


Computes the 'block-dot' product of two basis vectors objects.


#include "slepcbv.h" 
PetscErrorCode BVDot(BV X,BV Y,Mat M)

Input Parameters

X  - first basis vectors
Y  - second basis vectors

Output Parameter

M  - the resulting matrix


This is the generalization of VecDot() for a collection of vectors, M = Y^H*X. The result is a matrix M whose entry m_ij is equal to y_i^H x_j (where y_i^H denotes the conjugate transpose of y_i).

If a non-standard inner product has been specified with BVSetMatrix(), then the result is M = Y^H*B*X. In this case, both X and Y must have the same associated matrix.

On entry, M must be a sequential dense Mat with dimensions m,n at least, where m is the number of active columns of Y and n is the number of active columns of X. Only rows (resp. columns) of M starting from ly (resp. lx) are computed, where ly (resp. lx) is the number of leading columns of Y (resp. X).

X and Y need not be different objects.

See Also

BVDotVec(), BVDotColumn(), BVSetActiveColumns(), BVSetMatrix()





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