English

Out-of-core singular value decomposition

Mathematical Software 2019-07-16 v1 Numerical Analysis Numerical Analysis

Abstract

Singular value decomposition (SVD) is a standard matrix factorization technique that produces optimal low-rank approximations of matrices. It has diverse applications, including machine learning, data science and signal processing. However, many common problems involve very large matrices that cannot fit in the main memory of commodity computers, making it impractical to use standard SVD algorithms that assume fast random access or large amounts of space for intermediate calculations. To address this issue, we have implemented an out-of-core (external memory) randomized SVD solution that is fully scalable and efficiently parallelizable. This solution factors both dense and sparse matrices of arbitrarily large size within arbitrarily small memory limits, efficiently using out-of-core storage as needed. It uses an innovative technique for partitioning matrices that lends itself to out-of-core and parallel processing, as well as memory and I/O use planning, automatic load balancing, performance tuning, and makes possible a number of other practical enhancements to the current state-of-the-art. Furthermore, by using persistent external storage (generally HDDs or SSDs), users can resume interrupted operations without having to recalculate previously performed steps, solving a major practical problem in factoring very large matrices.

Keywords

Cite

@article{arxiv.1907.06470,
  title  = {Out-of-core singular value decomposition},
  author = {Vadim Demchik and Miroslav Bačák and Stefan Bordag},
  journal= {arXiv preprint arXiv:1907.06470},
  year   = {2019}
}

Comments

11 pages, 4 figures

R2 v1 2026-06-23T10:21:07.937Z