4.8.21 · D2Numerical Methods

Visual walkthrough — Eigenvalue computation — power method, inverse iteration

1,965 words9 min readBack to topic

Step 1 — What a matrix does to an arrow

WHAT. A matrix is a machine: feed it an arrow (a vector), it spits out another arrow. Usually it both turns the arrow and changes its length.

WHY we care. Eigenvectors are the special arrows that the machine does not turn at all — it only stretches or shrinks them. If we can find those, we understand the machine completely.

PICTURE. In the figure, the grey arrows are ordinary inputs — each output (dashed) points a different way than its input. But the two coloured arrows come back pointing the same way, only longer or shorter. Those are the eigenvectors.

Figure — Eigenvalue computation — power method, inverse iteration

can be bigger than 1 (stretch), between 0 and 1 (shrink), or negative (flip and stretch). We will meet all of these.


Step 2 — Line up the eigenvectors by strength

WHAT. Suppose our matrix has eigenvectors , one per eigenvalue. We sort the eigenvalues by size, biggest first:

WHY the absolute value ? Because we care about how much an arrow gets stretched, not which way it flips. A stretch factor of pulls an arrow just as hard as ; the length multiplies by either way. The bars measure raw stretching power.

WHY the strict at the front. We demand be strictly the biggest — no ties for first place. That single champion is the dominant eigenvalue, and the dominant eigenvector. In Step 5 we'll see exactly why a tie breaks the method.

PICTURE. A "stretch-strength" bar chart: the tallest bar is , standing alone above the rest. Each shorter bar is a weaker direction that will lose the race.

Figure — Eigenvalue computation — power method, inverse iteration

Step 3 — Feed the blend through the machine ONCE

WHAT. Apply to the whole mix. Matrix-times-a-sum splits across the sum, and each eigenvector obeys :

WHY this is the key simplification. We never had to actually turn anything. Because each ingredient is an eigenvector, the machine just rescales each ingredient independently by its own . The hard matrix multiply becomes easy number multiplies.

PICTURE. Two ingredients go in (a long -part, a short -part). After one pass, the -part has grown by factor , the -part by the smaller . The blended arrow already leans toward .

Figure — Eigenvalue computation — power method, inverse iteration

Step 4 — Feed it through times: the ratios appear

WHAT. Do it again and again. Each pass multiplies ingredient by once more, so after passes each has been hit times:

  • means "apply the machine times".
  • is the stretch factor raised to the -th power — repeated stretching compounds like interest.

Now the crucial move: pull the champion's factor out front.

  • Outside the bracket: , a giant overall scaling we'll cancel later by normalizing.
  • Inside: sits untouched, but every other term now carries a ratio .

WHY factor out and not or nothing? Because we want to compare every direction against the champion. Dividing each stretch by the biggest stretch turns absolute sizes into a fairness ratio: "how does runner-up measure up to the winner?" That ratio is what decides the race.

PICTURE. The equation redrawn as a stack of terms; the term is solid and full-height, every other term is tagged with its shrinking ratio label.

Figure — Eigenvalue computation — power method, inverse iteration

Step 5 — Why every loser fades: the ratio powers die

WHAT. For every we sorted so that . Therefore

WHY. A number smaller than 1 in size, multiplied by itself over and over, collapses to zero — like folding a paper in half again and again, its thickness fraction of the original vanishes. So inside the bracket every term except melts away: The whole iterated arrow points in the direction. The most-stretched direction wins by a landslide.

PICTURE. Ratios plotted as decaying curves versus step . All curves dive toward the floor; the closest-to-1 curve dives slowest — that's the runner-up , and it sets the pace.

Figure — Eigenvalue computation — power method, inverse iteration

Step 6 — The degenerate sign: what if is negative?

WHAT. Suppose the champion is negative, e.g. . Then flips sign every step:

WHY it still works. We only ever cared about direction, and a flip is the same line, just pointing the other way. So the normalized arrow alternates between and — it still locks onto the axis, it just ping-pongs across it.

PICTURE. The seed arrow shown at steps : it snaps to the line but alternates head-forward / head-backward. The line is found; only the arrowhead's side oscillates.

Figure — Eigenvalue computation — power method, inverse iteration

Step 7 — The convergence speed is a two-horse race

WHAT. After the champion, the slowest-dying term is the runner-up , because is the ratio closest to 1. The error in direction shrinks like This is linear convergence: each step multiplies the error by the same fixed factor .

WHY the gap matters. If is far below (small ), the error collapses fast — few steps. If nearly ties (r_2 close to 1), each step barely helps — painfully slow. The whole speed hinges on the gap between the top two eigenvalues.

PICTURE. Two seeds run to convergence: one matrix with a big gap (, error crashes down), one with a small gap (, error crawls). Same method, wildly different pace.

Figure — Eigenvalue computation — power method, inverse iteration
Recall More on this

The linear rate here is why shifting and inverse iteration exist — they manufacture a huge gap on purpose. See the Rayleigh Quotient Iteration and QR Algorithm notes for methods that beat linear speed. The clean split into eigen-ingredients used throughout is exactly a Spectral Decomposition; the sorting of comes from the Characteristic Polynomial whose roots they are.


The one-picture summary

Figure — Eigenvalue computation — power method, inverse iteration

The whole story in one frame: a seed arrow is a mix of eigen-ingredients; each pass through scales the champion hardest, so after a few passes the (normalized) arrow swings onto the line — while the runner-up ratio quietly sets how fast the swing happens.

Recall Feynman retelling — the whole walkthrough in plain words

Picture a stretchy rubber sheet with a few secret "stretch lines". Along most directions, pushing a dot both drags it and twists its heading. But along the secret lines it only stretches — no twist. Those are the eigenvectors, and how hard each stretches is its eigenvalue.

Take any starting dot. Split its arrow into how-much-of-each secret line it contains. Now push it through the sheet again and again. Every push multiplies each ingredient by its own stretch. The strongest stretch line pulls hardest, so after a handful of pushes the dot is sliding almost exactly along that one line — every other ingredient has faded to nothing because a fraction-under-one, multiplied by itself many times, disappears.

Two things can spoil it: if two lines stretch equally hard there's no clear winner and the dot never settles; and if your starting dot has zero of the strongest line, there's nothing to amplify (though a speck of noise usually saves you). If the strongest stretch is negative, the dot still finds the line — it just flips side to side each push. And the whole thing is slow or fast depending on one number: how close the runner-up's stretch is to the champion's. Big gap, instant answer; near tie, glacial. That single race between the top two stretches is the beating heart of the power method.