A randomized algorithm for principal component analysis
Vladimir Rokhlin, Arthur Szlam, Mark Tygert
Introduction
Principal component analysis (PCA) is among the most widely used techniques in statistics, data analysis, and data mining. PCA is the basis of many machine learning methods, including the latent semantic analysis of large databases of text and HTML documents described in . Computationally, PCA amounts to the low-rank approximation of a matrix containing the data being analyzed. The present article describes an algorithm for the low-rank approximation of matrices, suitable for PCA. This paper demonstrates both theoretically and via numerical examples that the algorithm efficiently produces low-rank approximations whose accuracies are very close to the best possible.
The canonical construction of the best possible rank- approximation to a real matrix uses the singular value decomposition (SVD) of ,
where is a real unitary matrix, is a real unitary matrix, and is a real matrix whose only nonzero entries appear in nonincreasing order on the diagonal and are nonnegative. The diagonal entries , , …, , of are known as the singular values of . The best rank- approximation to , with and , is
where is the greatest singular value of . For more information about the SVD, see, for example, Chapter 8 in .
where is the spectral norm of , and is the greatest singular value of (see, for example, Chapter 5 in ). Furthermore, the algorithms of require only about flops to produce a rank- approximation that (unlike an approximation produced by a pivoted -decomposition) has been guaranteed to satisfy a bound nearly as strong as (4).
While the accuracy in (4) is sufficient for many applications of low-rank approximation, PCA often involves 10,000, and a “signal-to-noise ratio” , where is the greatest singular value of , and is the greatest. Moreover, the singular values often arise from noise in the process generating the data in , making the singular values of decay so slowly that . When 10,000, , and , the rank- approximation produced by a pivoted -decomposition algorithm typically satisfies — the “approximation” is effectively unrelated to the matrix being approximated! For large matrices whose “signal-to-noise ratio” is less than 10,000, the factor in (4) may be unacceptable. Now, pivoted -decomposition algorithms are not the only algorithms which can compute a rank- approximation using flops. However, other algorithms, such as those of , , , , , , , , , , , , , , , , , , , , , , , , , , , and , also yield accuracies involving factors of at least when the singular values , , , … of decay slowly. (The decay is rather slow if, for example, for , , , …, with . Many of these other algorithms are designed to produce approximations having special properties not treated in the present paper, and their spectral-norm accuracy is good when the singular values decay sufficiently fast. Fairly recent surveys of algorithms for low-rank approximation are available in , , and .)
The algorithm described in the present paper produces a rank- approximation to such that
The algorithm of the present paper is randomized, but succeeds with very high probability; for example, the bound (46) on its accuracy holds with probability greater than . The algorithm is similar to many recently discussed randomized algorithms for low-rank approximation, but produces approximations of higher accuracy when the singular values , , , … of the matrix being approximated decay slowly; see, for example, or . The algorithm is a variant of that in , and the analysis of the present paper should extend to the algorithm of ; stimulated the authors’ collaboration. The algorithm may be regarded as a generalization of the randomized power methods of and , and in fact we use the latter to ascertain the approximations’ accuracy rapidly and reliably.
The algorithm admits obvious “out-of-core” and parallel implementations (assuming that the user chooses the parameter in (5) to be reasonably small). As with the algorithms of , , , , , , and , the core steps of the algorithm of the present paper involve the application of the matrix being approximated and its transpose to random vectors. The algorithm is more efficient when and can be applied rapidly to arbitrary vectors, such as when is sparse.
Throughout the present paper, we use to denote an identity matrix. We use to denote a matrix whose entries are all zeros. For any matrix , we use to denote the spectral norm of , that is, is the greatest singular value of . Furthermore, the entries of all matrices in the present paper are real valued, though the algorithm and analysis extend trivially to matrices whose entries are complex valued.
The present paper has the following structure: Section 2 collects together various known facts which later sections utilize. Section 3 provides the principal lemmas used in bounding the accuracy of the algorithm in Section 4. Section 4 describes the algorithm of the present paper. Section 5 illustrates the performance of the algorithm via several numerical examples. The appendix, Section 6, proves two lemmas stated earlier in Section 3. We encourage the reader to begin with Sections 4 and 5, referring back to the relevant portions of Sections 2 and 3 as they are referenced.
Preliminaries
In this section, we summarize various facts about matrices and functions. Subsection 2.1 discusses the singular values of arbitrary matrices. Subsection 2.2 discusses the singular values of certain random matrices. Subsection 2.3 observes that a certain function is monotone.
The following trivial technical lemma will be needed in Section 3.
Suppose that and are positive integers with . Suppose further that is a real matrix such that the least (that is, the greatest) singular value of is nonzero.
The following lemma states that the greatest singular value of a matrix is at least as large as the greatest singular value of any rectangular block of entries in ; the lemma is a straightforward consequence of the minimax properties of singular values (see, for example, Section 47 of Chapter 2 in ).
Suppose that , , , and are positive integers with and . Suppose further that is a real matrix, and is a rectangular block of entries in .
Then, the greatest singular value of is at most the greatest singular value of .
The following classical lemma provides an approximation to an matrix via an matrix whose columns are orthonormal, and a matrix . As remarked in Observation 4, the proof of this lemma provides a classic algorithm for computing and , given . We include the proof since we will be using this algorithm.
Suppose that , , and are positive integers with , and is a real matrix.
Then, there exist a real matrix whose columns are orthonormal, and a real matrix , such that
where is the greatest singular value of .
where is a real matrix whose columns are orthonormal, is a real matrix whose columns are orthonormal, and is a real diagonal matrix, such that
for , , …, , , where is the entry in row and column of , and is the greatest singular value of . We define to be the leftmost block of , and to be the rightmost block of , so that
We define to be the uppermost block of , and to be the lowermost block of , so that
Combining (8), (9), (10), (11), and the fact that the columns of are orthonormal, as are the columns of , yields (7). ∎
In order to compute the matrices and in (7) from the matrix , we can construct (8), and then form and according to (10) and (11). (See, for example, Chapter 8 in for details concerning the computation of the SVD.)
2 Singular values of random matrices
The following lemma provides a highly probable upper bound on the greatest singular value of a square matrix whose entries are independent, identically distributed (i.i.d.) Gaussian random variables of zero mean and unit variance; Formula 8.8 in provides an equivalent formulation of the lemma.
Suppose that is a positive integer, is a real matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, and is a positive real number, such that and
Then, the greatest singular value of is at most with probability not less than the amount in (12).
Combining Lemmas 2 and 5 yields the following lemma, providing a highly probable upper bound on the greatest singular value of a rectangular matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance.
Suppose that , , and are positive integers with and . Suppose further that is a real matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, and is a positive real number, such that and (12) is nonnegative.
Then, the greatest singular value of is at most with probability not less than the amount in (12).
The following lemma provides a highly probable lower bound on the least singular value of a rectangular matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance; Formula 2.5 in and the proof of Lemma 4.1 in together provide an equivalent formulation of Lemma 7.
Suppose that and are positive integers with . Suppose further that is a real matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, and is a positive real number, such that
Then, the least (that is, the greatest) singular value of is at least with probability not less than the amount in (13).
3 A monotone function
The following technical lemma will be needed in Section 4.
Suppose that is a nonnegative real number, and is the function defined on via the formula
Then, decreases monotonically for .
for any positive real number . The right-hand side of (15) is negative when . ∎
Mathematical apparatus
In this section, we provide lemmas to be used in Section 4 in bounding the accuracy of the algorithm of the present paper.
The following lemma, proven in the appendix (Section 6), shows that the product of matrices , , and is a good approximation to a matrix , provided that there exist matrices and such that
is a good approximation to , and
there exists a matrix such that is not too large, and is a good approximation to .
Suppose that , , , , and are positive integers with . Suppose further that is a real matrix, is a real matrix whose columns are orthonormal, is a real matrix, is a real matrix, and is a real matrix.
The following lemma, proven in the appendix (Section 6), states that, for any positive integer , matrix , and matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, with very high probability there exists a matrix with a reasonably small norm, such that is a good approximation to . This lemma is similar to Lemma 19 of .
Suppose that , , , , , and are positive integers with . Suppose further that is a real matrix, is a real matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, and and are positive real numbers, such that the greatest singular value of is positive, , and
Then, there exists a real matrix such that
with probability not less than defined in (17), where is the greatest singular value of , is the greatest singular value of , and is the greatest singular value of .
Given a matrix , and a matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, the following lemma provides a highly probable upper bound on the singular values of the product in terms of the singular values of . This lemma is reproduced from , where it appears as Lemma 20.
Suppose that , , , , and are positive integers with , such that and . Suppose further that is a real matrix, is a real matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, and is a positive real number, such that and
with probability not less than defined in (20), where is the greatest singular value of , is the greatest singular value of , and is the greatest singular value of .
The following corollary follows immediately from the preceding lemma, by replacing the matrix with , the integer with , and the integer with .
Suppose , , , , , and are positive integers with . Suppose further that is a real matrix, is a real matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, and is a positive real number, such that and
with probability not less than defined in (22), where is the greatest singular value of , is the greatest singular value of , and is the greatest singular value of .
Description of the algorithm
In this section, we describe the algorithm of the present paper, providing details about its accuracy and computational costs. Subsection 4.1 describes the basic algorithm. Subsection 4.2 tabulates the computational costs of the algorithm. Subsection 4.3 describes a complementary algorithm. Subsection 4.4 describes a computationally more expensive variant that is somewhat more accurate and tolerant to roundoff.
Suppose that , , , and are positive integers with , and is a real matrix. In this subsection, we will construct an approximation to an SVD of such that
with very high probability, where is a real matrix whose columns are orthonormal, is a real matrix whose columns are orthonormal, is a real diagonal matrix whose entries are all nonnegative, is the greatest singular value of , and is a constant independent of that depends on the parameters of the algorithm. (Section 5 will give an empirical indication of the size of , and (46) will give one of our best theoretical estimates to date.)
Intuitively, we could apply to several random vectors, in order to identify the part of its range corresponding to the larger singular values. To enhance the decay of the singular values, we apply instead. Once we have identified most of the range of , we perform several linear-algebraic manipulations in order to recover an approximation to . (It is possible to obtain a similar, somewhat less accurate algorithm by substituting our short, fat matrix for , and for .)
More precisely, we choose an integer such that (for example, ), and make the following five steps:
Using a random number generator, form a real matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, and compute the product matrix
Using an SVD, form a real matrix whose columns are orthonormal, such that there exists a real matrix for which
where is the greatest singular value of . (See Observation 4 for details concerning the construction of such a matrix .)
where is a real matrix whose columns are orthonormal, is a real matrix whose columns are orthonormal, and is a real diagonal matrix whose entries are all nonnegative. (See, for example, Chapter 8 in for details concerning the construction of such an SVD.)
The following theorem states precisely that the matrices , , and satisfy (24). See (46) for a more compact (but less general) formulation.
Suppose that , , , , and are positive integers with and , and is a real matrix. Suppose further that and are positive real numbers such that ,
is nonnegative. Suppose in addition that , , and are the matrices produced via the five-step algorithm of the present subsection, given above.
with probability not less than , where is defined in (32), and is the greatest singular value of .
Observing that , it is sufficient to prove that
with probability , where is the matrix from (26), since combining (34), (27), (28), and (29) yields (33). We now prove (34).
But, it follows from the fact that the columns of are orthonormal that
Combining (36), (37), (38), (35), and (31) yields (34), completing the proof for the case when (35) holds.
For the remainder of the proof, we consider the case when
To prove (34), we will use (16) (which is restated and proven in Lemma 6.19 in the appendix), namely,
for any real matrix , where is from (25), and and are from (26). We now choose an appropriate matrix .
First, we define to be the positive integer such that
where is the greatest singular value of , and is the greatest (such an integer exists due to (39) and the supposition of the theorem that ). We then use the matrix from (18) and (19) associated with this integer , so that (as stated in (18) and (19), which are restated and proven in Lemma 6.21 in the appendix)
with probability not less than defined in (17). Formula (42) bounds the first term in the right-hand side of (40).
To bound the second term in the right-hand side of (40), we observe that , due to (41) and the supposition of the theorem that . Combining (26), (25), (23), and the fact that yields
with probability not less than defined in (22). Combining (43) and (44) yields
with probability not less than defined in (32). The combination of Lemma 8, (30), and the fact that justifies the use of (rather than the used in (17) for ) in the last term in the right-hand side of (32).
Combining (40), (42), (45), (41), (31), and the supposition of the theorem that yields (34), completing the proof. ∎
Choosing , , and in (32) and (33) yields
with probability greater than , where is the greatest singular value of . Numerical experiments (some of which are reported in Section 5) indicate that the factor in the right-hand side of (46) is much greater than necessary.
Above, we permit to be any integer greater than . Stronger theoretical bounds on the accuracy are available when . Indeed, via an analysis similar to the proof of Theorem 13 (using in addition the result stated in the abstract of ), it can be shown that the following six-step algorithm with produces matrices , , and satisfying the bound (33) with its right-hand side reduced by a factor of :
Using a random number generator, form a real matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, and compute the product matrix
Using a pivoted -decomposition algorithm, form a real matrix whose columns are orthonormal, such that there exists a real matrix for which
(See, for example, Chapter 5 in for details concerning the construction of such a matrix .)
2 Computational costs
In this subsection, we tabulate the number of floating-point operations required by the five-step algorithm described in Subsection 4.1 as applied once to a matrix .
The algorithm incurs the following costs in order to compute an approximation to an SVD of :
Forming in (25) requires applying to column vectors, and to column vectors.
Computing in (26) costs .
Forming in (27) requires applying to column vectors.
Computing the SVD (28) of costs .
Forming in (29) costs .
Summing up the costs in Steps 1–5 above, and using the fact that , we conclude that the algorithm of Subsection 4.1 costs
floating-point operations, where is the cost of applying to a real column vector, and is the cost of applying to a real column vector.
We observe that the algorithm only requires applying to vectors and to vectors; it does not require explicit access to the individual entries of . This consideration can be important when and are available solely in the form of procedures for their applications to arbitrary vectors. Often such procedures for applying and cost much less than the standard procedure for applying a dense matrix to a vector.
3 A modified algorithm
In this subsection, we describe a simple modification of the algorithm described in Subsection 4.1. Again, suppose that , , , , and are positive integers with and , and is a real matrix. Then, the following five-step algorithm constructs an approximation to an SVD of such that
with very high probability, where is a real matrix whose columns are orthonormal, is a real matrix whose columns are orthonormal, is a real diagonal matrix whose entries are all nonnegative, is the greatest singular value of , and is a constant independent of that depends on the parameters of the algorithm:
Using a random number generator, form a real matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, and compute the product matrix
Using an SVD, form a real matrix whose columns are orthonormal, such that there exists a real matrix for which
where is the greatest singular value of . (See Observation 4 for details concerning the construction of such a matrix .)
where is a real matrix whose columns are orthonormal, is a real matrix whose columns are orthonormal, and is a real diagonal matrix whose entries are all nonnegative. (See, for example, Chapter 8 in for details concerning the construction of such an SVD.)
Clearly, (53) is similar to (24), as (54) is similar to (25).
The ideas of Remark 4.15 are obviously relevant to the algorithm of the present subsection, too.
4 Blanczos
In this subsection, we describe a modification of the algorithm of Subsection 4.1, enhancing the accuracy at a little extra computational expense. Suppose that , , , , and are positive integers with and , and is a real matrix, such that . Then, the following five-step algorithm constructs an approximation to an SVD of :
Using a random number generator, form a real matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, and compute the matrices , , …, , defined via the formulae
Using a pivoted -decomposition algorithm, form a real matrix whose columns are orthonormal, such that there exists a real matrix for which
(See, for example, Chapter 5 in for details concerning the construction of such a matrix .)
Compute the product matrix
where is a real matrix whose columns are orthonormal, is a real matrix whose columns are orthonormal, and is a real diagonal matrix whose entries are all nonnegative. (See, for example, Chapter 8 in for details concerning the construction of such an SVD.)
Compute the product matrix
An analysis similar to the proof of Theorem 13 above shows that the matrices , , and produced by the algorithm of the present subsection satisfy the same upper bounds (33) and (46) as the matrices produced by the algorithm of Subsection 4.1. If desired, one may produce a similarly accurate rank- approximation by arranging , , and such that the diagonal entries of appear in nonincreasing order, and then discarding all but the leftmost columns of and all but the leftmost columns of , and retaining only the leftmost uppermost block of . We will refer to the algorithm of the present subsection as “blanczos,” due to its similarity with the block Lanczos method (see, for example, Subsection 9.2.6 in for a description of the block Lanczos method).
Numerical results
In this section, we illustrate the performance of the algorithm of the present paper via several numerical examples.
We use the algorithm to construct a rank- approximation, with , to the matrix defined via its singular value decomposition
where is an Hadamard matrix (a unitary matrix whose entries are all ), is a Hadamard matrix, and is an matrix whose entries are zero off the main diagonal, and whose diagonal entries are defined in terms of the singular value via the formulae
for , , …, , , where is the greatest integer less than or equal to , and
for , , …, , . Thus, and (recall that ). We always choose , so that .
Figure 1 plots the singular values , , …, , of with and ; these parameters correspond to the first row of numbers in Table 1, the first row of numbers in Table 2, and the first row of numbers in Table 6.
Table 1 reports the results of applying the five-step algorithm of Subsection 4.1 to matrices of various sizes, with . Table 2 reports the results of applying the five-step algorithm of Subsection 4.1 to matrices of various sizes, with . The algorithms of , , and for low-rank approximation are essentially the same as the algorithm used for Table 2 (with ).
Table 3 reports the results of applying the five-step algorithms of Subsections 4.1 and 4.3 with varying numbers of iterations . Rows in the table where is enclosed in parentheses correspond to the algorithm of Subsection 4.3; rows where is not enclosed in parentheses correspond to the algorithm of Subsection 4.1.
Table 4 reports the results of applying the five-step algorithm of Subsection 4.1 to matrices whose best rank- approximations have varying accuracies. Table 5 reports the results of applying the blanczos algorithm of Subsection 4.4 to matrices whose best rank- approximations have varying accuracies.
Table 6 reports the results of calculating pivoted -decompositions, via plane (Householder) reflections, of matrices of various sizes. We computed the pivoted -decomposition of the transpose of defined in (69), rather than of itself, for reasons of accuracy and efficiency. As pivoted -decomposition requires dense matrix arithmetic, our 1 GB of random-access memory (RAM) imposed the limit for Table 6.
The headings of the tables have the following meanings:
is the number of rows in , the matrix being approximated.
is the number of columns in , the matrix being approximated.
is the integer parameter used in the algorithms of Subsections 4.1, 4.3, and 4.4. Rows in the tables where is enclosed in parentheses correspond to the algorithm of Subsection 4.3; rows where is not enclosed in parentheses correspond to either the algorithm of Subsection 4.1 or that of Subsection 4.4.
is the time in seconds required by the algorithm to create an approximation and compute its accuracy .
is the greatest singular value of , the matrix being approximated; is also the accuracy of the best possible rank- approximation to .
is the accuracy of the approximation (or , for Table 6) constructed by the algorithm. For Tables 1–5,
where is an matrix whose columns are orthonormal, is an matrix whose columns are orthonormal, and is a diagonal matrix whose entries are all nonnegative; for Table 6,
where is an permutation matrix, is a upper-triangular (meaning upper-trapezoidal) matrix, and is an matrix whose columns are orthonormal.
The values for are the average values over 3 independent randomized trials of the algorithm. The values for are the worst (maximum) values encountered in 3 independent randomized trials of the algorithm. The values for in each trial are those produced by 20 iterations of the power method applied to (or , for Table 6), started with a vector whose entries are i.i.d. centered Gaussian random variables. The theorems of and guarantee that this power method produces accurate results with overwhelmingly high probability.
We performed all computations using IEEE standard double-precision variables, whose mantissas have approximately one bit of precision less than 16 digits (so that the relative precision of the variables is approximately .2E–15). We ran all computations on one core of a 1.86 GHz Intel Centrino Core Duo microprocessor with 2 MB of L2 cache and 1 GB of RAM. We compiled the Fortran 77 code using the Lahey/Fujitsu Linux Express v6.2 compiler, with the optimization flag --o2 enabled. We implemented a fast Walsh-Hadamard transform to apply rapidly the Hadamard matrices and in (69). We used plane (Householder) reflections to compute all pivoted -decompositions. We used the LAPACK 3.1.1 divide-and-conquer SVD routine dgesdd to compute all full SVDs. For the parameter , we set for all of the examples reported here.
The experiments reported here and our further tests point to the following:
The accuracies in Table 1 are superior to those in Table 2; the algorithm performs much better with . (The algorithms of , , and for low-rank approximation are essentially the same as the algorithm used for Tables 1 and 2 when .)
The accuracies in Table 1 are superior to the corresponding accuracies in Table 6; the algorithm of the present paper produces higher accuracy than the classical pivoted -decompositions for matrices whose spectra decay slowly (such as those matrices tested in the present section).
The accuracies in Tables 1–3 appear to be proportional to for the algorithm of Subsection 4.1, and to be proportional to for the algorithm of Subsection 4.3, in accordance with (24) and (53). The numerical results reported here, as well as our further experiments, indicate that the theoretical bound (33) on the accuracy should remain valid with a greatly reduced constant in the right-hand side, independent of the matrix being approximated. See item 6 below for a discussion of Tables 4 and 5.
The timings in Tables 1–5 are consistent with (52), as we could (and did) apply the Hadamard matrices and in (69) to vectors via fast Walsh-Hadamard transforms at a cost of floating-point operations per matrix-vector multiplication.
The quality of the pseudorandom number generator has almost no effect on the accuracy of the algorithm, nor does substituting uniform variates for the normal variates.
The accuracies in Table 5 are superior to those in Table 4, particularly when the greatest singular value of the matrix being approximated is very small. Understandably, the algorithm of Subsection 4.1 would seem to break down when is less than the machine precision, while itself is not, unlike the blanczos algorithm of Subsection 4.4. When is much less than the machine precision, while is not, the accuracy of blanczos in the presence of roundoff is similar to that of the algorithm of Subsection 4.1 run with a reduced . When is much greater than the machine precision, the accuracy of blanczos is similar to that of the algorithm of Subsection 4.1 run with being the same as in the blanczos algorithm. Since the blanczos algorithm of Subsection 4.4 is so tolerant of roundoff, we suspect that the blanczos algorithm is a better general-purpose black-box tool for the computation of principal component analyses, despite its somewhat higher cost as compared with the algorithms of Subsections 4.1 and 4.3.
A MATLAB{}^{\hbox{\ooalign{\hfil\raise 0.60275pt\hbox{{\tiny R}}\hfil\crcr\text{\mathchar 524\relax}}}} implementation of the blanczos algorithm of Subsection 4.4 is available on the file exchange at http://www.mathworks.com in the package entitled, “Principal Component Analysis.”
Appendix
In this appendix, we restate and prove Lemmas 9 and 10 from Section 3.
The following lemma, stated earlier as Lemma 9 in Section 3, shows that the product of matrices , , and is a good approximation to a matrix , provided that there exist matrices and such that
is a good approximation to , and
there exists a matrix such that is not too large, and is a good approximation to .
Suppose that , , , , and are positive integers with . Suppose further that is a real matrix, is a real matrix whose columns are orthonormal, is a real matrix, is a real matrix, and is a real matrix.
The proof is straightforward, but tedious, as follows.
We obtain from the triangle inequality that
First, we provide a bound for . Clearly,
It follows from the fact that the columns of are orthonormal that
Next, we provide a bound for . Clearly,
It follows from the triangle inequality that
Also, it follows from the fact that the columns of are orthonormal that
Combining (76), (80), (88), and (75) yields (74).
The following lemma, stated earlier as Lemma 10 in Section 3, shows that, for any positive integer , matrix , and matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, with very high probability there exists a matrix with a reasonably small norm, such that is a good approximation to . This lemma is similar to Lemma 19 of .
Suppose that , , , , , and are positive integers with . Suppose further that is a real matrix, is a real matrix whose entries are i.i.d. Gaussian random variables of zero mean and unit variance, and and are positive real numbers, such that the greatest singular value of is positive, , and
Then, there exists a real matrix such that
with probability not less than defined in (89), where is the greatest singular value of , is the greatest singular value of , and is the greatest singular value of .
We prove the existence of a matrix satisfying (90) and (91) by constructing one.
where is a real unitary matrix, is a real diagonal matrix, and is a real matrix whose columns are orthonormal, such that
for , , …, , , where is the entry in row and column of , and is the greatest singular value of .
Next, we define auxiliary matrices , , , , , , and . We define to be the leftmost block of the matrix , to be the block of whose first column is the column of , and to be the rightmost block of , so that
Combining the fact that is real and unitary, and the fact that the entries of are i.i.d. Gaussian random variables of zero mean and unit variance, we see that the entries of are also i.i.d. Gaussian random variables of zero mean and unit variance, as are the entries of , and as are the entries of . We define to be the real matrix given by the formula
( is invertible with high probability due to Lemma 7). We define to be the leftmost uppermost block of , to be the block of whose leftmost uppermost entry is the entry in the row and column of , and to be the rightmost lowermost block of , so that
We define to be the real matrix whose uppermost block is the product , whose entries are zero in the block whose first row is the row of , and whose entries in the lowermost block are zero, so that
Finally, we define to be the matrix given by
Combining (95), (6), the fact that the entries of are i.i.d. Gaussian random variables of zero mean and unit variance, and Lemma 7 yields
Combining (98), (99), (96), (93), the fact that is zero off its main diagonal, and the fact that is unitary yields (91).
We now show that defined in (98) satisfies (90).
Combining (101)–(108) and the fact that the columns of are orthonormal, as are the columns of , yields
Combining Lemma 6 and the fact that the entries of are i.i.d. Gaussian random variables of zero mean and unit variance, as are the entries of , yields
Combining (109), (99), (110), and (111) yields
with probability not less than defined in (89). Combining (113), the fact that , and the fact that
for any nonnegative real numbers and yields (90).
Acknowledgements
We thank Ming Gu for suggesting the combination of the Lanczos method with randomized methods for the low-rank approximation of matrices. We are grateful for many helpful discussions with R. Raphael Coifman and Yoel Shkolnisky. We thank the anonymous referees for their useful suggestions.