slepc-3.21.1 2024-04-26
Report Typos and Errors


Updates the U and S factors of the tensor basis vectors object V by means of an SVD, removing redundant information.


#include "slepcbv.h" 
PetscErrorCode BVTensorCompress(BV V,PetscInt newc)

Input Parameters

V  - the tensor basis vectors context
newc  - additional columns to be locked


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 low-rank matrix [S_0 S_1 ... S_{d-1}], 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()





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