The singular value decomposition
Statement
Let \( A \in \mathbb{R}^{m \times n} \) be any real \( m \times n \) matrix (no rank, symmetry, or squareness assumption). Then there exist an orthogonal matrix \( U \in \mathbb{R}^{m \times m} \) (i.e. \( U^{\top}U = I_m \)), an orthogonal matrix \( V \in \mathbb{R}^{n \times n} \), and a rectangular diagonal matrix \( \Sigma \in \mathbb{R}^{m \times n} \) whose only nonzero entries are \( \Sigma_{ii} = \sigma_i \) with \[ \sigma_1 \ge \sigma_2 \ge \cdots \ge \sigma_r \gt 0, \qquad \sigma_{r+1} = \cdots = \sigma_{\min(m,n)} = 0, \] such that \[ A = U \Sigma V^{\top}. \] The number \( r \) equals \( \operatorname{rank}(A) \), and the \( \sigma_i \) — the singular values of \( A \) — are uniquely determined by \( A \): they are the nonnegative square roots of the eigenvalues of \( A^{\top}A \), listed in decreasing order. (The matrices \( U \) and \( V \) are in general not unique.) The same statement holds for \( A \in \mathbb{C}^{m \times n} \) with \( U, V \) unitary and \( {}^{\top} \) replaced by the conjugate transpose \( {}^{*} \); the singular values remain real and nonnegative.
Why it matters
The SVD is the exact geometric anatomy of an arbitrary linear map: every \( A \) sends the unit sphere of \( \mathbb{R}^n \) to a (possibly degenerate) hyperellipse in \( \mathbb{R}^m \), and the theorem says this is all a linear map can do — rotate/reflect (\( V^{\top} \)), stretch along perpendicular axes (\( \Sigma \)), rotate/reflect again (\( U \)). Unlike eigendecomposition, it exists for every matrix, square or not, and its ingredients are orthonormal, hence numerically stable.
Almost every quantitative question about a matrix is answered by its singular values: the operator norm is \( \sigma_1 \), the rank is the number of nonzero \( \sigma_i \), the distance to the nearest rank-\( k \) matrix is \( \sigma_{k+1} \) (Eckart–Young), the condition number is \( \sigma_1/\sigma_n \), and the least-squares problem is solved in closed form by the pseudoinverse \( V\Sigma^{+}U^{\top} \). Principal component analysis, low-rank compression, and the numerical determination of rank are all direct applications.
Hypotheses
Proof
We prove the real case; the complex case is identical with \( {}^{\top} \) replaced by \( {}^{*} \) and the spectral theorem for Hermitian matrices in place of the real symmetric one. Throughout, \( \| \cdot \| \) is the Euclidean norm.
\( \blacksquare \)
Result
Reading. Every linear map, however lopsided or degenerate, is a rotation-or-reflection of the source, followed by independent nonnegative stretchings along perpendicular axes, followed by a rotation-or-reflection of the target. The stretch factors (singular values) are intrinsic to the map; the two rotations are not, but any valid pair works. Geometrically: the image of the unit sphere is always a hyperellipse whose semi-axis lengths are \( \sigma_1, \dots, \sigma_r \), pointing along \( u_1, \dots, u_r \).
Scope. Holds for every matrix over \( \mathbb{R} \) (orthogonal \( U, V \)) and every matrix over \( \mathbb{C} \) (unitary \( U, V \), conjugate transpose, singular values still real \( \ge 0 \)). It does not hold verbatim over \( \mathbb{Q} \) or finite fields, and in infinite dimensions it survives only for compact operators between Hilbert spaces (Schmidt decomposition). Uniqueness applies to \( \Sigma \) only, never to \( U, V \).
Corollaries & converses
- Rank and the four subspaces. \( \operatorname{rank} A = r \); moreover \( \{u_1,\dots,u_r\} \) is an orthonormal basis of \( \operatorname{im} A \), \( \{u_{r+1},\dots,u_m\} \) of \( (\operatorname{im} A)^{\perp} = \ker A^{\top} \), \( \{v_{r+1},\dots,v_n\} \) of \( \ker A \), and \( \{v_1,\dots,v_r\} \) of \( (\ker A)^{\perp} = \operatorname{im} A^{\top} \). All four fundamental subspaces, with orthonormal bases, for free.
- Norms. \( \|A\|_2 = \sigma_1 \) and \( \|A\|_F^2 = \sum_{i=1}^{r} \sigma_i^2 \) (Problems 2–3). Condition number of invertible \( A \): \( \kappa_2(A) = \sigma_1/\sigma_n \).
- Pseudoinverse. \( A^{+} = V \Sigma^{+} U^{\top} \), where \( \Sigma^{+} \) inverts the nonzero diagonal entries and transposes the shape; \( A^{+}b \) is the minimum-norm least-squares solution of \( Ax = b \) (Worked example 2).
- Polar decomposition. Square \( A \) factors as \( A = QP \) with \( Q \) orthogonal and \( P \) symmetric positive semidefinite (Problem 4).
- Eckart–Young–Mirsky. The truncation \( A_k = \sum_{i=1}^{k} \sigma_i u_i v_i^{\top} \) is a best rank-\( \le k \) approximation to \( A \) in both the spectral and Frobenius norms, with \( \|A - A_k\|_2 = \sigma_{k+1} \) (Problem 5).
- Spectral theorem recovered. If \( A \) is symmetric positive semidefinite, an SVD with \( U = V \) exists and coincides with the orthogonal eigendecomposition; for general symmetric \( A \), \( \sigma_i = |\lambda_i| \) and \( u_i = \pm v_i \).
- Converse. Trivially true as an existence converse: for any orthogonal \( U, V \) and any diagonal \( \Sigma \) with decreasing nonnegative entries, \( U\Sigma V^{\top} \) is a matrix whose singular values are exactly those entries (compute \( (U\Sigma V^{\top})^{\top}(U\Sigma V^{\top}) = V\Sigma^{\top}\Sigma V^{\top} \)). But the uniqueness converse fails: distinct pairs \( (U,V) \ne (U',V') \) can produce the same \( A \) — e.g. \( I = Q I Q^{\top} \) for every orthogonal \( Q \) — so \( A \) does not determine its singular vector matrices.
Fails without
- Field not real-closed. Over \( \mathbb{Q} \), take \( A = \begin{pmatrix} 1 & 1 \\ 0 & 1 \end{pmatrix} \). Then \( A^{\top}A = \begin{pmatrix} 1 & 1 \\ 1 & 2 \end{pmatrix} \) has characteristic polynomial \( \lambda^2 - 3\lambda + 1 \) with irrational roots \( \frac{3\pm\sqrt5}{2} \); the would-be singular values \( \sigma = \sqrt{(3\pm\sqrt5)/2} \) lie outside \( \mathbb{Q} \), so no factorisation \( A = U\Sigma V^{\top} \) with rational entries exists. The proof breaks at Steps 2–3: no rational orthonormal eigenbasis, no square roots.
- Orthogonality of the factors dropped. If \( U, V \) need only be invertible, then every rank-\( r \) matrix equals \( P \begin{pmatrix} I_r & 0 \\ 0 & 0 \end{pmatrix} Q^{-1} \) — e.g. \( \begin{pmatrix} 0 & 1000 \\ 0 & 0 \end{pmatrix} = \begin{pmatrix} 1000 & 0 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \) — so the "diagonal" can always be normalised to zeros and ones and the singular values \( 1000, 0 \) become invisible. The metric content of the theorem lives entirely in the isometry requirement.
- Compactness dropped in infinite dimensions. On \( L^2[0,1] \), the bounded self-adjoint operator \( (Mf)(x) = x f(x) \) has \( \|M\| = 1 \) but no eigenvectors: \( xf(x) = \sigma f(x) \) forces \( f = 0 \) almost everywhere. Hence no orthonormal families \( (u_i), (v_i) \) and scalars \( \sigma_i \) satisfy \( M = \sum_i \sigma_i u_i \langle v_i, \cdot \rangle \) even weakly, and the Schmidt/SVD expansion fails. For compact operators the expansion is restored, with \( \sigma_i \to 0 \).
Common errors
- Singular values \( \ne \) eigenvalues. \( A = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} \) has both eigenvalues \( 0 \) but singular values \( 1, 0 \). Even for symmetric matrices the two differ in sign: \( A = (-1) \) (a \( 1\times1 \) matrix) has eigenvalue \( -1 \) but singular value \( +1 \). Only for symmetric positive semidefinite matrices do they coincide.
- Decoupling \( U \) from \( V \). Diagonalising \( A^{\top}A \) for \( V \) and \( AA^{\top} \) for \( U \) independently, then hoping \( A = U\Sigma V^{\top} \). The sign (and, for repeated singular values, the whole basis) of each \( u_i \) is coupled to \( v_i \) by \( Av_i = \sigma_i u_i \); ignoring this typically flips the sign of some entries of the product. Always generate \( u_i = Av_i/\sigma_i \).
- Assuming \( U, V \) unique. They never are: \( (u_i, v_i) \mapsto (-u_i, -v_i) \) always preserves the product, and repeated singular values allow continuous families (Step 10). Statements like "the first singular vector of \( A \)" are only well-defined up to sign, and only when \( \sigma_1 \gt \sigma_2 \).
- Shape errors in \( \Sigma \). For \( m \ne n \), \( \Sigma \) is a rectangular \( m \times n \) matrix, not square; writing \( \Sigma \in \mathbb{R}^{r \times r} \) inside the full SVD makes \( U\Sigma V^{\top} \) undefined. (The thin SVD \( A = U_r \Sigma_r V_r^{\top} \) with \( U_r \in \mathbb{R}^{m \times r} \) is a different, also valid, statement — but then \( U_r \) is not orthogonal, merely has orthonormal columns.)
- Rank from tiny-but-nonzero \( \sigma_i \). Concluding numerical rank \( = \) number of exactly nonzero computed singular values; in floating point one must threshold, since \( \sigma_i = 10^{-16} \) is numerically zero. The theorem is exact; its numerical use requires the Eckart–Young perspective.
Discussion
The theorem is best held as a geometric statement: choose orthonormal axes in the source so that their images under \( A \) remain perpendicular — the content of Step 4, and the genuinely surprising part — and the map becomes diagonal. Everything else is bookkeeping. This is why the SVD, unlike the Jordan form, is stable under perturbation: singular values are continuous (indeed \( 1 \)-Lipschitz, by Weyl's inequality \( |\sigma_i(A) - \sigma_i(B)| \le \|A - B\|_2 \)) functions of the matrix, whereas Jordan structure can change under arbitrarily small perturbations.
Historically the decomposition was found for square matrices by Beltrami (1873) and, independently, Jordan (1874), as a canonical form for bilinear forms under independent orthogonal changes of variables; Sylvester rediscovered it in 1889. Autonne (1915) extended it to complex matrices, and Eckart and Young (1936) to rectangular ones, in the same paper that proved the low-rank approximation theorem now bearing their names. The numerical story is separate and just as important: the Golub–Kahan bidiagonalisation (1965) and the Golub–Reinsch algorithm made the SVD computable backward-stably in \( \mathcal{O}(mn\min(m,n)) \) time, which is why it quietly underlies least squares, PCA, and rank determination in practice — one never forms \( A^{\top}A \) numerically, as squaring the matrix squares the condition number.
The SVD sits at a junction of results. It contains the spectral theorem as the special case \( A \) symmetric PSD, produces the polar decomposition \( A = QP \) (the matrix analogue of \( z = e^{i\theta} |z| \)), and gives the Courant–Fischer-type variational characterisation \( \sigma_k = \min_{\dim W = n-k+1}\, \max_{x \in W,\, \|x\| = 1} \|Ax\| \), from which the Eckart–Young theorem and Weyl's perturbation inequalities follow. In statistics it is PCA in disguise: the right singular vectors of a centred data matrix are the principal axes, and the squared singular values are (up to scaling) the variances captured.
In operator theory the theorem becomes E. Schmidt's 1907 expansion: a compact operator \( T : H_1 \to H_2 \) between Hilbert spaces admits \( T = \sum_{i} \sigma_i \langle v_i, \cdot \rangle u_i \) with orthonormal \( (v_i), (u_i) \) and \( \sigma_1 \ge \sigma_2 \ge \cdots \to 0 \), the series converging in operator norm — this is the historical origin of the term "singular values", from Schmidt's work on integral equations with unsymmetric kernels. The singular values then grade the compactness of \( T \): \( \sum \sigma_i \lt \infty \) defines the trace class, \( \sum \sigma_i^2 \lt \infty \) the Hilbert–Schmidt class, and the general Schatten \( p \)-classes interpolate. Deeper inequalities (Lidskii, Horn) govern how singular values of sums and products relate to those of the summands and factors, a subject that connects to representation theory via the Horn conjecture. Common misconceptions: the SVD is not "the eigendecomposition for rectangular matrices" — even for square non-normal matrices the two decompositions have different invariants (\( \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} \) has spectrum \( \{0\} \) but \( \sigma_1 = 1 \)); the singular vectors are not unique; and "diagonalisable" in the SVD sense is a property of every matrix, so it carries no information about the matrix, unlike eigen-diagonalisability.
Worked examples
Example 1 (computing a full SVD from scratch). Find an SVD of \( A = \begin{pmatrix} 2 & 2 \\ -1 & 1 \end{pmatrix} \).
Reading. \( A \) rotates the plane by \( 45^{\circ} \) (via \( V^{\top} \)), stretches by \( 2\sqrt2 \) horizontally and \( \sqrt2 \) vertically, then reflects across the horizontal axis. The unit circle maps to an ellipse with semi-axes \( 2\sqrt2 \) and \( \sqrt2 \).
Scope. This particular \( U, V \) pair is one valid choice; \( (u_i, v_i) \mapsto (-u_i, -v_i) \) gives another. \( \Sigma \) is forced.
Example 2 (least squares via the SVD / pseudoinverse). Find the least-squares solution of \( Ax = b \) for \( A = \begin{pmatrix} 1 & 0 \\ 0 & 1 \\ 1 & 0 \end{pmatrix} \), \( b = \begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix} \), using an SVD of \( A \).
Reading. The SVD splits \( b \) into the part reachable by \( A \) (spanned by \( u_1, u_2 \)), which is matched exactly, and the unreachable part along \( u_3 \), whose length \( \sqrt2 \) is the irreducible residual.
Scope. The recipe \( x = \sum_{i \le r} (u_i^{\top}b/\sigma_i)v_i \) gives the minimum-norm least-squares solution for any \( A, b \), including rank-deficient \( A \) — the case where the normal equations alone do not determine \( x \).
Problems
- Find a full SVD of \( A = \begin{pmatrix} 0 & 2 \\ 0 & 0 \end{pmatrix} \), and read off \( \operatorname{rank} A \), \( \|A\|_2 \), and orthonormal bases of \( \ker A \) and \( \operatorname{im} A \).
Solution
\( A^{\top}A = \begin{pmatrix} 0 & 0 \\ 0 & 4 \end{pmatrix} \), with eigenpairs \( \lambda_1 = 4, v_1 = (0,1)^{\top} \) and \( \lambda_2 = 0, v_2 = (1,0)^{\top} \) (ordered decreasingly). So \( \sigma_1 = 2, \sigma_2 = 0, r = 1 \). Then \( u_1 = Av_1/\sigma_1 = (2,0)^{\top}/2 = (1,0)^{\top} \); extend by \( u_2 = (0,1)^{\top} \). Thus \[ A = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \begin{pmatrix} 2 & 0 \\ 0 & 0 \end{pmatrix} \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, \] where the third factor is \( V^{\top} \) with \( V = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} \). Check: the product is \( \begin{pmatrix} 2 & 0 \\ 0 & 0 \end{pmatrix}\begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} = \begin{pmatrix} 0 & 2 \\ 0 & 0 \end{pmatrix} \). \( \checkmark \) Read-off: \( \operatorname{rank} A = 1 \), \( \|A\|_2 = \sigma_1 = 2 \), \( \ker A = \operatorname{span}\{v_2\} = \operatorname{span}\{(1,0)^{\top}\} \), \( \operatorname{im} A = \operatorname{span}\{u_1\} = \operatorname{span}\{(1,0)^{\top}\} \). Note the eigenvalues of \( A \) are both \( 0 \) while \( \sigma_1 = 2 \): singular values are not eigenvalues. - Prove that \( \|A\|_2 := \sup_{x \ne 0} \frac{\|Ax\|}{\|x\|} = \sigma_1 \).
Solution
Write \( A = U\Sigma V^{\top} \) and, for \( x \ne 0 \), set \( y = V^{\top}x \), so \( \|y\| = \|x\| \) (orthogonal matrices are isometries: \( \|V^{\top}x\|^2 = x^{\top}VV^{\top}x = \|x\|^2 \)). Then \[ \|Ax\|^2 = \|U\Sigma y\|^2 = \|\Sigma y\|^2 = \sum_{i=1}^{r} \sigma_i^2 y_i^2 \le \sigma_1^2 \sum_{i=1}^{n} y_i^2 = \sigma_1^2\|x\|^2, \] using \( \sigma_i \le \sigma_1 \) for all \( i \). Hence \( \|A\|_2 \le \sigma_1 \). For the reverse inequality take \( x = v_1 \): then \( \|Av_1\| = \|\sigma_1 u_1\| = \sigma_1 = \sigma_1\|v_1\| \), so the supremum is attained and \( \|A\|_2 = \sigma_1 \). (If \( A = 0 \) then \( r = 0 \), \( \sigma_1 = 0 \), and the claim is trivial.) - Prove: (a) \( \|A\|_F^2 := \sum_{i,j} A_{ij}^2 = \sum_{i=1}^{r} \sigma_i^2 \); (b) \( A \) and \( A^{\top} \) have the same nonzero singular values; (c) if \( Q, P \) are orthogonal (of compatible sizes) then \( QAP \) has the same singular values as \( A \).
Solution
(a) \( \|A\|_F^2 = \operatorname{tr}(A^{\top}A) \) (expand: the \( j \)-th diagonal entry of \( A^{\top}A \) is \( \sum_i A_{ij}^2 \)). The trace equals the sum of eigenvalues of \( A^{\top}A \), which by the theorem (Step 9) are \( \sigma_1^2, \dots, \sigma_r^2 \) together with zeros. Hence \( \|A\|_F^2 = \sum_{i=1}^r \sigma_i^2 \). (b) Transposing \( A = U\Sigma V^{\top} \) gives \( A^{\top} = V \Sigma^{\top} U^{\top} \), which is itself an SVD of \( A^{\top} \) (\( V, U \) orthogonal, \( \Sigma^{\top} \) rectangular-diagonal with the same nonzero entries in the same order). By uniqueness of singular values (Step 9 applied to \( A^{\top} \)), the nonzero singular values of \( A^{\top} \) are exactly \( \sigma_1, \dots, \sigma_r \). (c) \( QAP = (QU)\,\Sigma\,(P^{\top}V)^{\top} \); products of orthogonal matrices are orthogonal, so this is an SVD of \( QAP \) with the same \( \Sigma \). By uniqueness of \( \Sigma \), the singular values agree. (This is the invariance property that makes singular values "geometric": they see the map only up to isometries of source and target.) - (Polar decomposition.) Let \( A \in \mathbb{R}^{n \times n} \) be square. Using the SVD, prove that \( A = QP \) with \( Q \) orthogonal and \( P \) symmetric positive semidefinite, and show \( P \) is unique (namely \( P = (A^{\top}A)^{1/2} \)) while \( Q \) is unique if and only if \( A \) is invertible.
Solution
Write \( A = U\Sigma V^{\top} \) with \( U, V \in O(n) \), \( \Sigma = \operatorname{diag}(\sigma_1, \dots, \sigma_n) \), \( \sigma_i \ge 0 \). Insert \( V^{\top}V = I \): \[ A = (UV^{\top})(V\Sigma V^{\top}) =: QP. \] \( Q = UV^{\top} \) is orthogonal (product of orthogonal matrices). \( P = V\Sigma V^{\top} \) is symmetric (\( P^{\top} = V\Sigma^{\top}V^{\top} = P \) since \( \Sigma \) is square diagonal) and positive semidefinite (\( x^{\top}Px = \sum_i \sigma_i (V^{\top}x)_i^2 \ge 0 \)). Uniqueness of \( P \): from \( A = QP \), \( A^{\top}A = P^{\top}Q^{\top}QP = P^2 \). A symmetric PSD matrix has a unique symmetric PSD square root (diagonalise \( A^{\top}A = W D W^{\top} \) orthogonally; any symmetric PSD \( P \) with \( P^2 = A^{\top}A \) commutes with \( A^{\top}A \), hence preserves its eigenspaces, and on each eigenspace for eigenvalue \( d \) must act as \( \sqrt d \cdot I \) since \( P \) is PSD with \( P^2 = dI \) there; so \( P = W D^{1/2} W^{\top} \) is forced). Hence \( P = (A^{\top}A)^{1/2} \). Uniqueness of \( Q \): if \( A \) is invertible then all \( \sigma_i \gt 0 \), \( P \) is invertible, and \( Q = AP^{-1} \) is determined. If \( A \) is singular, then \( P \) has nontrivial kernel \( K \ne \{0\} \). Choose \( R \in O(n) \) acting as the identity on \( \operatorname{im} P = K^{\perp} \) and as any orthogonal map on \( K \): then \( RP = P \), so \( (QR)P = QP = A \), and since \( \dim K \ge 1 \) there exists such an \( R \ne I \) (e.g. reflect one unit vector of \( K \)); thus \( QR \ne Q \) is a second valid orthogonal factor. So \( Q \) is non-unique exactly when \( A \) is singular. - (Eckart–Young, spectral norm.) Let \( A = U\Sigma V^{\top} \) with singular values \( \sigma_1 \ge \cdots \ge \sigma_{\min(m,n)} \ge 0 \), and for \( k \lt r \) set \( A_k = \sum_{i=1}^{k} \sigma_i u_i v_i^{\top} \). Prove
\[ \min_{\operatorname{rank} B \le k} \|A - B\|_2 = \|A - A_k\|_2 = \sigma_{k+1}. \]
Solution
Upper bound. \( A - A_k = \sum_{i=k+1}^{r} \sigma_i u_i v_i^{\top} = U \Sigma' V^{\top} \) where \( \Sigma' \) is \( \Sigma \) with its first \( k \) diagonal entries zeroed. This exhibits an SVD of \( A - A_k \) (after reordering, its largest singular value is \( \sigma_{k+1} \)), so by Problem 2, \( \|A - A_k\|_2 = \sigma_{k+1} \). Also \( \operatorname{rank} A_k \le k \) since \( A_k \) is a sum of \( k \) rank-one matrices. Hence the minimum is \( \le \sigma_{k+1} \). Lower bound. Let \( B \) be any matrix with \( \operatorname{rank} B \le k \). By rank–nullity, \( \dim \ker B \ge n - k \). Let \( W = \operatorname{span}\{v_1, \dots, v_{k+1}\} \), of dimension \( k+1 \). Since \[ \dim(\ker B \cap W) \ge \dim \ker B + \dim W - n \ge (n-k) + (k+1) - n = 1, \] (the standard subspace dimension inequality \( \dim(X \cap Y) \ge \dim X + \dim Y - n \) in \( \mathbb{R}^n \), from Grassmann's formula \( \dim(X+Y) = \dim X + \dim Y - \dim(X \cap Y) \le n \)), there exists a unit vector \( x \in \ker B \cap W \). Write \( x = \sum_{i=1}^{k+1} c_i v_i \) with \( \sum c_i^2 = 1 \). Then \( Bx = 0 \), so \[ \|A - B\|_2^2 \ge \|(A-B)x\|^2 = \|Ax\|^2 = \Big\| \sum_{i=1}^{k+1} c_i \sigma_i u_i \Big\|^2 = \sum_{i=1}^{k+1} c_i^2 \sigma_i^2 \ge \sigma_{k+1}^2 \sum_{i=1}^{k+1} c_i^2 = \sigma_{k+1}^2, \] using \( Av_i = \sigma_i u_i \), orthonormality of the \( u_i \) (Pythagoras), and \( \sigma_i \ge \sigma_{k+1} \) for \( i \le k+1 \). Hence \( \|A - B\|_2 \ge \sigma_{k+1} \) for every rank-\( \le k \) matrix \( B \), and the truncation \( A_k \) attains the bound. \( \blacksquare \)