Case Study 3.1 — Balancing an Economy: Leontief's Input–Output Model

Field: economics. This case study ties to the chapter's theme that a linear system encodes a web of simultaneous constraints, and connects to the input-output models in economics that earned Wassily Leontief the 1973 Nobel Prize in Economics.

The problem: an economy that feeds on itself

Picture a small economy with three sectors: agriculture, manufacturing, and services. The awkward fact about any real economy is that the sectors consume one another's output. Manufacturing needs steel and electricity to make tractors; agriculture needs tractors and fuel to grow wheat; services need food and equipment to operate. So when you ask "how much should agriculture produce?", you cannot answer it in isolation — the answer depends on how much manufacturing and services demand from agriculture, which in turn depends on how much agriculture and services demand from them, and around the circle it goes. This circularity is exactly the kind of simultaneous, mutually-referential constraint that a system of linear equations is built to capture, and it is the chapter's "system of equations meaning" made economic: every sector's output is constrained by every other sector's needs, all at once.

Wassily Leontief, working in the 1930s–40s, turned this circular bookkeeping into a solvable linear system, and the model now sits at the foundation of national economic accounting. The genius of the setup is that it converts a vague verbal puzzle ("everything depends on everything") into a crisp matrix equation whose solution is a single vector of production levels.

Setting it up: the consumption matrix

Let $x_1, x_2, x_3$ be the total output (in, say, billions of dollars) that agriculture, manufacturing, and services must each produce in a year. Some of that output is consumed internally by the sectors as inputs to their own production; the rest is left over to satisfy final demand — the goods households, government, and exports actually want to consume.

The key empirical inputs are the technical coefficients $a_{ij}$: the dollars of sector $i$'s output needed to produce one dollar of sector $j$'s output. Collected into a consumption matrix $A$, a representative table might read

$$ A = \begin{bmatrix} 0.10 & 0.20 & 0.10 \\ 0.30 & 0.20 & 0.30 \\ 0.20 & 0.30 & 0.20 \end{bmatrix}. $$

Read column $j$ as a recipe: to make one dollar of manufacturing output (column 2), you consume $\$0.20$ of agriculture, $\$0.20$ of manufacturing, and $\$0.30$ of services. The total internal consumption of sector $i$'s output is then $a_{i1}x_1 + a_{i2}x_2 + a_{i3}x_3$ — that is, the $i$-th entry of the matrix–vector product $A\mathbf{x}$, exactly the column-picture combination from the chapter (each column scaled by that sector's output, then summed).

The accounting identity is simple and unbreakable: total output = internal consumption + final demand. In symbols,

$$\mathbf{x} = A\mathbf{x} + \mathbf{d},$$

where $\mathbf{d} = (d_1, d_2, d_3)^{\mathsf{T}}$ is the vector of final demands. With final demands, say, $\mathbf{d} = (100, 50, 80)^{\mathsf{T}}$, we have one linear equation per sector, three equations in the three unknowns $x_1, x_2, x_3$.

The system, and its two pictures

Rearrange the identity to collect the unknowns. Subtract $A\mathbf{x}$ from both sides:

$$\mathbf{x} - A\mathbf{x} = \mathbf{d} \quad\Longrightarrow\quad (I - A)\mathbf{x} = \mathbf{d}.$$

This is a textbook $A'\mathbf{x} = \mathbf{b}$ system with coefficient matrix $I - A$ and right-hand side $\mathbf{d}$. Numerically,

$$ I - A = \begin{bmatrix} 0.9 & -0.2 & -0.1 \\ -0.3 & 0.8 & -0.3 \\ -0.2 & -0.3 & 0.8 \end{bmatrix}. $$

In the row picture, each of the three equations is a plane in "output space" $\mathbb{R}^3$, and the production levels that balance the economy are the single point where the three planes meet — provided they do meet at one point. In the column picture, we are asking: can the final-demand vector $\mathbf{d}$ be written as a combination of the columns of $I - A$? Economically, the columns encode how a unit of each sector's net output "ripples" through the economy, and we want the blend of outputs whose net effect delivers exactly the demanded goods. A unique balancing point exists precisely when the columns of $I - A$ are independent — when no sector's net contribution is a redundant copy of the others'.

Solving and interpreting

Because the consumption matrix here is "productive" (each column sums to less than one — sectors produce more than they consume), $I - A$ turns out to be invertible, so by the chapter's square-system dichotomy there is exactly one solution for every demand vector. We solve it with numpy:

# Leontief: solve (I - A) x = d for the three sectors' total output.
import numpy as np
A = np.array([[0.10, 0.20, 0.10],
              [0.30, 0.20, 0.30],
              [0.20, 0.30, 0.20]])
d = np.array([100.0, 50.0, 80.0])
M = np.eye(3) - A
print("det(I - A) =", round(np.linalg.det(M), 4))   # -> 0.41  (nonzero => unique)
x = np.linalg.solve(M, d)
print("total output =", np.round(x, 3))             # -> [184.634 217.073 227.561]
print("balance check:", np.allclose(A @ x + d, x))  # -> True

The output says the economy must run agriculture at about $\$184.6$ billion, manufacturing at $\$217.1$ billion, and services at $\$227.6$ billion to deliver the demanded $(100, 50, 80)$ to end users. The determinant of $I - A$ is $0.41$, comfortably nonzero, which is the chapter's algebraic certificate that the three planes meet at one point and the column combination is unique. The final `balance check` line confirms the accounting identity: internal consumption $A\mathbf{x}$ plus final demand $\mathbf{d}$ exactly reproduces total output $\mathbf{x}$.

Notice how much larger the required outputs are than the final demands: producing $\$100$ billion of *deliverable* agriculture requires $\$184.6$ billion of total agricultural output, because $\$84.6$ billion of it is swallowed by the other sectors (and by agriculture itself) as inputs. That gap — the difference between what the economy must make and what people get to keep — is the "multiplier" effect, and it falls straight out of the linear system. This is why the model is indispensable for policy: if the government wants to stimulate final demand for manufacturing by $\$10$ billion, the input–output system tells it exactly how much every sector must ramp up to supply the ripple, because $\mathbf{x} = (I-A)^{-1}\mathbf{d}$ is linear in $\mathbf{d}$ (the inverse is Chapter 9's subject).

We can watch that ripple concretely. Bump only manufacturing's final demand by $\$10$ billion and re-solve:

# A $10B stimulus to manufacturing's final demand — how much extra TOTAL output?
import numpy as np
A = np.array([[0.10, 0.20, 0.10],
              [0.30, 0.20, 0.30],
              [0.20, 0.30, 0.20]])
M = np.eye(3) - A
d  = np.array([100.0, 50.0, 80.0])
d2 = d + np.array([0.0, 10.0, 0.0])             # +10 to manufacturing only
delta = np.linalg.solve(M, d2) - np.linalg.solve(M, d)
print("extra output by sector =", np.round(delta, 3))  # -> [ 4.634 17.073  7.561]
print("total extra output     =", round(delta.sum(), 3))  # -> 29.268

A mere $\$10$ billion of extra *final* demand for manufacturing forces about $\$29.3$ billion of extra total output across the whole economy: manufacturing itself ramps up by $\$17.1$ billion, but agriculture must also add $\$4.6$ billion and services $\$7.6$ billion just to feed the manufacturing surge. No sector is an island. That economy-wide amplification of a single localized nudge is the policy payoff of treating the economy as one coupled linear system rather than three independent businesses — and it is, once again, pure superposition: because the map $\mathbf{d} \mapsto \mathbf{x}$ is linear, the change in output depends only on the change in demand, computable on its own.

When the system fails: the economic meaning of singularity

The chapter insists that a square system is either uniquely solvable (invertible $I - A$) or degenerate (singular $I - A$). Both cases have vivid economic meaning. If the consumption matrix were too "hungry" — if some combination of sectors consumed as much as it produced — then $I - A$ would be singular, and the system would have no nonnegative solution for positive demand: the economy physically cannot deliver the demanded goods, because producing them would require infinite (or impossible) total output. Geometrically, the three planes would fail to meet at a single feasible point; in the column picture, the demand vector would lie outside the reachable cone of the columns. The mathematics of "none / one / infinitely many" is, in this application, the difference between a viable economy and an impossible one — a striking case of the chapter's theme that the shape of the solution set carries the real-world verdict.

What this case study illustrates

The Leontief model is the cleanest possible demonstration of the chapter's central claims. A web of "everything depends on everything" constraints became a single matrix equation $(I - A)\mathbf{x} = \mathbf{d}$. The row picture is intersecting planes in output space; the column picture asks whether final demand is a reachable combination of sector contributions; and the determinant / invertibility of $I - A$ decides, in one number, whether the economy has a unique balancing point. We did not need row reduction (Chapter 4) to understand the problem — only the meaning of a system and the geometry of its solutions. And the linearity of $\mathbf{x} = (I - A)^{-1}\mathbf{d}$ is precisely the superposition principle of Chapter 1: double the demand, double the required output. That an economy balances itself through a system of linear equations is one of the quiet triumphs of applied linear algebra, and a reminder that the subject is, as our title promises, the mathematics of everything — including the wealth of nations.