ベイジアン研究所

プログラミング言語(アルゴリズム的な話が中心)やガジェットの紹介をしています。時々心理学の話も。

【線型代数学入門】基本変形

1. 記事の目的
以下の記事で行列の演算に関して述べた。本記事では行列を利用した連立一次方程式の解法で必要となる基本変形に関して解説する。

camelsan.hatenablog.com

camelsan.hatenablog.com

2. 基本変形
行列を扱う際、できるだけ簡単な形の行列に変形して考えることが有用な場合が多い。例えば連立一次方程式の開放に行列を利用するときも、そのひとつである。具体的には、

\begin{pmatrix}0&2&4&2\\1&2&3&1\\-2&-1&0&1\end{pmatrix}

のような行列を、

\begin{pmatrix}1&0&0&0\\0&1&0&0\\0&0&0&0\end{pmatrix}

のような行列に変形する。

3. 基本行列
以下で基本行列と呼ばれる3種類の特別な正方行列を述べる。
(1)図1の行列をP_n(i,j)とする。

f:id:camelsan:20210126203931p:plain
図1 基本行列一つ目
n単位行列の、第i列と第j列を交換したものである。(m,n)型行列Aに対し、P_m(i,j)を左から掛けると、Aの第i行と第j行が交換される。
例:

A=\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}, P_2(1,2)=\begin{pmatrix}0&1\\1&0\end{pmatrix}

とする。このとき

\begin{split}P_2(1,2)A&=\begin{pmatrix}0&1\\1&0\end{pmatrix}\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}\\&=\begin{pmatrix}4&5&6\\1&2&3\end{pmatrix}\end{split}

となる。従って、P_2(1,2)を左から掛けると、ちょうどAの第i行と第j行が交換されている。

(m,n)型行列Aに対し、P_n(i,j)を右から掛けると、Aの第i行と第j列が交換される。
例:

A=\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}, P_3(1,2)=\begin{pmatrix}0&1&0\\1&0&0\\0&0&1\end{pmatrix}

とする。このとき

\begin{split}AP_3(1,2)&=\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}\begin{pmatrix}0&1&0\\1&0&0\\0&0&1\end{pmatrix}\\&=\begin{pmatrix}2&1&3\\5&4&6\end{pmatrix}\end{split}

となる。従って、P_3(1,2)を右から掛けると、ちょうど、Aの第1列と第2列が交換されている。

P_n(i,j)は正則で、逆行列P_n(i,j)自身である。
証明逆行列の定義については次の記事を参考にしてほしい。

camelsan.hatenablog.com

P_n(i,j)P_n(i,j)を考える。P_n(i,j)に右からP_n(i,j)がかけられていると考えると、P_n(i,j)の第i列と第j列が交換されるので、これは単位行列Eとなる。従って、

P_n(i,j)P_n(i,j)=E

よってP_n(i,j)は正則で、逆行列P_n(i,j)自身である。

(2) 図2の行列をQ_n(i;c)とする。

f:id:camelsan:20210127192413p:plain
図2 基本行列二つ目
単位行列(i,i)成分を、0でない数cに置き換えた行列である。

(m,n)型行列Aに対し、左からQ_m(i;c)を掛けると、Aの第i行がc倍される。
例:

A=\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}, Q_2(1;2)=\begin{pmatrix}2&0\\0&1\end{pmatrix}

とすると、

Q_2(1;2)A=\begin{pmatrix}2&0\\0&1\end{pmatrix}\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}=\begin{pmatrix}2&4&6\\4&5&6\end{pmatrix}

従って、Q_2(1;2)を左から掛けると、ちょうどA1行目が2倍されている。

(m,n)型行列Aに対して右からQ_n(i;c)を掛けると、Aの第i列がc倍される。
例:

A=\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}, Q_3(1;2)=\begin{pmatrix}2&0&0\\0&1&0\\0&0&1\end{pmatrix}

とすると

AQ_3(1;2)=\begin{pmatrix}2&2&3\\8&5&6\end{pmatrix}

従って、Q_3(1;2)を右から掛けると、ちょうどA1列目が2倍されている。

Q_n(i;c)は正則で、その逆行列Q_n(i;c^{-1})である。
証明Q_n(i;c)Q_n(i;c^{-1})を考える。Q_n(i;c)に右からQ_n(i;c^{-1})がかけられていると考えると、Q_n(i;c)の第i列がc^{-1}されるので、単位行列となる。即ち

Q_n(i;c)Q_n(i;c^{-1})=E

Q_n(i;c^{-1})Q_n(i;c)を考える。Q_n(i;c)に左からQ_n(i;c^{-1})がかけられていると考えると、Q_n(i;c)の第i行がc^{-1}されるので、単位行列となる。即ち

Q_n(i;c^{-1})Q_n(i;c)=E

従って、

Q_n(i;c)Q_n(i;c^{-1})=Q_n(i;c^{-1})Q_n(i;c)=E

より、Q_n(i:c)は正則で、その逆行列Q_n(i;c^{-1})である。

(3) 図3の行列をR_n(i,j;c)とする。

f:id:camelsan:20210127195709p:plain
図3 基本行列三つ目
単位行列(i,j)成分(i\neq j)を数cに変えたものが、R_n(i,j;c)である。

(m,n)型行列Aに左からR_m(i,j:c)を掛けると、Aの第i行に第j行のc倍が加わる。
例:

A=\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}, R_2(1,2;2)=\begin{pmatrix}1&2\\0&1\end{pmatrix}

とすると

\begin{split}R_2(1,2;2)A&=\begin{pmatrix}1&2\\0&1\end{pmatrix}\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}\\&=\begin{pmatrix}1+2\times 4&2+2\times 5&3+2\times 6\\4&5&6\end{pmatrix}\\&=\begin{pmatrix}9&12&15\\4&5&6\end{pmatrix}\end{split}

従って、R_2(1,2;2)を左から掛けると、ちょうどAの第1行に第j行の2倍が加わっている。

(m,n)型行列Aに対し、右からR_n(i,j;c)を掛けると、Aの第j列に第i列のc倍が加わる。
例:

A=\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}, R_3(1,2;2)=\begin{pmatrix}1&2&0\\0&1&0\\0&0&1\end{pmatrix}

とすると、

\begin{split}AR_3(1,2;2)&=\begin{pmatrix}1&2&3\\4&5&6\end{pmatrix}\begin{pmatrix}1&2&0\\0&1&0\\0&0&1\end{pmatrix}\\&=\begin{pmatrix}1&1\times 2+2&3\\4&4\times 2+5&6\end{pmatrix}\\&=\begin{pmatrix}1&4&3\\4&13&6\end{pmatrix}\end{split}

従って、R_3(1,2;2)を右から掛けると、ちょうどAの第2列に第1列の2倍が加わっている。

R_n(ij;c)は正則で、逆行列R_n(i,j;-c)である。
証明R_n(i,j;c)R_n(i,j;-c)を考える。R_n(i,j;c)に右からR_n(i,j;-c)がかけられていると考えると、R_n(i,j;c)の第j列に第i列の-c倍が加わるので、第j列の第i成分は0となる。即ち単位行列となる。よって

R_n(i,j;c)R_n(i,j;-c)=E

R_n(i,j;-c)R_n(i,j;c)を考える。R_n(i,j;c)に左からR_n(i,j;-c)がかけられていると考えると、R_n(i,j;c)の第i行に第j行の-c倍が加わるので、第i行の第j成分は0となる。即ち単位行列となる。よって

R_n(i,j;-c)R_n(i,j;c)=E

以上の(1)、(2)、(3)の正則行列を基本行列という。行列Aの左または右から基本行列を掛けることを、左基本変形または右基本変形という。両方合わせて、基本変形という。

4. まとめ
基本変形は次の6種類の変形となる。
(左1) 二つの行を入れ替える。
(左2) ある行に0でない数を掛ける。
(左3) ある行に他のある行の定数倍を加える。
(右1) 二つの列を入れ替える。
(右2) ある列に0でない数を掛ける。
(右3) ある列に他のある列の定数倍を加える。

次の記事

camelsan.hatenablog.com

5. 参考文献
[1] 線型代数入門