Skip to main content
`Ctrl`+`K`

# 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