slepc3.21.1 20240426
BVTensorCompress
Updates the U and S factors of the tensor basis vectors object V by means of an SVD, removing redundant information.
Synopsis
#include "slepcbv.h"
PetscErrorCode BVTensorCompress(BV V,PetscInt newc)
Collective
Input Parameters
 V   the tensor basis vectors context

 newc   additional columns to be locked

Notes
This function is typically used when restarting Krylov solvers. Truncating a
tensor BV V = (I otimes U) S to its leading columns amounts to keeping the
leading columns of S. However, to effectively reduce the size of the
decomposition, it is necessary to compress it in a way that fewer columns of
U are employed. This can be achieved by means of an update that involves the
SVD of the lowrank matrix [S_0 S_1 ... S_{d1}], where S_i are the pieces of S.
If newc is nonzero, then newc columns are added to the leading columns of V.
This means that the corresponding columns of the U and S factors will remain
invariant in subsequent operations.
See Also
BVCreateTensor(), BVSetActiveColumns()
Level
advanced
Location
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