A Block Bidiagonalization Method for Fixed-Accuracy Low-Rank Matrix Approximation
We present randUBV, a randomized algorithm for matrix sketching based on the block Lanzcos bidiagonalization process. Given a matrix $\bf{A}$, it produces a low-rank approximation of the form ${\bf UBV}^T$, where $\bf{U}$ and $\bf{V}$ have orthonormal columns in exact arithmetic and $\bf{B}$ is block bidiagonal. In finite precision, the columns of both ${\bf U}$ and ${\bf V}$ will be close to orthonormal. Our algorithm is closely related to the randQB algorithms of Yu, Gu, and Li (2018) in that the entries of $\bf{B}$ are incrementally generated and the Frobenius norm approximation error may be efficiently estimated. Our algorithm is therefore suitable for the fixed-accuracy problem, and so is designed to terminate as soon as a user input error tolerance is reached. Numerical experiments suggest that the block Lanczos method is generally competitive with or superior to algorithms that use power iteration, even when $\bf{A}$ has significant clusters of singular values.