Topic summary
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.