Linear Algebra, Live
Strang §6.2 · Powers, stability and Markov matrices

Powers of A: which parts grow, shrink or stay

Slide 3 showed that powers are easy once you count in eigenvector steps: each step of A multiplies each count by its own λ. Many real systems apply the same matrix again and again: uₖ₊₁ = Auₖ, one step per year, per second, or per update. Think of money in two jars. One jar gains 5% every year (it is multiplied by 1.05), and the other loses 30% (it is multiplied by 0.7). After a few decades the first jar is all that matters. Split the starting vector into eigenvectors, and the same thing happens: parts with |λ| > 1 grow, parts with |λ| < 1 die out, and a part with λ = 1 stays. When every part dies out, the system is stable. A Markov matrix, which moves fractions of a total around, always has λ = 1, and usually settles into a steady state (a vector A leaves unchanged). (It isn't “stable” in the strict sense, because the λ = 1 part never dies.)

Lesson 7 · slide 4Stability
uₖ = c₁λ₁ᵏx₁ + c₂λ₂ᵏx₂    stable ⇔ every |λ| < 1
Key ideas
  1. Split u₀ = c₁x₁ + c₂x₂ into eigenvectors. Then uₖ = Aᵏu₀ = c₁λ₁ᵏx₁ + c₂λ₂ᵏx₂.
  2. |λ| < 1: that part shrinks to 0. |λ| > 1: it grows. λ = 1: it stays.
  3. A Markov matrix has nonnegative entries and columns adding to 1. It always has λ = 1.
  4. Its eigenvector for λ = 1, scaled to add to 1, is the steady state. When every other eigenvalue has |λ| < 1 (always true if all entries are positive), the system settles into it.

The rule: each part is multiplied by its λ, every step

Write the start as u₀ = c₁x₁ + c₂x₂. One step of A multiplies the x₁ part by λ₁ and the x₂ part by λ₂. After k steps:

uₖ = Aᵏu₀ = c₁λ₁ᵏx₁ + c₂λ₂ᵏx₂

A small example: A = 2000.5 and u₀ = 11. The eigenvectors are the axes, with λ = 2 and λ = 0.5:

u₁ = 20.5,   u₂ = 40.25,   u₁₀ = (2¹⁰, 0.5¹⁰) ≈ 10240.001

So the size of |λ| decides each part's future: bigger than 1 grows, smaller than 1 shrinks, exactly 1 stays the same. A negative λ also flips the sign of that part every step.

Two cities, people moving every year

Each year 10% of city 1 moves to city 2, and 20% of city 2 moves to city 1. Everyone else stays. Let uₖ = (city 1, city 2) be the shares of the people after k years:

uₖ₊₁ = A uₖ,   A = 0.90.20.10.8
Column 1: of city 1's people, 0.9 stay and 0.1 leave. Column 2: of city 2's, 0.2 leave and 0.8 stay. Columns are where people come from, rows are where they go. Each column adds to 1: nobody is lost

A matrix like this, with entries that are 0 or more and columns that add to 1, is a Markov matrix. With 100 people, the head counts are just 100 × the shares. Start with all 100 people in city 2 and apply A year by year:

People in (city 1, city 2), year by year. The numbers change less and less and settle near 66.7 and 33.3.

The eigenvalues explain it

trace = 1.7,   det = 0.72 − 0.02 = 0.7,   so λ² − 1.7λ + 0.7 = (λ − 1)(λ − 0.7) = 0
λ = 1:   A − I = −0.10.20.1−0.2 gives x₁ = 21
λ = 0.7:   A − 0.7I = 0.20.20.10.1 gives x₂ = 1−1
One year of moving. x₁, on the line through 21, does not move at all (λ = 1). The arrow on the other line shrinks to 0.7 of its length (λ = 0.7).

Split the start (as shares, everyone in city 2 is u₀ = 01) into the two eigenvectors: c₁21 + c₂1−1 = 01. The two entries say 2c₁ + c₂ = 0 and c₁ − c₂ = 1, so c₁ = ⅓ and c₂ = −⅔:

01 = ⅓·21 − ⅔·1−1
uₖ = ⅓·1ᵏ·21 − ⅔·0.7ᵏ·1−1
k = 1:   ⅔ − ⅔·0.7⅓ + ⅔·0.7 = 0.20.8 ✓

The x₁ part is multiplied by 1 every year, so it stays. The x₂ part shrinks by 0.7ᵏ; after 20 years less than 0.1% of it is left. Only x₁ survives. Scaled so its entries add to 1, it is the steady state s = 2/31/3. These are shares, so they add to 1; for head counts multiply by the total, here 100·s ≈ 66.733.3.

The steady direction is unchanged: A times 21 gives 21 again. Two thirds end up in city 1, wherever people started.

Why a Markov matrix always has λ = 1

Each column of A adds to 1, so each column of A − I adds to 0. Then the rows of A − I add up to the zero row (entry j of the sum of the rows is the total of column j minus 1, which is 0). The rows are dependent, A − I is singular, and det(A − I) = 0. So λ = 1 is always an eigenvalue. Check here: A − I above has row 2 = −1 times row 1.

Stability

A system uₖ₊₁ = Auₖ is stable (every disturbance, meaning any small change or error added to u, dies out) exactly when every eigenvalue has |λ| < 1. A small example: A = 0.50.20.20.5 has λ = 0.7 with 11 and λ = 0.3 with 1−1. Check: A11 = 0.70.7 and A1−1 = 0.3−0.3. Both parts shrink every step, so every start goes to 0.

A stable step. The whole grid pulls in toward the origin: x₁ shrinks to 0.7 of its length, x₂ to 0.3.

One eigenvalue with |λ| > 1 is enough to make some disturbance grow without limit.

Keep reading with the full course

Finish lesson 7 and you will be able to: tell whether a system settles down or blows up.

Still locked here:

  • The rest of this explanation
  • 4 more examples with step-by-step solutions
  • Five extra members-only problems with worked solutions

$20 once, lifetime access. Lessons 1 to 3 stay free.

Examples

Example 1 · Growth and decay

A = 2000.5, u₀ = 11.

Show solutionHide solution
u₁₀ = (2¹⁰, 0.5¹⁰) ≈ 10240.001
The first part explodes, the second vanishes: unstable
Exercise Find the steady state s: the eigenvector for λ = 1, scaled so its entries add to 1. Edit the code and press Run.
slide_4.py Loading Python…
1
Output · Ctrl+Enter runs
Press Run to execute this slide's code. Ctrl+Enter works too.

Questions and comments

Stuck on something, or found a mistake? Ask here and I'll answer. You sign in with GitHub.

The full course

From Ax = b to PCA, by running it

Lessons 1 to 3 are free. Finish all eight and you will be able to:

You get: all 8 lessons with Python labs · every worked example and solution · 5 extra problems per lesson · your progress tracked · answers to your questions · every future update.

$20 once · lifetime access
Continue to checkout →

Already a member? Log in to the course