#include "slepcbv.h" PetscErrorCode BVSVDAndRank(BV S,PetscInt m,PetscInt l,PetscReal delta,BVSVDMethod meth,PetscScalar *A,PetscReal *sigma,PetscInt *rank)Collective
S | - the basis vectors | |
m | - the moment degree | |
l | - the block size | |
delta | - the tolerance used to determine the rank | |
meth | - the method to be used |
A | - workspace, on output contains relevant values in the CAA method | |
sigma | - computed singular values | |
rank | - estimated rank (optional) |
The parameters m and l refer to the moment and block size of contour integral methods. All columns up to m*l are modified, and the active columns are set to 0..m*l.
The method is one of BV_SVD_METHOD_REFINE, BV_SVD_METHOD_QR, BV_SVD_METHOD_QR_CAA.
The A workspace should be m*l*m*l in size.
Once the decomposition is computed, the numerical rank is estimated by counting the number of singular values that are larger than the tolerance delta, relative to the first singular value.