行列の簡約化とは? ~定義・具体例・性質~

行列の主成分
  それぞれの行の最初に現れる $0$ でない成分を、 行列の主成分 (leading entry) という。
行列の主成分
上の行列の四角で囲った成分は、全て主成分である。
簡約化された行列の定義
  次の 4 つのルールを満たす行列を簡約化行列 (reduced row echelon form, rref) という。
ルール 1
  主成分が $1$ である。
ルール 2
  主成分を持つ列の主成分を除く全ての成分が $0$ である。
ルール 3
  右側の列に行くほど主成分が下側にある。
ルール 4
  全ての成分が $0$ である行が、$0$ 以外の値を含む行よりも下側にある。

解説
  簡約化行列の定義である 4 つのルールを解説する。
ルール 1
  主成分が $1$ である。 これは全ての行が
の形をしていることを意味する。
  このとき、 主成分がない行があってもよい。 言い換えると、全ての成分が $0$ になる
の行があってもよい。 また、一番左の成分が 1 である
の行があってもよい。
ルール 2
  主成分を持つ列の主成分を除く全ての成分は $0$ である。 これは主成分を持つ列が
となっていることを意味する。
  よって、 上から $d$ 番目に主成分がある場合、 その列ベクトルは、 第 $d$ 成分が $1$ であり、 その他の成分が全て $0$ である基本ベクトル
に等しくなる。
  従って、このルールは、 「主成分を持つ列ベクトルが基本ベクトルになる」とも言い表される。
ルール 3
  主成分が右側に行くほど下側にある。 すなわち、 簡約化行列は
の形をしている。 よって、 $d$ 行 $k$ 列に主成分があるとすると、 $k+1$ 列以降に主成分があるならば、 それは必ず $d+1$ 行以降にある。
 
ルール 4
  全ての成分が $0$ である行が $0$ 以外の値を成分に持つ行よりも下側にある。 すなわち、
の形をしている。 ここで、$* \hspace{1mm} * \hspace{1mm} *$ を成分に持つ行は $0$ 以外の値を持つとする。

具体例 (簡約化行列の判定)
  以下の行列
が簡約化された行列かどうかを判定せよ。
解答
  $(1)$
この行列の 2 行目の主成分は 2 である。 これはルール 1 に反するので、 簡約化行列ではない

$(2)$  
この行列は、全ての主成分が 1 であるため、 ルール1 を満たす。 しかし、3列目の列ベクトルが主成分を持つにも関わらず、基本ベクトルでない (第 1 成分が $0$ でない)ので、 ルール 2 を満たさない。 したがって、簡約化行列ではない

  $(3)$
この行列は、 全ての主成分が 1 であるため、 ルール1 を満たす。また 主成分を持つ列ベクトル (1 列目と 3 列目)は、 基本ベクトルであるので、 ルール2 を満たす。 しかし、 1 列目の主成分よりも 3 列目の主成分が右上にある。 すなわち、 1 列目の主成分が 2 行目にあるのに対して、 3 列目の主成分がそれよりも上側の 1 行目にある。 これは、ルール 3 に反するので、簡約化行列ではない

$(4)$  
この行列は、 全ての主成分が $1$ であるため、 ルール1 を満たす。 また、主成分を持つ列ベクトル (1 列目と 3 列目)が基本ベクトルであるので、 ルール2 も満たす。 加えて、 1 行 1 列成分と 3 行 3 列成分に主成分があるが、主成分が右側に行くほど下側にあるので、 ルール3 も満たす。 しかし、2 行目の行ベクトルがゼロベクトルであるにも関わらず、 ゼロベクトルではない行ペクトル (3 行目の行ベクトル)よりも上側にある。 これは、 ルール4 に反するので、簡約化行列ではない

$(5)$
この行列は、 全ての主成分が 1 であるため、 ルール1 を満たす。 また、主成分を持つ列ベクトル (1 列目と 3 列目)が基本ベクトルであるので、 ルール2 も満たす。 加えて 1 行 1 列成分と 2 行 3 列成分に主成分があるが、 主成分が右側に行くほど下側にあるので、 ルール3 も満たす。 最後にゼロベクトルである行ベクトル (3 行目の行ベクトル)が、 ゼロベクトルではない行ペクトル (1 行目と 2 行目の行ベクトル)よりも下側にあるので、 ルール4 を満たす。 したがって、 すべてのルールを満たすので、 簡約化行列である

例題: 行列の簡約化
  簡約化されていない行列を行基本変形し、 簡約化された行列にすることを行列の簡約化という。
  以下の行列
を簡約化せよ。
解説
  行基本変形を用いて、 以下のように簡約化する。
考え方:
1. それぞれの行にある主成分を見つけ、 その値を $1$ にする。  
2. 主成分を含む列を基本ベクトルにする (主成分を除く成分の値を $0$ にする)  
3. 行を入れ替えて、ルール 3 とルール 4 を満たすようにする (上の例では行っていない)。

簡約化された行列は一段ずつの階段状
  簡約化された行列は、 全ての主成分が $1$ であり、 それらが右に進むほど一行ずつ下側に置かれる階段状の行列になる。
簡約化された行列は一段ずつの階段状

説明
  4つの条件を順に適用した結果として現れる行列の形を考察する。
● ルール 1 を満たす行列
  行列の主成分とは、 各行を左から順に見たときに、 最初に現れる $0$ でない成分のことである (一番左が $0$ でないときには、そこが主成分)。 従って、ルール 1 を満たす行列の各行は、 左から順に見て、最初に現れる $0$ でない成分が必ず $1$ になっている (例えば、次のような行列。"$*$" の部分はどんな数でもよい)。
行列に ルール 1 が課されたとしても、 一つの列に複数の主成分を持つことは許される。 この場合、 $1$列から順に右に行くほど、 主成分が下側に置かれるとは限らない。実際、 上の例では、$1$列に二つの主成分 ($1$行$1$列と$5$行$1$列) があるが、 $5$行$1$列 の主成分の右側にある $2$列には、 $2$行$2$列に主成分が置かれており、 これは、$5$行$1$列の主成分よりも上の行にある。
● ルール 1 と ルール 2 を満たす行列
  ルール 1 とルール 2 を満たす行列とは、 主成分が $1$ であり、 主成分を持つ列の主成分を除く他の全ての成分が $0$ になっている行列である。 例えば、次のような行列である。
ルール 1 とルール 2 が課されたとしても、 $1$列から順に右に行くほど、 主成分が下側に置かれる階段状の行列になるとは限らない。 実際、 上の例では $1$列の主成分($4$行$1$列)よりも、 $2$列の主成分($1$行$2$列)の方が上側に置かれている。
● ルール 1 と ルール 2 と ルール 3 を満たす行列
  ルール 1 とルール 2 と ルール 3 を満たす行列とは、 主成分が $1$ であり、 主成分を持つ列の主成分を除く他の全ての成分が $0$ であり、 列が右に進むほど主成分が下側に置かれる行列である。 例えば、次のような行列である。
このように、 ルール 1 とルール 2 と ルール 3 が課された行列は、 $1$列から順に右に行くほど、 主成分が下側に置かれる階段状の行列になる。 しかし、 一行ずつの階段状にはならない。
  なぜなら、 これらが課されたとしても、 全ての成分が $0$ の行が、 $0$ でない成分を持つ行よりも上側に置かれることは許されるので、 二行以上の階段状の形になりうるからである。
  実際、 上の例では全ての成分が $0$ である $3$行が、 $0$ でない成分を持つ $4$行より上側にあることによって、 $2$列の主成分($2$行$2$列)とその右側にある$4$列の主成分($4$行$4$列)が一行ずつになっておらず、 二行の階段($2$行から$4$行)になってしまっている。
  このように、 ルール 1 とルール 2 と ルール 3 のみを満たす行列は、 列が右に進むほど主成分が下側に置かれるものの、 一方で、一行ずつ下側に置かれるわけではない。 この点は ルール 4 を適用することによって、解消される。
● 全てのルールを満たす行列
  全てのルールを満たす行列とは、 主成分が $1$ であり、 主成分を持つ列の主成分を除く他の全ての成分が $0$ であり、 列が右に進むほど主成分が下側に置かれ、 全ての成分が $0$ の行 が、 $0$ でない成分を持つ行よりも下側に配置される行列である。 (例えば、次のような行列である)。
ルール $4$ によって、 主成分が 右に進むほど一行ずつ下側に置かれることが保証される。
以上から、 4つのルール を満たす行列は、 全ての主成分が $1$ であり、 それらが右に進むほど一行ずつ下側に置かれる階段状の行列になる。

任意の行列は簡約化可能
  任意の行列は、行基本変形によって、 簡約化行列に変換できる。

証明
  簡約化された行列は、
「全ての主成分の値が 1 であり、 主成分を持つ列の主成分を除く全ての成分が 0 であり、 主成分が右に進むほど一行ずつ下側に置かれる階段状の行列
$\tag{*}$
である。 そこで、 どんな行列でも行基本変形
(a)   行を定数倍する。
(b)   ある行と他の行を入れ替える。
(c)   ある行に他の行の定数倍を加える。
によって、$(*)$ の行列に変換できることを帰納法によって示す。
  $(*)$ の形の行列は、 $1$ 列が $0$ であるか、 または、 $1$ 行の成分が $1$ で、残りが $0$ になっているかのどちらかのみである。 すなわち、
である。 はじめに、 任意の行列 $A$ が行基本変形によって、 $(*2a)$ と $(*2b)$ のどちらかに変換できることを示す。
  $A$ の $1$ 列に $0$ でない成分がある場合、 行の入れ替え (b) によって、 $0$ でない成分を $1$ 行に持って行き、 その後、 その成分の逆数を 1 行に掛ける (行基本変形 (a)) ことによって、 $(*2b)$ の形の行列に変換できる。
  一方で、 $A$ の $1$ 列の成分が全て $0$ の場合には、 何もしなくても $(*2a)$ の左側の形の行列である。 ゆえに、 行基本変形によって、 どんな行列でも $(*2a)$ か $(*2b)$ のどちらかの形に変換できる。 すなわち、 $1$ 列を簡約化できる。
  次に行列 $A$ が行基本変形によって $1$ 列から $k$ 列までを見る限りにおいては、 (*) を満たす行列に変換されているとする。 また、 $k$ 列までに主成分が $d$ 個あるとする(例えば、次のような行列)。

ここで、$k$ 列までの $d+1$ 行以降の成分は、全て $0$ である。
  $k+1$ 列に着目し、$d+1$ 行以降に $0$ でない成分があるとする。 その $0$ でない成分が $m$ 行にあり、値を $a$ と表す。
行基本変形 (b) によって、 $m$ 行と $d+1$ 行を入れ替える と、 $a$ が $d+1$ 行に移動する。 このとき、 $a$ を持つ行の $1$ 列から $k$ 列までの成分は全て $0$ であるので、 移動後の $d+1$ 行の $1$ 列から $k$ 列までの成分は全て $0$ である。
次に $1/a$ を $d+1$ 行に掛ける (行基本変形 (a)) ことよって、 $d+1$ 行の $k+1$ 列成分を $1$ にすることができる。

このようにしても、$d+1$ 行の $1$ 列から $k$ 列までの成分は全て $0$ である。
  ここまで変換した後、 $k+1$ 列の $d+1$ 行を除く行に $0$ でない成分があるとすれば、 $d+1$ 行の定数倍をその行に加える( (行基本変形 (c))こと によって、 その行成分を $0$ にすることができる。 このような変換を他の行にも繰り返すと、 $k+1$ 列を $d+1$ 行だけが値 $1$ を持ち、他の行が全て $0$ になるように変換することができる。
この変換の際に、$k$ 列までの全ての成分は値を変えない。なぜなら、 $d+1$ 行の $k$ 列までの成分は全て 0 であるからである。
  このように、$k+1$ 列の $d+1$ 行以降に $0$ でない成分がある場合、 $k$ 列までを不変に保ちながら、$k+1$ 列を $d+1$ 行成分だけが値 $1$ を持ち、 他の行成分が値 $0$ を持つように変換することができる。 変換後の行列は $k+1$ 列まで (*) を満たす形になる。

  一方で、$k+1$ 列の $d+1$ 行以降の成分が全て 0 である場合には、 既に行列は $k+1$ 列まで (*) を満たす形になっている。
  ゆえに、 $k$ 列まで $(*)$ を満たす行列に変換されているならば、 行基本変形によって、 その行列を $k+1$ 列まで $(*)$ を満たす行列に変換することができる。

  以上より、帰納法によって、任意の行列を $(*)$ を満たす行列 (すなわち簡約化された行列) に変換できることが示された。

簡約化された行列は唯一つ
  行列を簡約化すると、必ず同じ行列になる。 すなわち、簡約化行列は唯一つである。

証明

準備
  任意の $m$ 行 $n$ 列の行列を $A$ とし、 $A$ の列ベクトルを $\mathbf{a}_{1}, \mathbf{a}_{2}, \cdots, \mathbf{a}_{n}$ と表す。
$A$ を簡約化した行列を $A^{e}$ とし、 $A^e$ の列ベクトルを $\mathbf{a}_{1}^e, \mathbf{a}_{2}^e, \cdots, \mathbf{a}_{n}^e$ と表す。
また基本ベクトルを
と定義する。
  以下では、 $A$ が与えられると、$A^{e}$ が唯一つに定まることを、1 列から順に帰納法を用いて証明する。
証明
  簡約化するための操作は 行基本変形 であるので、 $A$ の 1 列がゼロベクトルである場合には、 $A^{e}$ の 1 列もまたゼロベクトルである。
よって、この場合、$A^{e}$ の 1 列は唯一つ (ゼロベクトル) に定まる。
  一方で、 $A$ の 1 列がゼロベクトルではない場合、 簡約化された行列 $A^{e}$ の 1 列は、 1 行の成分だけが 1 であり、 他の成分が 0 の列ベクトルになる (簡約化可能の証明を参考)。
したがって、 この場合には、 $A^{e}$ の 1 列は唯一つ (1 行の成分だけが 1 であり、他の成分が 0 の列ベクトル) に定まる。
  以上より、$A$ が与えられると、どんな場合でも $A^{e}$ の 1 列は唯一つに定まる。
  続いて $A$ を簡約化した行列 $A^{e}$ の $k$ 列までが簡約化されており、唯一つに定まっていると仮定する。 このとき、次の二つの場合が考えられる。
(a)   $\mathbf{a}_{k+1}$ が $\mathbf{a}_{1}$ から $\mathbf{a}_{k}$ までの線形結合

(b)   $\mathbf{a}_{k+1}$ が $\mathbf{a}_{1}$ から $\mathbf{a}_{k}$ までの線形結合ではない。
(a) の場合
  $\mathbf{a}_{1}$ から $\mathbf{a}_{k}$ の中で線形独立なベクトルを選択したときに、 数が最大になる組み合わせを $\mathbf{a}_{l_{1}}, \mathbf{a}_{l_{2}}, \cdots, \mathbf{a}_{l_{d}}$ とする (すなわち、$\mathbf{a}_{1}$ から $\mathbf{a}_{k}$ から構成されるベクトル空間の基底を $\mathbf{a}_{l_{1}}$ から $\mathbf{a}_{l_{d}}$ とする)。 このとき、 $\mathbf{a}_{k+1}$ はこれらの線形結合によって表されうる。
$\mathbf{a}_{l_{1}}, \mathbf{a}_{l_{2}}, \cdots, \mathbf{a}_{l_{d}}$ が線形独立であるので、 係数 $x_{l_{1}}, \cdots, x_{l_{d}}$ は唯一つに定まる (証明は 線形結合の係数は唯一つ を参考)。
  一般に、行基本変形によって列ベクトルの一次関係は変わらないことから、 もとの行列がある一次関係を持つ場合、 簡約化された行列も同一の一次関係を持つ。 よって、 行列 $A$ が $(*)$ の関係を持つ場合には、 行列 $A^{e}$ も $(*)$ と同一の一次関係を保持する。 すなわち、
が成立する。 仮定より、 $k$ 列までは唯一つに簡約化されているので、 $\mathbf{a}_{l_{1}}^{e}, \mathbf{a}_{l_{2}}^{e}, \cdots, \mathbf{a}_{l_{d}}^{e}$ は唯一つに定まっている。 係数 $x_{l_{1}}, \cdots, x_{l_{d}}$ もまた唯一つに定まっているので、 $(**)$ により、 $\mathbf{a}_{k+1}^{e}$ は唯一つに定まる。
  ゆえに、$A^{e}$ の $k$ 列までが簡約化されており、 $\mathbf{a}_{k+1}$ が $\mathbf{a}_{1}$ から $\mathbf{a}_{k}$ までの線形結合によって表されうる場合には、 $\mathbf{a}_{k+1}^{e}$ は唯一つに定まる。
(b)の場合
  $A^{e}$ が $k$ 列までに $d$ 個の主成分を持つとすると、 $A^{e}$ は $k$ 列までの列ベクトルの中に、 基本ベクトル $\mathbf{e_{1}}, \mathbf{e_{2}}, \cdots \mathbf{e_{d}}$ を含む。 なぜなら簡約化された行列は 1 行から右下に向かって 1 段ずつ階段状に主成分が置かれ、 主成分を持つ列ベクトルが基本ベクトルになるからである (例えば、次のような行列)。
  一般に行基本変形によって、列ベクトルの一次関係は変わらないので、 仮に $\mathbf{a}_{k+1}^{e}$ が $\mathbf{a}_{1}^{e}$ から $\mathbf{a}_{k}^{e}$ までの線形結合であるならば、 $\mathbf{a}_{k+1}$ も $\mathbf{a}_{1}$ から $\mathbf{a}_{k}$ までの線形結合である。 これの対偶をとると、 $\mathbf{a}_{k+1}$ が $\mathbf{a}_{1}$ から $\mathbf{a}_{k}$ までの線形結合でないならば (すなわち (b) のときには)、 $\mathbf{a}_{k+1}^{e}$ も $\mathbf{a}_{1}^{e}$ から $\mathbf{a}_{k}^{e}$ までの線形結合ではない。 $\mathbf{a}_{1}^{e}$ から $\mathbf{a}_{k}^{e}$ には、 基本ベクトル $\mathbf{e_{1}}, \mathbf{e_{2}}, \cdots \mathbf{e_{d}}$ が含まれるので、 このことは、 $\mathbf{a}_{k+1}^{e}$ を $\mathbf{e_{1}}, \mathbf{e_{2}}, \cdots \mathbf{e_{d}}$ の線形結合によって表すことが出来ないことを意味する。
  よって、 $\mathbf{a}_{k+1}^{e}$ は、$d+1$ 行以降に 0 でない成分を持つ。 この場合、 $\mathbf{a}_{k+1}^{e}$ は $d+1$ 行だけが 1 であり、 それ以外の成分が 0 の列ベクトルになる。 なぜなら、そうでないとすると、簡約化された行列が右下に向かって 1 段ずつ階段状に主成分が置かれ、主成分を持つ列ベクトルが基本ベクトルになることに反する。
  したがって、 $\mathbf{a}_{k+1}$ を $\mathbf{a}_{1}$ から $\mathbf{a}_{k}$ までの線形結合でない場合には、 $\mathbf{a}_{k+1}^{e}$ は唯一つ ($d+1$ 行だけが 1 であり、それ以外の成分が 0 の列ベクトル) に定まる。
  ゆえに、 (a) と (b) のいずれの場合であっても、 $A^{e}$ の $k$ 列までが簡約化されており、 唯一つに定まっているならば、 $k+1$ 列もまた唯一つに定まる。
  以上より、 帰納法によって、 $A^{e}$ は唯一つである。

行列のランクが主成分の数に等しい
  行列 $A$ を簡約化した行列を $A^{e}$ とするとき、 $A$ のランクは、$A^{e}$ の主成分の数に等しい。 すなわち、 $$ \mathrm{rank}(A) = A^{e}\hspace{1mm} \mbox{の主成分の数} $$ が成立する。
列が線形独立な行列の簡約化
  $m \times d$ の行列を $A$ とする。ただし、$m \geq d$ である。 このとき、 $A$ の列ベクトルが互いに線形独立であるならば、 $A$ を簡約化した行列 $A^{e}$ は、 次の形の行列になる。
列が線形独立な行列の簡約化
すなわち、列ベクトルに基本ベクトル
が並んだ形になる。

証明
  $m \times d$ の行列 $A$ の列ベクトルを $\mathbf{a}_{i}$ $(i=1,2,\cdots,d)$ とし、 $A$ を
と表す。 列ベクトルが線形独立であるとすると、
$\tag{1}$ が成立する。
  行列の簡約化は、 行基本変形によって行われるが、 行基本変形は列ベクトルの線形独立性を保つので、 もとの行列の列ベクトルが線形独立であるならば、 簡約化された行列の列ベクトルもまた線形独立である。 すなわち、 $A$ を簡約化した行列 $A^{e}$ の列ベクトルを
$ \tag{2} $ とし、
と表すと、これらには、
$ \tag{3}$ が成り立つ。
  ところで、 簡約化された行列は 右下に向かって一段ずつ階段状に主成分が置かれ、 主成分を持つ列ベクトルが基本ベクトルになる次のような形の行列である。
ここで、 青色の四角で囲った成分が主成分である。 また、 $***$ の部分は、 どんな成分であってもよい。 例えば、 次の行列が簡約化された行列である。
  この例からも分かるように、 簡約化した行列の列ベクトルは、

$\hspace{2mm}(a) \hspace{2mm}$ 基本ベクトルである
$\hspace{2mm}(b)\hspace{2mm}$ 左側にある列の線形結合で表される


のどちらかである。 上の例では $1$ 列、$2$ 列、$4$ 列が基本ベクトルになっており、 一方、 $3$ 列は左側にある $1$ 列 と $2$ 列の線形結合によって表される。
  簡約化された行列 $A^{e}$ の列ベクトル $(2)$ の中に、もしも $(b)$ を満たす列ベクトルがあるならば、 線形従属な (線形独立でない) 列ベクトルが $(2)$ に含まれることを意味するので、 線形独立性 $(3)$ に矛盾する。 従って、$(2)$ は $d$ 個の基本ベクトルの集合である。
  $d$ 個の基本ベクトルといっても、順番を入れ替えれば様々な取り方があるが、 先にも述べたように、簡約化された行列は主成分が右下に向かって一段ずつ階段状に置かれるので、必ず
という形になる。 ここで、 簡約化行列の定義より、 $0$ のみの成分を持つ行ベクトルが必ず $0$ 以外の成分を持つ行ベクトルよりも下側に来ることにも注意した。
  以上から、 $A^{e}$ のそれぞれの列ベクトルは、
である。