slepc-3.7.3 2016-09-29
Report Typos and Errors

# BVMult

Computes Y = beta*Y + alpha*X*Q.

### Synopsis

    #include "slepcbv.h"
    PetscErrorCode BVMult(BV Y,PetscScalar alpha,PetscScalar beta,BV X,Mat Q)

Logically Collective on BV

### Input Parameters

| Y,X | - basis vectors
| alpha,beta | - scalars
| Q | - (optional) sequential dense matrix

### Output Parameter

| Y | - the modified basis vectors

### Notes

X and Y must be different objects. The case X=Y can be addressed with BVMultInPlace().

If matrix Q is NULL, then an AXPY operation Y = beta*Y + alpha*X is done (i.e. results as if Q = identity). If provided, the matrix Q must be a sequential dense Mat, with all entries equal on all processes (otherwise each process will compute a different update). The dimensions of Q must be at least m,n where m is the number of active columns of X and n is the number of active columns of Y.

The leading columns of Y are not modified. Also, if X has leading columns specified, then these columns do not participate in the computation. Hence, only rows (resp. columns) of Q starting from lx (resp. ly) are used, where lx (resp. ly) is the number of leading columns of X (resp. Y).

### See Also

BVMultVec(), BVMultColumn(), BVMultInPlace(), BVSetActiveColumns()

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