lenatriestounderstand

Chapter 30 of 31

Eigendecomposition: Reading a Matrix in Its Own Language

Created Jul 2, 2026 Updated Jul 2, 2026

Every square matrix does something to space — spin it, stretch it, shear it. Eigendecomposition is the move that makes that something as simple as it can be: read the matrix through its eigenvectors — the directions it may stretch or shrink but never pushes sideways — and the whole transformation gets easier to see. For the nice matrices that show up all over ML — real symmetric ones, like covariance matrices, similarity matrices, and graph Laplacians — the eigenvectors are perpendicular, so you can rewrite the matrix as three clean moves:

A = V Λ Vᵀ

Read it right to left. Vᵀ changes coordinates into the eigenvector basis, where the eigenvectors line up with the axes (for symmetric matrices this change is just a rotation or reflection). Λ (a diagonal matrix of the eigenvalues) stretches each axis by its own factor. V changes back. So a tangled-looking transformation is secretly just "scale along a few clean axes, seen from a tilted angle."

If the matrix isn't symmetric — but is still diagonalizable, which most useful ones are — the same idea holds, just less neatly: the formula becomes A = V Λ V⁻¹, and that V⁻¹ isn't guaranteed to be the clean rotate-or-reflect that Vᵀ was. (That clean version is exactly what symmetry buys you: perpendicular, unit-length eigenvectors — an orthonormal basis.)

The head-tilt. Some shapes look complicated until you tilt your head and they snap into something obvious. Eigendecomposition finds that exact tilt for a matrix: in the eigenvector coordinate system, all the tangled cross-terms vanish (the ones off the diagonal) and the matrix becomes a plain list of stretch factors down the diagonal.

Or a number analogy. You can factor 60 into 2 × 2 × 3 × 5, and suddenly what divides it is obvious. In the symmetric case, eigendecomposition factors a transformation into rotate/reflect → scale → rotate/reflect back, and suddenly what it does is obvious.

The three moves of A = [[2, 1], [1, 2]], one at a time: rotate into the eigenvector axes (Vᵀ), stretch each by its eigenvalue (Λ), rotate back (V). The circle ends as exactly the ellipse A makes in one step.

Why it turns up everywhere:

  • PCA is almost exactly this — eigendecompose the covariance matrix, keep the axes with the biggest eigenvalues (the directions with the most variance), drop the rest. The bet is that high variance carries more useful structure than low variance — usually true, not a law. Dimensionality reduction is just choosing how many of those axes to keep.
  • Repeating a step becomes trivial. If A is diagonalizable, multiplying it by itself a thousand times turns into A¹⁰⁰⁰ = V Λ¹⁰⁰⁰ V⁻¹ — you just raise the diagonal eigenvalues to the 1000th power. (These process-repeating matrices — Markov chains, PageRank, population models — are usually not symmetric, which is exactly where the general V⁻¹ form earns its keep.)
  • "Spectral" anything. The set of eigenvalues is called the matrix's spectrum, like the frequencies in a sound. The eigenvalues and eigenvectors of a graph matrix reveal structure that's hard to see in the raw connections, and spectral clustering uses those eigenvectors to turn a tangled graph into something a simple clusterer can split.
  • SVD is the close cousin for matrices that aren't square or symmetric: A = U Σ Vᵀ. Still rotate → scale → rotate, but now the "before" and "after" coordinate systems are allowed to be different.

The catch: this is gorgeous on paper and gets expensive fast to compute at full scale — a whole job of its own, done by eigensolvers, which often compute only the small slice of the spectrum they actually need. The payoff is that a messy matrix becomes something you can read, compress, repeat, and reason about — and spectral clustering is one of the places that becomes very visible.