Skip to content

Singular Values and Spectral Decomposition ​

Consider two matrices:

A1=[1001],A2=[10010−3].

Both have rank two. Yet they do not preserve a two-dimensional signal equally well. A1 leaves the unit circle unchanged, while A2 squeezes it into a needle: the second coordinate still exists in exact arithmetic, but a small amount of noise can overwhelm it.

Rank cannot express this difference. It tells us whether a direction has vanished, but not how close that direction is to vanishing. What we want instead is a description of a matrix in terms of the input directions it acts on, the amount of stretching along each direction, and the output directions those inputs become.

That description is the singular value decomposition. We will build it from the two-dimensional picture, then use the same picture to understand the singular-value spectrum, ATA, low-rank approximation, spectral decomposition, and the spectral norm.

Singular value decomposition ​

For a real matrix A∈Rm×n, the singular value decomposition is

A=UΣVT.

U and V are orthogonal matrices, and Σ is rectangular and diagonal. Its diagonal entries are the singular values,

σ1≥σ2≥⋯≥0.

The product becomes useful when we read it in the order in which it acts on a vector:

x→VTVTx→ΣΣVTx→UUΣVTx.

Let vi be the i-th column of V. The i-th entry of VTx is

(VTx)i=viTx,

so VT reads the coordinate of x along the input direction vi. The diagonal matrix Σ multiplies that coordinate by σi, and U places the result along the output direction ui. Equivalently,

Avi=σiui.

This equation contains the geometry of the whole decomposition. The vi form orthogonal input directions; the ui form orthogonal output directions; and σi records how much length survives between them. If σi=0, the entire vi direction is erased.

Move θV, σ1, σ2, and θU below; the panels follow a fixed vector through x, VTx, ΣVTx, and UΣVTx.

x
Vᵀx
ΣVᵀx
UΣVᵀx = Ax

The unit sphere now has a simple fate. VT and U preserve lengths because they are orthogonal. Only Σ changes length, so A maps the unit sphere to an ellipsoid whose semiaxis lengths are the singular values and whose semiaxis directions are the columns of U.

What singular values measure ​

The opening example has singular values (1,1) for A1 and (1,10−3) for A2. Rank sees only that both pairs contain two nonzero numbers:

rank(A)=#{i:σi>0}.

The singular values tell us what rank leaves out. A value of zero means that a direction is gone. A very small value means that the direction survives algebraically but is fragile numerically, because recovering it requires division by a small number.

For a full-rank square matrix, this fragility is summarized by the two-norm condition number,

κ2(A)=σ1σn.

The condition number of A2 is 103: an error aligned with its weak direction can be amplified by a factor on that scale when the map is inverted. If σn=0, the inverse does not exist and the condition number is infinite.

Singular-value spectrum ​

The ordered list (σ1,σ2,…) is called the singular-value spectrum. The qualifier matters. The spectrum of a square matrix usually means its eigenvalues, which may be negative or complex; singular values exist for rectangular matrices and are always nonnegative real numbers.

In high dimensions, the tail of this list is often more informative than exact rank. Given a threshold ε, we can define an effective rank

rε=#{i:σi≥ε}.

Given a truncation point k, we can also measure how much squared singular-value mass is retained:

Ek=∑i=1kσi2∑iσi2.

A flat spectrum spreads scale across many directions. A decaying spectrum concentrates it near the front, so a matrix may have full exact rank while behaving like a much lower-dimensional map.

The example below uses σi=e−α(i−1); adjust α, ε, and k to see how spectral decay changes effective rank, retained energy, and truncation error.

σ1
σ2
σ3
σ4
σ5
σ6
σ7
σ8
σ9
σ10
σ11
σ12
σ13
σ14
σ15
σ16
Effective rank
rε = 11
Retained energy
E5 = 91.0%
Truncation error
σ6 = 0.301

This is the quantitative advantage of singular values: they turn the binary statement “a direction exists” into a graded description of how strongly that direction survives.

SVD from AᵀA ​

The SVD tells us that the important input directions are the columns of V. How can we recover those directions from A?

The useful observation is that squared output length is a quadratic form:

‖Ax‖22=xTATAx.

The matrix ATA therefore records how much A stretches every input direction, without retaining the final orientation of the output. Substituting the SVD makes this cancellation explicit:

ATA=(UΣVT)T(UΣVT)=VΣTUTUΣVT=VΣTΣVT.

Because UTU=I, the left singular directions disappear. What remains is an orthogonal spectral decomposition of ATA:

ATAvi=σi2vi.

Thus the right singular vectors are eigenvectors of ATA, and the singular values are the square roots of its eigenvalues. For every positive singular value we can then recover the corresponding left singular vector from

ui=Aviσi.

When σi=0, this formula is undefined; the remaining columns of U are supplied by an orthonormal completion. The same argument on the output side gives

AATui=σi2ui.

There is one common shortcut worth avoiding. For an arbitrary vector x,

ATAx=VΣTΣVTx,

not Σ2x. The diagonal action appears only after x has been expressed in the V basis, or when x itself is one of the vi.

This eigendecomposition route explains the mathematics, but it is not the preferred numerical implementation of SVD. Explicitly forming ATA squares the condition number and can destroy information in weak directions; stable algorithms work on A more directly, typically through bidiagonalization.

Spectral decomposition ​

The relation Avi=σiui describes what A does to one special direction. To recover its action on an arbitrary vector, expand

x=∑i(viTx)vi.

Applying A gives

Ax=∑iσi(viTx)ui.

Since this holds for every x, the matrix itself can be written as

A=∑iσiuiviT.

Each rank-one term is a directional channel: viT reads one input coordinate, σi scales it, and ui writes it into the output space. Keeping only the first k channels gives the truncated SVD,

Ak=∑i=1kσiuiviT.

The Eckart–Young theorem says that Ak is the best rank-k approximation to A in both the spectral and Frobenius norms. In the spectral norm, the error has an especially clean form:

‖A−Ak‖2=σk+1.

This is why the tail of the bar chart matters: the first discarded bar is exactly the worst remaining directional error.

The rank-one expansion is sometimes loosely called a spectral decomposition, but the distinction is useful. A real symmetric matrix has an orthogonal eigendecomposition

A=QΛQT=∑iλiqiqiT.

Here the same direction qi appears on both sides. For a general matrix, the input and output directions vi and ui need not agree, so its SVD is not an orthogonal spectral decomposition of A itself.

If A is symmetric positive semidefinite, then its eigenvalues are nonnegative and its eigendecomposition aligns with its SVD. If A is symmetric but indefinite, its singular values are |λi| and the signs are absorbed into one set of singular vectors. For an arbitrary matrix, it is ATA and AAT that always have genuine orthogonal spectral decompositions:

ATA=∑iσi2viviT,AAT=∑iσi2uiuiT.

Spectral norm ​

One final quantity falls out of the same picture. The spectral norm asks for the largest factor by which A can stretch a unit vector:

‖A‖2=max‖x‖2=1‖Ax‖2.

Set y=VTx. Orthogonality gives ‖y‖2=‖x‖2=1, and therefore

‖Ax‖22=‖UΣVTx‖22=‖Σy‖22=∑iσi2yi2≤σ12∑iyi2=σ12.

The bound is attained by choosing x=v1, so

‖A‖2=σ1.

We can now answer the question posed at the start. A matrix is best understood as a collection of orthogonal directional channels,

vi→σiui.

Rank counts how many channel gains are nonzero. The singular-value spectrum records all their strengths. Truncation removes the weak channels in the best possible way, and the spectral norm is the gain of the strongest channel. This picture applies to every real matrix; only when the matrix is symmetric do its input and output directions align into an orthogonal spectral decomposition of the matrix itself.