Case Study 2 — How Much Must an Economy Produce? The Leontief Inverse

Field: economics. The inverse of $(I - C)$ — the Leontief inverse — turns a wish list of final demand into a complete production plan, and its existence is exactly an invertibility condition.

The problem

An economy is a web of mutual dependence. To grow wheat, farmers need fuel and machinery; to make machinery, factories need steel and electricity; to generate electricity, power plants need coal — and coal mining, in turn, needs machinery and fuel. So when consumers demand a certain amount of bread, the true production required is far larger and more tangled than the bread alone: it includes all the wheat, fuel, steel, and electricity that ripple backward through the supply chain, including the inputs needed to make those inputs, and so on, in principle forever. How can a planner compute the total output each sector must produce to satisfy a given final demand, accounting for every indirect requirement?

This is the question Wassily Leontief answered with linear algebra, work for which he won the 1973 Nobel Memorial Prize in Economic Sciences. His insight: the infinite regress of "inputs to make inputs to make inputs…" collapses into a single matrix inverse. The chapter's abstract object $A^{-1}$ becomes, here, a concrete and famous economic tool — the Leontief inverse — and the condition for it to exist is precisely the invertibility we studied in §9.6, now carrying the weight of "can this economy function at all?"

Setting up the model

Suppose the economy has two sectors, Agriculture and Manufacturing. We encode their interdependence in a consumption matrix (also called the technical-coefficients matrix) $C$, where the entry $C_{ij}$ is the amount of sector $i$'s output consumed to produce one unit of sector $j$'s output. Take $$C = \begin{bmatrix} 0.2 & 0.3 \\ 0.4 & 0.1 \end{bmatrix}.$$ Read the columns as recipes (the Chapter 7 habit): column 1 says "to make one unit of Agriculture, consume 0.2 units of Agriculture and 0.4 units of Manufacturing"; column 2 says "to make one unit of Manufacturing, consume 0.3 of Agriculture and 0.1 of Manufacturing." Now let $\mathbf{x} = (x_1, x_2)$ be the total output of each sector and $\mathbf{d} = (d_1, d_2)$ be the final demand — what's left for consumers after the sectors have fed each other. The accounting identity is "total output = internal consumption + final demand": $$\mathbf{x} = C\mathbf{x} + \mathbf{d}.$$ The term $C\mathbf{x}$ is what the sectors consume from one another to sustain output $\mathbf{x}$; $\mathbf{d}$ is the surplus delivered to the outside world. Rearranging, $$\mathbf{x} - C\mathbf{x} = \mathbf{d} \quad\Longrightarrow\quad (I - C)\mathbf{x} = \mathbf{d}.$$ We have a linear system. The matrix $I - C$ is the Leontief matrix, and solving for the required output is exactly the problem of inverting (or, better, solving with) it.

The inverse as the answer

If $I - C$ is invertible, the unique production plan that meets demand $\mathbf{d}$ is $$\mathbf{x} = (I - C)^{-1}\mathbf{d}.$$ The matrix $(I - C)^{-1}$ is Leontief's celebrated inverse. Let's compute it. First, $$I - C = \begin{bmatrix}1 & 0 \\ 0 & 1\end{bmatrix} - \begin{bmatrix}0.2 & 0.3 \\ 0.4 & 0.1\end{bmatrix} = \begin{bmatrix}0.8 & -0.3 \\ -0.4 & 0.9\end{bmatrix}.$$ Its determinant is $0.8 \cdot 0.9 - (-0.3)(-0.4) = 0.72 - 0.12 = 0.6 \neq 0$, so $I - C$ is invertible — the economy is productive, capable of meeting any final demand. By the $2\times 2$ shortcut from §9.5, $$(I - C)^{-1} = \frac{1}{0.6}\begin{bmatrix}0.9 & 0.3 \\ 0.4 & 0.8\end{bmatrix} = \begin{bmatrix}1.5 & 0.5 \\ 0.6\overline{6} & 1.3\overline{3}\end{bmatrix}.$$ Now suppose consumers want a final demand of $\mathbf{d} = (90, 60)$ — 90 units of Agriculture and 60 of Manufacturing delivered to the outside. The required total output is $$\mathbf{x} = (I - C)^{-1}\mathbf{d} = \begin{bmatrix}1.5 & 0.5 \\ 0.6\overline 6 & 1.3\overline 3\end{bmatrix}\begin{bmatrix}90 \\ 60\end{bmatrix} = \begin{bmatrix}135 + 30 \\ 60 + 80\end{bmatrix} = \begin{bmatrix}165 \\ 140\end{bmatrix}.$$

# Leontief input-output model: total output x = (I - C)^{-1} d.
import numpy as np
C = np.array([[0.2, 0.3],
              [0.4, 0.1]])
I = np.eye(2)
print("det(I - C) =", round(float(np.linalg.det(I - C)), 4))   # nonzero -> productive
Leontief_inverse = np.linalg.inv(I - C)
print("(I - C)^{-1} =\n", np.round(Leontief_inverse, 4))
d = np.array([90.0, 60.0])
x = Leontief_inverse @ d
print("required output x =", np.round(x, 2))
print("check  x - C x = d ?", np.allclose(x - C @ x, d))
det(I - C) = 0.6
(I - C)^{-1} =
 [[1.5    0.5   ]
 [0.6667 1.3333]]
required output x = [165. 140.]
check  x - C x = d ?
 True

The economy must produce 165 units of Agriculture and 140 of Manufacturing — far more than the 90 and 60 demanded — because the sectors consume so much of each other's output along the way. The check $\mathbf{x} - C\mathbf{x} = \mathbf{d}$ confirms the plan exactly meets demand after internal consumption.

What the inverse's entries actually mean

The Leontief inverse is more than a calculator; its entries carry deep economic meaning, and this is one of the genuine cases (promised in §9.8) where you want the inverse as an object, not just one solution. The entry $[(I - C)^{-1}]_{ij}$ is the total output of sector $i$ required per unit of final demand for sector $j$ — direct requirements plus all indirect ripples. Look at the first column, $(1.5, 0.667)$: producing one extra unit of Agriculture for consumers ultimately requires $1.5$ units of Agriculture output (the unit itself plus the agriculture consumed making it and its inputs) and $0.667$ units of Manufacturing output. These are the economic multipliers, and a planner who knows $(I - C)^{-1}$ can instantly price out any demand scenario by a single matrix-vector product, without re-solving from scratch — which is why national statistical agencies actually tabulate and publish these inverse matrices.

There is a lovely way to see why the inverse captures the infinite supply-chain regress. Algebraically, when $C$ is small enough (its largest eigenvalue below 1 — Chapter 23), the inverse expands as a geometric series: $$(I - C)^{-1} = I + C + C^2 + C^3 + \cdots$$ Read term by term, this is the economics laid bare: $I$ is the final goods themselves; $C\mathbf{d}$ is the direct inputs to make them; $C^2\mathbf{d}$ is the inputs to make those inputs; $C^3\mathbf{d}$ the next layer back; and so on through every round of production. The inverse sums the entire infinite chain into one matrix. (This is the matrix analogue of $\frac{1}{1 - r} = 1 + r + r^2 + \cdots$ for $|r| < 1$, and it's why invertibility of $I - C$ is tied to $C$'s eigenvalues being small — a thread we pick up in Chapter 23.)

# The Leontief inverse IS the summed supply chain: I + C + C^2 + ... converges to it.
import numpy as np
C = np.array([[0.2, 0.3], [0.4, 0.1]])
partial = np.zeros((2, 2))
term = np.eye(2)
for k in range(40):           # sum I + C + C^2 + ... + C^39
    partial += term
    term = term @ C
print("series sum   =\n", np.round(partial, 4))
print("(I - C)^{-1} =\n", np.round(np.linalg.inv(np.eye(2) - C), 4))
series sum   =
 [[1.5    0.5   ]
 [0.6667 1.3333]]
(I - C)^{-1} =
 [[1.5    0.5   ]
 [0.6667 1.3333]]

The truncated series already matches the inverse to four decimals — the supply chain summed up, exactly as the algebra promised.

When the economy cannot function: singularity

The invertibility conditions of §9.6 are not a technicality here; they decide whether the economy is viable. If $I - C$ is singular, the planning problem breaks down. Consider an economy whose sectors are so hungry that each unit of output requires half a unit of every sector, $C = \begin{bmatrix}0.5 & 0.5 \\ 0.5 & 0.5\end{bmatrix}$. Then $$I - C = \begin{bmatrix}0.5 & -0.5 \\ -0.5 & 0.5\end{bmatrix}, \qquad \det(I - C) = 0.25 - 0.25 = 0.$$ This Leontief matrix is singular — its columns are negatives of each other, so it collapses the output space onto a line, exactly the degeneracy of §9.3. Economically, the sectors consume everything they produce internally (each column of $C$ sums to 1), leaving no surplus for consumers no matter how hard the economy runs; there is no production plan that yields a positive final demand, and $(I - C)^{-1}\mathbf{d}$ does not exist. The Invertible Matrix Theorem here reads as a verdict on economic survival: a productive economy is one whose Leontief matrix is invertible. Singular means the supply chain eats itself.

The takeaway

Leontief's input-output model is the inverse matrix doing real, Nobel-winning work. The accounting identity $\mathbf{x} = C\mathbf{x} + \mathbf{d}$ becomes the linear system $(I - C)\mathbf{x} = \mathbf{d}$, and the production plan is $\mathbf{x} = (I - C)^{-1}\mathbf{d}$ — the inverse turning a demand wish list into a complete output schedule. Its existence is the chapter's invertibility condition ($\det(I - C) \neq 0$, full rank), here meaning the economy can actually deliver a surplus; its entries are the economic multipliers that sum the entire infinite supply chain; and its breakdown (singularity) describes an economy that consumes all it makes. It is also a clean example of when you do want the inverse as an object — to read off multipliers and reprice many demand scenarios cheaply — even though, to solve for a single output plan, §9.8's advice still holds: np.linalg.solve(I - C, d) would be the leaner route.