Reading Impressionist paintings and photographs through singular value decomposition.
Bruce Fan · Yue Yao · William Chang · Leonard Holler Collaborative exploration · Spring 2026
Where does visual structure live?
A painting is both a cultural object and an arrangement of pixel values. This project asks how linear algebra can describe its large-scale structure and finer texture, and how those patterns compare with photographs.
Image records
65 paintings + 65 photographs
Analysis input
512 × 512 grayscale matrices
Painting artists
Monet, Pissarro, Renoir & Sisley
Reconstruct a painting, one component at a time
Singular value decomposition writes an image matrix as a weighted sum of rank-one patterns. Keeping the first k terms gives the best rank-k approximation in squared pixel error. Increase k to see more of the original structure return.
These reconstructions are computed from three painting inputs in the project dataset. Total energy includes the first singular component; residual energy excludes it. Singular components are matrix patterns, not individual brushstrokes or fixed frequency bands. This demonstration illustrates the method; the group comparisons below come from the project report.
What the comparison revealed
01 / ENERGY
Concentrated overall, more distributed in the remainder
In this sample, paintings have lower stable rank and spectral entropy, indicating more concentrated total energy. Once the leading component is excluded, their residual energy is spread across more components.
The average index needed to reach 95% of residual energy was 67.1 for paintings and 49.8 for photographs. The index includes the first component; the residual energy calculation does not.
Residual-energy rank indices. Original project report, Fig. 1.
02 / GEOMETRY
Shared directions, different subspaces
Principal angles measure how closely two subspaces align. Here, the three smallest angles are small while others are larger: the class-mean subspaces contain both closely aligned and divergent directions.
This adds a geometric question to compression: which image patterns differ, as well as how much energy they contain?
Principal angles between class-mean subspaces. Original project report, Fig. 3.
03 / SCALE
A second lens on texture
A wavelet decomposition examines energy at different scales and orientations. The strongest differences in this report appear in intermediate horizontal and vertical bands, roughly 4–8 pixels across.
These bands can include brushwork, canvas texture, compositional edges, and digitization effects. The analysis cannot isolate brushstrokes from those other sources.
Wavelet band-energy differences with effect sizes. Original project report, Fig. 4.
Reading the result carefully
This is an exploratory comparison of a small, curated dataset. Image sources, digitization, subject matter, and resizing can all affect the spectrum. The differences are clearer for landscapes and urban scenes and largely disappear for still life. These findings describe the sample; they do not establish a universal mathematical signature of Impressionism.
Project & sources
Based on SVD as a Lens for Visual Information Structure: Where Style Lives in the Spectrum of Impressionist Paintings vs Photographs, Bruce Fan, Yue Yao, William Chang and Leonard Holler, Spring 2026. Figures retain the report’s original numbering.
Painting images: The Met Open Access and Wikimedia Commons. Photograph comparison data: McGill Calibrated Colour Image Database. The interactive examples use painting images only.
How the reconstruction demo is computed
Each stored 512 × 512 grayscale matrix is decomposed with NumPy’s SVD in double precision. For each selected rank, the leading components are summed without renormalizing the result. Display values are clipped to [0, 1] and encoded as grayscale PNGs. Energy and error are computed from the unrounded matrices; the complete decomposition recovers each input to numerical precision.
Total retained energy is ∑i≤kσi² / ∑iσi². Residual retained energy uses the same ratio with i = 1 excluded. Relative error is ‖A − Ak‖F / ‖A‖F.