Skip to main content

Foundations

Singular Value Decomposition

The SVD A = UΣVᵀ: the most important matrix factorization in applied mathematics. Geometric interpretation, relationship to eigendecomposition, low-rank approximation via Eckart-Young, and applications from PCA to pseudoinverses.

CoreTier 1StableCore spine~60 min

Learning position

Place this page in a reading path.

foundations | layer 0A | tier 1. This page has 4 direct prerequisites and 5 published dependents.

What next

Principal Component Analysis

This is the first curated or graph-derived continuation from the current page.

Evidence badge

Source-grounded page

This page has no public Lean mapping yet. Use the evidence page to inspect how claim status labels work.

Show the backing system

Why This Matters

Am × n=Um × mΣm × nVᵀn × nrotatescalerotateΣ = diagonal:σ₁ ≥ σ₂ ≥ ... ≥ σᵣ > 0σᵢ = singular valuesr = rank(A)U columns: left singular vectorsV columns: right singular vectors

The singular value decomposition is the Swiss army knife of linear algebra. It works for any matrix --- not just square matrices, not just symmetric matrices. Whenever you need to understand the geometry of a linear map, approximate a matrix by a simpler one, solve a least-squares problem, or compute a condition number, you reach for the SVD.

A generalizes the absolute value of an eigenvalue to non-square matrices. The lowercase denotes one such value; the capital denotes the diagonal matrix collecting them.

In machine learning, the SVD is behind PCA (truncated SVD of the centered data matrix), latent semantic analysis (SVD of the term-document matrix), recommender systems (low-rank matrix completion), the pseudoinverse (which gives the minimum-norm least-squares solution), and numerical stability analysis (condition numbers).

Mental Model

Every matrix transformation can be decomposed into three steps:

  1. Rotate (or reflect) the input space --- this is V⊤V^\top
  2. Scale along the coordinate axes --- this is Σ\Sigma
  3. Rotate (or reflect) the output space --- this is UU

The singular values σ1≥σ2≥⋯≥0\sigma_1 \geq \sigma_2 \geq \cdots \geq 0 are the scaling factors. They tell you how much the matrix stretches or shrinks in each direction. The columns of VV are the input directions. The columns of UU are the output directions. This is the SVD: A=UΣV⊤A = U\Sigma V^\top.

Formal Setup

Definition

Singular Value Decomposition

Let A∈Rm×nA \in \mathbb{R}^{m \times n} be any matrix. The singular value decomposition of AA is:

A=UΣV⊤A = U \Sigma V^\top

where:

  • U∈Rm×mU \in \mathbb{R}^{m \times m} is orthogonal (U⊤U=IU^\top U = I), columns are the left singular vectors
  • V∈Rn×nV \in \mathbb{R}^{n \times n} is orthogonal (V⊤V=IV^\top V = I), columns are the right singular vectors
  • Σ∈Rm×n\Sigma \in \mathbb{R}^{m \times n} is "diagonal" with non-negative entries σ1≥σ2≥⋯≥σmin⁡(m,n)≥0\sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_{\min(m,n)} \geq 0 on the main diagonal (and zeros elsewhere)

The values σi\sigma_i are the singular values of AA.

Thin SVD: In practice, if m>nm > n (tall matrix), we often use the compact form A=UrΣrVr⊤A = U_r \Sigma_r V_r^\top where r=rank(A)r = \text{rank}(A), Ur∈Rm×rU_r \in \mathbb{R}^{m \times r}, Σr∈Rr×r\Sigma_r \in \mathbb{R}^{r \times r}, and Vr∈Rn×rV_r \in \mathbb{R}^{n \times r}.

Definition

Singular Values and Eigenvalues Relationship

The singular values of AA are the square roots of the eigenvalues of A⊤AA^\top A (or equivalently, of AA⊤AA^\top):

σi=λi(A⊤A)\sigma_i = \sqrt{\lambda_i(A^\top A)}

The right singular vectors viv_i are eigenvectors of A⊤AA^\top A. The left singular vectors uiu_i are eigenvectors of AA⊤AA^\top.

Why this works: A⊤AA^\top A is symmetric and positive semidefinite, so by the spectral theorem it has non-negative real eigenvalues and orthogonal eigenvectors. The SVD inherits this structure.

Main Theorems

Theorem

Existence and Uniqueness of the SVD

Statement

Every matrix A∈Rm×nA \in \mathbb{R}^{m \times n} has a singular value decomposition A=UΣV⊤A = U\Sigma V^\top. The singular values σ1≥σ2≥⋯≥0\sigma_1 \geq \sigma_2 \geq \cdots \geq 0 are uniquely determined. Uniqueness of the singular vectors is more delicate:

  • For each simple positive singular value σi\sigma_i (i.e.\ a positive σi\sigma_i that appears with multiplicity one), the pair (ui,vi)(u_i, v_i) is unique up to a joint sign flip: (ui,vi)↦(−ui,−vi)(u_i, v_i) \mapsto (-u_i, -v_i) leaves A=UΣV⊤A = U\Sigma V^\top unchanged. Flipping only one of the two destroys the factorization.
  • For a repeated positive singular value of multiplicity kk, the corresponding columns of UU and VV are unique only up to an orthogonal change of basis Q∈O(k)Q \in O(k) applied jointly within that eigenspace.
  • Singular vectors associated with σ=0\sigma = 0 (which always appear when rank(A)<min⁡(m,n)\mathrm{rank}(A) < \min(m, n), e.g.\ for rectangular or rank-deficient matrices) are arbitrary orthonormal bases of ker⁡(A)\ker(A) and ker⁡(A⊤)\ker(A^\top) respectively. They are not determined by AA at all.

So the often-quoted "unique up to sign" applies cleanly only when all singular values are simple and positive (in particular, AA is square and full-rank).

Intuition

The SVD always exists because A⊤AA^\top A is always symmetric positive semidefinite, so the spectral theorem always applies to it. The SVD generalizes eigendecomposition to non-square, non-symmetric matrices by factoring through the symmetric matrices A⊤AA^\top A and AA⊤AA^\top.

Proof Sketch

A⊤AA^\top A is symmetric positive semidefinite (x⊤A⊤Ax=∥Ax∥2≥0x^\top A^\top Ax = \|Ax\|^2 \geq 0). By the spectral theorem, A⊤A=VΛV⊤A^\top A = V\Lambda V^\top with orthogonal VV and Λ=diag(σ12,…,σn2)\Lambda = \text{diag}(\sigma_1^2, \ldots, \sigma_n^2) where σi≥0\sigma_i \geq 0.

For each σi>0\sigma_i > 0, define ui=Avi/σiu_i = Av_i/\sigma_i. Then uiu_i is a unit vector: ∥ui∥2=vi⊤A⊤Avi/σi2=σi2/σi2=1\|u_i\|^2 = v_i^\top A^\top A v_i / \sigma_i^2 = \sigma_i^2/\sigma_i^2 = 1. The uiu_i are orthonormal: ui⊤uj=vi⊤A⊤Avj/(σiσj)=σj2vi⊤vj/(σiσj)=0u_i^\top u_j = v_i^\top A^\top A v_j / (\sigma_i \sigma_j) = \sigma_j^2 v_i^\top v_j / (\sigma_i\sigma_j) = 0 for i≠ji \neq j.

Extend {u1,…,ur}\{u_1, \ldots, u_r\} to an orthonormal basis of Rm\mathbb{R}^m. Then A=UΣV⊤A = U\Sigma V^\top by construction, since Avi=σiuiAv_i = \sigma_i u_i for i=1,…,ri = 1, \ldots, r and Avi=0Av_i = 0 for i>ri > r.

Why It Matters

The SVD is universal --- it works for every matrix, every shape, every rank. This makes it the default tool for understanding the geometry of linear maps. The eigendecomposition only works for square matrices and is only orthogonal for symmetric matrices. The SVD has no such limitations.

Failure Mode

When singular values are repeated (σi=σi+1\sigma_i = \sigma_{i+1}), the corresponding singular vectors are not unique --- any orthonormal basis of the associated singular subspace works. This non-uniqueness can cause numerical instability or inconsistency across runs. In PCA, repeated eigenvalues mean the corresponding principal components can be any rotation within the eigenspace.

Theorem

Eckart-Young-Mirsky Theorem (Best Low-Rank Approximation)

Statement

Let A=UΣV⊤A = U\Sigma V^\top with singular values σ1≥σ2≥⋯≥σr>0\sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0. The best rank-kk approximation to AA (in both the Frobenius norm and the spectral norm) is the truncated SVD:

Ak=∑i=1kσiuivi⊤A_k = \sum_{i=1}^k \sigma_i u_i v_i^\top

The approximation errors are:

∥A−Ak∥F=∑i=k+1rσi2,∥A−Ak∥2=σk+1\|A - A_k\|_F = \sqrt{\sum_{i=k+1}^r \sigma_i^2}, \qquad \|A - A_k\|_2 = \sigma_{k+1}

No rank-kk matrix achieves a smaller error.

Intuition

The SVD sorts the "importance" of each direction by singular value. The best rank-kk approximation keeps the kk most important directions and discards the rest. The discarded singular values exactly quantify the approximation error. This is optimal --- you cannot do better by choosing any other rank-kk matrix.

Proof Sketch

For the spectral norm: let BB be any rank-kk matrix. Then null(B)\text{null}(B) has dimension ≥n−k\geq n - k. The subspace Vk=span(v1,…,vk+1)V_k = \text{span}(v_1, \ldots, v_{k+1}) has dimension k+1k + 1. By dimension counting, null(B)∩Vk\text{null}(B) \cap V_k contains a nonzero vector ww with ∥w∥=1\|w\| = 1. Then ∥A−B∥2≥∥(A−B)w∥=∥Aw∥≥σk+1\|A - B\|_2 \geq \|(A-B)w\| = \|Aw\| \geq \sigma_{k+1} (since Bw=0Bw = 0 and ww lives in the span of the first k+1k+1 right singular vectors). The truncated SVD AkA_k achieves this bound with equality.

For the Frobenius norm, use the fact that ∥A∥F2=∑iσi2\|A\|_F^2 = \sum_i \sigma_i^2 and apply a similar subspace argument.

Why It Matters

Eckart-Young is why dimensionality reduction works. PCA keeps the top kk principal components, which is the truncated SVD of the centered data matrix. Latent semantic analysis uses truncated SVD of the term-document matrix. Matrix completion (Netflix problem) assumes the true rating matrix is approximately low-rank. In all these cases, Eckart-Young guarantees that truncated SVD is the optimal low-rank approximation.

The theorem also explains the "scree plot" in PCA: the singular values σi\sigma_i tell you how much information you lose by truncating at rank kk. A sharp drop after σk\sigma_k means the rank-kk approximation is good.

Failure Mode

Eckart-Young gives the best approximation in a global least-squares sense. It does not guarantee that the approximation preserves specific structure (sparsity, non-negativity, interpretability). For structured approximations, you need methods like non-negative matrix factorization (NMF) or sparse PCA, which solve harder optimization problems and do not have clean closed-form solutions.

Key Applications

Pseudoinverse. The Moore-Penrose pseudoinverse of AA is A+=VΣ+U⊤A^+ = V\Sigma^+ U^\top, where Σ+\Sigma^+ replaces each nonzero diagonal entry σi\sigma_i with 1/σi1/\sigma_i and zeroes the rest. For the least-squares problem min⁡x∥Ax−b∥\min_x \|Ax - b\|, the minimum-norm solution is x+=A+bx^+ = A^+ b. This is the safe universal definition: the SVD form works for every matrix shape and never tries to invert a zero singular value. The Pseudoinverse Geometry Lab walks the three cases (overdetermined, underdetermined, rank-deficient) interactively.

Condition number. Let p=min⁡(m,n)p=\min(m,n) and write σ1≥⋯≥σp≥0\sigma_1\geq\cdots\geq\sigma_p\geq0. For a nonsingular square matrix,

κ2(A)=∥A∥2∥A−1∥2=σ1σp.\kappa_2(A)=\|A\|_2\|A^{-1}\|_2=\frac{\sigma_1}{\sigma_p}.

For a full-rank rectangular matrix, a common pseudoinverse or restricted-map convention is κ2+(A)=∥A∥2∥A+∥2=σ1σp.\kappa_2^+(A)=\|A\|_2\|A^+\|_2=\frac{\sigma_1}{\sigma_p}. If rank⁡(A)<p\operatorname{rank}(A)<p, then σp=0\sigma_p=0; under a perturbation model that requires full rank, the condition number is infinite. For a nonzero rank-rr matrix, an explicitly labeled effective condition number on the nonzero singular subspace is κeff(A)=∥A∥2∥A+∥2=σ1σr,\kappa_{\mathrm{eff}}(A)=\|A\|_2\|A^+\|_2=\frac{\sigma_1}{\sigma_r}, because the nonzero singular values of A+A^+ are 1/σ1,…,1/σr1/\sigma_1,\ldots,1/\sigma_r. For the zero matrix, r=0r=0 and this nonzero-subspace ratio is undefined (Trefethen and Bau, 1997, Lectures 5 and 12).

A large finite condition number signals sensitivity to perturbations. If AA has full column rank, then κ2(A⊤A)=κ2+(A)2\kappa_2(A^\top A)=\kappa_2^+(A)^2, which can make normal-equation methods less stable and slower. Otherwise A⊤AA^\top A is singular; on its nonzero singular subspace, the effective ratio is (σ1/σr)2(\sigma_1/\sigma_r)^2.

Matrix norms. The spectral norm (operator norm) is ∥A∥2=σ1\|A\|_2 = \sigma_1. The Frobenius norm is ∥A∥F=∑iσi2\|A\|_F = \sqrt{\sum_i \sigma_i^2}. The nuclear norm is ∥A∥∗=∑iσi\|A\|_* = \sum_i \sigma_i.

Canonical Examples

Example

SVD of a 2x2 matrix

Let A=(3001)A = \begin{pmatrix} 3 & 0 \\ 0 & 1 \end{pmatrix}. This is already in SVD form: U=V=IU = V = I, Σ=A\Sigma = A, with σ1=3\sigma_1 = 3 and σ2=1\sigma_2 = 1.

The condition number is κ=3/1=3\kappa = 3/1 = 3. The best rank-1 approximation is A1=σ1u1v1⊤=3e1e1⊤=(3000)A_1 = \sigma_1 u_1 v_1^\top = 3 e_1 e_1^\top = \begin{pmatrix} 3 & 0 \\ 0 & 0 \end{pmatrix} with error ∥A−A1∥F=σ2=1\|A - A_1\|_F = \sigma_2 = 1.

Example

PCA as truncated SVD of the data matrix

Given centered data matrix X∈Rn×dX \in \mathbb{R}^{n \times d} (rows are observations), write X=UΣV⊤X = U\Sigma V^\top. Then:

  • The sample covariance is Σ^=1nX⊤X=VΣ2nV⊤\hat{\Sigma} = \frac{1}{n}X^\top X = V \frac{\Sigma^2}{n} V^\top
  • The eigenvectors of Σ^\hat{\Sigma} are the columns of VV (right singular vectors of XX)
  • The eigenvalues of Σ^\hat{\Sigma} are σi2/n\sigma_i^2/n (squared singular values of XX, scaled)
  • The principal component scores are XV=UΣXV = U\Sigma (the projections onto PCs)
  • Truncating to kk components uses Xk=UkΣkVk⊤X_k = U_k \Sigma_k V_k^\top (Eckart-Young optimal)

So PCA and SVD are two views of the same computation. PCA works through the covariance matrix; SVD works directly with the data matrix.

Common Confusions

Watch Out

SVD is not the same as eigendecomposition

The eigendecomposition A=PDP−1A = PDP^{-1} requires AA to be square and diagonalizable; PP is generally not orthogonal; and eigenvalues can be negative or complex. The SVD A=UΣV⊤A = U\Sigma V^\top works for any matrix; UU and VV are always orthogonal; and singular values are always non-negative reals. For symmetric positive semidefinite matrices, the SVD and eigendecomposition coincide (U=V=QU = V = Q and Σ=Λ\Sigma = \Lambda).

Watch Out

Truncated SVD is not the SVD of the truncated matrix

The truncated SVD AkA_k is formed by taking the full SVD and zeroing out the smallest r−kr - k singular values. It is not computed by first truncating AA somehow and then computing an SVD. The approximation is optimal precisely because it uses the full SVD to determine which directions to keep.

Watch Out

Ordinary and effective condition numbers use different denominators

If r=rank⁡(A)r=\operatorname{rank}(A), then σr\sigma_r is the smallest nonzero singular value, so it cannot also be zero. For a rank-deficient matrix, the ordinary inverse-problem condition number uses the smallest singular value among all p=min⁡(m,n)p=\min(m,n) slots and is infinite. The finite ratio σ1/σr\sigma_1/\sigma_r is instead the effective or pseudoinverse condition number on the nonzero singular subspace when r≥1r\geq1. For the zero matrix, the ratio has no nonzero denominator and is convention-dependent. State which convention and perturbation model you mean.

Summary

  • SVD exists for every matrix: A=UΣV⊤A = U\Sigma V^\top (orthogonal, diagonal, orthogonal)
  • Geometric interpretation: rotate, scale, rotate
  • Singular values of AA = square roots of eigenvalues of A⊤AA^\top A
  • Eckart-Young: truncated SVD is the best rank-kk approximation
  • Ordinary condition number uses the smallest singular-value slot; σ1/σr\sigma_1/\sigma_r is an effective convention when r≥1r\geq1
  • PCA = truncated SVD of the centered data matrix
  • Pseudoinverse A+=VΣ+U⊤A^+ = V\Sigma^+ U^\top gives the minimum-norm least-squares solution

Exercises

ExerciseCore

Problem

Compute the SVD of A=(1100)A = \begin{pmatrix} 1 & 1 \\ 0 & 0 \end{pmatrix}. What is its rank? What is the best rank-1 approximation?

ExerciseAdvanced

Problem

Let A∈Rm×nA \in \mathbb{R}^{m \times n} with SVD A=UΣV⊤A = U\Sigma V^\top. Show that the nuclear norm ∥A∥∗=∑iσi\|A\|_* = \sum_i \sigma_i equals max⁡{tr(B⊤A):∥B∥2≤1}\max\{\text{tr}(B^\top A) : \|B\|_2 \leq 1\}. Why does the nuclear norm arise as the convex relaxation of the rank function in matrix completion problems?

References

Canonical:

  • Golub & Van Loan, Matrix Computations (4th ed., 2013), Chapter 2
  • Horn & Johnson, Matrix Analysis (2nd ed., 2012), Chapter 7
  • Strang, Linear Algebra and Its Applications (4th ed., 2006), Chapter 6
  • Eckart and Young, "The Approximation of One Matrix by Another of Lower Rank" (1936), pp. 211-218. original best low-rank approximation result

Current:

  • Trefethen & Bau, Numerical Linear Algebra (1997), pp. 25-38 (Lectures 4-5: SVD and pseudoinverse) and pp. 89-96 (Lecture 12: condition numbers)
  • Halko, Martinsson, Tropp, "Finding Structure with Randomness" (2011), arXiv:0909.4061 --- randomized SVD

Next Topics

Building on the SVD:

  • Principal component analysis: SVD of the data matrix in action
  • Conditioning and condition number: ordinary versus effective singular-value ratios and numerical stability

Last reviewed: August 1, 2026

Cite this page

Sneiderman, Robby. "Singular Value Decomposition." TheoremPath, reviewed 2026-08-01. https://theorempath.com/topics/singular-value-decomposition

Canonical URL
https://theorempath.com/topics/singular-value-decomposition
Author
Robby Sneiderman, TheoremPath
Last reviewed
2026-08-01
What this is
A reference page on TheoremPath. Written and maintained by the named author. Not peer reviewed and not refereed by any venue. Each claim below carries its own verification status.
Terms
All rights reserved. Non-commercial quotation with attribution permitted.

Citing one claim

2 statements on this page are separately addressable. Each carries an identifier of the form claim:<topic>::<statement> printed beside it, and resolves to that identifier's anchor on this URL. Quote the statement, its assumptions, and its failure modes together.

Recorded verification on this page: 2 informal_only.

  • This page is a secondary source. Where a claim cites literature, the result is due to that source and not to this site.
  • 2 of 2 claims on this page name no source. Their attribution to the literature is not recorded here, whatever their verification status says.
  • 2 of 2 carry neither a source nor a proof check. Their provenance is the author's reading of the literature; check them against a primary source before relying on them.
  • Statements are given in LaTeX exactly as authored. The rendered page passes the same LaTeX through KaTeX, so text scraped from the HTML repeats expressions and drops radicals; quote from statementTex.

/claims.json lists 1,178 of the 1,231 statements this site records, with the anchor and the recorded verification of each. What earns a place in it: a theorem, lemma, corollary, or proposition block on a published topic page. Definitions are not listed, and neither are the 27 statements on comparison pages. A missing entry means the rule above did not select the statement, not that this site is silent on the result.

Canonical graph

Required before and derived from this topic

These links come from prerequisite edges in the curriculum graph. Editorial suggestions are shown here only when the target page also cites this page as a prerequisite.

Required prerequisites

4

Derived topics

5