43
17

Sublinear Time Numerical Linear Algebra for Structured Matrices

Abstract

We show how to solve a number of problems in numerical linear algebra, such as least squares regression, p\ell_p-regression for any p1p \geq 1, low rank approximation, and kernel regression, in time T(A)\poly(log(nd))T(A) \poly(\log(nd)), where for a given input matrix ARn×dA \in \mathbb{R}^{n \times d}, T(A)T(A) is the time needed to compute AyA\cdot y for an arbitrary vector yRdy \in \mathbb{R}^d. Since T(A)O(\nnz(A))T(A) \leq O(\nnz(A)), where \nnz(A)\nnz(A) denotes the number of non-zero entries of AA, the time is no worse, up to polylogarithmic factors, as all of the recent advances for such problems that run in input-sparsity time. However, for many applications, T(A)T(A) can be much smaller than \nnz(A)\nnz(A), yielding significantly sublinear time algorithms. For example, in the overconstrained (1+ϵ)(1+\epsilon)-approximate polynomial interpolation problem, AA is a Vandermonde matrix and T(A)=O(nlogn)T(A) = O(n \log n); in this case our running time is n\poly(logn)+\poly(d/ϵ)n \cdot \poly(\log n) + \poly(d/\epsilon) and we recover the results of \cite{avron2013sketching} as a special case. For overconstrained autoregression, which is a common problem arising in dynamical systems, T(A)=O(nlogn)T(A) = O(n \log n), and we immediately obtain n\poly(logn)+\poly(d/ϵ)n \cdot \poly(\log n) + \poly(d/\epsilon) time. For kernel autoregression, we significantly improve the running time of prior algorithms for general kernels. For the important case of autoregression with the polynomial kernel and arbitrary target vector bRnb\in\mathbb{R}^n, we obtain even faster algorithms. Our algorithms show that, perhaps surprisingly, most of these optimization problems do not require much more time than that of a polylogarithmic number of matrix-vector multiplications.

View on arXiv
Comments on this paper