第9章連立1次方程式
第8章では,行列式 $|A|$ が「行列を構成するベクトルが作る平行四辺形の面積」「平行六面体の体積」を表すこと,そして $|A|=0$ になるとその図形がぺしゃんこに潰れて面積・体積が $0$ になること——すなわちベクトルどうしが線形従属(linearly dependent)(一方が他方の定数倍で書けたり,複数のベクトルが同一平面上に収まってしまったりすること)を見た.本章では,この「$|A|=0$ か否か」という1つの情報が,連立1次方程式(simultaneous linear equations)の解の個数——ただ1組だけなのか,パラメータを含む無数の組なのか,あるいは1組も存在しないのか——を完全に支配していることを,具体的な計算を通して確かめていく.
出発点は,行列式を使って逆行列 $A^{-1}$ を具体的に書き下す公式である.そのために余因子行列(adjugate matrix,adjugate of $A$)という新しい行列を定義し,$A^{-1}=\dfrac{1}{|A|}\tilde A$ という公式を,余因子展開(第8章既習)を使って自分の手で証明する.次に,一般の(正方とは限らない)行列に対して階数(rank)という数を定義し,行基本変形で作った階段行列の「段の数」として計算する方法を身につける.階数がわかれば,未知数の個数から階数を引いた自由度(degree of freedom)という量が,連立1次方程式の解の「自由に選べるパラメータの本数」を教えてくれる——これが同次(右辺が全部 $0$)・非同次(右辺が $0$ でない)のどちらの場合にも通用する,本章でもっとも重要な考え方である.そのうえで,拡大係数行列を行基本変形するだけで一意解・不定解・解なしのすべてを機械的に判定し,実際に解を書き下す掃き出し法(Gaussian elimination)を完成させる.最後に,同じ行基本変形の技術を使って逆行列を求める方法,正則性の判定条件,そしてどんな行列も行・列の基本変形で到達できる究極の単純形である標準形(normal form)までを扱う.
- 余因子行列 $\tilde A$ の定義と,逆行列の公式 $A^{-1}=\dfrac{1}{|A|}\tilde A$ の証明(余因子展開を使う)
- 階数(rank)の定義:行基本変形で作った階段行列の非零行の本数.$0\le \rank A\le\min(m,n)$
- 自由度 $=n-\rank A$($n$ は未知数の個数)の定義と,同次連立1次方程式が自明な解以外をもつかどうかの判定
- 非同次連立1次方程式の解の存在条件($\rank A=\rank\tilde A$)と,存在するときの自由度による解の分類
- 掃き出し法:拡大係数行列を行基本変形して階段行列にするだけで,一意解・不定解(パラメータ表示)・解なしのすべてが求まること
- 逆行列の求め方 $[A\mid E]\to[E\mid A^{-1}]$ と,正則条件「$A$ が正則 $\iff$ $\rank A=n$ $\iff$ 階段行列が単位行列 $E_n$」($\iff$ は「必要十分条件」を表す記号で,「…と…とは同値である」と読む)
- 標準形 $\begin{bmatrix}I_r&O\\O&O\end{bmatrix}$(行基本変形と列基本変形を両方使うと,どんな行列もこの形に到達できる)
もとにしたノート:望月泰英『数学ノート 線形代数学』 pp. 9–14.
9.1 余因子行列と逆行列の公式
$n$ 次の正方行列
$$ A=\begin{bmatrix}a_{11}&a_{12}&\cdots&a_{1n}\\a_{21}&a_{22}&\cdots&a_{2n}\\\vdots&\vdots&&\vdots\\a_{n1}&a_{n2}&\cdots&a_{nn}\end{bmatrix} $$を考える.第8章で学んだように,$A$ から第 $i$ 行と第 $j$ 列を取り除いてできる $(n-1)$ 次の行列の行列式を小行列式(minor)といい $M_{ij}$ と書く.そして符号 $(-1)^{i+j}$ を付けたもの $A_{ij}=(-1)^{i+j}M_{ij}$ を $A$ の $(i,j)$ 余因子(cofactor)と呼ぶのだった.行列式は,どの行・どの列に沿って余因子展開してもよく,
$$ |A|=\sum_{k=1}^{n}a_{ik}A_{ik}\ \ (\text{第 }i\text{ 行に沿った展開}) =\sum_{k=1}^{n}a_{kj}A_{kj}\ \ (\text{第 }j\text{ 列に沿った展開}) $$のどちらでも同じ値になる.本節では,この余因子を材料にして逆行列 $A^{-1}$ を具体的な式で書き下す.一般の $n$ 次の場合を定義する前に,まず高校でも見覚えのある小さな例で「余因子を並べて転置する」という操作の感触をつかんでおこう.$2$ 次の正方行列 $A=\begin{bmatrix}a&b\\c&d\end{bmatrix}$($ad-bc\neq0$)の余因子は $A_{11}=d,\ A_{12}=-c,\ A_{21}=-b,\ A_{22}=a$ である($1\times1$ 行列の行列式は成分そのものなので,小行列式は単に取り除いた残りの数になる).これを並べた行列 $\begin{bmatrix}A_{11}&A_{12}\\A_{21}&A_{22}\end{bmatrix}=\begin{bmatrix}d&-c\\-b&a\end{bmatrix}$ を転置すると $\begin{bmatrix}d&-b\\-c&a\end{bmatrix}$ となり,これを $|A|=ad-bc$ で割ったものが,高校数学で既に登場した $2$ 次の逆行列公式
$$ A^{-1}=\frac{1}{ad-bc}\begin{bmatrix}d&-b\\-c&a\end{bmatrix} $$そのものになっている.つまり「余因子を並べて転置し,$|A|$ で割る」という手続きは,この見慣れた $2$ 次の公式を一般の $n$ 次に拡張したものにほかならない.それでは,この操作を $n$ 次正方行列に対してきちんと定義しよう.
定義9.1 余因子行列(adjugate matrix)
$n$ 次正方行列 $A$ の余因子 $A_{ij}$($i,j=1,\ldots,n$)を並べてできる行列
$$ \begin{bmatrix}A_{11}&A_{12}&\cdots&A_{1n}\\A_{21}&A_{22}&\cdots&A_{2n}\\\vdots&\vdots&&\vdots\\A_{n1}&A_{n2}&\cdots&A_{nn}\end{bmatrix} $$の転置(transpose,行と列を入れ替えたもの.記号は左肩に $t$ を付けて $^t(\ \cdot\ )$ と書く)を,$A$ の余因子行列(adjugate matrix)といい $\tilde A$ と書く.すなわち
\begin{equation} \tilde A={}^{t}\!\begin{bmatrix}A_{11}&A_{12}&\cdots&A_{1n}\\A_{21}&A_{22}&\cdots&A_{2n}\\\vdots&\vdots&&\vdots\\A_{n1}&A_{n2}&\cdots&A_{nn}\end{bmatrix} =\begin{bmatrix}A_{11}&A_{21}&\cdots&A_{n1}\\A_{12}&A_{22}&\cdots&A_{n2}\\\vdots&\vdots&&\vdots\\A_{1n}&A_{2n}&\cdots&A_{nn}\end{bmatrix} \qquad\cdots\label{eq:9-adjugate} \end{equation}である(転置を取るので,$\tilde A$ の $(i,j)$ 成分は $A$ の $(j,i)$ 余因子 $A_{ji}$ になる.添字の順番が入れ替わることに注意).
公式9.1 逆行列の公式
$n$ 次正方行列 $A$ が正則($|A|\neq0$)ならば,その逆行列は余因子行列を使って
と表せる.
証明
逆行列は $AA^{-1}=A^{-1}A=E$($E$ は単位行列)を満たす行列として定義されていた.したがって,$A\tilde A=|A|E$ と $\tilde A A=|A|E$ の2つの式を示せれば,両辺を $|A|$($\neq0$)で割ることで $A\cdot\dfrac{1}{|A|}\tilde A=E$ かつ $\dfrac{1}{|A|}\tilde A\cdot A=E$ となり,定義から $A^{-1}=\dfrac{1}{|A|}\tilde A$ が言える.
(i) $A\tilde A=|A|E$ を示す.行列の積の定義より,$A\tilde A$ の $(i,j)$ 成分は,$A$ の第 $i$ 行と $\tilde A$ の第 $j$ 列の内積である.$\tilde A$ の第 $j$ 列は定義9.1より $(A_{j1},A_{j2},\ldots,A_{jn})$($A$ の第 $j$ 行の余因子たち)だから,
$$ (A\tilde A)_{ij}=\sum_{k=1}^{n}a_{ik}A_{jk} $$となる.ここで2通りに場合分けする.
(a) $i=j$ のとき.$\displaystyle\sum_{k=1}^{n}a_{ik}A_{ik}$ は,まさに $A$ を第 $i$ 行に沿って余因子展開した式そのものだから,$|A|$ に等しい.
(b) $i\neq j$ のとき.$\displaystyle\sum_{k=1}^{n}a_{ik}A_{jk}$ を見ると,係数 $a_{ik}$ は「$A$ の第 $i$ 行」の成分だが,余因子 $A_{jk}$ は「$A$ の第 $j$ 行と第 $k$ 列を取り除いた小行列式」であり,第 $j$ 行そのものの中身にはよらない(消してしまうのだから当然である).そこで,$A$ の第 $j$ 行を(元の第 $j$ 行の代わりに)第 $i$ 行の成分でそっくり置き換えた行列 $A'$ を考えると,$A'$ の余因子 $A'_{jk}$ は $A_{jk}$ とまったく同じ式になる.したがって
$$ \sum_{k=1}^{n}a_{ik}A_{jk}=\sum_{k=1}^{n}a'_{jk}A'_{jk}=|A'| $$(右辺は $A'$ を第 $j$ 行に沿って余因子展開した式)である.ところが $A'$ は,第 $i$ 行と第 $j$ 行がどちらも「元の $A$ の第 $i$ 行」で全く同じになっている行列である.行列式は同じ行が2本あれば $0$ になる(第8章既習の性質)から,$|A'|=0$.よって $i\neq j$ のとき $\displaystyle\sum_{k=1}^{n}a_{ik}A_{jk}=0$ である.
(a)(b) をまとめると $(A\tilde A)_{ij}=|A|\,\delta_{ij}$ となる.ここで $\delta_{ij}$ はクロネッカーのデルタ(Kronecker delta,$i=j$ のとき $1$,$i\neq j$ のとき $0$ を返す記号)である.$|A|\delta_{ij}$ を $(i,j)$ 成分にもつ行列はまさに $|A|E$ だから,$A\tilde A=|A|E$.
(ii) $\tilde A A=|A|E$ を示す.今度は $\tilde A$ の第 $i$ 行と $A$ の第 $j$ 列の内積を考える.$\tilde A$ の第 $i$ 行は $(A_{1i},A_{2i},\ldots,A_{ni})$ だから,
$$ (\tilde A A)_{ij}=\sum_{k=1}^{n}A_{ki}a_{kj} $$である.$i=j$ のときは $\displaystyle\sum_k a_{ki}A_{ki}$ となり,これは $A$ を第 $i$ 列に沿って余因子展開した式だから $|A|$ に等しい.$i\neq j$ のときは,(b)とまったく同じ理屈を「行」ではなく「列」について行えばよい:$A$ の第 $i$ 列を第 $j$ 列の成分で置き換えた行列を考えると,その第 $i$ 列に沿った余因子展開が $\displaystyle\sum_k a_{kj}A_{ki}$ に一致し,かつその行列は第 $i$ 列と第 $j$ 列が同じ(同じ列が2本ある)ので行列式は $0$ になる.ゆえに $(\tilde A A)_{ij}=|A|\delta_{ij}$,すなわち $\tilde A A=|A|E$.
(i)(ii) より $A\tilde A=\tilde A A=|A|E$ が示され,$|A|\neq0$ で両辺を割れば $A^{-1}=\dfrac{1}{|A|}\tilde A$ を得る.
(証明終わり)
イメージ:なぜ「対角線だけ残る」のか
公式の心は「行列と余因子行列の積を作ると,対角成分($i=j$)には行列式 $|A|$ が現れ,非対角成分($i\neq j$)はきれいに $0$ になって消える」という1点に尽きる.非対角成分が $0$ になるのは偶然ではなく,「本来存在しない行(あるいは列)を余因子展開の式に紛れ込ませると,それは『同じ行が2本ある行列式』を計算していることと同じになり,機械的に $0$ になる」という,行列式の性質(第8章)の直接の帰結である.この「よその行・列の成分を紛れ込ませた余因子展開は $0$ になる」という事実は,教科書によっては他因子展開(alien cofactor expansion)と呼ばれることもある.
例題9.1 $3\times3$ 行列の余因子行列と逆行列
$A=\begin{bmatrix}2&0&1\\1&3&-1\\0&1&2\end{bmatrix}$ の余因子行列 $\tilde A$ を求め,公式9.1を使って逆行列 $A^{-1}$ を求めよ.
解答 まず $9$ 個の余因子をすべて計算する.$2\times2$ 行列式は $\begin{vmatrix}p&q\\r&s\end{vmatrix}=ps-qr$ で計算する.
$$ \begin{aligned} A_{11}&=+\begin{vmatrix}3&-1\\1&2\end{vmatrix}=3\cdot2-(-1)\cdot1=7, & A_{12}&=-\begin{vmatrix}1&-1\\0&2\end{vmatrix}=-(1\cdot2-(-1)\cdot0)=-2, \\ A_{13}&=+\begin{vmatrix}1&3\\0&1\end{vmatrix}=1\cdot1-3\cdot0=1, & A_{21}&=-\begin{vmatrix}0&1\\1&2\end{vmatrix}=-(0\cdot2-1\cdot1)=1, \\ A_{22}&=+\begin{vmatrix}2&1\\0&2\end{vmatrix}=2\cdot2-1\cdot0=4, & A_{23}&=-\begin{vmatrix}2&0\\0&1\end{vmatrix}=-(2\cdot1-0\cdot0)=-2, \\ A_{31}&=+\begin{vmatrix}0&1\\3&-1\end{vmatrix}=0\cdot(-1)-1\cdot3=-3, & A_{32}&=-\begin{vmatrix}2&1\\1&-1\end{vmatrix}=-(2\cdot(-1)-1\cdot1)=3, \\ A_{33}&=+\begin{vmatrix}2&0\\1&3\end{vmatrix}=2\cdot3-0\cdot1=6. && \end{aligned} $$符号 $(-1)^{i+j}$ は,$i+j$ が偶数なら $+$,奇数なら $-$ になることを使った.これらを並べた余因子の行列 $\begin{bmatrix}7&-2&1\\1&4&-2\\-3&3&6\end{bmatrix}$ を転置して,
$$ \tilde A=\begin{bmatrix}7&1&-3\\-2&4&3\\1&-2&6\end{bmatrix} $$を得る.次に $|A|$ を第1行に沿って余因子展開すると,$|A|=a_{11}A_{11}+a_{12}A_{12}+a_{13}A_{13}=2\cdot7+0\cdot(-2)+1\cdot1=15$.$|A|\neq0$ なので $A$ は正則であり,公式9.1より
$$ A^{-1}=\frac{1}{15}\begin{bmatrix}7&1&-3\\-2&4&3\\1&-2&6\end{bmatrix} =\begin{bmatrix}\dfrac{7}{15}&\dfrac{1}{15}&-\dfrac15\\[4pt]-\dfrac{2}{15}&\dfrac{4}{15}&\dfrac15\\[4pt]\dfrac{1}{15}&-\dfrac{2}{15}&\dfrac25\end{bmatrix} $$である($-3/15=-1/5$,$3/15=1/5$,$6/15=2/5$ と約分した).実際に $A\cdot A^{-1}$ を計算すると単位行列 $E$ になることが確かめられる(sympy で検算済み.検算スクリプト verify/univmath/ch09_check.py).
9.2 階数(ランク)と階段行列
ここからは,正方行列とは限らない一般の $(m,n)$ 型行列($m$ 行 $n$ 列の行列)を考える.行基本変形(elementary row operation)——(i)ある行を定数倍する,(ii)ある行に別の行の定数倍を加える,(iii)2つの行を入れ替える,という3種類の操作——を繰り返すと,どんな行列も次のような形に変形できる.この3操作が行列式の値に与える影響(定数倍で行列式も定数倍,入れ替えで符号反転,等)は第8章で学んだとおりだが,本章では行列式の値そのものではなく,「連立方程式 $A\bm x=\bm b$ の解の集合を変えないまま,行列 $A$(や拡大係数行列)をできるだけ簡単な形に整理する」という別の目的のためにこの3操作を使う.正方行列とは限らないので,そもそも行列式が定義できない場合にも使える,より守備範囲の広い道具である.
定義9.2 階段行列(row echelon form)と階数(rank)
$(m,n)$ 型行列
$$ A=\begin{bmatrix}a_{11}&a_{12}&a_{13}&\cdots&a_{1n}\\a_{21}&a_{22}&a_{23}&\cdots&a_{2n}\\\vdots&\vdots&\vdots&&\vdots\\a_{m1}&a_{m2}&a_{m3}&\cdots&a_{mn}\end{bmatrix} $$に行基本変形を繰り返し施すと,次の形——各行の先頭の $0$ の個数が上から下へ真に増えていき(=階段状になり),成分がすべて $0$ の行があれば必ず一番下にまとまる——にできる.これを階段行列(row echelon form)と呼ぶ.
$$ \begin{bmatrix} a_{11}'&a_{12}'&a_{13}'&\cdots& &a_{1n}'\\ 0&a_{22}'&a_{23}'&\cdots& &a_{2n}'\\ \vdots&0&a_{33}'&\cdots& &\vdots\\ 0&\vdots& &\ddots& &a_{rn}'\\ 0&0&\cdots&0&\cdots&0 \end{bmatrix} \Big\}\ \rank A=r \qquad(0\le r\le\min(m,n)) $$成分がすべて $0$ ではない行(=階段の「段」にあたる行)の本数 $r$ を,$A$ の階数(rank,ランク)と呼び,$\rank A$ と書く.階段の段数は行基本変形のやり方によらず常に同じ値になる(これは「行ベクトルとして独立な本数」という別の見方から証明できるが,その証明は第10章の線形独立の理論を待つ.ここでは階段行列に変形して段の数を数える,という計算方法だけを使う).行数は $m$ 本しかなく,かつ階段の段は列も1本以上使うので列数 $n$ も超えられないから,$\rank A$ は必ず $0$ 以上 $\min(m,n)$ 以下になる.(本書では階数の計算に行基本変形を用いるが,行の代わりに列に対して同じ種類の操作をする列基本変形を使っても同じ階数が得られる.列基本変形は9.6.1節の定義9.5で定義する.)
例題9.2 $(3,4)$ 型行列の階数
$M=\begin{bmatrix}1&2&-1&3\\2&4&1&0\\-1&-2&2&-5\end{bmatrix}$ の階数 $\rank M$ を求めよ.
解答 行基本変形で階段行列にする.まず第2行から第1行の $2$ 倍を引き($R_2\to R_2-2R_1$),第3行に第1行を足す($R_3\to R_3+R_1$).
$$ \begin{bmatrix}1&2&-1&3\\2&4&1&0\\-1&-2&2&-5\end{bmatrix} \xrightarrow[R_3\to R_3+R_1]{R_2\to R_2-2R_1} \begin{bmatrix}1&2&-1&3\\0&0&3&-6\\0&0&1&-2\end{bmatrix} $$(第2行:$2-2\cdot1=0$,$4-2\cdot2=0$,$1-2\cdot(-1)=3$,$0-2\cdot3=-6$.第3行:$-1+1=0$,$-2+2=0$,$2+(-1)=1$,$-5+3=-2$.)次に,第2行から第3行の $3$ 倍を引く($R_2\to R_2-3R_3$).
$$ \begin{bmatrix}1&2&-1&3\\0&0&3&-6\\0&0&1&-2\end{bmatrix} \xrightarrow{R_2\to R_2-3R_3} \begin{bmatrix}1&2&-1&3\\0&0&0&0\\0&0&1&-2\end{bmatrix} $$最後に第2行と第3行を入れ替えれば,先頭の $0$ の個数が段々と増える正しい階段行列になる.
$$ \begin{bmatrix}1&2&-1&3\\0&0&0&0\\0&0&1&-2\end{bmatrix} \xrightarrow{R_2\leftrightarrow R_3} \begin{bmatrix}1&2&-1&3\\0&0&1&-2\\0&0&0&0\end{bmatrix} $$非零の行は2本(第1行,第2行)だから,$\rank M=2$ である(sympy の rref でも同じ結果を確認済み).
9.3 自由度と同次連立1次方程式
連立1次方程式 $A\bm x=\bm b$($A$ は $(m,n)$ 型の係数行列,$\bm x=(x_1,\ldots,x_n)$ は未知数を並べた列ベクトル,$\bm b$ は右辺の定数を並べた列ベクトル)のうち,右辺がすべて $0$,すなわち $\bm b=\bm 0$ であるものを同次連立1次方程式(homogeneous system of linear equations)と呼ぶ.右辺が $0$ でないものは非同次連立1次方程式(non-homogeneous system)と呼び,次節で扱う.本節では同次の場合を考える.
(記法について:本章からは,列ベクトル($\R^n$ の要素,数を縦に並べたもの)を太字 $\bm x,\bm b$ のように表す.第8章では同じ「列ベクトル」を矢印 $\vec x$ で表していた——これは章ごとの記号の飾り方の違いであり,指している対象は同じである.なお第10章では,ベクトルが数の組とは限らない抽象的な線形空間の元を扱うため,あえて矢印も太字も付けずに書く.)
同次連立1次方程式 $A\bm x=\bm 0$ には,全部の未知数を $0$ にした $\bm x=\bm 0$ が必ず解になるという特別な事情がある($A\bm 0=\bm 0$ は常に成り立つから).この,代入すればすぐわかる「当たり前」の解を自明な解(trivial solution)と呼ぶ.問題は「それ以外の解(非自明な解,nontrivial solution)が存在するかどうか」である.
定義9.3 自由度(degree of freedom)
未知数の個数を $n$ とするとき,
$$ \text{自由度}=n-\rank A $$を($A\bm x=\bm 0$ の解の)自由度と呼ぶ.
なぜ「$n-\rank A$」が自由に選べるパラメータの本数なのか
係数行列 $A$ を行基本変形して階段行列にすると,段(ピボット)が $\rank A=r$ 本できる.ピボットのある列に対応する $r$ 個の未知数をピボット変数,残り $n-r$ 個の未知数を自由変数(free variable)と呼ぶことにすると,階段行列の各行は「ピボット変数 $=$ 自由変数たちの1次式」という形の式を与える.つまり,自由変数 $n-r$ 個の値をどう選んでも,それに応じてピボット変数の値が一意に決まり,$A\bm x=\bm 0$ を満たす解が1組作れる.したがって,解全体は「自由に選べる $n-r$ 個のパラメータ」で尽くされる.$n-r=0$(自由変数が1つもない)なら,選ぶパラメータが存在しないのでピボット変数はすべて $0$ に固定され,解は自明な解 $\bm x=\bm 0$ だけになる.
定理9.1 自由度による同次連立1次方程式の解の分類
同次連立1次方程式 $A\bm x=\bm 0$(未知数の個数 $n$)について,
$$ \begin{cases} \text{自由度}>0\ \text{のとき,}A\bm x=\bm 0\ \text{は自明な解以外の解(非自明な解)ももつ.}\\ \text{自由度}=0\ \text{のとき,}A\bm x=\bm 0\ \text{は自明な解のみを解にもつ.} \end{cases} $$$A$ が正方行列($m=n$)のときは,自由度 $=0\iff\rank A=n\iff A$ が正則($|A|\neq0$)である.すなわち,$A$ が正則な正方行列のときに限り,同次連立1次方程式は自明な解しかもたない.正則性と自由度の関係は9.6節で詳しく扱う.
イメージ:まず2変数で考えてみる
3変数の例に入る前に,高校数学の範囲である2変数($x,y$平面)で自由度の意味を確認しておこう.同次の1次方程式 $ax+by=0$($a,b$ が両方とも $0$ ではないとする)は,$xy$ 平面において原点を通る直線を表す.2本の同次方程式からなる連立方程式を考えると,係数行列は $(2,2)$ 型になり,起こりうる場合は2通りしかない.
(i) 2本の方程式が独立($\rank A=2$)のとき.2本の直線は傾きが異なり,原点以外に共有点をもたない.自由度 $=2-2=0$ で,解は原点 $(0,0)$(自明な解)だけである(図9.2左).
(ii) 2本の方程式が従属($\rank A=1$,一方が他方の定数倍)のとき.2本の直線は実は同じ直線であり,その直線上のすべての点が解になる.自由度 $=2-1=1$ で,直線上の点は媒介変数 $t$ を1つ使って $(x,y)=t\,(x_0,y_0)$($(x_0,y_0)$ はその直線上の原点以外の1点)と表せる(図9.2右).
この「独立な式を1本失うごとに,解の自由度が1つ増える」という感覚を,次項からの3変数($xyz$ 空間)の場合にそのまま持ち込めばよい.3変数では,1本の同次方程式は原点を通る平面を表す.
それでは3変数の場合を,実際にノートの3つの例で確かめよう.同次方程式1本は $xyz$ 空間の原点を通る平面を表すので,3本の同次方程式は「原点を通る3枚の平面がどう交わるか」という図形の問題になる.
例題9.3 自由度0(自明な解のみ)になる例
次の同次連立1次方程式の自由度を求め,解をすべて求めよ.
$$ \begin{cases} x_1+2x_2+x_3=0\\ 2x_1+3x_2+3x_3=0\\ -x_1+x_2+4x_3=0 \end{cases} $$解答 係数行列は $A=\begin{bmatrix}1&2&1\\2&3&3\\-1&1&4\end{bmatrix}$ であり,未知数の個数は $n=3$.行基本変形で階段行列にする.$R_2\to R_2-2R_1$($2-2=0$,$3-4=-1$,$3-2=1$),$R_3\to R_3+R_1$($-1+1=0$,$1+2=3$,$4+1=5$)とすると
$$ \begin{bmatrix}1&2&1\\2&3&3\\-1&1&4\end{bmatrix} \to \begin{bmatrix}1&2&1\\0&-1&1\\0&3&5\end{bmatrix} $$さらに $R_3\to R_3+3R_2$($3+3\cdot(-1)=0$,$5+3\cdot1=8$)とすると
$$ \begin{bmatrix}1&2&1\\0&-1&1\\0&3&5\end{bmatrix} \to \begin{bmatrix}1&2&1\\0&-1&1\\0&0&8\end{bmatrix} $$非零の行が3本なので $\rank A=3$.自由度 $=n-\rank A=3-3=0$ である.したがって定理9.1より,解は自明な解のみである.実際,階段行列を使って方程式を書き直すと
$$ \begin{cases} x_1+2x_2+x_3=0\\ -x_2+x_3=0\\ 8x_3=0 \end{cases} $$となり,第3式から $x_3=0$,これを第2式に代入して $x_2=0$,さらに第1式に代入して $x_1=0$.よって $(x_1,x_2,x_3)=(0,0,0)$ のみが解である.
例題9.4 自由度1(1パラメータ)になる例
次の同次連立1次方程式の自由度を求め,解をすべて求めよ.
$$ \begin{cases} x_1+2x_2-x_3=0\\ 2x_1-x_2+3x_3=0\\ 4x_1+3x_2+x_3=0 \end{cases} $$解答 係数行列は $B=\begin{bmatrix}1&2&-1\\2&-1&3\\4&3&1\end{bmatrix}$,$n=3$.$R_2\to R_2-2R_1$($2-2=0$,$-1-4=-5$,$3-(-2)=5$),$R_3\to R_3-4R_1$($4-4=0$,$3-8=-5$,$1-(-4)=5$)とすると
$$ \begin{bmatrix}1&2&-1\\2&-1&3\\4&3&1\end{bmatrix} \to \begin{bmatrix}1&2&-1\\0&-5&5\\0&-5&5\end{bmatrix} $$さらに $R_3\to R_3-R_2$($-5-(-5)=0$,$5-5=0$)とすると
$$ \begin{bmatrix}1&2&-1\\0&-5&5\\0&-5&5\end{bmatrix} \to \begin{bmatrix}1&2&-1\\0&-5&5\\0&0&0\end{bmatrix} \to \begin{bmatrix}1&2&-1\\0&-1&1\\0&0&0\end{bmatrix} $$(最後は第2行を $-5$ で割って見やすくした.行を $0$ でない定数で割ることも行基本変形の一種である.)非零の行は2本だから $\rank B=2$.自由度 $=3-2=1$ である.定理9.1より非自明な解(1パラメータ分)をもつ.階段行列から方程式を書き直すと
$$ \begin{cases} x_1+2x_2-x_3=0\\ -x_2+x_3=0 \end{cases} $$自由変数は $x_3$(ピボット変数は $x_1,x_2$).そこで $x_3=k$($k$ は任意の実数)とおくと,第2式より $x_2=x_3=k$,これを第1式に代入して $x_1=-2x_2+x_3=-2k+k=-k$.よって
$$ \begin{cases}x_1=-k\\x_2=k\\x_3=k\end{cases}\qquad(k\in\R) $$が解のすべてである.$k=1$ のときの解 $(-1,1,1)$ を方向ベクトルとする,原点を通る直線が解全体になっている.
例題9.5 自由度2(2パラメータ)になる例
次の同次連立1次方程式の自由度を求め,解をすべて求めよ.
$$ \begin{cases} 2x_1-x_2+x_3=0\\ 4x_1-2x_2+2x_3=0\\ -6x_1+3x_2-3x_3=0 \end{cases} $$解答 係数行列は $C=\begin{bmatrix}2&-1&1\\4&-2&2\\-6&3&-3\end{bmatrix}$,$n=3$.よく見ると,第2行は第1行のちょうど2倍,第3行は第1行のちょうど $-3$ 倍になっている.実際 $R_2\to R_2-2R_1$($4-4=0,-2+2=0,2-2=0$),$R_3\to R_3+3R_1$($-6+6=0,3-3=0,-3+3=0$)とすると
$$ \begin{bmatrix}2&-1&1\\4&-2&2\\-6&3&-3\end{bmatrix} \to \begin{bmatrix}2&-1&1\\0&0&0\\0&0&0\end{bmatrix} $$非零の行が1本だけになった.$\rank C=1$.自由度 $=3-1=2$ である.方程式は実質1本 $2x_1-x_2+x_3=0$ だけに退化しており,$x_1,x_2$ の2つが自由変数($x_3$ がピボット変数)である.$x_1=k$,$x_2=l$($k,l$ は任意の実数)とおくと,$x_3=-2x_1+x_2=-2k+l$.よって
$$ \begin{cases}x_1=k\\x_2=l\\x_3=-2k+l\end{cases}\qquad(k,l\in\R) $$が解のすべてである.3本あった方程式が実質1本の平面の式に退化したので,解はその平面(原点を通る2次元の広がり)全体になる.
9.4 非同次連立1次方程式と自由度
今度は右辺が $\bm 0$ とは限らない非同次連立1次方程式 $A\bm x=\bm b$($\bm b\neq\bm 0$)を考える.同次の場合と違って $\bm x=\bm 0$ は一般に解にならない($A\bm 0=\bm 0\neq\bm b$)ので,そもそも解が存在するかどうかから確認しなければならない.
定義9.4 拡大係数行列(非同次の場合)
非同次連立1次方程式 $A\bm x=\bm b$($\bm b\neq\bm 0$)の係数行列を $A$,右辺の定数項を並べた列ベクトルを $\bm b$ とする.行列 $A$ の右側に $\bm b$ を1列付け加えた
$$ A_0=[\,A\mid\bm b\,] $$を(非同次の場合の)拡大係数行列と呼ぶ.$A_0$ を行基本変形したものを $A_0'=[\,A'\mid\bm b'\,]$ と書く($A'$ は $A$ を行基本変形した部分,$\bm b'$ は $\bm b$ を同じ行基本変形で変形した部分).
定理9.2 非同次連立1次方程式の解の存在条件と自由度
解の判定法
$$ \begin{cases} \rank A' \lt \rank A_0'\ \text{であれば,解は存在しない.}\\ \rank A' = \rank A_0'\ \text{であれば,解は存在する.} \end{cases} $$解が存在するとき,自由度 $=n-\rank A_0'$($n$ は未知数の個数)と定める.
解の種類判定法
$$ \begin{cases} \text{自由度}>0\ \text{のとき,不定解(パラメータを含む無数の解)をもつ.}\\ \text{自由度}=0\ \text{のとき,ただ1組の解をもつ.} \end{cases} $$($A$ が正方行列のとき,自由度$=0$の場合は $\rank A_0'=\rank A'=n$ となって $A$ が正則になっている場合に対応し,逆行列 $A^{-1}$ を使って $\bm x=A^{-1}\bm b$ とただ1組に決まる.自由度$>0$の場合は $\rank A' \lt n$ となって $A$ に逆行列が存在しない場合に対応する.正則性とのこの対応は9.6節で改めて整理する.)
イメージ:2変数の非同次方程式は3通りに分かれる
ここでも先に2変数($xy$平面)で考えておこう.非同次の1次方程式 $ax+by=c$($c\neq0$)は,原点を通るとは限らない一般の直線を表す.2本の式からなる連立方程式 $\begin{cases}a_1x+b_1y=c_1\\a_2x+b_2y=c_2\end{cases}$ が表すのは「2本の直線がどう交わるか」という問題であり,次の3通りに分かれる(図9.6).
(i) 2直線が1点で交わる:ただ1組の解(自由度0).(ii) 2直線が完全に一致する:直線上のすべての点が解(自由度1).(iii) 2直線が平行だがずれている(一致しない):共有点がなく解なし.
3変数($xyz$空間)になると,直線は平面に置き換わり,同じ3通りの場合分け——1点で交わる(自由度0),交わってできる図形(直線や平面)全体が解になる(自由度$>0$),そもそも交わらない(解なし)——が起こる.次の例題9.6で,実際に3変数の場合を計算しよう.
例題9.6 非同次連立1次方程式の解の存在と自由度
次の非同次連立1次方程式について,解が存在するかどうかを判定し,存在するならすべての解を求めよ.
$$ \begin{cases} x_1+2x_2-x_3=2\\ 2x_1-x_2+3x_3=9\\ 4x_1+3x_2+x_3=13 \end{cases} $$解答 拡大係数行列は $A_0=\left[\begin{array}{ccc|c}1&2&-1&2\\2&-1&3&9\\4&3&1&13\end{array}\right]$.行基本変形する.$R_2\to R_2-2R_1$($2-2=0,-1-4=-5,3-(-2)=5,9-4=5$),$R_3\to R_3-4R_1$($4-4=0,3-8=-5,1-(-4)=5,13-8=5$)とすると
$$ \left[\begin{array}{ccc|c}1&2&-1&2\\2&-1&3&9\\4&3&1&13\end{array}\right] \to \left[\begin{array}{ccc|c}1&2&-1&2\\0&-5&5&5\\0&-5&5&5\end{array}\right] $$さらに $R_3\to R_3-R_2$(各成分 $-5-(-5)=0,5-5=0,5-5=0$)とし,第2行を $-5$ で割ると
$$ \left[\begin{array}{ccc|c}1&2&-1&2\\0&-5&5&5\\0&-5&5&5\end{array}\right] \to \left[\begin{array}{ccc|c}1&2&-1&2\\0&-5&5&5\\0&0&0&0\end{array}\right] \to \left[\begin{array}{ccc|c}1&2&-1&2\\0&-1&1&1\\0&0&0&0\end{array}\right] =A_0' $$拡大係数行列 $A_0'$ の非零行は2本だから $\rank A_0'=2$.一方,$A_0'$ から右端の列($\bm b'$ の列)を取り除いた係数行列部分 $A'=\begin{bmatrix}1&2&-1\\0&-1&1\\0&0&0\end{bmatrix}$ も非零行が2本で $\rank A'=2$.$\rank A'=\rank A_0'=2$ だから,定理9.2より解は存在する.自由度 $=n-\rank A_0'=3-2=1$ だから不定解(1パラメータ)である.
今回の係数行列 $A=\begin{bmatrix}1&2&-1\\2&-1&3\\4&3&1\end{bmatrix}$ は(たまたま)正方行列なので,行列式でも同じことが確認できる.実際に $|A|$ を計算すると
$$ |A|=1\cdot\begin{vmatrix}-1&3\\3&1\end{vmatrix}-2\cdot\begin{vmatrix}2&3\\4&1\end{vmatrix}+(-1)\cdot\begin{vmatrix}2&-1\\4&3\end{vmatrix}=1\cdot(-10)-2\cdot(-10)-1\cdot10=-10+20-10=0 $$となり,$|A|=0$($A$ は特異行列,$\rank A \lt 3$)である.これは $\rank A'=2 \lt n=3$ という上の結果とちょうど対応しており,$A$ が正則でない(逆行列をもたない)ために,9.1節の公式 $\bm x=A^{-1}\bm b$ が使えず,掃き出し法によって初めて解が求まることを裏づけている.
階段行列から方程式を書き直すと
$$ \begin{cases} x_1+2x_2-x_3=2\\ -x_2+x_3=1 \end{cases} $$自由変数は $x_3$.$x_3=k$($k\in\R$)とおくと,第2式より $-x_2+k=1$ すなわち $x_2=k-1$.第1式に代入すると $x_1+2(k-1)-k=2$ より $x_1=2-2(k-1)+k=2-2k+2+k=4-k$.よって
$$ \begin{cases}x_1=-k+4\\x_2=k-1\\x_3=k\end{cases}\qquad(k\in\R) $$が解のすべてである($k=0$ のとき $(4,-1,0)$ が特殊解の1つになっていることも確かめられる.sympy で $A\bm x=\bm b$ が任意の $k$ に対して成り立つことを検算済み).
9.5 掃き出し法による連立1次方程式の解法
前の2節で見た「解の存在条件」と「自由度による解の分類」を1つにまとめると,連立1次方程式を実際に解くための,機械的で見通しのよい手順(アルゴリズム)が得られる.これを掃き出し法(sweep-out method,ガウスの消去法,Gaussian elimination とも呼ばれる)という.
定理9.3 掃き出し法
連立1次方程式 $A\bm x=\bm b$(未知数の個数 $n$)を解くには,拡大係数行列 $A_0=[\,A\mid\bm b\,]$ を行基本変形で階段行列 $A_0'=[\,A'\mid\bm b'\,]$ にすればよい.$\rank A'=r$,$\rank A_0'=r_0$ とすると,解の形は次の3通りに分かれる.
$$ \begin{array}{lll} \text{(i)}&\text{ただ1組の解(一意解)}&r=r_0=n\quad(\text{自由度}=0)\\ \text{(ii)}&\text{不定解(パラメータを含む)}&r=r_0 \lt n\quad(\text{自由度}=n-r_0\gt0)\\ \text{(iii)}&\text{解なし}&r \lt r_0\quad(\text{このとき自由度は定義しない}) \end{array} $$結論:$\rank A' \lt \rank A_0'$ のとき解なし,$\rank A'=\rank A_0'$ のとき解が存在する.((i)の一意解は,$\bm b=\bm 0$(同次方程式)の場合に限り9.3節の自明な解 $\bm x=\bm 0$ に一致する.$\bm b\neq\bm 0$(非同次方程式)の場合は一意解であっても $\bm x=\bm 0$ ではない——実際,次の例題9.7の解 $(x,y,z)=(1,2,-1)$ がその例である.)
注意:解なしの場合には自由度を定義しない
(iii)「解なし」の場合には,そもそも解が1つも存在しないのだから,自由度(=解に残る自由なパラメータの本数)という概念そのものを定義することができない.本書では(iii)の場合には自由度を定義しないこととする.
イメージ:行基本変形の正体は「式の足し算・引き算」
行基本変形——ある行を定数倍する,ある行に別の行の定数倍を加える,2つの行を入れ替える——は,行列の言葉で書くと抽象的に見えるが,元の連立方程式に戻って読むと,本質的には「いくつかの条件式(=方程式)どうしを何倍かして足したり引いたりしているだけ」である.たとえば「第2式に $-2\times$ 第1式を加える」という操作は,$2$本の方程式の言い換えを1本作っているだけであり,連立方程式全体が表す解の集合を変えない(もとの2式から新しい2式が作れ,逆に新しい2式からもとの2式が作れるから,両者は同値である).掃き出し法とは,この「式どうしの足し算・引き算」を,行列の行基本変形という統一的な手続きに翻訳したものにほかならない.
例題9.7 掃き出し法(ただ1組の解)
掃き出し法を使って,次の連立1次方程式を解け.
$$ \begin{bmatrix}2&3&1\\1&1&-1\\3&1&-1\end{bmatrix} \begin{bmatrix}x\\y\\z\end{bmatrix} = \begin{bmatrix}7\\4\\6\end{bmatrix} $$解答 拡大係数行列は $\left[\begin{array}{ccc|c}2&3&1&7\\1&1&-1&4\\3&1&-1&6\end{array}\right]$ である.第1行と第2行を入れ替えると,左上が $1$ になって以降の計算がしやすくなる.
$$ \left[\begin{array}{ccc|c}2&3&1&7\\1&1&-1&4\\3&1&-1&6\end{array}\right] \xrightarrow{R_1\leftrightarrow R_2} \left[\begin{array}{ccc|c}1&1&-1&4\\2&3&1&7\\3&1&-1&6\end{array}\right] $$第1列を掃き出す.$R_2\to R_2-2R_1$($2-2=0,3-2=1,1-(-2)=3,7-8=-1$),$R_3\to R_3-3R_1$($3-3=0,1-3=-2,-1-(-3)=2,6-12=-6$).
$$ \left[\begin{array}{ccc|c}1&1&-1&4\\2&3&1&7\\3&1&-1&6\end{array}\right] \to \left[\begin{array}{ccc|c}1&1&-1&4\\0&1&3&-1\\0&-2&2&-6\end{array}\right] $$次に第2列を掃き出す.$R_3\to R_3+2R_2$($-2+2=0,2+6=8,-6-2=-8$)で第3行の第2列を消し,続いて $R_1\to R_1-R_2$($1-1=0,-1-3=-4,4-(-1)=5$)で第1行の第2列も消す.
$$ \left[\begin{array}{ccc|c}1&1&-1&4\\0&1&3&-1\\0&-2&2&-6\end{array}\right] \xrightarrow{R_3\to R_3+2R_2} \left[\begin{array}{ccc|c}1&1&-1&4\\0&1&3&-1\\0&0&8&-8\end{array}\right] \xrightarrow{R_1\to R_1-R_2} \left[\begin{array}{ccc|c}1&0&-4&5\\0&1&3&-1\\0&0&8&-8\end{array}\right] $$最後に第3列を掃き出す.まず第3行を $8$ で割って先頭を $1$ にし($R_3\to R_3/8$),それを使って第1行・第2行の第3列を消す.$R_1\to R_1+4R_3$($-4+4=0,5+4\cdot(-1)=1$),$R_2\to R_2-3R_3$($3-3=0,-1-3\cdot(-1)=2$).
$$ \left[\begin{array}{ccc|c}1&0&-4&5\\0&1&3&-1\\0&0&8&-8\end{array}\right] \xrightarrow{R_3\to R_3/8} \left[\begin{array}{ccc|c}1&0&-4&5\\0&1&3&-1\\0&0&1&-1\end{array}\right] \to \left[\begin{array}{ccc|c}1&0&0&1\\0&1&0&2\\0&0&1&-1\end{array}\right] $$行がすべて $[1,0,0\mid{*}]$ の形(単位行列)に到達した.$\rank A'=\rank A_0'=3=n$ だから自由度 $0$,ただ1組の解
$$ \begin{cases}x=1\\y=2\\z=-1\end{cases} $$である(sympy の連立方程式ソルバーで検算済み).
例題9.8 掃き出し法(不定解)
掃き出し法を使って,次の連立1次方程式を解け.
$$ \begin{bmatrix}1&-2&4\\0&-1&-1\\-1&4&-2\end{bmatrix} \begin{bmatrix}x\\y\\z\end{bmatrix} = \begin{bmatrix}3\\-1\\-1\end{bmatrix} $$解答 拡大係数行列は $\left[\begin{array}{ccc|c}1&-2&4&3\\0&-1&-1&-1\\-1&4&-2&-1\end{array}\right]$.第1列はすでに第1行以外 $0$ にできていないので,$R_3\to R_3+R_1$($-1+1=0,4-2=2,-2+4=2,-1+3=2$)で消す.
$$ \left[\begin{array}{ccc|c}1&-2&4&3\\0&-1&-1&-1\\-1&4&-2&-1\end{array}\right] \xrightarrow{R_3\to R_3+R_1} \left[\begin{array}{ccc|c}1&-2&4&3\\0&-1&-1&-1\\0&2&2&2\end{array}\right] $$第2列を掃き出す.$R_3\to R_3+2R_2$($2-2=0,2-2=0,2-2=0$)とすると第3行がすべて $0$ になる.
$$ \left[\begin{array}{ccc|c}1&-2&4&3\\0&-1&-1&-1\\0&2&2&2\end{array}\right] \xrightarrow{R_3\to R_3+2R_2} \left[\begin{array}{ccc|c}1&-2&4&3\\0&-1&-1&-1\\0&0&0&0\end{array}\right] $$第2行を $-1$ で割って先頭を $1$ にし($R_2\to -R_2$),それを使って第1行の第2列を消す($R_1\to R_1+2R_2$,$-2+2=0,4+2=6,3+2=5$).
$$ \left[\begin{array}{ccc|c}1&-2&4&3\\0&-1&-1&-1\\0&0&0&0\end{array}\right] \xrightarrow{R_2\to-R_2} \left[\begin{array}{ccc|c}1&-2&4&3\\0&1&1&1\\0&0&0&0\end{array}\right] \xrightarrow{R_1\to R_1+2R_2} \left[\begin{array}{ccc|c}1&0&6&5\\0&1&1&1\\0&0&0&0\end{array}\right] $$非零行は2本だから $\rank A'=\rank A_0'=2 \lt n=3$.解は存在し,自由度 $=3-2=1$(不定解).方程式に戻すと
$$ \begin{cases}x+6z=5\\y+z=1\end{cases} $$自由変数 $z=t$($t\in\R$)とおくと,$x=5-6t$,$y=1-t$.よって
$$ \begin{cases}x=5-6t\\y=1-t\\z=t\end{cases}\qquad(t\in\R) $$が解のすべてである.
例題9.9 掃き出し法(解なし)
掃き出し法を使って,次の連立1次方程式を解け.
$$ \begin{bmatrix}1&-2&4\\0&-1&-1\\-1&4&-2\end{bmatrix} \begin{bmatrix}x\\y\\z\end{bmatrix} = \begin{bmatrix}2\\-3\\0\end{bmatrix} $$解答 係数行列は例題9.8とまったく同じだが,右辺 $\bm b$ が異なる($(3,-1,-1)$ から $(2,-3,0)$ に変わった)ことに注意する.拡大係数行列は $\left[\begin{array}{ccc|c}1&-2&4&2\\0&-1&-1&-3\\-1&4&-2&0\end{array}\right]$.例題9.8とまったく同じ行基本変形($R_3\to R_3+R_1$,続いて $R_3\to R_3+2R_2$,$R_2\to-R_2$,$R_1\to R_1+2R_2$)を,右辺の列にも同じように施しながら行う.
$$ \left[\begin{array}{ccc|c}1&-2&4&2\\0&-1&-1&-3\\-1&4&-2&0\end{array}\right] \xrightarrow{R_3\to R_3+R_1} \left[\begin{array}{ccc|c}1&-2&4&2\\0&-1&-1&-3\\0&2&2&2\end{array}\right] \xrightarrow{R_3\to R_3+2R_2} \left[\begin{array}{ccc|c}1&-2&4&2\\0&-1&-1&-3\\0&0&0&-4\end{array}\right] $$(第3行の右端:$2+2\cdot(-3)=2-6=-4$.係数部分は例題9.8と同じ理由で $0$ になるが,右辺の定数は $-4$ となり,今度は $0$ にならない.)続けて $R_2\to-R_2$,$R_1\to R_1+2R_2$ を行うと
$$ \left[\begin{array}{ccc|c}1&-2&4&2\\0&-1&-1&-3\\0&0&0&-4\end{array}\right] \to \left[\begin{array}{ccc|c}1&0&6&8\\0&1&1&3\\0&0&0&\mathbf{-4}\end{array}\right] $$第3行は $0\cdot x+0\cdot y+0\cdot z=-4$ を意味する.左辺はどんな $x,y,z$ を代入しても $0$ にしかならないのに,右辺は $-4\,(\neq0)$ である.これは矛盾(矛盾式)であり,これを満たす実数 $x,y,z$ は存在しない.事実,$\rank A'=2$(係数部分の非零行は2本)に対して $\rank A_0'=3$(拡大係数行列の非零行は3本,最後の行も $\bm b'$ 側が非零だから数える)となっており,$\rank A' \lt \rank A_0'$ だから定理9.3(iii)より解なしである.
9.6 逆行列の求め方・正則条件・標準形
9.1節では,逆行列を余因子行列を使った公式 $A^{-1}=\frac{1}{|A|}\tilde A$ で求めた.この方法は「公式に当てはめるだけ」で見通しはよいが,$n$ が大きくなると余因子の計算量が爆発的に増える($n$ 次の余因子1個の計算に $(n-1)$ 次の行列式が必要で,それが $n^2$ 個いる).ここでは,9.5節の掃き出し法を応用した,もっと実用的な逆行列の求め方を学ぶ.
定理9.4 逆行列の求め方(掃き出し法による)
$A$ を $n$ 次の正方行列とする.$A$ の右に同じ大きさの単位行列 $E$ を並べた $(n,2n)$ 型行列 $[\,A\mid E\,]$ を行基本変形し,左半分 $A$ の部分がちょうど単位行列 $E$ になるまで掃き出す.
$$ [\,A\mid E\,]\ \xrightarrow{\text{行基本変形}}\ [\,E\mid B\,] $$このとき,右半分に現れる行列 $B$ が $A$ の逆行列である:$B=A^{-1}$.(この掃き出しが最後まで実行できる——すなわち左半分を単位行列 $E$ にできる——ための条件は,$A$ が正則であることである.次の定理9.5で詳しく述べる.)
なぜこの方法で逆行列が求まるのか
行基本変形の3種類の操作は,どれも「ある正則な行列を左からかける」ことと同じ効果をもつ(たとえば「第2行に第1行の $c$ 倍を加える」操作は,対応する箇所だけ $c$ を入れた単位行列に近い行列 $P$ を左からかけるのと同じ結果になる.このような $P$ を基本行列(elementary matrix)と呼ぶ).$[\,A\mid E\,]$ に対して行基本変形を $m$ 回繰り返して $[\,E\mid B\,]$ に到達したとすると,それぞれの基本行列を $P_1,P_2,\ldots,P_m$(変形を行った順)として,左半分については
$$ P_m\cdots P_2P_1A=E $$が成り立っている.これはまさに「$P_m\cdots P_2P_1$ が $A$ の逆行列である」ということ(逆行列の定義そのもの)である.そして右半分については,同じ基本行列を単位行列 $E$ に対して施しているのだから
$$ P_m\cdots P_2P_1E=P_m\cdots P_2P_1=B $$となり,$B=P_m\cdots P_2P_1=A^{-1}$ である.つまり,「$A$ を単位行列に変える一連の操作」を,最初から単位行列だったところに同じ順序で施せば,そこに $A^{-1}$ が自動的に出来上がる,という仕組みである.
例題9.10 掃き出し法による逆行列の計算
$A=\begin{bmatrix}1&1&1\\1&2&3\\1&3&6\end{bmatrix}$ の逆行列を,$[\,A\mid E\,]$ を使って求めよ.
解答 $[\,A\mid E\,]=\left[\begin{array}{ccc|ccc}1&1&1&1&0&0\\1&2&3&0&1&0\\1&3&6&0&0&1\end{array}\right]$.第1列を掃き出す.$R_2\to R_2-R_1$($1-1=0,2-1=1,3-1=2,0-1=-1,1-0=1,0-0=0$),$R_3\to R_3-R_1$($1-1=0,3-1=2,6-1=5,0-1=-1,0-0=0,1-0=1$).
$$ \left[\begin{array}{ccc|ccc}1&1&1&1&0&0\\1&2&3&0&1&0\\1&3&6&0&0&1\end{array}\right] \to \left[\begin{array}{ccc|ccc}1&1&1&1&0&0\\0&1&2&-1&1&0\\0&2&5&-1&0&1\end{array}\right] $$第2列を掃き出す.$R_3\to R_3-2R_2$($2-2=0,5-4=1,-1-(-2)=1,0-2=-2,1-0=1$).
$$ \left[\begin{array}{ccc|ccc}1&1&1&1&0&0\\0&1&2&-1&1&0\\0&2&5&-1&0&1\end{array}\right] \xrightarrow{R_3\to R_3-2R_2} \left[\begin{array}{ccc|ccc}1&1&1&1&0&0\\0&1&2&-1&1&0\\0&0&1&1&-2&1\end{array}\right] $$ここまでで左半分は上三角(対角より下がすべて $0$)になった.ここから下から上に向かって掃き出す.まず第3行を使って第2行・第1行の第3列を消す.$R_2\to R_2-2R_3$($2-2=0,-1-2=-3,1-2\cdot(-2)=1+4=5,0-2=-2$),$R_1\to R_1-R_3$($1-1=0,1-1=0,1-1=0,-1$ではなく $1-1=0$;定数項は $1-1=0,0-(-2)=2,0-1=-1$).
$$ \left[\begin{array}{ccc|ccc}1&1&1&1&0&0\\0&1&2&-1&1&0\\0&0&1&1&-2&1\end{array}\right] \xrightarrow{R_2\to R_2-2R_3} \left[\begin{array}{ccc|ccc}1&1&1&1&0&0\\0&1&0&-3&5&-2\\0&0&1&1&-2&1\end{array}\right] \xrightarrow{R_1\to R_1-R_3} \left[\begin{array}{ccc|ccc}1&1&0&0&2&-1\\0&1&0&-3&5&-2\\0&0&1&1&-2&1\end{array}\right] $$最後に第2行を使って第1行の第2列を消す.$R_1\to R_1-R_2$($1-1=0,0-(-3)=3,2-5=-3,-1-(-2)=1$).
$$ \left[\begin{array}{ccc|ccc}1&1&0&0&2&-1\\0&1&0&-3&5&-2\\0&0&1&1&-2&1\end{array}\right] \xrightarrow{R_1\to R_1-R_2} \left[\begin{array}{ccc|ccc}1&0&0&3&-3&1\\0&1&0&-3&5&-2\\0&0&1&1&-2&1\end{array}\right] $$左半分が単位行列 $E$ になったので,右半分が $A^{-1}$ である.
$$ A^{-1}=\begin{bmatrix}3&-3&1\\-3&5&-2\\1&-2&1\end{bmatrix} $$($A\cdot A^{-1}=E$ となることを sympy で検算済み.実は $|A|=1$ なので,公式9.1を使って余因子行列を直接計算しても同じ結果になる.)
定理9.5 行列の正則条件
$n$ 次正方行列 $A$ について,次の3条件は同値である(どれか1つが成り立てば他の2つも成り立つ).
$$ \text{「$A$ が正則($|A|\neq0$,逆行列をもつ)」}\iff\text{「$\rank A=n$」}\iff\text{「$A$ の階段行列が単位行列 $E_n$」} $$したがって,9.3節の言葉で言えば,「$A$ が正則」$\iff$「同次連立1次方程式 $A\bm x=\bm0$ の自由度が $0$」$\iff$「$A\bm x=\bm 0$ は自明な解しかもたない」も同値である.逆に $A$ が正則でない($|A|=0$,$\rank A \lt n$)とき,$A$ を特異行列(singular matrix)と呼び,そのときは掃き出し法の途中で必ずどこかの行がすべて $0$ になってしまい,$[\,A\mid E\,]$ を $[\,E\mid B\,]$ の形まで掃き出すことができない(左半分に $0$ の行ができてしまい,単位行列に到達できない).
9.6.1 標準形
行基本変形だけでなく,行列の列に対しても同じ働きをする操作を考えることができる.
定義9.5 列基本変形(elementary column operation)
行に対する3種類の基本変形とまったく同じ働きを,行列の列に対して考えたもの——(i)ある列を $0$ でない定数倍する,(ii)ある列に別の列の定数倍を加える,(iii)2つの列を入れ替える——を列基本変形(elementary column operation)と呼ぶ.
行基本変形だけではどんな行列も階段行列にできたが,そのあとさらに列基本変形も使うと,階段行列よりもっと単純な,究極の形まで変形できる.
定義9.6 標準形(normal form)
$(m,n)$ 型行列 $A$ に行基本変形と列基本変形を両方使うと,左上に $r\times r$ の単位行列 $I_r$($r=\rank A$)が並び,それ以外の成分がすべて $0$ である,次の形に変形できる.これを $A$ の標準形(normal form)と呼ぶ.
$$ \begin{bmatrix}I_r&O\\O&O\end{bmatrix} $$($I_r$ は $r$ 次単位行列,$O$ はそれぞれの大きさに応じた零行列.標準形に現れる $1$ の個数はちょうど $\rank A$ に等しい.)
例題9.11 標準形を求める
$A=\begin{bmatrix}1&2&0&2\\3&6&2&4\\2&4&1&3\end{bmatrix}$ の標準形を求めよ.
解答 まず行基本変形で階段行列にする.$R_2\to R_2-3R_1$($3-3=0,6-6=0,2-0=2,4-6=-2$),$R_3\to R_3-2R_1$($2-2=0,4-4=0,1-0=1,3-4=-1$).
$$ \begin{bmatrix}1&2&0&2\\3&6&2&4\\2&4&1&3\end{bmatrix} \to \begin{bmatrix}1&2&0&2\\0&0&2&-2\\0&0&1&-1\end{bmatrix} $$$R_2\to R_2-2R_3$($2-2=0,-2-(-2)=0$)とすると第2行がすべて $0$ になる.
$$ \begin{bmatrix}1&2&0&2\\0&0&2&-2\\0&0&1&-1\end{bmatrix} \xrightarrow{R_2\to R_2-2R_3} \begin{bmatrix}1&2&0&2\\0&0&0&0\\0&0&1&-1\end{bmatrix} $$すべて $0$ の行を一番下にまとめるため $R_2\leftrightarrow R_3$ で入れ替える.
$$ \begin{bmatrix}1&2&0&2\\0&0&0&0\\0&0&1&-1\end{bmatrix} \xrightarrow{R_2\leftrightarrow R_3} \begin{bmatrix}1&2&0&2\\0&0&1&-1\\0&0&0&0\end{bmatrix} $$非零行が2本だから $\rank A=2$.ここまでは行基本変形だけによる階段行列である.ここから列基本変形を使って標準形まで進める.ピボットは第1行が第1列,第2行が第3列にあるので,まず第2列と第3列を入れ替えて,ピボットを左に寄せる($C_2\leftrightarrow C_3$).
$$ \begin{bmatrix}1&2&0&2\\0&0&1&-1\\0&0&0&0\end{bmatrix} \xrightarrow{C_2\leftrightarrow C_3} \begin{bmatrix}1&0&2&2\\0&1&0&-1\\0&0&0&0\end{bmatrix} $$最後に,残った非零成分(第1行第3列の $2$,第1行第4列の $2$,第2行第4列の $-1$)を列基本変形で消す.$C_3\to C_3-2C_1$($2-2\cdot1=0$,他の行は $0-2\cdot0=0$),$C_4\to C_4-2C_1$($2-2=0$,第2行は $-1-2\cdot0=-1$のまま),続けて $C_4\to C_4+C_2$(第1行 $0+0=0$,第2行 $-1+1=0$).
$$ \begin{bmatrix}1&0&2&2\\0&1&0&-1\\0&0&0&0\end{bmatrix} \xrightarrow[C_4\to C_4-2C_1]{C_3\to C_3-2C_1} \begin{bmatrix}1&0&0&0\\0&1&0&-1\\0&0&0&0\end{bmatrix} \xrightarrow{C_4\to C_4+C_2} \begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&0\end{bmatrix} $$これが $A$ の標準形であり,左上に $2\times2$($=\rank A$)の単位行列 $I_2$ が現れている($\begin{bmatrix}I_2&O\\O&O\end{bmatrix}$ の形).
9.7 まとめと演習
9.7.1 まとめ
- 余因子行列 $\tilde A$(余因子を並べた行列の転置)と,逆行列の公式 $A^{-1}=\dfrac{1}{|A|}\tilde A$.証明の核心は「対角成分は行列式そのものの余因子展開,非対角成分は『同じ行(列)が2本ある行列式』になって $0$ になる」という1点だった.
- 階数(rank):行基本変形で作った階段行列の非零行の本数.$0\le\rank A\le\min(m,n)$.
- 自由度 $=n-\rank A$(同次の場合)/$n-\rank A_0'$(非同次で解が存在する場合).自由度は「解の中で自由に選べるパラメータの本数」を表す.
- 同次連立1次方程式 $A\bm x=\bm0$:自由度$=0$なら自明な解のみ,自由度$>0$なら非自明な解も存在する.$n$変数なら,解の図形的なイメージは点(自由度0)・直線(自由度1)・平面(自由度2)…と広がっていく.
- 非同次連立1次方程式 $A\bm x=\bm b$:$\rank A'<\rank A_0'$なら解なし,$\rank A'=\rank A_0'$なら解が存在し,そのときの自由度で一意解/不定解が分かれる.
- 掃き出し法:拡大係数行列 $[A\mid\bm b]$ を行基本変形で階段行列にするだけで,解の3分類(一意解・不定解・解なし)とその具体的な解の形の両方が同時に求まる.
- 逆行列の求め方:$[\,A\mid E\,]\xrightarrow{\text{行基本変形}}[\,E\mid A^{-1}\,]$.正則条件:「$A$ が正則」$\iff$「$\rank A=n$」$\iff$「階段行列が $E_n$」.
- 標準形:行基本変形と列基本変形を両方使うと,どんな行列も $\begin{bmatrix}I_r&O\\O&O\end{bmatrix}$($r=\rank A$)の形に到達できる.
9.7.2 演習問題
演習9.1 余因子行列を使って逆行列を求める
$A=\begin{bmatrix}3&1&-1\\1&2&0\\0&1&1\end{bmatrix}$ の余因子行列 $\tilde A$ を求め,公式9.1を使って逆行列 $A^{-1}$ を求めよ.
ヒント:例題9.1と同じ手順で,9個の余因子 $A_{11},\ldots,A_{33}$ をすべて計算してから転置する.$|A|$ は第1行に沿って余因子展開すればよい.
演習9.2 4元同次連立1次方程式の自由度と解
次の同次連立1次方程式の自由度を求め,解をすべて求めよ.
$$ \begin{cases} x_1+x_2-x_3+2x_4=0\\ 2x_1+x_2+x_3+x_4=0\\ x_1-x_2+5x_3-5x_4=0\\ 3x_1+2x_2+3x_4=0 \end{cases} $$ヒント:係数行列を行基本変形して階段行列にすると,非零行が3本になる($\rank=3$).自由変数は1個(自由度 $4-3=1$).例題9.4と同じ要領で,自由変数を $t$ とおいて他の変数を $t$ で表す.
演習9.3 パラメータを含む非同次連立1次方程式の解の存在条件
$k$ を定数として,次の連立1次方程式を考える.
$$ \begin{cases} x_1+2x_2-x_3=2\\ 2x_1-x_2+3x_3=9\\ 4x_1+3x_2+x_3=k \end{cases} $$この連立1次方程式が解をもつのは $k$ がどんな値のときか.また,そのときの解をすべて求めよ.
ヒント:左辺の係数行列は例題9.6・例題9.9で使ったものと同じで,$\rank A'=2$ である(つねに).拡大係数行列を掃き出すと,最後の行の右端に $k$ を含む式が残る.それが $0$ になる条件を求めればよい.
演習9.4 掃き出し法で4元連立1次方程式を解く
掃き出し法を使って,次の連立1次方程式を解け.
$$ \begin{bmatrix}1&1&0&1\\2&1&1&0\\0&1&2&1\\1&0&1&2\end{bmatrix} \begin{bmatrix}x_1\\x_2\\x_3\\x_4\end{bmatrix} = \begin{bmatrix}6\\3\\3\\6\end{bmatrix} $$ヒント:例題9.7と同様,まず第1列を掃き出してから,順に第2列・第3列を掃き出していく.係数が大きくならないよう,割り算はできるだけ後回しにして,整数のまま消去を進めるとよい.
演習9.5 標準形を求める
$A=\begin{bmatrix}1&2&0&-1\\2&4&1&1\\3&6&1&0\end{bmatrix}$ の標準形を求めよ.
ヒント:例題9.11と同じ手順.まず行基本変形で階段行列にする($\rank A=2$ になる).次にピボットの列を左に寄せる列の入れ替えをしてから,残りの非零成分を列基本変形で消す.
演習9.6 rankで正則性を判定し,正則なら逆行列を求める
$A=\begin{bmatrix}1&2&1\\0&1&3\\2&3&4\end{bmatrix}$ について,$\rank A$ を求めて $A$ が正則かどうかを判定せよ.正則ならば,逆行列 $A^{-1}$ を求めよ(余因子行列・掃き出し法のどちらの方法を使ってもよい).
ヒント:行基本変形して階段行列にし,非零行の本数を数える.$n=3$ 本すべてが非零行になれば定理9.5より正則である.
9.7.3 参考文献
- 望月泰英『数学ノート 線形代数学』(手書き講義ノート).本章の底本.
- 斎藤正彦『線型代数入門』東京大学出版会,1966年.
- 佐武一郎『線型代数学』裳華房,1958年.
関連シミュレーター:行列式は何を表しているのか(面積・体積・rank・自由度)