すーがくをがくすー

中の人は情報通信工学専攻です。専攻がらみの数学・物理(特に院試のネタになりそうなもの)を扱う予定。

〔線形代数〕ジョルダン(Jordan)標準形の理論①(概要編)

 線形代数を習う上では避けては通れない「行列の対角化」。応用的には, この操作により行列の  n 乗を一般的に求められたり出来て大変便利である。しかし, すべての行列がみな対角化可能というわけではなく, この事実そのものは初学者のレベルでも理解できる。その局面まで到達すると「対角化不可能な際はジョルダン標準形にする」という知識を得るのだが, ジョルダン標準形への変換方法について述べている文献は数あれど, 理論的な部分まで踏み込むものはやはりそれほど多くはなく, かつ踏み込んでいるものは説明がムズカシスギルことが多いというギャップが存在する。そこで, 備忘録も兼ねて, ジョルダン標準形の理論と実際の操作方法を, いくつかの記事に分けて解説してみることにした。その際, 中の人が工学系の人間であることも踏まえ, 数学的に踏み込みすぎず, かつ理論の要は外さないように心がけてみようと思う。


1.1 ジョルダン標準形とは何か

 ジョルダン標準形とは, 「行列の対角化」によって実現される形の一般化である。例を挙げる。

 \displaystyle
A =
\begin{pmatrix}
0 & 1 & -2 & 2 \\
-1 & 2 & -1 & 1 \\
0 & 0 & 1 & 1 \\
0 & 0 & -1 & 3 \\
\end{pmatrix}

という行列は, 例えば固有値  1 に対応する固有ベクトル  \displaystyle
\begin{pmatrix}
1 \\
1 \\
0  \\
0  \\
\end{pmatrix}
および, 固有値  2 に対応する固有ベクトル  \displaystyle
\begin{pmatrix}
0 \\
0 \\
1  \\
1  \\
\end{pmatrix}
をもつ。対角化のための変換行列  P は1次独立な固有ベクトルを列ベクトルとして並べたものであるが, この場合1次独立な固有ベクトルはこの2本しかない。しかし,  P \in \mathbb{R} ^ {4 \times 4} を構成するためには1次独立な列ベクトル4本を必要とするから, 変換行列  P を構成することが出来ない。つまり, 対角化不可能である。

 そこで, 次善の策として, 「対角化の形に最も近い変換」を考えたくなり, その一つがジョルダン標準形である。実際, 例えば

 \displaystyle
P = 
\begin{pmatrix}
1 & 0 & 0 & 1 \\
1 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 1 & 1 \\
\end{pmatrix}

に対して,

 \displaystyle
P ^ {-1} A P = 
\left (
\begin{array} {cc|cc}
1 & 1 & 0 & 0 \\
0 & 1 & 0 & 0 \\ \hline
0 & 0 & 2 & 1 \\
0 & 0 & 0 & 2 \\
\end{array}
\right )

のように, ジョルダン標準形へと相似変換できる(補足1)。

 ジョルダン標準形のポイントは, 対角化不可能な行列を. ジョルダン細胞  J(\lambda, m) \in \mathbb{R} ^ {m \times m} と呼ばれる行列

 \displaystyle
J(\lambda, m) = 
\begin{pmatrix}
\lambda & 1 & 0 & \cdots & 0 \\
0 & \lambda & 1 & \cdots & 0\\
0 & 0 & \lambda & \cdots & \vdots \\
\vdots & \vdots & \vdots & \ddots & 1 \\
0 & 0 & 0 & \cdots & \lambda \\
\end{pmatrix}

によるブロック対角化行列へと相似変換することである。実際, 先ほどの  A

 \displaystyle
P ^ {-1} A P = 
\left (
\begin{array} {cc|cc}
J(1, 2) & O \\
O & J(2, 2) \\
\end{array}
\right )

と変換されていることが分かる。特に, ジョルダン標準形におけるジョルダン細胞がすべて  J(\lambda, 1) \in \mathbb{R} ^ {1 \times 1} のとき, これは「対角化」の操作に一致する。ゆえに, ジョルダン標準形は対角化の一般化と見なすことが出来ることも理解できよう。

 さて, 以下では, ジョルダン標準形への変換を実現するために必要な理論を, ゆっくりと見ていくことにする。なお, 本シリーズでは原則として実行列, 実固有値における議論を行うものとすることを約束しておく。


1.2 広義固有空間(一般化固有空間)の定義

 ジョルダン標準形を学ぶ上で, 大きな役割を果たすのが, 「固有空間」および「広義固有空間(一般化固有空間)」である。ひとまず, 定義を示すことにする。

定義1.2.1 固有空間
  A \in \mathbb{R} ^ {n \times n} の固有多項式
 \displaystyle
\varphi _ A (\lambda) 
=  \mathrm{det} (\lambda I - A) 
 \displaystyle
= (\lambda - \lambda _ 1) ^ {\nu _ 1} (\lambda - \lambda _ 2) ^ {\nu _ 2} \cdots (\lambda - \lambda _ p) ^ {\nu _ p}
について,  E _ A (\lambda _ i) = \mathrm{Ker} (A - \lambda _ i I) \lambda _ i に対応する固有空間と定義する。 ここで,  \lambda _ 1 , \lambda _ 2 , \cdots , \lambda _ p A の相異なる固有値である。


 これだけ見ると複雑だが, 固有ベクトルが成す空間を新たに明示的に定義しているだけである。つまり,  \boldsymbol{x} \in \mathbb{R} ^ n A固有値  \lambda _ i に対応する固有ベクトルとすれば,
 A \boldsymbol{x} = \lambda _ i \boldsymbol{x} \Longleftrightarrow (A - \lambda _ i I) \boldsymbol{x} = \boldsymbol{0}

 \Longleftrightarrow \boldsymbol{x} \in \mathrm{Ker} (A - \lambda _ i I) = E _ A (\lambda _ i)

となる。

 ジョルダン標準形の理論では, これを一般化した, 「広義固有空間」が重要な役割を果たす。この定義も述べておこう。

定義1.2.2 広義固有空間(一般化固有空間)
  A \in \mathbb{R} ^ {n \times n} の固有多項式
 \displaystyle
\varphi _ A (\lambda) 
=  \mathrm{det} (\lambda I - A) 
 \displaystyle
= (\lambda - \lambda _ 1) ^ {\nu _ 1} (\lambda - \lambda _ 2) ^ {\nu _ 2} \cdots (\lambda - \lambda _ p) ^ {\nu _ p}
について,  F _ A (\lambda _ i) = \mathrm{Ker} (A - \lambda _ i I) ^ {\nu _ i} \lambda _ i に対応する広義固有空間(一般化固有空間)と定義する。


 気持ちとしては, 「広義固有空間に含まれる任意の一般化固有ベクトル  \boldsymbol{x} は, 1回  (A - \lambda _ i I) を作用させた(乗じた)だけではゼロにならないかもしれないが, 少なくとも  \nu _ i 回作用させれば必ずゼロになる」ということを意味する。ここで, 1回作用させれば消えるものが特に「固有ベクトル」である。つまり,  E _ A (\lambda _ i ) \subseteq F _ A (\lambda _ i) である。


1.3 ジョルダン標準形の存在を保証するための重要な定理

 ジョルダン標準形の非常におおまかな流れを得るためには, 最低限以下の3つの定理を用意すれば十分である。

定理1.3.1 広義固有空間の  A 不変性
 広義固有空間  F _ A (\lambda _ i) A 不変である。すなわち,  \forall \boldsymbol{x} \in F _ A (\lambda _ i) に対して  A \boldsymbol{x} \in F _ A (\lambda _ i) である。


 この定理のイメージを以下に示そう。一般に, 不変部分空間とは, 部分空間  W に線形写像  f を作用させたとき, 生成される空間  f(W) が元々の部分空間  W を「はみ出さないような」部分空間  W を意味している。

不変部分空間

定理1.3.2 広義固有空間による直和分解
  A \in \mathbb{R} ^ {n \times n} における広義固有空間  F _ A (\lambda _ i) により, 全体空間は
 \displaystyle
\mathbb{R} ^ n = F _ A (\lambda _ 1) \oplus F _ A (\lambda _ 2) \oplus \cdots \oplus F _ A (\lambda _ p)
\tag{1.3.1}
と直和分解できる。


 

 まず, 「直和分解」について述べておこう。ある線形空間が直和に分解できる, とは「その線形空間を, 互いに非ゼロ元を一切共有しないような部分空間の和で(綺麗に分割して)過不足無く表せる」ということである。例えば, 3次元ユークリッド空間は,  x 軸上のベクトルを元にもつ線形空間,  y 軸上のベクトルを元にもつ線形空間,  z 軸上のベクトルを元にもつ線形空間の直和で表せる。詳しくは別途調べて欲しい。

 この定理の意味するところはなにか。これを直感的に理解するためには, 対角化可能な行列に対する対角化の操作を思い出すと良い。例えば,

 \displaystyle
B = 
\begin{pmatrix}
3 & 1 & 1 \\
2 & 4 & 2 \\
1 & 1 & 3 \\
\end{pmatrix}
\in \mathbb{R} ^ {3 \times 3}

は対角化できて,

 \displaystyle 
\begin{pmatrix}
-1 \\
1 \\
0 \\
\end{pmatrix}
,
\begin{pmatrix}
-1 \\
0 \\
1 \\
\end{pmatrix}
\in E _ A (2)
,
\quad
\begin{pmatrix}
1 \\
2 \\
1 \\
\end{pmatrix}
\in E _ A (6)

という3つの1次独立な固有ベクトルを得ることが出来る。これらが1次独立であるということは, 全体空間  \mathbb{R} ^ 3 をこれらのベクトルの1次結合で表現できることを意味し, さらに  \mathbb{R} ^ 3 = E _ B (2) \oplus E _ B (6) まで言える, ということもイメージは出来よう(厳密な議論はたやすくないかもしれないが)。

 次に  A の例を見てみよう。1.1で確認したように,  A は対角化不可能であり, それは1次独立な固有ベクトルが2本しか集まらず, 2本足りなかったためであることも既に確認した。 \mathrm{dim} \, E _ A (1) + \mathrm{dim} \, E _ A (2) = 2 \lt 4 であるから, 明らかに  E _ A (1) \oplus E _ A (2) = \mathbb{R} ^ 4 も達成できない。しかし, 広義固有空間  F _ A (\lambda _ i) は 固有空間  E _A (\lambda _ i) を含むような, より大きな部分空間であり, 広義固有空間を用意すれば  F _ A (1) \oplus F _ A (2) = \mathbb{R} ^ 4 が達成できる, ということを意味している。


定理1.3.3 広義固有空間の次元
  A \in \mathbb{R} ^ {n \times n} における広義固有空間  F _ A (\lambda _ i) は,
 \displaystyle
\mathrm{dim} \, F _ A (\lambda _ i) = \nu _ i
\tag{1.3.2}
を満たす。


 この定理の気持ちを述べる。まず, 定理1.3.2から, 直和と同値な条件として

 \mathrm{dim} \, F _ A (\lambda _ 1) + \mathrm{dim} \, F _ A (\lambda _ 2) + \cdots + \mathrm{dim} \, F _ A (\lambda _ p) = n
\tag{1.3.3}

を得る。

 一方, 固有多項式の定義より,

 \displaystyle
\varphi _ A (\lambda)
=  \mathrm{det} (\lambda I - A)

 \displaystyle
= (\lambda - \lambda _ 1) ^ {\nu _ 1} (\lambda - \lambda _ 2) ^ {\nu _ 2} \cdots (\lambda - \lambda _ p) ^ {\nu _ p}

であった。当然, 固有多項式の次数は  n だから,

 \nu _ 1 + \nu _ 2 + \cdots + \nu _ p = n \tag{1.3.4}

である。 (1.3.3), (1.3.4) を比較すれば,  (1.3.2) が成立していて欲しいと考えるのは自然で, そしてそれは実際に成立する。
 

 これらの定理の証明は次回の記事に回すとして, とりあえずこれらの定理を押さえれば, ジョルダン標準形の実現に一歩近づくことができるところを, 次節にて示そう。


1.4 ジョルダン標準形定理の極めて大雑把な「気持ち」

 定理1.3.1, 1.3.2, 1.3.3を認めた上で, ジョルダン標準形定理の「気持ち」を先に述べて, 今後の見通しを良くしておこう。まず, 一般化固有空間  F _ A (\lambda _ i) の次元は定理1.3.3より  \nu _ i だったから,  F _ A (\lambda _ i) の基底を  \{ \boldsymbol{x} _ 1 ^{(i)}, \boldsymbol{x} _ 2 ^{(i)}, \cdots, \boldsymbol{x} _ {\nu _ i} ^{(i)} \} と定めると,  F _ A (\lambda _ 1) , F _ A (\lambda _ 2), \cdots , F _ A (\lambda _ p) に関する基底をすべて集めた


\left \{ \boldsymbol{x} _ 1 ^{(1)},  \cdots, \boldsymbol{x} _ {\nu _ 1} ^{(i)}, \boldsymbol{x} _ 1 ^{(2)},  \cdots, \boldsymbol{x} _ {\nu _ 2} ^{(2)}, \cdots , \cdots , \boldsymbol{x} _ 1 ^{(p)},  \cdots, \boldsymbol{x} _ {\nu _ p} ^{(p)}  \right  \}


は, 定理1.3.2より全体空間  \mathbb{R} ^ n の基底を成す。故に, これらの基底のすべてを列ベクトルにもつ  P \in \mathbb{R} ^ {n \times n} は正則である。

 さて,  F _ A (\lambda _ i) = \mathrm{span} \, \{ \boldsymbol{x} _ 1 ^{(i)}, \cdots, \boldsymbol{x} _ {\nu _ i} ^{(i)} \} A 不変部分空間であったから(つまり  F _ A (\lambda _ i) の任意の元  \boldsymbol{x} について,  A \boldsymbol{x} F _ A (\lambda _ i) の基底の1次結合で表せるから),  F _ A (\lambda _ i) における基底  P _ i = \left ( \boldsymbol{x} _ 1 ^{(i)}, \cdots, \boldsymbol{x} _ {\nu _ i} ^{(i)} \right ) \in \mathbb{R} ^ {n \times \nu _ i} に関する, 行列  A による線形写像の適当な表現行列  A _ i を定めることが出来て,  \displaystyle
A P _ i = P _ i A _ i
とすることができる。

 いま,  P = (P _ 1 , P _ 2 , \cdots , P _ p) であったから,

 \displaystyle
AP = P
\begin{pmatrix}
A _ 1 & O & \cdots & O \\
O & A _ 2 & \cdots & O \\
\vdots & \vdots & \ddots & \vdots \\
O & O & \cdots & A _ p \\
\end{pmatrix}
\tag{1.4.1}

とブロック対角行列に相似変換可能である。特に,  p = n すなわちすべての固有値が異なるとき, すべての  A _ i 1 \times 1 の正方行列であり, 対角化を得ることが出来る。


 これから先考えていくのは, 各  F _ A (\lambda _ i) の基底  \{ \boldsymbol{x} _ 1 ^{(i)}, \boldsymbol{x} _ 2 ^{(i)}, \cdots, \boldsymbol{x} _ {\nu _ i} ^{(i)} \} を「うまく」定めれば, ジョルダン細胞を用いて

 \displaystyle
A _ i = 
\begin{pmatrix}
J(\lambda _ i, \cdot) & O & \cdots & O \\
O & J(\lambda _ i, \cdot) & \cdots & O \\
\vdots & \vdots & \ddots & \vdots \\
O & O & \cdots & J(\lambda _ i, \cdot) \\
\end{pmatrix}
\tag{1.4.2}

が実現できることであり, また, その定め方である。このときの基底の定め方を議論すれば, 冒頭にあげたジョルダン標準形が,  (1.4.1), (1.4.2) から実現できる。

(つづく)


補足1. 相似について

  A, A' \in \mathbb{R} ^ {n \times n} に対し, 正則な  T \in \mathbb{R} ^ {n \times n} が存在して

 \displaystyle
A' = T ^ {-1} A T

が成立するとき,  A, A' は相似である, という。