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

# BVDot

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

### Synopsis

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

Collective

### Input Parameters

| X | - first basis vectors
| Y | - second basis vectors

### Output Parameter

| M | - the resulting matrix

### Notes

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()

### Level

intermediate

### Location

src/sys/classes/bv/interface/bvglobal.c
Index of all BV routines
Table of Contents for all manual pages
Index of all manual pages