4.5.40 · D2Linear Algebra (Full)

Visual walkthrough — Singular Value Decomposition (SVD) — full derivation

2,308 words10 min readBack to topic

We build everything from the ground up. If you have never seen a matrix "act" on space, start at Step 0 and do not skip.


Step 0 — What does "a matrix acts on space" even mean?

WHAT. A matrix is a machine. You feed it an arrow (a vector ), it spits out another arrow . Feeding it every arrow at once, we see what it does to a whole shape.

WHY start here. Every claim in SVD is a claim about this machine's shape-changing behaviour. We must be able to picture the input shape and the output shape before any symbol appears.

PICTURE. Take the unit circle — all arrows of length , pointing every direction. Watch what does to it.

Figure — Singular Value Decomposition (SVD) — full derivation

The big question the whole derivation answers:


Step 1 — The two frames we are hunting for

WHAT. We want two special sets of perpendicular arrows:

  • in the input circle — the arrows that will land exactly on the ellipse's axes.
  • in the output — unit arrows pointing along those axes.
  • — how long each axis is (the stretch amounts).

WHY. If we find these, then the machine is completely described by the sentence " sends to a -times-longer arrow in direction ." Everything else is bookkeeping.

PICTURE. Same circle-to-ellipse, now with the special arrows drawn in.

Figure — Singular Value Decomposition (SVD) — full derivation

The target relationship, term by term:

Read it aloud: " acting on equals lots of ." Our job for the rest of the page: prove such always exist and find them.


Step 2 — We cannot attack directly, so we build

WHAT. can be rectangular, tilted, without perpendicular eigen-arrows — hard to grip. So we form a friendlier matrix: . Here (read " transpose") is flipped across its diagonal.

WHY this tool and not another. We need a matrix with guaranteed perpendicular special directions. A matrix has a full set of perpendicular eigen-arrows exactly when it is symmetric (that is the Spectral Theorem). And is always symmetric — proof in the picture. That is the whole reason we detour through it.

PICTURE. Why is symmetric? Flipping it does nothing.

Figure — Singular Value Decomposition (SVD) — full derivation

Term by term: flips the order; undoes a flip. The result equals what we started with — that is the definition of symmetric.


Step 3 — The eigen-arrows of become our

WHAT. Solve the eigen-problem for : find perpendicular unit arrows and numbers with Then define .

WHY. An eigenvector is an arrow the matrix does not rotate — it only scales it by (see Eigenvalues and Eigenvectors). These un-rotated, mutually perpendicular arrows are exactly the special input directions we hunted in Step 1. The symbol (the Kronecker delta) is just shorthand: when , otherwise — it says "perpendicular unit arrows".

PICTURE. leaves each pointing the same way, only scaled.

Figure — Singular Value Decomposition (SVD) — full derivation

Order the arrows so . Here is the rank: the count of non-zero stretches. Stacking the arrows side by side gives the matrix , which is orthogonal () because its columns are perpendicular unit arrows.


Step 4 — Push each through to get

WHAT. For each with , define

WHY divide by ? points the right way (along an ellipse axis) but has the wrong length. How long is it? Compute: Term by term: regroup the arrows; substitute the eigen-equation from Step 3; use . So . Dividing by rescales it to length — now it is a legit unit direction . This is also where pays off: , one clean stretch.

PICTURE. Watch get sent to (length ), then shrunk to the unit arrow .

Figure — Singular Value Decomposition (SVD) — full derivation

Are the perpendicular to each other? Yes — check for : The last equality holds because (Step 3's perpendicularity). So are perpendicular unit arrows.


Step 5 — Complete the output basis (the leftover directions)

WHAT. We have (one per non-zero ). If the output space is bigger than , we still need to fill it. We invent them using the Gram-Schmidt Process: pick any arrows filling the gaps, then straighten them to be perpendicular unit arrows.

WHY. must be a full orthogonal matrix (a complete frame), even if only reaches an -dimensional slice of the output. The extra 's point into directions never lands on — the left null space.

PICTURE. Two reached axes plus one unreached direction completing 3D space.

Figure — Singular Value Decomposition (SVD) — full derivation

Stacking all of them gives , orthogonal by construction. Together with Step 3's , these are the four bases of the Four Fundamental Subspaces.


Step 6 — Assemble

WHAT. Collect the single fact (true for every : when both sides are the zero arrow) into one matrix equation.

WHY. Doing the same thing to every column at once is matrix multiplication. Stacking as columns: Here is the box with the on its diagonal (same shape as it is not square in general), so that places in front of .

Right-multiply both sides by . Since is orthogonal, (rotating then un-rotating changes nothing):

PICTURE. The famous three-move factory: input frame → turn () → stretch () → turn () → output.

Figure — Singular Value Decomposition (SVD) — full derivation

Read the moves right to left (the order they hit an input in ):

  • : rotate the input so the special arrows align with the coordinate axes.
  • : stretch axis by (and squash to any axis with ).
  • : rotate the stretched result into its final resting frame.

Step 7 — The degenerate cases (nothing is left to chance)

WHAT & WHY. SVD claims to work for every matrix. So we must survive the ugly inputs. Each gets a panel below.

Figure — Singular Value Decomposition (SVD) — full derivation

The one-picture summary

Figure — Singular Value Decomposition (SVD) — full derivation

Everything on this page in a single diagram: perpendicular input frame → each stretched by → landing on the perpendicular output frame , tracing the ellipse. The two frames plus the stretch numbers are the SVD.

Any matrix A

Form A transpose A

Symmetric and PSD

Spectral Theorem gives v_i and lambda_i

sigma_i equals sqrt lambda_i

Define u_i equals A v_i over sigma_i

Complete U by Gram Schmidt

A equals U Sigma V transpose

Recall Feynman retelling — say it in plain words

A matrix is a machine that turns the unit circle into an ellipse. An ellipse has a long axis and a short axis — the only special directions in sight. I want to know which input arrows fed those axes and by how much they grew. The raw matrix is too messy to ask directly, so I build , which is guaranteed to have a perpendicular set of un-rotated arrows (that is what symmetry buys me). Their scaling numbers are ; I take square roots to get the true stretches . Pushing each through and rescaling to length one gives the output axes — and because I define them this way, their signs and pairing come out right automatically. I pad out any missing output directions with Gram–Schmidt. Assembling the single fact " sends to " column by column, and undoing one rotation, gives : turn, stretch, turn. Zero stretches just mean some input arrows got crushed to a point — that is the null space, and the theorem swallows it without complaint.

Recall

Why detour through instead of ? ::: Because is always symmetric and PSD, so the Spectral Theorem guarantees perpendicular eigen-arrows and non-negative eigenvalues — itself offers no such guarantee. What single fact, stacked as columns, gives the whole SVD? ::: for all , which stacks to , hence . What geometric object is the unit circle mapped to, and what are its axes? ::: An ellipse; its semi-axis lengths are the singular values and its axis directions are the left singular vectors .