今こそJordan標準形と向き合う

線形代数を勉強して、Jordan標準形という言葉を耳にしたことがない人はいないだろう。Jordan標準形とは、ざっくり言えば行列の対角化を一般化したようなものである。行列の対角化はいつでもできるとは限らず、報われない行列たちが存在する。一方、Jordan標準形は常に存在することが知られており、まさに行列界の救世主と言える。

私もかつて大学院入試の際にJordan標準形について勉強したことはある。しかし、専攻が情報系というのもあって、当時勉強したのは主にJordan標準形への変形方法だけで、その背後にある数学的な面白さについては理解していなかった。

そこで、本稿ではJordan標準形とは何なのか、その理論的な詳細について考えてみる。

行列は線形写像の映し鏡

始めに、本稿を読み進めるにあたって重要となる考え方について述べておく。

ベクトル空間上の線形写像は行列によって表現することができる。特に、線形変換は線形写像であるから、これも行列によって表現可能である。対角化やJordan標準形を考える上では、この逆を考えることが重要である。すなわち、ある行列に対して、それが何らかの線形変換の表現行列なのだと捉えるのである。

行列というのは線形変換をある基底に対して表現したものに過ぎず、基底の取り方によって姿を変え得る。唯一不変なのはその背後にある線形変換であり、線形変換を通して行列の振る舞いを考えることがJordan標準形の理解へと繋がる。

線形変換を通したベクトル空間の分解

固有空間への分解

 n次元ベクトル空間 Vに対して、ある線形変換 Tが定められており、 m個の固有値 \lambda_1, \lambda_2, \cdots ,  \lambda_mを持つとする。この時、各固有値について、それに対応する固有空間 W_1, W_2, \cdots, W_nが存在する。ここでは線形変換の固有値、及び固有空間について述べているのであって、行列については一切触れていないことに注意されたい。

固有空間の基底は固有ベクトルであるから、固有空間に属する任意のベクトルに Tを作用させると、それらは単に元のベクトルの固有値倍となる。ゆえに、固有空間は T不変な部分空間となる。

全ての固有空間の次元の和が nに等しい場合、以下の式が成立する。

 \displaystyle{
\begin{eqnarray}
&& V = W_1 \oplus W_2 \oplus \cdots \oplus W_n \\
&& T(W_i) \subseteq W_i
\end{eqnarray}
}

広義固有空間への分解

さて、いつもこのようになっていれば良いのだが、残念ながらそうはならないケースが存在する。すなわち、全ての固有空間の次元の和が nを下回るような場合である。このような場合でも、何とかうまく Vを直和分解出来ないだろうか?

実は、これは可能である。 W_iが固有空間であるという条件を緩和して、 T不変性と直和分解されるという性質だけを担保することで、 Vを先ほどと全く同じような直和分解の形に持ち込むことができる。

では、具体的にどのような部分空間に分解してやれば良いだろうか?それを考えるために、まずは固有ベクトル {\bf x} \in W_iについて、以下のような式変形を行う。

 \displaystyle{
\begin{eqnarray}
T{\bf x} &=& \lambda_i {\bf x} \\
(T - \lambda_i I){\bf x} &=& {\bf 0}
\end{eqnarray}
}

これより、固有ベクトルというのは T - \lambda_i Iを作用させると零ベクトルになるようなベクトルであると言える。または、簡潔に W_i = \mathrm{Ker} (T - \lambda_i I)である。

ここから着想を得て、 T - \lambda_i Iだけでなく、 (T - \lambda_i I)^k ( kは任意の自然数) を作用させて零ベクトルになるようなベクトルの集合を考えてみる。これが実は Vの部分空間となっており、さらに T不変性と直和分解されるという性質を満たしている。このようにして得られる空間を広義固有空間と呼ぶ。これを W_i'と表記すると、やはり簡潔に W_i' =  \mathrm{Ker} \{(T - \lambda_i I)^k\}と書ける。

少し確認してみよう。まず T不変性について、以下の式を考える。

 \displaystyle{
\begin{eqnarray}
(T - \lambda_i I)^k (T{\bf x}) &=& (T - \lambda_i I)^{k-1}(T^2 - \lambda_i T) {\bf x} \\
&=& (T - \lambda_i I)^{k-1}T(T - \lambda_i) {\bf x} \\
&=& \cdots \\
&=& T(T - \lambda_i I)^k {\bf x} \\
&=& {\bf 0}
\end{eqnarray}
}

 (T - \lambda_i I)^kを作用させて零ベクトルになったので、 T{\bf x} \in W_i'が言える。

続いて Vが各 W_i'の直和になることについてだが、これは思ったより証明が大変なので、ここではサボって[1]に譲ることにする。

直和分解について一点だけ注意事項を述べておく。ここまで広義固有空間への直和分解について説明したが、実は広義固有空間はさらに直和分解できる場合がある。具体的には、後述するJordan鎖の数だけさらに直和分解可能である。詳細はここでは述べないが、[2]などが参考になるだろう。

広義固有空間の基底

次に、 W_i'の基底について考えてみよう。 W_i'の次元を m_iとする。固有ベクトル {\bf x}_1 \in W_i'について、 (T - \lambda_i I) {\bf x}_2 = {\bf x}_1を満たすベクトル {\bf x}_2を考える。このような {\bf x}_2は存在するかもしれないし、しないかもしれない。もし存在すれば、 (T - \lambda_i I)^2 {\bf x}_2 = {\bf 0}となるため、 {\bf x}_2 \in W_i'が言える。しかも、これは {\bf x}_1スカラー倍でもない。そのため、 \{{\bf x}_1, {\bf x}_2\}は一次独立である。

帰納的に、 (T - \lambda_i I) {\bf x}_{j+1} = {\bf x}_jとなるベクトル {\bf x}_{j+1}を考える。すると、 (T - \lambda_i I)^{j+1} {\bf x}_{j+1} = {\bf 0}となるため {\bf x}_{j+1} \in W_i'が言える。しかも、 \{{\bf x}_1, {\bf x}_2\, \cdots , {\bf x}_{j+1}\}は一次独立になる。

基底は最大で m_i個しか取れないので、この操作はどこかで頭打ちとなる。このようにして得られるベクトルの列をJordan鎖という。Jordan鎖は1つ以上存在し、全てのJordan鎖を構成する全ベクトルを寄せ集めると、これは W_i'の基底となる。これを広義固有ベクトルと呼ぶ。

広義固有空間の構造を完全に明らかにするためには、Jordan鎖は長さいくつのものが何本存在するのかを知る必要がある。これは \mathrm{Ker} \{(T - \lambda_i I)\}, \mathrm{Ker} \{(T - \lambda_i I)^2\}, \cdotsの次元を順に計算し、それらがどのように増えていくかを調べれば分かる。が、込み入った話になるので詳細は[3]を参照されたい。

広義固有ベクトルを基底とした場合の表現行列

以上、線形変換の性質についていろいろと述べたが、ここからいよいよJordan標準形の話に入っていく。

いきなり天下り的だが、線形変換 Tについて、全ての固有値に対する広義固有ベクトルを全て集め、それらを基底とした場合の表現行列について考えてみよう。同じ広義固有空間から抽出した広義固有ベクトルは隣り合うように並べて、その中でさらに同じJordan鎖に属するベクトルも順に並べて添字をつけたものを \{{\bf x}_1, {\bf x}_2\, \cdots , {\bf x}_{n}\}とする。ここで、以下のような写像 \phi : V \to \mathbb{R}^nを定義する。

 \displaystyle{
\phi({\bf x}_i) = {\bf e}_i\ (i=1, 2, \cdots , n)
}

ここで、 {\bf e}_i \mathbb{R}^nの標準基底である。これによって Tの表現行列 Aが定まる。 Aによって実現される \mathbb{R}^n上の線形変換を T_Aとすると、以下のような可換図式が得られる。

 \displaystyle{
\xymatrix{
    V \ar[r]^{T} \ar[d]^{\phi} & V \ar[d]^{\phi} \\
    \mathbb{R} \ar[r]^{T_A} & \mathbb{R}
}
}

これを成立させるためには、 Aはどのような行列であれば良いだろうか?これを一般的な状況で説明するのは非常に煩雑なので、ここでは以下のような具体的な設定の元で議論を進める。

  •  n = 6
  • 固有値 \lambda_1, \lambda_2の2つであり、それぞれの代数的重複度は5, 1である。
  •  \lambda_1について、以下の2つのJordan鎖がある。
    •  {\bf x}_1, {\bf x}_2, {\bf x}_3
      •  (T - \lambda_1 I){\bf x}_1 = 0
      •  (T - \lambda_1 I){\bf x}_2 = {\bf x}_1
      •  (T - \lambda_1 I){\bf x}_3 = {\bf x}_2
    •  {\bf x}_4, {\bf x}_5
      •  (T - \lambda_1 I) {\bf x}_4 = 0
      •  (T - \lambda_1 I){\bf x}_5 = {\bf x}_4
  •  \lambda_2に対応する固有値ベクトルは {\bf x}_6とする。
    •  (T - \lambda_2 I) {\bf x}_6 = 0

まず、上で示した可換図式により T_A = \phi \circ T \circ \phi^{-1}となる。また、具体的な設定の中で示した式を変形すると以下のようになる。

 \displaystyle{
\begin{eqnarray}
&&T{\bf x}_1 = \lambda_1 {\bf x}_1 \\
&&T{\bf x}_2 = {\bf x}_1 + \lambda_1 {\bf x}_2 \\
&&T{\bf x}_3 = {\bf x}_2 + \lambda_1 {\bf x}_3 \\
&&T{\bf x}_4 = \lambda_1 {\bf x}_4 \\
&&T{\bf x}_5 = {\bf x}_4 + \lambda_1 {\bf x}_5 \\
&&T{\bf x}_6 = \lambda_2 {\bf x}_6
\end{eqnarray}
}

さらに、これらに \phiを作用させると以下のようになる。

 \displaystyle{
\begin{eqnarray}
&&(\phi \circ T){\bf x}_1 = \lambda_1 {\bf e}_1 \\
&&(\phi \circ T){\bf x}_2 = {\bf e}_1 + \lambda_1 {\bf e}_2 \\
&&(\phi \circ T){\bf x}_3 = {\bf e}_2 + \lambda_1 {\bf e}_3 \\
&&(\phi \circ T){\bf x}_4 = \lambda_1 {\bf e}_4 \\
&&(\phi \circ T){\bf x}_5 = {\bf e}_4 + \lambda_1 {\bf e}_5 \\
&&(\phi \circ T){\bf x}_6 = \lambda_2 {\bf e}_6
\end{eqnarray}
}

上式に {\bf x}_i = \phi^{-1}({\bf e}_i)を代入することで、 T_Aは以下のような変換であることが分かる。

 \displaystyle{
\begin{eqnarray}
&&T_A{\bf e}_1 = \lambda_1 {\bf e}_1 \\
&&T_A{\bf e}_2 = {\bf e}_1 + \lambda_1 {\bf e}_2 \\
&&T_A{\bf e}_3 = {\bf e}_2 + \lambda_1 {\bf e}_3 \\
&&T_A{\bf e}_4 = \lambda_1 {\bf e}_4 \\
&&T_A{\bf e}_5 = {\bf e}_4 + \lambda_1 {\bf e}_5 \\
&&T_A{\bf e}_6 = \lambda_2 {\bf e}_6
\end{eqnarray}
}

よって、 Aは以下のような行列であることが分かる。

 \displaystyle{
A = 
\left(
\begin{array}{cccccc}
\lambda_1 & 1 & 0 & 0 & 0 & 0  \\
0 & \lambda_1 & 1 & 0 & 0 & 0  \\
0 & 0 & \lambda_1 & 0 & 0 & 0  \\
0 & 0 & 0 & \lambda_1 & 1 & 0  \\
0 & 0 & 0 & 0 & \lambda_1 & 0  \\
0 & 0 & 0 & 0 & 0 & \lambda_2
\end{array}
\right)
}

これはJordan標準形そのものである。結局、線形変換の基底として広義固有ベクトルを選んだ場合の表現行列こそが、Jordan標準形の正体なのである。

広義固有ベクトルへの座標変換

最後に、適当な行列をJordan標準形に変形するとはどういうことなのか、その意味を考えてみよう。

Jordan標準形になっていない n次正方行列 Bを考える。 Bをあるベクトル空間 V上の線形変換 Tの表現行列であると考えると、これは基底として広義固有ベクトル以外のものを選んだ場合であると解釈できる。これをJordan標準形に変形する事は、基底を広義固有ベクトルに取り替えることを意味する。

 Bが表現行列となるような Vの基底を {\bf y}_1, {\bf y}_2, \cdots, {\bf y}_nとし、写像 \psi: V \to \mathbb{R}^nを以下のように定める。

 \displaystyle{
\psi({\bf y}_i) = {\bf e}_i\ (i=1, 2, \cdots , n)
}

すると、以下の可換図式が得られる。

 \displaystyle{
\xymatrix{
    \mathbb{R} \ar[r]^{T_B} & \mathbb{R} \\
    V \ar[r]^{T} \ar[d]^{\phi} \ar[u]_{\psi} & V \ar[d]^{\phi} \ar[u]_{\psi} \\
    \mathbb{R} \ar[r]^{T_A} & \mathbb{R}
}
}

これより、広義固有ベクトルを基底とした場合の変換 T_Aは以下のようにして得られる。

 \displaystyle{
\begin{eqnarray}
T_A &=& \phi \circ \psi^{-1} \circ T_B \circ \psi \circ \phi^{-1} \\
&=& (\psi \circ \phi^{-1})^{-1} \circ T_B \circ (\psi \circ \phi^{-1})
\end{eqnarray}
}

 \psi \circ \phi^{-1}は基底の取り替えを表す写像である。この写像の表現行列を Pとすると、よく見慣れたJordan標準形への変換式 A = P^{-1}BPが得られる。

ちなみに、 Pを具体的に求めると、これは広義固有ベクトルを列ベクトルとして順に並べた行列になっている。そのようになる理由は説明すると長くなるので、私の体力の都合により割愛する。

まとめ

本稿ではJordan標準形の理論的側面について述べた。結論として、Jordan標準形とは広義固有ベクトルを基底としたときの線形変換の表現行列であることが分かった。また、Jordan標準形への変換とは、基底を広義固有ベクトルに取り替える操作であることが分かった。

本稿ではJordan標準形の応用面について触れることが出来なかった。これについてはまた機会があれば調べてみたい。