The PowerURV algorithm for computing rank-revealing full factorizations
Many applications in scientific computing and data science require the computation of a rank-revealing factorization of a large matrix. In many of these instances the classical algorithms for computing the singular value decomposition are prohibitively computationally expensive. The randomized singular value decomposition can often be helpful, but is not effective unless the numerical rank of the matrix is substantially smaller than the dimensions of the matrix. We introduce a new randomized algorithm for producing rank-revealing factorizations based on existing work by Demmel, Dumitriu and Holtz [Numerische Mathematik, 108(1), 2007] that excels in this regime. The method is exceptionally easy to implement, and results in close-to optimal low-rank approximations to a given matrix. The vast majority of floating point operations are executed in level-3 BLAS, which leads to high computational speeds. The performance of the method is illustrated via several numerical experiments that directly compare it to alternative techniques such as the column pivoted QR factorization, or the QLP method by Stewart.
READ FULL TEXT