Computing rank-revealing factorizations of matrices stored out-of-core

by   Nathan Heavner, et al.

This paper describes efficient algorithms for computing rank-revealing factorizations of matrices that are too large to fit in RAM, and must instead be stored on slow external memory devices such as solid-state or spinning disk hard drives (out-of-core or out-of-memory). Traditional algorithms for computing rank revealing factorizations, such as the column pivoted QR factorization, or techniques for computing a full singular value decomposition of a matrix, are very communication intensive. They are naturally expressed as a sequence of matrix-vector operations, which become prohibitively expensive when data is not available in main memory. Randomization allows these methods to be reformulated so that large contiguous blocks of the matrix can be processed in bulk. The paper describes two distinct methods. The first is a blocked version of column pivoted Householder QR, organized as a "left-looking" method to minimize the number of write operations (which are more expensive than read operations on a spinning disk drive). The second method results in a so called UTV factorization which expresses a matrix A as A = U T V^* where U and V are unitary, and T is triangular. This method is organized as an algorithm-by-blocks, in which floating point operations overlap read and write operations. The second method incorporates power iterations, and is exceptionally good at revealing the numerical rank; it can often be used as a substitute for a full singular value decomposition. Numerical experiments demonstrate that the new algorithms are almost as fast when processing data stored on a hard drive as traditional algorithms are for data stored in main memory. To be precise, the computational time for fully factorizing an n× n matrix scales as cn^3, with a scaling constant c that is only marginally larger when the matrix is stored out of core.


page 1

page 2

page 3

page 4


The PowerURV algorithm for computing rank-revealing full factorizations

Many applications in scientific computing and data science require the c...

Efficient algorithms for computing a rank-revealing UTV factorization on parallel computing architectures

The randomized singular value decomposition (RSVD) is by now a well esta...

Efficient algorithms for computing rank-revealing factorizations on a GPU

Standard rank-revealing factorizations such as the singular value decomp...

Randomized Projection for Rank-Revealing Matrix Factorizations and Low-Rank Approximations

Rank-revealing matrix decompositions provide an essential tool in spectr...

New robust ScaLAPACK routine for computing the QR factorization with column pivoting

In this note we describe two modifications of the ScaLAPACK subroutines ...

Deviation Maximization for Rank-Revealing QR Factorizations

In this paper we introduce a new column selection strategy, named here “...

Out-of-core singular value decomposition

Singular value decomposition (SVD) is a standard matrix factorization te...

Please sign up or login with your details

Forgot password? Click here to reset