Singular Value Decomposition

What is Singular Value Decomposition?

Singular Value Decomposition, commonly abbreviated as SVD, is a fundamental technique in linear algebra for matrix factorization. It is widely used in signal processing, statistics, data science, and machine learning for dimensionality reduction, noise reduction, and data compression. SVD decomposes a matrix into three other matrices, revealing many useful and intrinsic properties of the original matrix.

Mathematical Definition of SVD

For a given real or complex matrix A of size m x n, the singular value decomposition is a factorization that takes the form:

A = UΣV*


  • U is an m x munitary matrix (orthogonal matrix if A is real).
  • Σ (sigma) is an m x n rectangular diagonal matrix with non-negative numbers on the diagonal known as singular values.
  • V* (the conjugate transpose of V) is an n x n unitary matrix (orthogonal matrix if A is real).

The diagonal entries σi of Σ are known as the singular values of A. The columns of U and V

are called the left-singular vectors and right-singular vectors of

A, respectively.

Properties of SVD

SVD has several notable properties that make it valuable for various applications:

  • The singular values are always non-negative and are usually arranged in descending order. The number of non-zero singular values is equal to the rank of matrix A.
  • The left-singular vectors and right-singular vectors are orthonormal sets. This means they have a length of one and are orthogonal to each other.
  • SVD provides the best low-rank approximation of a matrix in terms of the least squares error and is closely related to the eigenvalue decomposition.

Computing the SVD

Computing the SVD of a matrix typically involves iterative algorithms such as the power method or more sophisticated methods like the QR algorithm. These methods are implemented in various numerical computing libraries and software, making the computation of SVD accessible for practical applications.

Applications of SVD

SVD is a versatile tool with a wide range of applications:

Dimensionality Reduction

In data analysis, SVD is used for dimensionality reduction. By keeping only the largest singular values and corresponding singular vectors, one can obtain a lower-dimensional representation of the data that captures most of its variance. This is the principle behind Principal Component Analysis (PCA), which is often used for data visualization and noise reduction.

Signal Processing

In signal processing, SVD is used to separate signals from noise. This is particularly useful in applications like image compression and denoising, where the essential features of an image can be captured with fewer bits of information.

Recommender Systems

SVD is a key component of collaborative filtering techniques used in recommender systems, such as those on e-commerce or streaming platforms. It helps in predicting user preferences based on a sparse matrix of user-item interactions.

Natural Language Processing

In NLP, SVD is used to reduce the dimensionality of text data represented in high-dimensional spaces, such as term-document matrices in topic modeling and semantic analysis.

Numerical Solutions

SVD can be used to solve linear systems, especially those that are ill-conditioned or do not have a unique solution. It provides a way to compute pseudoinverses which are instrumental in finding least-squares solutions.


Singular Value Decomposition is a powerful mathematical tool that provides deep insights into the structure of matrices. Its ability to break down matrices into simpler, interpretable components makes it indispensable in various fields that require data analysis, compression, or simplification. The widespread availability of SVD computation methods in software libraries has only expanded its utility and application in tackling complex real-world problems.

Please sign up or login with your details

Forgot password? Click here to reset