BVMultInPlace#

Update a set of vectors as \(V_{:,s:e-1} = V Q_{:,s:e-1}\).

Synopsis#

#include "slepcbv.h" 
PetscErrorCode BVMultInPlace(BV V,Mat Q,PetscInt s,PetscInt e)

Logically Collective

Input Parameters#

  • Q - a sequential dense matrix

  • s - first column of V to be overwritten

  • e - first column of V not to be overwritten

Input/Output Parameter#

  • V - basis vectors

Notes#

The matrix Q must be a sequential dense Mat, with all entries equal on all processes (otherwise each process will compute a different update).

This function computes \(V_{:,s:e-1} = V Q_{:,s:e-1}\), that is, given a set of vectors \(V\), columns from \(s\) to \(e-1\) are overwritten with columns from \(s\) to \(e-1\) of the matrix-matrix product \(V Q\). Only columns \(s\) to \(e-1\) of Q are referenced.

See Also#

BV: Basis Vectors, BVMult(), BVMultVec(), BVMultInPlaceHermitianTranspose(), BVSetActiveColumns()

Level#

intermediate

Location#

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

Implementations#

BVMultInPlace_Contiguous() in src/sys/classes/bv/impls/contiguous/contig.c
BVMultInPlace_Mat() in src/sys/classes/bv/impls/mat/bvmat.c
BVMultInPlace_Svec() in src/sys/classes/bv/impls/svec/svec.c
BVMultInPlace_Tensor() in src/sys/classes/bv/impls/tensor/bvtensor.c


Index of all BV routines Table of Contents for all manual pages Index of all manual pages