Two patterns rebuild 89% of the 66 books’ similarities to each other; five rebuild 92%, and 98.8% of the energy sits in the first two. That is what low rank means, and why it compresses.
the real thing: 66 × 66 book similarities
rebuilt from k patterns
hover a cell to read the pair
–
What low rank means
A matrix has rank k when every one of its rows is a mix of just k patterns. A rank-1 matrix is a single column pattern times a single row pattern: 66 + 66 numbers pretending to be 4,356. Real data is rarely exactly low rank, but it is usually nearly so — a few patterns plus small leftovers.
What it buys you
Compression and denoising at once. Keep the few patterns that carry the signal, drop the rest, and you store a fraction of the numbers while losing the noise first. Recommender systems, word embeddings and the low-rank adapters (LoRA) used to fine-tune large models all rest on exactly this.
Evidence. Matrix: cosine similarity between the 66 books’ word-rate profiles over the 240 most frequent content words (log rate per 1,000 tokens), from the World English Bible; singular values and the rank-k reconstructions are computed by numpy.linalg.svd in foundations/compute_data.py and stored in foundations/data/lowrank.json — the page multiplies the stored factors, it does not invent the picture. The error shown is the relative Frobenius norm ‖A − Ak‖ / ‖A‖.
Nine seconds elsewhere
The foundations in learning order, then the series they lead to. Each lands in about nine seconds.