A Randomized Blocked Algorithm for Efficiently Computing Rank revealing Factorizations of Matrices
This manuscript describes a technique for computing partial rank revealing factorizations, such as, e.g, a partial QR factorization or a partial singular value decomposition. The method takes as input a tolerance \varepsilon$ and an $m\times n$ matrix $A$ and returns an approximate low rank factorization of $A$ that is accurate to within precision \varepsilon$ in the Frobenius norm (or some other easily computed norm) The rank $k$ of the computed factorization (which is an output of the algorithm) is in all examples we examined very close to the theoretically optimal \varepsilon$ rank. The proposed method is inspired by the Gram Schmidt algorithm, and has the same $O(mnk) asymptotic flop count. However, the method relies on randomized sampling to avoid column pivoting, which allows it to be blocked, and hence accelerates practical computations by reducing communication. Numerical experiments demonstrate that the accuracy of the scheme is for every matrix that was tried at least as good as column pivoted QR, and is sometimes much better. Computational speed is also improved substantially, in particular on GPU architectures.
SIAM J. Sci. Comput.