The Singular Value Decomposition (SVD) of a rectangular matrix A is a decomposition of the form
The image on top of this page shows left singular vectors ui for i = 1,...,20 of a matrix arising from the discretization of a Fredholm integral equation of the first kind arising in light scattering. The number of oscillations in ui increases with i.
The SVD has a variety of applications in scientific computing, signal processing, automatic control, and many other areas. On this page we mention a few of these applications.
By neglecting the small singular values in the "middle matrix" S in the SVD, we can obtain matrix approximations whose rank equals the number of remaining singular values. Since the singular values appear in decreasing order, the formula for the matrix approximation becomes
To illustrate this point, we computed the SVD of a 32-times-32 digital image A, and then we computed the matrix approximations Ak for k = 1,...,8. The image above shows u4 s4 v4T (left) together with the rank-4 approximation A4. Click on the image to see the principal images and matrix approximations for k = 1,...,8.
The SVD has also applications in digital signal processing, e.g., as a method for noise reduction. The central idea is to let a matrix A represent the noisy signal, compute the SVD, and then discard small singular values of A. It can be shown that the small singular values mainly represent the noise, and thus the rank-k matrix Ak represents a filtered signal with less noise.
The image above shows af GUI Matlab interface to this application of the SVD, which is called Truncated SVD (TSVD) or Reduced-Rank Noise Reduction. The software and interface was constructed in an Informatics Project in 1998-99, and the software is available as a compressed file tsvd.exe for Windows.
Some wav-files with speech signals that can be loaded by Matlab (use "wavread): alone.wav, clima.wav, prices.wav, speaker.wav.