vix.ing · top · new · best · stats

Fast monte-carlo algorithms for finding low-rank approximations

2004/11/01 by Alan Frieze, Ravi Kannan, Santosh Vempala · 512 citations
Computer Science · Engineering · Mathematics · #Algorithm #Combinatorics #Discrete mathematics #Hankel matrix #Low-rank approximation #Mathematical analysis #Mathematics #Matrix (chemical analysis) #Matrix norm #Matrix polynomial #Monte Carlo method #Polynomial #Polynomial matrix #Randomized algorithm #Rank (graph theory) #Singular value #Singular value decomposition #Sparse and Compressive Sensing Techniques #Statistics #Stochastic Gradient Optimization Techniques #Tensor decomposition and applications #Time complexity

paper · doi:10.1145/1039488.1039494

published in Journal of the ACM 51(6), 1025-1041 (Association for Computing Machinery)

openalex publication_date 2004/11/01 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/25

Abstract

We consider the problem of approximating a given m × n matrix A by another matrix of specified rank k , which is smaller than m and n . The Singular Value Decomposition (SVD) can be used to find the "best" such approximation. However, it takes time polynomial in m, n which is prohibitive for some modern applications. In this article, we develop an algorithm that is qualitatively faster, provided we may sample the entries of the matrix in accordance with a natural probability distribution. In many applications, such sampling can be done efficiently. Our main result is a randomized algorithm to find the description of a matrix D * of rank at most k so that holds with probability at least 1 − δ (where |·| F is the Frobenius norm). The algorithm takes time polynomial in k ,1/ϵ, log(1/δ) only and is independent of m and n . In particular, this implies that in constant time, it can be determined if a given matrix of arbitrary size has a good low-rank approximation.

Citations

Cited by

Related