Direct QR factorizations for tall-and-skinny matrices in MapReduce architectures
arXiv:1301.1071 · doi:10.1109/BigData.2013.6691583
Abstract
The QR factorization and the SVD are two fundamental matrix decompositions with applications throughout scientific computing and data analysis. For matrices with many more rows than columns, so-called "tall-and-skinny matrices," there is a numerically stable, efficient, communication-avoiding algorithm for computing the QR factorization. It has been used in traditional high performance computing and grid computing environments. For MapReduce environments, existing methods to compute the QR decomposition use a numerically unstable approach that relies on indirectly computing the Q factor. In the best case, these methods require only two passes over the data. In this paper, we describe how to compute a stable tall-and-skinny QR factorization on a MapReduce architecture in only slightly more than 2 passes over the data. We can compute the SVD with only a small change and no difference in performance. We present a performance comparison between our new direct TSQR method, a standard unstable implementation for MapReduce (Cholesky QR), and the classic stable algorithm implemented for MapReduce (Householder QR). We find that our new stable method has a large performance advantage over the Householder QR method. This holds both in a theoretical performance model as well as in an actual implementation.
References in corpus (1)
Cited by in corpus (10)
- Era of Big Data Processing: A New Approach via Tensor Networks and Tensor Decompositions
- Characterizing Magnetized Plasmas with Dynamic Mode Decomposition
- Compressed Nonnegative Matrix Factorization is Fast and Accurate
- Random projections for Bayesian regression
- Model Reduction with MapReduce-enabled Tall-and-Skinny Singular Value Decomposition
- Dimension Independent Matrix Square using MapReduce
- Scalable methods for nonnegative matrix factorizations of near-separable tall-and-skinny matrices
- Matrix Computations and Optimization in Apache Spark
- Parallel algorithms for computing the tensor-train decomposition
- A parallel implementation of reduced-order modeling of large-scale systems