対称行列の対角化

こんにちはコーヤです。

このページでは直交行列を使用して対称行列の対角化を行います。対角化の特殊な場合で、主軸変換に応用されます。

対称行列の対角化の概要

普通の行列の対角化は以下の4ステップで計算できます。

  1. 固有値と固有ベクトルを求める
  2. 対角化可能か判定する
  3. 変換行列$P$を作る
  4. 逆行列$P^{-1}$を計算する

ステップ2では$n$次の行列は$n$個の固有ベクトルないと対角化できないという判定を行いました。

それに対し対称行列$S$は必ず$n$個の固有ベクトルを持ちます。つまり対称行列$S$は必ず対角化できます。

さらにステップ3の変換行列$P$を作る工程で、対称行列$S$は普通の変換行列$P$でも対角化可能だし、直交行列$U$でも対角化可能です。

このページでは、対称行列$S$を直交行列$U$で対角化する計算方法を勉強します。(ページの最後で普通の変換行列$P$で対角化した場合と比較します。)

対称行列・直交行列の性質

対角化に入る前に対称行列と直交行列の性質を勉強しておきます。これらの性質を知っているとスムーズに計算できると思います。

対称行列$S$は

$$
S={}^tS
$$

を満たす行列のことです。${}^tS$は転置を表します。

直交行列$U$は

$$
{}^tU=U^{-1}
$$

を満たす行列のことです。$U^{-1}$は$U$の逆行列です。

直交行列を用いない対角化では変換行列$P$を用いて$P^{-1}AP=D$という形になりましたが、直交行列を用いた対角化では${}^tUSU=D$となります。

正規化の計算方法

直交行列を作るときに正規化の計算が必要です。正規化とはノルムを1に揃えることです。

$\boldsymbol{v}$のノルムは以下のように定義されています。

$$
\| \boldsymbol{v} \|
=
\sqrt{\boldsymbol{v} \cdot \boldsymbol{v}}
$$

ベクトル$\boldsymbol{v}$を正規化したベクトルを$\boldsymbol{u}$とすると

$$
\boldsymbol{u}
=
\frac{\boldsymbol{v}}{\| \boldsymbol{v} \|}
$$

となります。

対角化計算の具体例

では具体的な計算を見ていきます。対角化の4ステップに沿ってやっていきます。

今回は以下の対称行列を対角化します。

$$
S
=
\begin{pmatrix}
3 & 2 \\
2 & 3
\end{pmatrix}
$$

Step1. 固有値と固有ベクトルを求める

行列$S$の固有方程式は

$$
\begin{align}
\det (S-\lambda E)
&=
\begin{vmatrix}
3-\lambda & 2 \\
3 & 3-\lambda
\end{vmatrix}
\\\\&=
(\lambda-1)(\lambda-5)
\end{align}
$$

これより固有値、固有ベクトルは

$$
\begin{array}{cc}
\lambda_1=1
&
\lambda_2=5
\end{array}
$$

$$
\begin{array}{cc}
\boldsymbol{v}_1
=
k_1
\begin{pmatrix}
1\\
-1
\end{pmatrix}
&
\boldsymbol{v}_2
=
k_2
\begin{pmatrix}
1\\
1
\end{pmatrix}
\end{array}
$$

です。

Step2. 対角化可能か判定する

対称行列は必ず対角化可能です。判定の必要はありません。

対角行列$D$は

$$
\begin{align}
D
&=
\begin{pmatrix}
\lambda_1 & 0 \\
0 & \lambda_2
\end{pmatrix}
\\\\&=
\begin{pmatrix}
1 & 0 \\
0 & 5
\end{pmatrix}
\end{align}
$$

となります。

Step3. 直交行列$U$を作る

直交行列$U$の作り方は変換行列$P$の作り方とだいたい同じですが、媒介変数の値をテキトーに決めてはいけません。固有ベクトルを正規化するように媒介変数の値を決めます。正規化しないと${}^tU=U^{-1}$を満たさなくなってしまうのが理由です。

まずは$\boldsymbol{v}_1$を正規化します。

$\boldsymbol{v}_1$のノルム$\| \boldsymbol{v}_1 \|$は

$$
\| \boldsymbol{v}_1 \|
=
\sqrt{2}k_1
$$

です。$\boldsymbol{v}_1$を正規化したベクトルを$\boldsymbol{u}_1$とすると

$$
\begin{align}
\boldsymbol{u}_1
&=
\frac{\boldsymbol{v}_1}{\| \boldsymbol{v}_1 \|}
\\\\&=
\frac{1}{\sqrt{2}}
\begin{pmatrix}
1\\
-1
\end{pmatrix}
\end{align}
$$

となります。

同様に$\boldsymbol{v}_2$も正規化します。

$$
\| \boldsymbol{v}_2 \|
=
\sqrt{2}k_2
$$

なので

$$
\begin{align}
\boldsymbol{u}_2
&=
\frac{\boldsymbol{v}_2}{\| \boldsymbol{v}_2 \|}
\\\\&=
\frac{1}{\sqrt{2}}
\begin{pmatrix}
1\\
1
\end{pmatrix}
\end{align}
$$

となります。

したがって直交行列$U$は

$$
U
=
\frac{1}{\sqrt{2}}
\begin{pmatrix}
1 & 1 \\
-1 & 1
\end{pmatrix}
$$

となります。

Step4. 転置行列${}^tU$を作る

$U$の転置行列${}^tU$を用意します。

$$
{}^tU
=
\frac{1}{\sqrt{2}}
\begin{pmatrix}
1 & -1 \\
1 & 1
\end{pmatrix}
$$

です。

最終的に対角化の式${}^tUSU=D$に代入して

$$
\frac{1}{2}
\begin{pmatrix}
1 & -1 \\
1 & 1
\end{pmatrix}
\begin{pmatrix}
3 & 2 \\
2 & 3
\end{pmatrix}
\begin{pmatrix}
1 & 1 \\
-1 & 1
\end{pmatrix}
=
\begin{pmatrix}
1 & 0 \\
0 & 5
\end{pmatrix}
$$

となり対角化完了です。

直交行列を使わずに対角化

固有ベクトルを正規化して直交行列$U$を作りましたが、正規化せずに計算した場合を見てみましょう。

$k_1=k_2=1$として変換行列$P$を作ったとすると

$$
\begin{array}{cc}
P
=
\begin{pmatrix}
1 & 1 \\
-1 & 1
\end{pmatrix}
&
P^{-1}
=
\displaystyle \frac{1}{2}
\begin{pmatrix}
1 & -1 \\
1 & 1
\end{pmatrix}
\end{array}
$$

となるので対角化の式$P^{-1}AP=D$に代入して

$$
\frac{1}{2}
\begin{pmatrix}
1 & -1 \\
1 & 1
\end{pmatrix}
\begin{pmatrix}
3 & 2 \\
2 & 3
\end{pmatrix}
\begin{pmatrix}
1 & 1 \\
-1 & 1
\end{pmatrix}
=
\begin{pmatrix}
1 & 0 \\
0 & 5
\end{pmatrix}
$$

正規化した場合と全く同じ対角化の結果となりました。

このように対角化することが目的なら正規化の計算は必要ありません。

正規化する必要があるのは、主軸変換が目的の対角化を行うときです。主軸変換については次のページで勉強します。

まとめ

対称行列$S$は直交行列$U$で対角化可能です。

対角化の式は以下の式です。

$$
{}^tUSU=D
$$

コメント