Skip to main content
`Ctrl`+`K`

# BVDotVec

Computes multiple dot products of a vector against all the column vectors of a `BV`.

## Synopsis

    #include "slepcbv.h"
    PetscErrorCode BVDotVec(BV X,Vec y,PetscScalar m[])

Collective

## Input Parameters

- X - basis vectors

- y - a vector

## Output Parameter

- m - an array where the result must be placed

## Notes

This is analogue to `VecMDot()`, but using `BV` to represent a collection of vectors. The result is \(m = X^*y\), so \(m_i\) is equal to \(x_i^* y\). Note that here `X` is transposed as opposed to `BVDot()`.

If a non-standard inner product has been specified with `BVSetMatrix()`, then the result is \(m = X^*By\).

The length of array `m` must be equal to the number of active columns of `X` minus the number of leading columns, i.e., the first entry of `m` is the product of the first non-leading column with `y`.

## See Also

BV: Basis Vectors, `BVDot()`, `BVDotColumn()`, `BVSetActiveColumns()`, `BVSetMatrix()`

## Level

intermediate

## Location

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

## Implementations

BVDotVec_Contiguous() in src/sys/classes/bv/impls/contiguous/contig.c
BVDotVec_Mat() in src/sys/classes/bv/impls/mat/bvmat.c
BVDotVec_Svec() in src/sys/classes/bv/impls/svec/svec.c
BVDotVec_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