Singular Value Decomposition
The singular value decomposition (SVD) is arguably the most important matrix factorization in numerical linear algebra. It provides optimal low-rank approximations, reveals the rank and condition number, and is the basis for many algorithms in data science and scientific computing.
Definition and Properties
Every matrix (with ) has a factorization where and are orthogonal, and with . The are the singular values (square roots of eigenvalues of ). The columns of and are the left and right singular vectors.
The SVD says maps the unit sphere in to an ellipsoid in . The semi-axes have lengths , oriented along . The directions are the pre-images of these axes. Thus (operator norm), (if is square and invertible), and .
Computation
The standard SVD algorithm first reduces to bidiagonal form (upper bidiagonal) using Householder reflectors, at cost . Then the SVD of is computed iteratively using a variant of the QR algorithm applied to implicitly (the Golub-Kahan-Reinsch algorithm). Each iteration costs , and convergence with Wilkinson-type shifts is cubic, giving a total cost of for the full SVD.
The divide-and-conquer approach splits the bidiagonal matrix into two halves plus a rank-1 update, recursively computes SVDs of the halves, then merges via a secular equation . This achieves average complexity for computing all singular values and vectors of a bidiagonal matrix, making it the fastest method in practice for dense SVD.
Applications
The Eckart-Young theorem states that the best rank- approximation to (in both Frobenius and 2-norm) is , with errors and . The Moore-Penrose pseudoinverse is where and .
PCA is SVD applied to the centered data matrix (samples features). The right singular vectors are the principal directions, and are the corresponding variances. Truncating to components via gives the optimal -dimensional approximation, capturing of the total variance.