線形代数6
行列のランクと,行列が逆行列をもつための条件

$0$でない実数は全て逆数を持ちますが,行列の場合は零行列でない正方行列であっても逆行列を持たないことがよくあります.

そこで,正方行列が逆行列を持つかどうかの判定する方法の1つに,行列のランクを利用する方法があります.

この記事では

  • 階段行列と簡約行列
  • 行基本変形の確認
  • ランクの定義
  • 正方行列の正則性の判定

の順に説明していきます.

行列のランクは今後も頻繁に用いる大切な概念なので,しっかり考え方を理解しておいてください.

なお,この記事では特に断らない限り実行列・実ベクトルを扱うことにしますが,複素行列など一般のを成分とする行列・ベクトルに対しても同様です.

オススメの入門書

以下は初学者向けのオススメの教科書です.この記事の著者も数学教室の集団授業で使っています.

手を動かしてまなぶ 線形代数

[藤岡敦 著/裳華房]

線形代数の入門書で,説明も非常に丁寧なので初学者にも読み進めやすい教科書です.

数学で初めて出会った概念で詰まった時には,具体例を考えることで理解できるようになることはよくあります.

特に線形代数は高校数学で扱ってきた数学よりも抽象度がやや増すので,いきなり抽象的に理解するよりも「具体例を理解→抽象化」という学び方が効果的です.

本書は具体例と例題が豊富で,実際に手を動かしながらイメージを掴んで抽象的に理解することを目指しています.

また,続巻も発行されていますが,この第1巻だけでも正方行列の対角化(固有値・固有ベクトル)まで学ぶことができます.

簡約行列

行列のランクを定義するために,

  • 階段行列
  • 簡約行列

を定義します.

階段行列

まずは階段行列を定義します.

1つ下の行に移るにつれて左から0が増えていく

\begin{align*} \bmat{\color{blue}\m{*}&\color{blue}\dots&\color{blue}*&\color{blue}*&\color{blue}\dots&\color{blue}*&\color{blue}*&\color{blue}\dots&\color{blue}*&\color{blue}* \\0&\dots&0&\color{blue}\m{*}&\color{blue}\dots&\color{blue}*&\color{blue}*&\color{blue}\dots&\color{blue}*&\color{blue}* \\0&\dots&0&0&\dots&0&\color{blue}\m{*}&\color{blue}\dots&\color{blue}*&\color{blue}* \\\vdots&\ddots&\vdots&\vdots&\ddots&\vdots&\vdots&\ddots&\vdots&\vdots} \end{align*}

のような形の行列を階段行列といいます.例えば,

\begin{align*} &\bmat{\color{blue}\m{1}&\color{blue}2&\color{blue}3&\color{blue}4\\0&\color{blue}\m{1}&\color{blue}0&\color{blue}-2\\0&0&0&\color{blue}\m{1}},\quad \bmat{0&\color{blue}\m{1}&\color{blue}5&\color{blue}8\\0&0&\color{blue}\m{-3}&\color{blue}2\\0&0&0&0},\quad \bmat{\color{blue}\m{4}&\color{blue}0\\0&\color{blue}\m{3}\\0&0} \end{align*}

はいずれも階段行列です.

また,こられの例の各行の0でない一番左の成分(太字になっている成分)をその行の主成分と言います.

全ての成分が$0$の行には主成分は存在しないとします.

きちんと階段行列の定義を述べると以下のようになります(が,ここではどういうものか分かっていれば良いので,定義を真面目に追わなくても大丈夫でしょう).

[階段行列/主成分] $m\times n$行列$A=(a_{ij})$が階段形 (echelon form)または階段行列 (echelon matrix)であるとは,任意の$i\in\{1,\dots,m-1\}$に対して,次が成り立つことをいう.

  1. $a_{i,k}=0$ ($k=1,\dots,j$, $j<n$)なら,$a_{i+1,k}=0$ ($k=1,\dots,j+1$)である.
  2. $a_{i,k}=0$ ($k=1,\dots,n$)なら,$a_{i+1,k}=0$ ($k=1,\dots,n$)である.

また,階段行列において,零ベクトルでない行の0でない最も左の成分を,その行の主成分 (ピボット,pivot, pivot element)という.

簡約行列

各行の主成分が全て1であり,主成分が存在する列は主成分以外の成分が全て0である

\begin{align*} \bmat{\color{blue}\m{1}&\color{blue}\dots&\color{blue}*&\color{blue}0&\color{blue}\dots&\color{blue}*&\color{blue}0&\color{blue}\dots&\color{blue}*&\color{blue}* \\0&\dots&0&\color{blue}\m{1}&\color{blue}\dots&\color{blue}*&\color{blue}0&\color{blue}\dots&\color{blue}*&\color{blue}* \\0&\dots&0&0&\dots&0&\color{blue}\m{1}&\color{blue}\dots&\color{blue}*&\color{blue}* \\\vdots&\ddots&\vdots&\vdots&\ddots&\vdots&\vdots&\ddots&\vdots&\vdots} \end{align*}

のような形の階段行列を簡約行列といいます.例えば,

\begin{align*} &\bmat{\color{blue}\m{1}&\color{blue}0&\color{blue}3&\color{blue}0\\0&\color{blue}\m{1}&\color{blue}0&\color{blue}0\\0&0&0&\color{blue}\m{1}},\quad \bmat{0&\color{blue}\m{1}&\color{blue}0&\color{blue}4\\0&0&\color{blue}\m{1}&\color{blue}2\\0&0&0&0},\quad \bmat{\color{blue}\m{1}&\color{blue}0\\0&\color{blue}\m{1}\\0&0} \end{align*}

はいずれも簡約行列です.

[簡約行列] 次を満たす階段行列を簡約行列 (reduced matrix)という.

  • 主成分は全て1である.
  • 主成分の存在する列において,主成分以外の成分はすべて0である.

この記事では,この簡約行列がキーとなります.

ランク(階数)の定義

次にランクを定義しますが,前々回の記事前回の記事で説明した行列の行基本変形の確認から入りましょう.

基本変形

[行基本変形] 行列について,

  • ある行を$k$倍する ($k\neq0$)
  • ある行の$k$倍を別の行に加える
  • ある行と別の行を入れ替える

という3つの変形を併せて行基本変形という.

さて,先ほど定義した簡約行列と行基本変形について,次が成り立ちます.

任意の行列は行基本変形により簡約行列に変形できる.

前々回の記事で説明した[掃き出し法]の要領で考えれば,この命題が成り立つことは分かりますね.

例えば,行基本変形により

\begin{align*} \bmat{2&3&-2\\2&-2&8\\-3&0&-6} \to&\bmat{2&3&-2\\1&-1&4\\-3&0&-6} \to\bmat{2&3&-2\\1&-1&4\\-1&0&-2} \\\to&\bmat{1&-1&4\\2&3&-2\\-1&0&-2} \to\bmat{1&-1&4\\0&5&-10\\0&-1&2} \\\to&\bmat{1&-1&4\\0&1&-2\\0&-1&2} \to\bmat{1&0&2\\0&1&-2\\0&0&0} \end{align*}

となります.

行列$A$を行基本変形により簡約行列$B$に変形することを簡約化 (reduction)という.また,行列$B$自体も$A$の簡約化という.

数学では対象にならんかの操作を施すことをしばしば「〜化」といい,さらにその操作で出来上がったもの自体も「〜化」ということがよくあります.

上の例より$\bmat{2&3&-2\\2&-2&8\\-3&0&-6}$の簡約化は$\bmat{1&0&2\\0&1&-2\\0&0&0}$ですね.

簡約化の主成分の個数の一意性

実はどのような行基本変形の経過を辿っても,主成分の個数は一意に決まります.

[簡約化の一意性] 行列の簡約化の主成分の個数は,簡約化の仕方によらず一定である.

証明は少々面倒なので,飛ばしても構いません.


背理法により示す.すなわち,行列$m\times n$行列$A$を行基本変形して,

  • 主成分を$r$個もつ簡約行列$B=[\m{b}_{1},\dots,\m{b}_{n}]$
  • 主成分を$s$個もつ簡約行列$C=[\m{c}_{1},\dots,\m{c}_{n}]$

のどちらにもなり得るとして矛盾を導く($s<r$).

このとき,任意の$k\in\{1,\dots,n\}$に対して,$\m{b}_{k}$の第$r+1$成分以下は全て0であり,$\m{c}_{k}$の第$s+1$成分以下は全て0であることに注意する.

さらに,$B$の主成分以外の成分がすべて0になるように列基本変形を施してできる行列を$B_{1}$とする.

また,同様に$C$の主成分が存在する列$\m{e}_{\ell}$ ($\ell=1,\dots,s$)が第$\ell$列になるように列基本変形を施し,主成分以外の成分がすべて0になるように列基本変形を施してできる行列を$C_{1}$とする.

このとき,

\begin{align*} B_{1}=\bmat{I_{r}&O\\O&O},\quad C_{1}=\bmat{I_{s}&O\\O&O} \end{align*}

である.

行基本変形$A\to B$, $A\to C$を引き起こす行列をそれぞれ$S$, $T$とし,列基本変形$B\to B_{1}$, $C\to C_{1}$を引き起こす行列をそれぞれ$S’$, $T’$とすると,$SA=B$, $TA=C$, $BS’=B_{1}$, $CT’=C_{1}$が成り立つ.

$S$, $T$, $S’$, $T’$はいずれも正則なので,$A=S^{-1}B$, $A=T^{-1}C$, $B=B_{1}S’^{-1}$, $C=C_{1}T’^{-1}$だから,

\begin{align*} &S^{-1}B_{1}S'^{-1}=T^{-1}C_{1}T'^{-1} \\\iff&TS^{-1}B_{1}S'^{-1}T'=C_{1} \end{align*}

を得る.

このとき,$TS^{-1}$, $S’^{-1}T’$, $B_{1}$, $C_{1}$を

\begin{align*} TS^{-1}=\bmat{U_{1}&U_{2}\\U_{3}&U_{4}},\quad S'^{-1}T'=\bmat{U'_{1}&U'_{2}\\U'_{3}&U'_{4}},\quad U_{1},U'_{1}\in\Mat_{r}(\R) \end{align*}

となるように適当な行列$U_{k}$, $U’_{k}$ ($k=1,\dots,4$)で表すと,

\begin{align*} C_{1} =&TS^{-1}B_{1}S'^{-1}T' \\=&\bmat{U_{1}&O\\U_{3}&O}\bmat{U'_{1}&U'_{2}\\U'_{3}&U'_{4}} \\=&\bmat{U_{1}U'_{1}&U_{1}U'_{2}\\U_{3}U'_{1}&U_{3}U'_{2}} \end{align*}

となる.よって,

\begin{align*} I_{r}=U_{1}U'_{1},\quad O=U_{1}U'_{2},\quad O=U_{3}U'_{1} \end{align*}

が成り立つ.$U’_{1}$は正則となるから,${U’_{1}}^{-1}$を$O=U_{3}U’_{1}$の両辺に右からかけて$U_{3}=O$を得る.

よって,

  • $C_{1}$の第$r+1$行以降の成分はすべて0となるが,
  • $C_{1}$の$(r+1,r+1)$成分は1

だから矛盾する.

なお,証明の最後付近の「$I_{r}=U_{1}U’_{1}$から$U’_{1}$は正則」と書いたところでは,前回の記事で証明した以下の定理を用いていることに注意してください.

[正則性の条件] 正方行列$A$に対して,$AB=I$または$BA=I$をみたす正方行列$B$が存在すれば,$A$は正則で$A^{-1}=B$である.

行列のランク(階数)の定義

この[簡約化の一意性]の定理から,次のようにランクを定義することができます.

[ランク] 行列$A$に対して,$A$に行基本変形を施して簡約行列$B$になったとする.

このとき,$B$の主成分の個数を$A$のランク (階数rank)といい,

\begin{align*} \operatorname{rank}{A},\quad \operatorname{rk}{A} \end{align*}

などと表す.

例えば,$\bmat{2&3&-2\\2&-2&8\\-3&0&-6}$の簡約化は$\bmat{1&0&2\\0&1&-2\\0&0&0}$だったので,

\begin{align*} \rank{\bmat{2&3&-2\\2&-2&8\\-3&0&-6}} =\rank{\bmat{1&0&2\\0&1&-2\\0&0&0}} =2 \end{align*}

となりますね.

定義が矛盾なく機能することを「定義がwell-definedである」といい,今の場合は「[簡約化]の定理から[ランク]の定義がwell-definedである」と表現することができます.

定義のwell-defined性について,詳しくは以前に書いた以下の記事を参照してください.

行列の正則性

それでは,ランクと行列の正則性の関係を説明します.

正則性の必要十分条件

ランクから正方行列が正則(逆行列を持つ)かどうかの必要十分条件を与えることができます.

[正則性の必要十分条件] $n$次正方行列$A$について,次は同値である.

  1. $\rank{A}=n$を満たす.
  2. $A$は正則である(逆行列$A^{-1}$が存在する).

[$(1)\Ra(2)$] $\rank{A}=n$とする.

これは$A$の簡約化の主成分が$n$個あることを意味し,$A$が$n$次正方行列列であることと併せて$A$の簡約化は$I$である.

よって,行基本変形でこの簡約化を引き起こす正則行列$P$が存在して$PA=I$となるから,$A$は正則である.

[$(2)\Ra(1)$] $A$が正則であるとする.

$A$の簡約化を$B$とすると,この行基本変形を引き起こす正則行列$P$が存在して$PA=B$が成り立ち,$\rank{A}=\rank{B}$が成り立つ.

$A$が正則なら$P$の正則性と併せて$B$も正則なので,$B$に主成分をもたない行が存在しないから,$\rank{B}=n$が従う.

よって,$\rank{A}=n$を得る.

やはりこの証明の[$(1)\Ra(2)$]でも前回の記事で証明した[正則性の条件]の定理を用いています.

行列のランクのような「1つの対象に固有なもの」を不変量 (invariant)といいます.

ランクという不変量から正方行列の正則性の必要十分条件が分かったように,数学において不変量が重要な役割を果たすことはよくあります.

逆行列の求め方

[正則性の必要十分条件]より,$n$次正方行列$A$が正則なら$\rank{A}=n$なので$A$の簡約化は単位行列$I$ということになります.

このことを用いると,具体的に逆行列を求める際に非常に実用的な以下の系が成り立ちます.

[逆行列] $n$次正方行列$A$を正則行列とする.行列$[A,I]$の簡約化が$[I,B]$であれば,$A$は正則で$B=A^{-1}$である.


行基本変形$[A,I]\to[I,B]$を引き起こす正則行列を$P$とすると,$[PA,PI]=[I,B]$が成り立つから$PA=I$かつ$P=B$である.

よって,$BA=I$が成り立つから,$A$は正則で$B=A^{-1}$である.

やはりこの証明でも前回の記事で証明した[正則性の条件]の定理を用いています.

$A:=\bmat{1&2&1\\0&2&3\\1&2&2}$の逆行列を求めよ.


行基本変形により

\begin{align*} [A,I] =&\bmat{1&2&1&1&0&0\\0&2&3&0&1&0\\1&2&2&0&0&1} \to\bmat{1&2&1&1&0&0\\0&2&3&0&1&0\\0&0&1&-1&0&1} \\\to&\bmat{1&2&0&2&0&-1\\0&2&0&3&1&-3\\0&0&1&-1&0&1} \to\bmat{1&0&0&-1&-1&2\\0&2&0&3&1&-3\\0&0&1&-1&0&1} \\\to&\bmat{1&0&0&-1&-1&2\\0&1&0&3/2&1/2&-3/2\\0&0&1&-1&0&1} \end{align*}

となるから

\begin{align*} A^{-1} =\bmat{-1&-1&2\\3/2&1/2&-3/2\\-1&0&1} =\frac{1}{2}\bmat{-2&-2&4\\3&1&-3\\-2&0&2} \end{align*}

である.

連立1次方程式の解を持つ条件

例えば,連立1次方程式

\begin{align*} \begin{cases} 2x+3y=2\\ x-y=3\\ \end{cases} \end{align*}

は$A=\bmat{2&3\\1&-1}$, $\m{x}=\bmat{x\\y}$, $\m{c}=\bmat{2\\3}$とおくと$A\m{x}=\m{c}$と表せます.

このように,中学校以来よく扱ってきた$\m{x}$の連立1次方程式は,係数行列$A$とベクトル$\m{c}$を用いて$A\m{x}=\m{c}$と表すことができるのでした.

このとき,この連立1次方程式が解を持つかどうかは係数行列$A$と拡大係数行列$[A,\m{c}]$を用いて考えることができます.

次の記事では

  • 連立1次方程式が解をもつ条件
  • 解の自由度

を考えます.

参考文献

線型代数入門

[齋藤正彦 著/東京大学出版会]

線形代数の教科書として半世紀に渡って売れ続けている超ロングセラーの教科書です.

発刊されてから本書の内容の流れが線形代数の教科書のスタンダードとなったほど,日本の線形代数の指導にインパクトを与えた名著です.

その証拠に,著者の齋藤正彦氏は本書で日本数学会出版賞を受賞しています.

「線形代数をとりあえず使えるようにするための教科書」ではなく「線形代数を理解するための教科書」のため,論理的に非常に詳しく書かれているのが特徴です.

また,テキストのレベルとしては少なくとも理論系(特に数学系)の学部生であれば,確実に理解しておきたい程度のものとなっています.

なお,本書については,以下の記事で書評としてまとめています.