MATLAB's
linear algebra capabilities make it a good vehicle for studying linear economic models, sometimes called
Leontief models (after their primary
developer, Nobel Prize-winning economist Wassily Leontief) or input-output models. We will give a few examples. The simplest such model is the linear exchange model or closed Leontief model of an economy.
This model supposes that an economy is divided into, say, n sectors, such as agriculture,
manufacturing, service, consumers, etc.
Each sector receives input from the various sectors (including itself)
and produces an output, which is divided among the various sectors. (For example, agriculture produces food for
home consumption and for export, but also seeds and new livestock which are
reinvested in the agricultural sector, as well as chemicals that may be used by
the manufacturing sector, and so on.)
The meaning of a closed model
is that total production is equal to total consumption. The economy is in equilibrium when each sector
of the economy (at least) breaks even.
For this to happen, the prices of the various outputs have to be
adjusted by market forces. Let denote the fraction of the output of the jth sector consumed by the ith sector. Then theare the entries of a square matrix, called the exchange matrix A, each of whose columns sums to 1. Let pi be
the price of the output of the ith
sector of the economy. Since each
sector is to break even, pi
cannot be smaller than the value of the inputs consumed by the ith sector, or in other words,
.
But
summing over i and using the fact
that , we see that both sides must be equal. In matrix language, that means that (I - A)p = 0, where p is the column vector of prices. Thus p
is an eigenvector of A for the
eigenvalue 1, and the theory of stochastic matrices implies (assuming that A is irreducible, meaning that there is
no proper subset E of the sectors of
the economy such that outputs from E
all stay inside E) that p is uniquely determined up to a scalar
factor. In other words, a closed irreducible linear economy has an
essentially unique equilibrium state.
For example, if we have
A = [.3, .1, .05, .2; .1, .2, .3, .3; .3, .5, .2, .3; .3, .2, .45, .2]
0.3000 0.1000
0.0500 0.2000
0.1000 0.2000
0.3000 0.3000
0.3000 0.5000
0.2000 0.3000
0.3000 0.2000 0.4500 0.2000
then
as required,
1 1 1 1
that
is, all the columns sum to 1, and
p = V(:, 1)
1.0000
p =
0.2739
0.4768
0.6133
0.5669
Columns 1 through 7
0 0
0 0 0 0 0
Columns 8 through 9
0 0
ans =
Columns 1 through 7
0 0
0 0 0 0 0
Columns 8 through 9
0 0
ans =
Columns 1 through 7
0 0
0 0 0 0 0
Columns 8 through 9
0 0
ans =
0 0 0 0
Thus
the fourth row, which summarizes inter-industry
inputs, is the
sum of the first three rows; the 9th row, which summarizes
"primary inputs," is the sum of rows 5 through 8; the 10th
row, total inputs, is the sum of rows 4 and 9, and the first 4 entries of the
last row agree with the first 4 entries of the last column (meaning that all
output from the industrial sectors is accounted for). Also we have:
(T(:, 4) -
T(:, 1) - T(:, 2) - T(:, 3))'
(T(:, 8) - T(:, 5) - T(:, 6) - T(:, 7))'
(T(:, 9) - T(:, 4) - T(:, 8))'
Columns 1 through 7
0 0
0 0 0 0 0
Columns 8 through 10
0 0
0
ans =
Columns 1 through 7
0 0
0 0 0 0
0
Columns 8 through 10
0 0
0
ans =
Columns 1 through 7
0 0
0 0 0 0 0
Columns 8 through 10
0 0 0
so
the fourth column, representing total inter-industry output, is the sum of
columns 1 through 3; the 8th column, representing total "final
demand," is the sum of columns 5 through 7; and the 9th column,
representing total output, is the sum of columns 4 and 8. The matrix A of inter-industry technical
coefficients is obtained by dividing the columns of T corresponding to industrial sectors (in our case there are three
of these) by the corresponding total inputs.
Thus we have:
A = [T(:, 1)/T(10, 1), T(:, 2)/T(10, 2), T(:, 3)/T(10, 3)]
0.1425 0.0147
0.0008
0.3020 0.3688
0.1032
0.1214 0.0964
0.0861
0.5658 0.4800
0.1900
0.0684 0.0941
0.0370
0.0015 0.0044
0.0023
-0.1265 0.0165
0.0242
0.4907 0.4050
0.7465
0.4342 0.5200
0.8100
1.0000 1.0000 1.0000
Here
the square upper block (the first three rows) is most important, so we make the
replacement
0.1425 0.0147
0.0008
0.3020 0.3688
0.1032
0.1214 0.0964 0.0861
If
the vector Y represents total final
demand for the various industrial sectors, and the vector X represents total outputs for these sectors, then the fact that
the last column of T is the sum of
columns 4 (total inter-industry outputs) and 8 (total final demand) translates
into the matrix equation X = AX + Y,
or Y = (1 - A)X.
Let's check this:
Y = T(1:3, 8); X = T(1:3, 9); Y - (eye(3) - A)*X
0
0
0
1.0e+004 *
0.0280
1.6265
0.1754
deltaX1 =
(eye(3) - A) \ [10000; 0; 0];
deltaX2 = (eye(3) - A) \ [0; 0; 10000];
subplot(1, 3,
1), pie(deltaX1, {'Agr.', 'Ind.', 'Serv.'}),
subplot(1, 3, 2), pie(deltaX, {'Agr.', 'Ind.', 'Serv.'}),
title('Effect of increases in demand for each of the 3 sectors',
'FontSize',18),
subplot(1, 3, 3), pie(deltaX2, {'Agr.', 'Ind.', 'Serv.'});