Topic summary

Singular value decomposition

Singular value decomposition

In linear algebra, the singular value decomposition (SVD) is a factorization of a real or complexmatrix into a rotation, followed by a scaling, followed by another rotation. It generalizes the eigendecomposition of a square normal matrix with an orthonormal eigenbasis to any ⁠⁠ matrix. It is related to the polar decomposition, and is a common means for implementing low-rank approximation for matrices.

Specifically, the singular value decomposition of an complex matrix ⁠⁠ is a factorization of the form ⁠⁠, where ⁠⁠ is an ⁠⁠ complex unitary matrix, is an rectangular diagonal matrix with non-negative real numbers on the diagonal, ⁠⁠ is an complex unitary matrix, and ⁠⁠ is the conjugate transpose of ⁠⁠. Such decompositions always exist for any complex matrix. If ⁠⁠ is real, then some ⁠⁠ and ⁠⁠ can be found which are real (orthogonal) matrices; a real-valued SVD is often denoted ⁠⁠, where ⁠⁠ is the transpose of ⁠⁠.

The diagonal entries of are uniquely determined by ⁠⁠, up to reordering, and are known as the singular values of ⁠⁠. Conventionally they are arranged in descending order (from largest to smallest), which uniquely determines ⁠⁠. The number of non-zero singular values, allowing repetitions, is equal to ⁠⁠, the rank of ⁠⁠.

The columns of ⁠⁠ and the columns of ⁠⁠ are called left-singular vectors and right-singular vectors of ⁠⁠, respectively. They form two orthonormal bases, ⁠⁠ and ⁠⁠. In general the SVD is not unique, with certain unitary transformations of ⁠⁠ and ⁠⁠ producing valid alternative decompositions.

The term SVD sometimes refers to the compact SVD, a similar decomposition ⁠⁠, in which ⁠⁠ is an ⁠⁠ matrix with only the non-zero singular values (allowing repetitions) on its main diagonal. In this variant, ⁠⁠ is an ⁠⁠semi-unitary matrix whose columns ⁠⁠span the columns of ⁠⁠, and is an ⁠⁠ semi-unitary matrix whose columns ⁠⁠ span the columns of ⁠⁠.

The SVD (with sorted singular values) splits ⁠⁠ into a sum of ⁠⁠ rank-⁠⁠ matrices, .

Mathematical applications of the SVD include computing the pseudoinverse, matrix approximation, and determining the rank, range, and null space of a matrix. The SVD is also extremely useful in many areas of science, engineering, and statistics, such as signal processing, least squares fitting of data, and process control.