Skip to main content
`Ctrl`+`K`

# BVMultVec

Computes \(y = \beta y + \alpha X q\).

## Synopsis

    #include "slepcbv.h"
    PetscErrorCode BVMultVec(BV X,PetscScalar alpha,PetscScalar beta,Vec y,PetscScalar q[])

Logically Collective

## Input Parameters

- X - a basis vectors object

- alpha - first scalar

- beta - second scalar

- y - a vector (modified on output)

- q - an array of scalars

## Notes

This operation is the analogue of `BVMult()` but with a `BV` and a `Vec`, instead of two `BV`s. Note that arguments are listed in different order with respect to `BVMult()`.

If `X` has leading columns specified, then these columns do not participate in the computation.

The length of array `q` must be equal to the number of active columns of `X` minus the number of leading columns, i.e., the first entry of `q` multiplies the first non-leading column.

## See Also

BV: Basis Vectors, `BVMult()`, `BVMultColumn()`, `BVMultInPlace()`, `BVSetActiveColumns()`

## Level

intermediate

## Location

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

## Implementations

BVMultVec_Contiguous() in src/sys/classes/bv/impls/contiguous/contig.c
BVMultVec_Mat() in src/sys/classes/bv/impls/mat/bvmat.c
BVMultVec_Svec() in src/sys/classes/bv/impls/svec/svec.c
BVMultVec_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