こんにちはコーヤです。
このページでは対角化できない行列を「対角化っぽく」する、ジョルダン標準形という形への変形を勉強します。
ジョルダン標準形の目的
ジョルダン標準形の目的は対角化できない行列を「対角化っぽく」変形するためです。
「対角化っぽく」だと基準が曖昧になってしまうので、対角化っぽいとみなせる形を決めてしまい、その形のことをジョルダン標準形と呼びます。
それでは具体的にジョルダン標準形の形を見ていきましょう。
ジョルダン細胞とジョルダン標準形
ジョルダン標準形の前に、まずはジョルダン細胞の形から勉強します。
$k$次のジョルダン細胞は$J(\lambda,k)$と表され、以下のような形をしています。
$$
\begin{array}{ccc}
J(\lambda,1)
=
\begin{pmatrix}
\lambda
\end{pmatrix}
&
J(\lambda,2)
=
\begin{pmatrix}
\lambda & 1 \\
0 & \lambda
\end{pmatrix}
&
J(\lambda,3)
=
\begin{pmatrix}
\lambda & 1 & 0 \\
0 & \lambda & 1 \\
0 & 0 & \lambda
\end{pmatrix}
\end{array}
$$
こんな感じで、対角成分の右上が1になっている行列をジョルダン細胞と呼びます。
このジョルダン細胞を対角成分に持つ対角行列がジョルダン標準形になります。
以下の行列$J$を例にします。
$$
J=
\begin{pmatrix}
\lambda_1 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & \lambda_1 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & \lambda_2 & 1 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & \lambda_2 & 1 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & \lambda_2 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & \lambda_3 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & \lambda_4 & 1 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & \lambda_4 \\
\end{pmatrix}
$$
0ばっかりで見にくいですが、右上と左下の0を非表示にすると
$$
J
=
\begin{pmatrix}
\lambda_1 & 1 & & & & & & \\
0 & \lambda_1 & & & & & & \\
& & \lambda_2 & 1 & 0 & & & \\
& & 0 & \lambda_2 & 1 & & & \\
& & 0 & 0 & \lambda_2 & & & \\
& & & & & \lambda_3 & & \\
& & & & & & \lambda_4 & 1 \\
& & & & & & 0 & \lambda_4 \\
\end{pmatrix}
$$
となるので
$$
J=
\begin{pmatrix}
J(\lambda_1,2) & 0 & 0 & 0 \\
0 & J(\lambda_2,3) & 0 & 0 \\
0 & 0 & J(\lambda_3,1) & 0 \\
0 & 0 & 0 & J(\lambda_4,2)\\
\end{pmatrix}
$$
このようにジョルダン細胞を使った対角行列にできました。なので行列$J$はジョルダン標準形といえます。
また、このように表現することもあります。
$$
J
=
J(\lambda_1,2)
\oplus
J(\lambda_2,3)
\oplus
J(\lambda_3,1)
\oplus
J(\lambda_4,2)
$$
普通の対角行列もジョルダン標準形とみなすことができます。
$$
\begin{align}
D
&=
\begin{pmatrix}
\lambda_1 & 0 \\
0 & \lambda_2
\end{pmatrix}
\\\\&=
\begin{pmatrix}
J(\lambda_1,1) & 0 \\
0 & J(\lambda_2,1)
\end{pmatrix}
\end{align}
$$
1次のジョルダン細胞だけで表せるジョルダン標準形が対角行列になります。
ジョルダン標準形の計算4ステップ
それでは具体例なジョルダン標準形に変形する計算を見ていきます。対角化の4ステップに沿ってやっていきます。
このページはジョルダン標準形がテーマなので対角化できない行列を例に挙げますが、実践では対角化できるかどうか分からない状態で計算スタートします。
まずは対角化に向かって進んでいき、対角化できないと判明したらジョルダン標準形に進路変更しましょう。
以下の具体例では最初は対角化に向かって進み、途中でジョルダン標準形に切り替える流れで計算します。
今回は以下の行列$A$を対角化します。
$$
A
=
\begin{pmatrix}
-2 & 1 \\
-1 & 0
\end{pmatrix}
$$
Step1. 固有値と固有ベクトルを求める
行列$A$の固有方程式は
$$
\begin{align}
\det (A-\lambda E)
&=
\begin{vmatrix}
-2-\lambda & 1 \\
-1 & -\lambda
\end{vmatrix}
\\\\&=
(\lambda+1)^2
\end{align}
$$
これより固有値、固有ベクトルは
$$
\lambda_1=-1
$$
$$
\boldsymbol{v}_1
=
k_1
\begin{pmatrix}
1\\
1
\end{pmatrix}
$$
です。
Step2. 対角化可能か判定する
$n$次の行列を対角化したいときは$n$個の線形独立な固有ベクトルが必要です。
行列$A$は2次ですが線形独立な固有ベクトルは1個しか得られませんでしたので、行列$A$は対角化ができないことが判明しました。
本当は以下のような対角行列$D$に変形したかったですが、ジョルダン標準形$J$を目指すことにします。
$$
\begin{array}{cc}
D
=
\begin{pmatrix}
-1 & 0 \\
0 & -1
\end{pmatrix}
&
J
=
\begin{pmatrix}
-1 & 1 \\
0 & -1
\end{pmatrix}
\end{array}
$$
Step3. 変換行列$P$を作る
本来だったら固有ベクトル$\boldsymbol{v}_1,\boldsymbol{v}_2$が得られて変換行列$P$を作る予定でしたが、今は$\boldsymbol{v}_1$しかありません。
仕方ないので別のベクトル$\boldsymbol{v}’_1$を作って不足分を埋めることにします。
さて、固有ベクトル$\boldsymbol{v}$は以下の式(1)を満たすものでした。
$$
(A-\lambda E) \boldsymbol{v} = 0
\tag{1}
$$
不足分を補うベクトル$\boldsymbol{v}’$は以下の式(2)を満たすように作ります。
$$
(A-\lambda E) \boldsymbol{v}’ = \boldsymbol{v}
\tag{2}
$$
このルールに従って$\boldsymbol{v}’_1$を計算します。
$$
\boldsymbol{v}’_1
=
\begin{pmatrix}
x’_1\\
y’_1
\end{pmatrix}
$$
として
$$
\begin{align}
(A-\lambda_1 E) \boldsymbol{v}’_1
&=
\begin{pmatrix}
-2-(-1) & 1 \\
-1 & -(-1)
\end{pmatrix}
\begin{pmatrix}
x’_1\\
y’_1
\end{pmatrix}
\\\\&=
\begin{pmatrix}
-1 & 1 \\
-1 & 1
\end{pmatrix}
\begin{pmatrix}
x’_1\\
y’_1
\end{pmatrix}
\end{align}
$$
この計算結果を
$$
(A-\lambda_1 E) \boldsymbol{v}’_1 = \boldsymbol{v}_1
$$
に代入して
$$
\begin{pmatrix}
-1 & 1 \\
-1 & 1
\end{pmatrix}
\begin{pmatrix}
x’_1\\
y’_1
\end{pmatrix}
=
k_1
\begin{pmatrix}
1\\
1
\end{pmatrix}
$$
これは非同次連立1次方程式の形になっています。拡大係数行列は以下のようになります。
$$
\left(
\begin{array}{cc|c}
-1 & 1 & k_1\\
-1 & 1 & k_1
\end{array}
\right)
$$
これは自由度1なので任意定数1個で$\boldsymbol{v}’_1$を表現できます。
任意定数を$k’_1$として
$$
\boldsymbol{v}’_1
=
k_1
\begin{pmatrix}
0\\
1
\end{pmatrix}
+
k’_1
\begin{pmatrix}
1\\
1
\end{pmatrix}
$$
となります。
それでは不足分のベクトルも得られたので変換行列$P$を作ります。
$$
\begin{align}
P
&=
\begin{pmatrix}
\boldsymbol{v}_1 & \boldsymbol{v}’_1
\end{pmatrix}
\\\\&=
\begin{pmatrix}
k_1 & k’_1 \\
k_1 & k_1+k’_1
\end{pmatrix}
\end{align}
$$
$P$に任意定数$k_1,k’_1$があるままだと面倒なので、計算が楽になるようにテキトーに$k_1,k’_1$の値を決めます。
今回は$k_1=k’_1=1$として変換行列$P$を
$$
P
=
\begin{pmatrix}
1 & 1 \\
1 & 2
\end{pmatrix}
$$
とします。
Step4. 逆行列$P^{-1}$を計算する
$P$の逆行列を計算すると
$$
P^{-1}
=
\begin{pmatrix}
2 & -1 \\
-1 & 1
\end{pmatrix}
$$
となります。
最終的に対角化の式$P^{-1}AP=J$に代入して
$$
\begin{pmatrix}
2 & -1 \\
-1 & 1
\end{pmatrix}
\begin{pmatrix}
-2 & 1 \\
-1 & 0
\end{pmatrix}
\begin{pmatrix}
1 & 1 \\
1 & 2
\end{pmatrix}
=
\begin{pmatrix}
-1 & 1 \\
0 & -1
\end{pmatrix}
$$
となり対角化完了です。
高次のジョルダン標準形に向けて
2次のジョルダン標準形の変形の計算が終わりました。計算の雰囲気は感じとっていただけたかと思います。
対角化の計算と異なるのはステップ3の部分で、固有ベクトルの不足分を補うベクトルを作るところです。
2次のジョルダン標準形は式(2)を満たすように追加のベクトルを作ればOKですが、3次以降のジョルダン標準形では式(2)以外のパターンも存在します。
ここから3次以降のジョルダン標準形の計算に向けての補足説明をします。
広義固有ベクトル
上の例では固有ベクトル$\boldsymbol{v}$の不足を別のベクトル$\boldsymbol{v}’$で補うことでジョルダン標準形に変形しました。
このベクトル$\boldsymbol{v}’$のことを広義固有ベクトルと言います。
固有ベクトル$\boldsymbol{v}$は式(1)を満たすベクトルでしたが、広義固有ベクトル$\boldsymbol{v}’$は式(3)を満たすベクトルのことです。
$$
(A-\lambda E) \boldsymbol{v} = 0
\tag{1}
$$
$$
(A-\lambda E)^m \boldsymbol{v}’ = 0
\tag{3}
$$
$m$は1以上の整数です。この2式からわかるように$m=1$の場合の広義固有ベクトルは固有ベクトルと一致します。
ジョルダン鎖
上の例では式(2)のように固有ベクトル$\boldsymbol{v}$を用いて広義固有ベクトル$\boldsymbol{v}’$が満たす条件を決めました。
$$
(A-\lambda E) \boldsymbol{v}’ = \boldsymbol{v}
\tag{2}
$$
つまり固有ベクトルと広義固有ベクトルは関連付けられているとも言えます。
この関連のことを鎖でつながっているイメージで捉え、ジョルダン鎖と呼ばれています。
広義固有ベクトルの求め方として式(2)と式(3)で2パターンあるように思えますが、2式は同じ意味を表しています。
式(2)の両辺に$(A-\lambda E)$を左側からかけて
$$
(A-\lambda E)^2 \boldsymbol{v}’ = (A-\lambda E) \boldsymbol{v}
$$
この右辺に式(1)を代入すると
$$
(A-\lambda E)^2 \boldsymbol{v}’ = 0
$$
これは式(3)の$m=2$の場合と一致しています。
鎖のイメージなので広義固有ベクトルの関連付けは連鎖していきます。式で表すと以下のようになります。
$$
\begin{align}
(A-\lambda E) \boldsymbol{v} &= 0
\\\\
(A-\lambda E) \boldsymbol{v}’ &= \boldsymbol{v}
\\\\
(A-\lambda E) \boldsymbol{v}'{}’ &= \boldsymbol{v}’
\\\\
(A-\lambda E) \boldsymbol{v}'{}'{}’ &= \boldsymbol{v}'{}’
\\\\
\vdots
\end{align}
$$
2次のジョルダン標準形では広義固有ベクトルが1つ求まればOKなのでジョルダン鎖を意識する必要はありませんが、高次になると複数の広義固有ベクトルが必要になる場合があります。
その時はジョルダン鎖を満たすように広義固有ベクトルを見つけていけばジョルダン標準形への変換行列が作れます。
まとめ
対角化できないと判明したら、ジョルダン標準形へ進路変更しましょう。
固有ベクトル$\boldsymbol{v}$の不足分を補う広義固有ベクトル$\boldsymbol{v}’$は以下のジョルダン鎖の条件を満たすように作ります。
$$
(A-\lambda E) \boldsymbol{v}’ = \boldsymbol{v}
$$
コメント欄