Hostname: page-component-74656f9884-kv2lp Total loading time: 0 Render date: 2026-11-05T08:46:22.822Z Has data issue: false hasContentIssue false

Randomized numerical linear algebra: Foundations and algorithms

Published online by Cambridge University Press:  30 November 2020

Per-Gunnar Martinsson
Affiliation:
Department of Mathematics, University of Texas at Austin Austin, TX 78712, USA E-mail: pgm@oden.utexas.edu
Joel A. Tropp
Affiliation:
Computing & Mathematical Sciences, California Institute of Technology Pasadena, CA 91125, USA E-mail: jtropp@cms.caltech.edu
Rights & Permissions [Opens in a new window]

Abstract

This survey describes probabilistic algorithms for linear algebraic computations, such as factorizing matrices and solving linear systems. It focuses on techniques that have a proven track record for real-world problems. The paper treats both the theoretical foundations of the subject and practical computational issues.

Topics include norm estimation, matrix approximation by sampling, structured and unstructured random embeddings, linear regression problems, low-rank approximation, subspace iteration and Krylov methods, error estimation and adaptivity, interpolatory and CUR factorizations, Nyström approximation of positive semidefinite matrices, single-view (‘streaming’) algorithms, full rank-revealing factorizations, solvers for linear systems, and approximation of kernel matrices that arise in machine learning and in scientific computing.

Information

Type
Research Article
Copyright
© The Author(s), 2020. Published by Cambridge University Press
Figure 0

Figure 16.1 Computational times required for column-pivoted QR (CPQR) and unpivoted QR (QR) of an $n\times n$ real matrix using MATLAB on an Intel i7-8700k CPU. We see that the unpivoted factorization is an order of magnitude faster, despite having the identical asymptotic flop count. The graph also shows the times required for the randomized rank-revealing factorization described in Section 16.4, executed both on a CPU (solid lines) and an Nvidia Titan V GPU (dashed lines).

Figure 1

Figure 16.2 The rank-revealing ability of CPQR and powerURV for different values of the power parameter q, as discussed in Section 16.3. The error $e_{k} = \|\mathbf {\mathsf {A}} - \mathbf {\mathsf {U}}({:,} 1:k)\mathbf {\mathsf {R}}(1:k,:)\mathbf {\mathsf {V}}^{*}\|$ (see (16.2)) is plotted versus k for three different matrices $\mathbf {\mathsf {A}}$ of size $400\times 400$. The black lines plot the theoretical minimal values $\sigma _{k+1}$. (a) A matrix whose singular values decay rapidly; we see that all methods perform well. (b) A matrix whose singular values plateau; we see that CPQR performs poorly, and so does the randomized method unless powering is used. (c) A discretized boundary integral operator whose singular values decay slowly; we again see the high precision of powerURV for $q=1$ and $q=2$.

Figure 2

Figure 16.3 The figure shows the sparsity pattern of a $4\times 3$ matrix $\mathbf {\mathsf {A}}$ as it is driven to upper-triangular form in the column-pivoted QR factorization algorithm described in Section 16.5. The process takes three steps in this case, and step j involves the application of a permutation matrix $\mathbf {{\Pi }}_{j}$ from the right, and by a Householder reflector $\mathbf {\mathsf {Q}}_{j}$ from the left.

Figure 3

Figure 16.4 The sparsity pattern of a matrix $\mathbf {\mathsf {A}}$ consisting of $4\times 3$ blocks, each of size $3\times 3$, as it undergoes the blocked version of the Householder QR algorithm described in Section 16.6. Each matrix $\mathbf {\mathsf {Q}}_{j}$ is a product of three Householder reflectors. The difficulty in building an algorithm of this type is to find groups of pivot vectors before applying the corresponding Householder reflectors.

Figure 4

Figure 16.5 Speedup of the randomized algorithm for computing a column-pivoted QR decomposition described in Section 16.6, relative to LAPACK’s faster routine (dgeqp3) as implemented in the Intel MKL library (version 11.2.3), running on an Intel Xeon E5-2695 v3 processor.

Figure 5

Figure 16.6 Sparsity pattern of a matrix being driven to upper-triangular form in the randomized URV factorization algorithm described in Section 16.7; see Figure16.4. The matrices $\mathbf {\mathsf {U}}_{i}$ and $\mathbf {\mathsf {V}}_{i}$ are now more general unitary transforms (consisting in the bulk of Householder reflectors). The entries shown as grey are nonzero, but are typically very small in magnitude.

Figure 6

Figure 17.1 The eigenvalues of four different PD matrices that all have condition number $10$ (since $\lambda _{\textrm {max}}=1$ and $\lambda _{\textrm {min}}=0.1$). As discussed in Section 17.3, the difficulty of solving the corresponding linear systems using conjugate gradients differ significantly between these cases. (a) For this matrix, CG converges in two iterations, without the need for preconditioners. (b) When the spectrum has some large outliers, the randomized preconditioner outlined in Section 17.3 works well. (c, d) Finding randomized preconditioners for matrices with spectra like these remains an open research problem.

Figure 7

Figure 18.1 A combinatorial graph. The Ursa Major graph with a distinguished vertex (the star Megrez) highlighted in red.

Figure 8

Figure 18.2 Illustration of a star and clique in the Ursa Major graph. (a) The star induced by the red vertex consists of the three solid black edges. (b) The clique induced by the red vertex consists of the three solid black edges. These edges are added when the red vertex is eliminated.

Figure 9

Figure 20.1 The geometry discussed in Section 20.2: a box $D $ holding points $\{\mathbf {\mathsf {x}}_{i}\}_{i=1}^{n}$ (the blue, red and grey dots) that define a kernel matrix $\mathbf {\mathsf {K}}(i,j) = k(\mathbf {\mathsf {x}}_{i},\mathbf {\mathsf {x}}_{j})$. The regions $D _{\mathrm {s}}$ (the red box) and $D _{\textrm {t}}$ (the blue box) are separated enough that $k(\mathbf {\mathsf {x}},\mathbf {\mathsf {y}})$ is smooth when $\mathbf {\mathsf {x}} \in D _{\textrm {t}}$ and $\mathbf {\mathsf {y}} \in D _{\mathrm {s}}$. In consequence, $\mathbf {\mathsf {K}}(I_{\textrm {t}},I_{\mathrm {s}})$ has low numerical rank, where $I_{\mathrm {s}}$ identifies the red points and $I_{\textrm {t}}$ the blue.

Figure 10

Figure 20.2 (a) A binary tree with three levels; see Section 20.4. Each node $\tau $ in the tree owns an index vector $I_{\tau }$ that is a subset of the full index vector $I = 1:n$. For the root node, we set $I_{1} = I$. Each split in the tree represents a disjoint partition of the corresponding index vectors, so that, for example, $I_1 = I_2 \cup I_3$ and $I_7 = I_{14} \cup I_{15}$. (b) A matrix $\mathbf {\mathsf {K}}$ tessellated according to the tree shown in (a).

Figure 11

Figure 20.3(a) First step of the ‘peeling algorithm’ for computing a HODLR representation of a matrix described in Section 20.5, as applied to the matrix shown in Figure 20.2. The sibling interaction matrices $\mathbf {\mathsf {K}}_{2,3}$ and $\mathbf {\mathsf {K}}_{3,2}$ on level 1, shown in red, are compressed. The blue blocks are populated by Gaussian random matrices, and the corresponding samples are collected from the green matrices.

Figure 12

Figure 20.3(b) Second step of the ‘peeling algorithm’. The four sibling interaction matrices on level 2, shown in red, are compressed. In this step, we exploit that we now possess factorizations of the grey blocks.

Figure 13

Figure 20.3(c) Third step of the ‘peeling algorithm’. The eight sibling interaction matrices on level 8, shown in red, are compressed. We again exploit that we possess factorizations of the grey blocks.

Figure 14

Figure 20.4 Illustration of the butterfly rank-structured matrix format described in Section 20.7. The figures show the blocks that must all be of numerically low rank for a butterfly matrix arising from a binary tree with 16 leaf nodes.