
Home building generates substantial economic activity, including
new income and jobs for residents, and additional revenue for
local governments. The NAHB has developed a model that users
OMatrix to estimate the economic benefits.
The tables above are generated by the NAHB economic model.
In phases 2 and 3 of the model, the taxes and income generated feed back
into each other and recycle within a local economy.
The result of the limiting process is a multiplier in vector form,
calculated with OMatrix.
The following is the script used to produce the output for Phase III of
the model
The output generated by this code is what enables reporting of
income and employment effects by industry.
xprime3={[96050.189,3666.794]}
W=read("T:\LOCIMP05\AVGCITY\W.DAT","double",56)
G=read("T:\LOCIMP05\AVGCITY\G.DAT","double",56)
T=read("T:\LOCIMP05\AVGCITY\T.DAT","double",56)
L=[W,G,T]
o55=fill(0,55,1)
foo={o55,1}
Anp=read("T:\LOCIMP05\AVGCITY\ASF.DAT","double",56)
Anx=[Anp,foo]
An=(Anx)'
Ap=read("T:\LOCIMP05\AVGCITY\AALL.DAT","double",56)
Ax=[Ap,foo]
A=(Ax)'
i95=fill(1,95,1)
o95=fill(0,95,1)
Y={[i95,o95,o95],[o95,i95,o95],[o95,o95,i95]}
Z={[1,0],[0,1],[0,1]}
close
I2=identity(2)
I3=identity(3)
I56=identity(56)
I285=identity(285)
eigens=svd(A*L*Y*Z)
print(eigens)
write("T:\LOCIMP05\AVGCITY\EIGENS.PRN",eigens)
format double "f14.4"
out002=xprime3*(I2+(AnA)*L*Y*Z)*inv(I2A*L*Y*Z)
print(out002)
write("T:\LOCIMP05\AVGCITY\SF3002.PRN",out002)
out003=xprime3*An*L*Y*inv(I3Z*A*L*Y)
print(out003)
write("T:\LOCIMP05\AVGCITY\SF3003.PRN",out003)
in=(xprime3*An*L*inv(I285Y*Z*A*L))'
co=(xprime3*An*inv(I56L*Y*Z*A))'
ind=in.blk(1,1,95,1)
com=co.blk(49,1,7,1)
out102={ind,com}
print(out102)
write("T:\LOCIMP05\AVGCITY\SF3102.PRN",out102)
We needed to have the computation procedure automated as much as possible,
because we produce a large number of local impact studies (about 380 so far)
for particular metropolitan areas, nonmetropolitan counties,
and states across the country. And, we need to compute inverses
quickly and easily for matrices constructed from relevant localarea data.
OMatrix code works quite well for this.
 Paul Emrath, NAHB
OMatrix was also used for the mathematical operations in
developing the model that estimates the jobs, income, and taxes
generated by home build.
In order to specify the technology of a typical local economy, we begin
with the national inputoutput accounts published by the
U.S. Bureau of Economic Analysis (BEA).
We then strip this down, retaining a relatively small fraction of the
commodities and industries in BEA's accounts that we believe
capture economic transactions that usually take place within a
local economy (laundry dry cleaning services, for example,
are retained, but computer storage device manufacturing is excluded).
Next, we define several vectors and matrices based only on these local
industries and commodities:
c a column vector showing commodity outputs
g a column vector showing industry outputs
V a subset of BEA's "make" table, showing how much of each
commodity is produced by each industry
h a column vector showing how much scrap is produced by each
industry
U a subset of BEA's "use" table, showing the dollar amount of
each commodity used as an input by each industry.
Once we have these, we simply apply the same operations BEA uses to
derive a national "total requirements" table, only we apply
them to our relatively small subset of local commodities and industries:
B = Ugˆ1 The direct requirements matrix, showing the
amount of each commodity needed as a direct input to produce $1 of
each industry’s output. (The symbol ˆ indicates a matrix created
from a vector by placing the vector’s elements on the matrix diagonal.)
This is simply the use table scaled by industry output.
j = h1 a vector showing scrap as a fraction of each
industry’s output.
D = Vcˆ1 a market share matrix  the make table scaled
by commodity output. D shows the fraction of each commodity (
excluding scrap) produced by each industry.
F = (I  jˆ)1D is a matrix showing, for $1 worth of
each commodity, the fraction produced by each industry.
F is D> adjusted for the scrap generated in some industries.
F is sometimes called the transformation matrix, because it transforms
commodities into the output of industries and vice versa.
(I is an identity matrix).
OMatrix code calculating inverses in the NAHB model
Total local requirements are defined as F(I BF)1  a
matrix showing the total output required from each of the local
industries to produce $1 of each of the local commodities.
This user story was contributed by Paul Emrath,
Assistant Staff Vice President, National
Association of Home Builders
NAHB Local Economic Impact of Home Building Page.

