Quant Memo
Advanced

Low-Rank Approximation and the Eckart-Young Theorem

The proof that the best possible simplified version of a matrix — keeping only its k strongest patterns — is exactly what you get by truncating its singular value decomposition, no other approach can do better.

Prerequisites: Singular Value Decomposition

A large covariance matrix of stock returns is genuinely high-dimensional, but most of its structure is driven by a handful of dominant factors — a market factor, a couple of sector factors — with the rest being noise. If you want to compress that matrix down to its "k most important patterns" and discard the rest, you need to know: what does the best possible rank-kk approximation even look like, and how do you know nothing else does better? The Eckart-Young theorem answers both questions with a strikingly simple construction.

An analogy: a photo compressed to its main brushstrokes

Think of a matrix as a grayscale image, a grid of pixel intensities. Compressing that image to look as close to the original as possible using only a handful of "brushstrokes" (simple rank-one patterns, each a single horizontal streak times a single vertical streak) is exactly the low-rank approximation problem. Eckart-Young says: the best set of brushstrokes to keep, for any target number kk, are precisely the kk strongest ones the image naturally decomposes into — and adding any other combination of strokes, however cleverly chosen, can never beat keeping the top kk by strength.

The math, one symbol at a time

Every matrix MM has a singular value decomposition M=UΣVM = U\Sigma V^\top, where Σ\Sigma is diagonal holding the singular values σ1σ20\sigma_1 \geq \sigma_2 \geq \cdots \geq 0 in decreasing order, and UU, VV hold the corresponding left and right singular vectors. The rank-kk truncated SVD keeps only the top kk singular values and their vectors:

Mk=i=1kσiuivi.M_k = \sum_{i=1}^{k} \sigma_i \, u_i v_i^\top.

The Eckart-Young theorem states that among all matrices of rank kk or less, MkM_k is the one closest to MM (measured by summed squared entrywise error), and the size of the unavoidable error is exactly i=k+1nσi2\sum_{i=k+1}^{n} \sigma_i^2 — the total "strength" left in the singular values you discarded. In words: truncating the SVD isn't just a reasonable way to compress a matrix, it's provably the best one possible, and the leftover singular values tell you precisely how much accuracy you gave up.

Worked example 1: compressing a small matrix by hand

Let M=(3001)M = \begin{pmatrix}3&0\\0&1\end{pmatrix}, already diagonal so its singular values are σ1=3,σ2=1\sigma_1=3, \sigma_2=1 with singular vectors along the axes. The best rank-1 approximation keeps only the top term: M1=3(10)(10)=(3000)M_1 = 3\begin{pmatrix}1\\0\end{pmatrix}\begin{pmatrix}1&0\end{pmatrix} = \begin{pmatrix}3&0\\0&0\end{pmatrix}. The approximation error, entrywise squared, is (00)2+(01)2=1(0-0)^2 + (0-1)^2 = 1 — exactly σ22=12\sigma_2^2 = 1^2, matching the theorem's prediction precisely, and no other rank-1 matrix can get closer to MM than this.

Worked example 2: factor-model compression of a return matrix

A covariance matrix for 100 stocks has singular values σ1=40\sigma_1 = 40 (market factor), σ2=12\sigma_2 = 12, σ3=8\sigma_3 = 8 (sector factors), and 97 more small values summing in squares to about 50. Keeping a rank-3 approximation captures 402+122+82=1600+144+64=180840^2+12^2+8^2 = 1600+144+64=1808 out of a total sum-of-squares of 1808+50=18581808+50=1858 — about 1808185897.3%\frac{1808}{1858} \approx 97.3\% of the matrix's total "energy," using just 3 factors instead of 100. This is the mathematical justification for reducing a huge estimated covariance matrix to a handful of statistical factors: the discarded 96.7% of singular values contribute only 2.7% of total structure, most of which is likely estimation noise anyway.

Matrix explorer
dashed = before · solid = after
det 1.25trace 2.50λ 1.81, 0.69area scales by 1.25×

Reducing a matrix's rank shrinks the ellipse the unit circle maps to down toward a line or point along its weakest singular directions — drag the entries to see which directions carry the most "stretch," the ones Eckart-Young says to keep.

σ₁=40 σ₂=12 σ₃=8 97 tiny singular values (mostly noise)
A handful of dominant singular values (kept as the rank-k approximation) sit far above a long tail of small ones — exactly the pattern Eckart-Young exploits when compressing a covariance or factor matrix.

What this means in practice

Eckart-Young is the theoretical backbone of factor models (compressing a covariance matrix to a few statistical factors), image and signal compression, and recommender systems (low-rank approximations of a ratings matrix). Whenever a quant reduces a large, noisy matrix to its "top kk components" via PCA or SVD truncation, they're implicitly invoking this theorem to know that choice is provably optimal, not just convenient.

Truncating a matrix's SVD to its top kk singular values and vectors gives the best possible rank-kk approximation to that matrix — no other rank-kk matrix, however constructed, can be closer, and the unavoidable error equals the sum of squares of the discarded singular values.

"Best approximation" here means best under squared-error distance across all entries treated equally — it does not mean the truncated matrix preserves every property you might care about, such as remaining positive semidefinite, having the same diagonal, or respecting a correlation matrix's constraint that all diagonal entries equal exactly 1. Truncating a correlation matrix's SVD to rank kk can leave diagonal entries that are no longer exactly 1, which is why a further repair step (see The Nearest Correlation Matrix Problem) is often needed afterward.

Related concepts

Practice in interviews

Further reading

  • Eckart & Young (1936), Psychometrika
ShareTwitterLinkedIn