済モデル開発用の代表的なソフトウェアシステムで一般的に用いられているものである。ただ，Stewardの方法は連立方程式体系をブロック化するが，図1.2の第IIブロックに示されるような，ブロック内でスパイク列を最小化したヘリ付三角行列を作成することはできない。そのため本章では分割された個々のブロックについてさらに修正されたStewardの方法によって上記のようなヘリ付三角化ができるようにする。

Stewardのブロック化は，グラフの理論に基づいている。いまモデルが下記のようにG本の連立方程式体系で記述されているものとする。

$$ \begin{aligned}&y_{1}=f_{1}(y_{2},\ y_{3},\cdots\cdots,\ y_{G})\\&y_{2}=f_{2}(y_{1},\ y_{3},\cdots\cdots,\ y_{G})\\&\quad\cdots\cdots\cdots\\&y_{G}=f_{G}(y_{1},\ y_{2},\cdots\cdots,\ y_{G-1})\\ \end{aligned} $$

この連立方程式体系に対応する行列を下記のように定義する。

$$ \begin{array}{l}B{=}(b_{ij})\quad i,j{=}1,2,\cdots\cdots,\ G\\b_{ij}{=}\quad\left\{\begin{aligned}&1: 変数 y_{j} が方程式 i に含まれる \\&0: その他 \end{aligned}\right.\end{array} $$

$$ \subsetneq\varnothing $$

例えば, 表1.1の簡単な日本経済モデルを二値行列Bで表現すると次のようになる。

$$ \mathbf{B}=\begin{pmatrix}{{{1}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{1}}}&{{{0}}}&{{{0}}}&{{{1}}} \\{{{0}}}&{{{1}}}&{{{1}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}} \\{{{1}}}&{{{1}}}&{{{1}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}} \\{{{0}}}&{{{1}}}&{{{0}}}&{{{1}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}} \\{{{0}}}&{{{0}}}&{{{1}}}&{{{0}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{0}}}&{{{0}}} \\{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{1}}}&{{{1}}}&{{{0}}}&{{{0}}} \\{{{0}}}&{{{0}}}&{{{1}}}&{{{0}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{0}}}&{{{0}}} \\{{{0}}}&{{{0}}}&{{{1}}}&{{{0}}}&{{{0}}}&{{{1}}}&{{{0}}}&{{{1}}}&{{{0}}} \\{{{0}}}&{{{0}}}&{{{0}}}&{{{0}}}&{{{1}}}&{{{0}}}&{{{1}}}&{{{1}}}&{{{1}}} \\\end{pmatrix} $$

次に行列 B の累乗

$$ B^{2}{=}B\cdot B{=}\left(\sum_{k=1}^{G}b_{i k}\bullet b_{k j}\right) $$

(注) B の対角要素を 0 に変えて転値した行列は, グラフの理論で隣接行列 (adjacency matrix) として知られているものである。

をブール算法

$$ \begin{cases}\theta0=\theta1=\uparrow0=0\\\uparrow1=1\\0+0=0\\0+1=1+0=1+1=1\end{cases} $$

に基づいて行なう。

ここで $ B^{2} $ の要素 $ b_{ij}^{(2)} $ が 1 となるためには,

$ \sum_{p=1}^{G}b_{ip}b_{pj}=1 $

すなわち，少くとも1つの$p$ について$b_{ip} \cdot b_{pj}=1$ となることが必要である。これが成立するのは$b_{ip}=1$ かつ$b_{pj}=1$ の場合である。これは，変数$y_{j}$ が変数$y_{p}$ を経由して変数$y_{i}$ に影響することを意味する。さらに$B^{3}=B^{2}$ $B$ の要素$b_{ij}^{(3)}$ が1となるためには

$ \sum_{q=1}^{G}b_{iq}^{(2)}\cdot b_{qj}=1 $

すなわち少くとも1つのqについて $ b_{iq}^{(2)} $ $ b_{qj}=1 $ となることが必要である。これが成立するのは $ b_{iq}^{(2)}=1 $ かつ $ b_{qj}=1 $ の場合である。 $ b_{iq}^{(2)} $ について前述の結果を利用すれば，上記の条件は少くとも1つのp，qについて $ b_{ip}=1 $ かつ $ b_{pq}=1 $ かつ $ b_{qj}=1 $ となることである。これは変数 $ y_{j} $ が変数 $ y_{q} $ ， $ y_{p} $ を経由して変数 $ y_{i} $ に影響することを意味する $ B^{4} $ ， $ B^{5} $ ……についても同様のことが言える。

また，Stewardによれば二値行列Bの累乗 $ B^{k} $ に関して，結合行列の累乗の性質から $ \ell\leqq G $ でかつ $ B^{\ell-1}\neq B^{\ell}=B^{\ell+1} $ となる $ \ell $ が存在する。(1.9)の場合は $ \ell=4 $ となる。この時

$$ B^{4}=\begin{pmatrix}{{{1}}}&{{{1}}}&{{{1}}}&{{{0}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}} \\{{{1}}}&{{{1}}}&{{{1}}}&{{{0}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}} \\{{{1}}}&{{{1}}}&{{{1}}}&{{{0}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}} \\{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}} \\{{{1}}}&{{{1}}}&{{{1}}}&{{{0}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}} \\{{{1}}}&{{{1}}}&{{{1}}}&{{{0}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}} \\{{{1}}}&{{{1}}}&{{{1}}}&{{{0}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}} \\{{{1}}}&{{{1}}}&{{{1}}}&{{{0}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}} \\{{{1}}}&{{{1}}}&{{{1}}}&{{{0}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}}&{{{1}}} \\\end{pmatrix} $$

となり，第4列に対応する変数Kは他のすべて