slepc-3.6.3 2016-03-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 - a 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().

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