線形代数I/実対称行列の対角化

(338d) 更新

線形代数I

培風館「教養の線形代数(五訂版)」に沿って行っている授業の授業ノート(の一部)です。

実対称行列の対角化

実対称行列とは実行列(実数行列)かつ対称行列であること。

実行列: \bar A=A   ⇔  要素が実数 \big(\bar a_{ij}\big)=\big(a_{ij}\big)

対称行列: {}^t\!A=A   ⇔  対称 \big(a_{ji}\big)=\big(a_{ij}\big)

実対称行列の固有値は必ず実数

準備:

任意の複素ベクトル \bm z に対して、 {}^t\bar{\bm z}\bm z は実数であり、 {}^t\bar{\bm z}\bm z\ge 0 。等号は \bm z=\bm 0 の時のみ成り立つ。

\because \bm z=\begin{bmatrix}z_1\\z_2\\\vdots\\z_n\end{bmatrix}, \bar{\bm z}=\begin{bmatrix}\bar z_1\\\bar z_2\\\vdots\\\bar z_n\end{bmatrix}, {}^t\!\bar{\bm z}=\begin{bmatrix}\bar z_1&\bar z_2&\cdots&\bar z_n\end{bmatrix}

{}^t\!\bar{\bm z} \bm z&=\bar z_1 z_1 + \bar z_2 z_2 + \dots + \bar z_n z_n\\ &=\|z_1\|^2 + \|z_2\|^2 + \dots + \|z_n\|^2 \in \mathbb R\\

右辺は明らかに非負で、ゼロになるのは \bm z=\bm 0 の時のみである。

証明:

実対称行列に対して A\bm z=\lambda \bm z が成り立つ時、

&\lambda\,{}^t\!\bar{\bm z} \bm z= {}^t\!\bar{\bm z} (\lambda\bm z)= {}^t\!\bar{\bm z} (A \bm z)= {}^t\!\bar{\bm z} A \bm z= {}^t\!\bar{\bm z}\, {}^t\!A \bm z= {}^t\!\bar{\bm z}\, {}^t\!\bar A \bm z=\\ &{}^t\!(\bar A\bar{\bm z}) \bm z= \overline{{}^t\!(A{\bm z})} \bm z= \overline{{}^t\!(\lambda{\bm z})} \bm z= \overline{(\lambda{}^t\!\bm z)} \bm z= \bar\lambda\,{}^t\!\bar{\bm z} \bm z

(\lambda-\bar\lambda)\,{}^t\!\bar{\bm z} \bm z=0

\bm z\ne \bm 0 の時、 {}^t\!\bar{\bm z} \bm z\ne 0 より、 \lambda=\bar \lambda を得る。

複素内積、エルミート行列

実は、複素ベクトルを考える場合、内積の定義は (\bm x,\bm y)={}^t\bm x\bm y ではなく、 (\bm x,\bm y)={}^t\bar{\bm x}\bm y を用いる。

そうすることで、 |z|^2=(\bm z,\bm z)\ge 0 がノルムとして定義される。

このとき、 (A\bm x,\bm y)=(\bm x,A\bm y) を満たすのは対称行列 ( A={}^tA ) ではなく、 エルミート行列 A={}^t\!\bar A である。実対称行列は実エルミート行列でもある。

実対称行列に限らず、エルミート行列はすべて固有値が実数となる。

実対称行列では固有ベクトルも実数ベクトルに取れる。
複素エルミート行列の場合、固有ベクトルは必ずしも実数ベクトルにはならない。

以下は実数の範囲のみを考える。

実対称行列では、異なる固有値に属する固有ベクトルは直交する

A\bm x=\lambda \bm x, A\bm y=\mu \bm y かつ \lambda\ne\mu の時、

\lambda(\bm x,\bm y)=(\lambda\bm x,\bm y)=(A\bm x,\bm y)=(\bm x,\,{}^t\!A\bm y)=(\bm x,A\bm y)=(\bm x,\mu\bm y)=\mu(\bm x,\bm y)

すなわち、

(\lambda-\mu)(\bm x,\bm y)=0

\lambda-\mu\ne 0 より、

(\bm x,\bm y)=0

を得る。

実対称行列の直交行列による対角化

(1) 固有値がすべて異なる場合、固有ベクトル \set{\bm p_k} は自動的に直交するので、 大きさが1になるように選ぶことにより ( \bm r_k=\frac{1}{|\bm p_k|}\bm p_k )、

R=\Bigg[\bm r_1\ \bm r_2\ \dots\ \bm r_n\Bigg]

は直交行列となり、この R を用いて、

R^{-1}AR

を対角行列にできる。

(2) 固有値に重複がある場合にも、

対称行列では、重複する固有値に属する1次独立な固有ベクトルを重複度分だけ見つけることが常に可能
(証明は (定理6.8) にあるが、三角化に関する(定理6.2)とほぼ同じになるためここでは省略)

それらをグラム・シュミットの直交化法により正規直交化すれば、 他の固有ベクトルも合わせてすべての固有ベクトルが直交することとなり、 それらを規格化すればやはり直交行列 R が得られる。

A=\begin{bmatrix}2&1&1\\1&2&1\\1&1&2\end{bmatrix}

まず固有値を求める

|A-\lambda I|&=\begin{vmatrix}2-\lambda&1&1\\1&2-\lambda&1\\1&1&2-\lambda\end{vmatrix}\\ &=\begin{vmatrix}4-\lambda&4-\lambda&4-\lambda\\1&2-\lambda&1\\1&1&2-\lambda\end{vmatrix}\hspace{1cm}\leftarrow\text{2,3行目を1行目に加えた}\\ &=(4-\lambda)\begin{vmatrix}1&1&1\\1&2-\lambda&1\\1&1&2-\lambda\end{vmatrix}\\ &=(4-\lambda)\begin{vmatrix}1&0&0\\1&1-\lambda&0\\1&0&1-\lambda\end{vmatrix}\\ &=(1-\lambda)^2(4-\lambda)\\

\lambda=1,4 ただし 1 は2重解。

I. \lambda=1 の時、

(A-\lambda I)\bm x&= \begin{bmatrix}1&1&1\\1&1&1\\1&1&1\end{bmatrix} \begin{bmatrix}x\\y\\z\end{bmatrix}\\

\therefore x+y+z=0 掃き出せない y,z をパラメータ s,t と置けば x=-s-t

したがって、

\begin{bmatrix}x\\y\\z\end{bmatrix}=s\begin{bmatrix}-1\\0\\1\end{bmatrix}+t\begin{bmatrix}0\\-1\\1\end{bmatrix}

II. \lambda=4 の時、

(A-\lambda I)\bm x&= \begin{bmatrix}-2&1&1\\1&-2&1\\1&1&-2\end{bmatrix} \begin{bmatrix}x\\y\\z\end{bmatrix}\\

&\begin{bmatrix}-2&1&1&0\\1&-2&1&0\\1&1&-2&0\end{bmatrix}\\ &\sim \begin{bmatrix}1&-2&1&0\\-2&1&1&0\\1&1&-2&0\end{bmatrix}\\ &\sim \begin{bmatrix}1&-2&1&0\\0&-3&3&0\\0&3&-3&0\end{bmatrix}\\ &\sim \begin{bmatrix}1&-2&1&0\\0&1&-1&0\\0&1&-1&0\end{bmatrix}\\ &\sim \begin{bmatrix}1&0&-1&0\\0&1&-1&0\\0&0&0&0\end{bmatrix}\\

\therefore \begin{cases}x-z=0\\y-z=0\end{cases} 掃き出せない z をパラメータ s と置けば x=y=s

したがって、

\begin{bmatrix}x\\y\\z\end{bmatrix}=s\begin{bmatrix}1\\1\\1\end{bmatrix}

A が実対称行列であるため、

\begin{bmatrix}-1\\0\\1\end{bmatrix}\perp\begin{bmatrix}1\\1\\1\end{bmatrix} および \begin{bmatrix}0\\-1\\1\end{bmatrix}\perp\begin{bmatrix}1\\1\\1\end{bmatrix} が確認できる。

同じ固有値 \lambda=1 に属する \begin{bmatrix}-1\\0\\1\end{bmatrix} \begin{bmatrix}0\\-1\\1\end{bmatrix} とはこのままでは直交していないので、 これらをシュミットの直交化法により直交させる。

\bm f_1=\begin{bmatrix}-1\\0\\1\end{bmatrix}

\bm e_1=\frac{1}{|\bm f_1|}\bm f_1=\frac{1}{\sqrt 2}\begin{bmatrix}-1\\0\\1\end{bmatrix}

\bm f_2&=\begin{bmatrix}0\\-1\\1\end{bmatrix}-\left(\bm e_1,\begin{bmatrix}0\\-1\\1\end{bmatrix}\right)\bm e_1\\ &=\begin{bmatrix}0\\-1\\1\end{bmatrix}-\frac{1}{2}\begin{bmatrix}-1\\0\\1\end{bmatrix}\\ &=\frac{1}{2}\begin{bmatrix}1\\-2\\1\end{bmatrix}

\bm e_2=\frac{1}{|\bm f_2|}\bm f_2=\frac{1}{\sqrt 6}\begin{bmatrix}1\\-2\\1\end{bmatrix}

\bm f_3=\begin{bmatrix}1\\1\\1\end{bmatrix}

\bm e_3=\frac{1}{|\bm f_3|}\bm f_3=\frac{1}{\sqrt 3}\begin{bmatrix}1\\1\\1\end{bmatrix}

したがって、

R=\begin{bmatrix}-1/\sqrt 2&1/\sqrt 6&1/\sqrt 3\\0&-2/\sqrt 6&1/\sqrt 3\\1/\sqrt 2&1/\sqrt 6&1/\sqrt 3\end{bmatrix}

と置けば、 R は直交行列となる。

念のため確かめてみると、

{}^t\!RR&=\begin{bmatrix}-1/\sqrt 2&0&1/\sqrt 2\\1/\sqrt 6&-2/\sqrt 6&1/\sqrt 6\\1/\sqrt 3&1/\sqrt 3&1/\sqrt 3\end{bmatrix}\begin{bmatrix}-1/\sqrt 2&1/\sqrt 6&1/\sqrt 3\\0&-2/\sqrt 6&1/\sqrt 3\\1/\sqrt 2&1/\sqrt 6&1/\sqrt 3\end{bmatrix}\\ &=\begin{bmatrix}1/2+1/2&-1/\sqrt{12}+1/\sqrt{12}&-1/\sqrt{6}+1/\sqrt{6}\\-1/\sqrt{12}+1/\sqrt{12}&1/6+4/6+1/6&1/\sqrt{18}-2/\sqrt{18}+1/\sqrt{18}\\-1/\sqrt 6+1/\sqrt 6&1/\sqrt{18}-2/\sqrt{18}+1/\sqrt{18}&1/\sqrt 3+1/\sqrt 3+1/\sqrt 3\end{bmatrix}\\ &=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}

で、直交行列の条件 {}^t\!R=R^{-1} を満たしていることが分かる。

この R を使って、 A

R^{-1}AR=\begin{bmatrix}1&0&0\\0&1&0\\0&0&4\end{bmatrix}

の形に直交化される。

実対称行列の対角化の応用

実数係数の2次形式を実対称行列で表す

変数 x_1, x_2, \dots, x_n の2次形式とは、

\sum_{i=1}^n\sum_{j=1}^na_{ij}x_ix_j

の形の、2次の同次多項式である。

例:

x の2次形式の一般形: ax^2

x,y の2次形式の一般形: ax^2+by^2+cxy

x,y,z の2次形式の一般形: ax^2+by^2+cz^2+dxy+eyz+fzx

ここで一般に、

\sum_{i=1}^n\sum_{j=1}^na_{ij}x_ix_j= \begin{bmatrix}x_1&x_2&\cdots&x_n\end{bmatrix} \begin{bmatrix}a_{11}&a_{12}&\cdots&a_{1n}\\a_{21}&a_{22}&&\vdots\\\vdots&&\ddots&\vdots\\a_{b1}&\cdots&\cdots&a_{nn}\end{bmatrix} \begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}={}^t\!\bm xA\bm x

と表せることに注意しよう。

例:

\begin{bmatrix}x&y\end{bmatrix}\begin{bmatrix}a&b\\c&d\end{bmatrix}\begin{bmatrix}x\\y\end{bmatrix}=\begin{bmatrix}x&y\end{bmatrix}\begin{bmatrix}ax+by\\cx+dy\end{bmatrix}=ax^2+bxy+cyx+dy^2

しかも、例えば a_{12}x_1x_2+a_{21}x_2x_1=(a_{12}+a_{21})x_1x_2) のように、 a_{12}+a_{21} の値が変わらない限り、 a_{12} a_{21} を変化させても 式の値は変化しない。したがって、任意の2次形式を a_{ij}=a_{ji} すなわち対称行列 A を用いて {}^t\!\bm xA\bm x の形に表せることになる。

例:

ax^2+by^2+cz^2+dxy+eyz+fzx= \begin{bmatrix}x&y&z\end{bmatrix} \begin{bmatrix}a&d/2&f/2\\d/2&b&e/2\\f/2&e/2&c\end{bmatrix} \begin{bmatrix}x\\y\\z\end{bmatrix}

2次形式の標準形

上記の A は実対称行列であるから、適当な直交行列 R によって

R^{-1}AR={}^t\!RAR=\begin{bmatrix}\lambda_1\\&\lambda_2\\&&\ddots\\&&&\lambda_n\end{bmatrix}

のように対角化される。この式に {}^t\!\bm y および \bm y を掛ければ、

{}^t\!\bm y{}^t\!RAR\bm y={}^t\!(R\bm y)A(R\bm y)={}^t\!\bm y\begin{bmatrix}\lambda_1\\&\lambda_2\\&&\ddots\\&&&\lambda_n\end{bmatrix}\bm y=\lambda_1y_1^2+\lambda_2y_2^2+\dots+\lambda_ny_n^2

そこで、 \bm y

\bm x=R\bm y

となるように取れば、

{}^t\!\bm xA\bm x={}^t\!(R\bm y)A(R\bm y)=\lambda_1y_1^2+\lambda_2y_2^2+\dots+\lambda_ny_n^2

のように、

\begin{cases} x_1=r_{11}y_1+r_{12}y_2+\dots+r_{1n}y_n\\ x_2=r_{21}y_1+r_{22}y_2+\dots+r_{2n}y_n\\ \vdots\\ x_n=r_{n1}y_1+r_{n2}y_2+\dots+r_{nn}y_n\\ \end{cases}

なる変数変換で、2次形式を平方完成できることが分かる。

{}^t\!\bm xA\bm x=\lambda_1(r_{11}x_1^2+r_{12}x_1x_2+\dots)^2+\lambda_2(r_{21}x_2x_1+r_{22}x_2^2+\dots)^2+\dots+\lambda_n(r_{n1}x_nx_1+r_{n2}x_nx_2+)^2

このように平方完成した右辺を「2次形式の標準形」と呼ぶ。

2次形式の標準形に現れる係数は、 A の固有値であることに注意せよ。

2x_1^2+2x_2^2+2x_3^2+2x_1x_2+2x_2x_3+2x_3x_1 を標準形に直せ:

(与式)={}^t\!\bm x\begin{bmatrix}2&1&1\\1&2&1\\1&1&2\end{bmatrix}\bm x={}^t\!\bm xA\bm x

この A は、

R=\begin{bmatrix}-1/\sqrt 2&1/\sqrt 6&1/\sqrt 3\\0&-2/\sqrt 6&1/\sqrt 3\\1/\sqrt 2&1/\sqrt 6&1/\sqrt 3\end{bmatrix}

により、

R^{-1}AR=\begin{bmatrix}1&0&0\\0&1&0\\0&0&4\end{bmatrix}

の形に対角化される。

したがって、

\bm x=R\bm y

なる変数変換により、標準形

(与式)=y_1^2+y_2^2+4y_3^2

を得る。

正値・負値

係数行列 A のすべての固有値が \lambda_i>0 であるとき、

{}^t\!\bm xA\bm x=\sum_{i=1}^n\lambda_iy_i^2\ge 0

であり、等号は y_1=y_2=\dots=y_n=0 、すなわち \bm y=\bm 0 、 すなわち \bm x=R\bm y により \bm x=\bm 0 の時のみ成り立つ。

このような2次形式を正値2次形式と呼ぶ。

逆に、すべての固有値が \lambda_i<0 であるとき、 {}^t\!\bm xA\bm x\le 0 で、等号は \bm x=\bm 0 の時のみ成り立つ。

このような2次形式を負値2次形式と呼ぶ。

  • 係数行列の固有値を調べることにより、2次形式の正値性・負値性を判別できる。

質問・コメント




2重解の固有ベクトル

[[Gramm Smidt ]] ()

Gramm Smidt の固有ベクトルの求め方はいつ使えるのですか?
sanduinjud@gmail.com

  • 下でも書きましたが、直交行列(ユニタリ行列)による対角化を行いたい場合に用います。 -- 武内 (管理人)?

2重解の固有ベクトル

sando? ()

先生!
2重解の固有ベクトルが(-1,1,0)と(-1,0,1)でいいんじゃないです?なぜ(-1,0.1)and (0.-1,1)ですか?sanduinjud@gmail.com

  • はい、単に対角化するだけなら (-1,0,1) と (0,-1,1) は一次独立なので、このままで問題ありません。ここでは「直交行列による対角化」を行いたかったため、これらを直交化して (-1,0,1) と (1,-2,1) を得ています。直交行列(あるいはユニタリ行列)では各列ベクトルは正規直交系になっている必要があります。 -- 武内 (管理人)?

Counter: 82616 (from 2010/06/03), today: 155, yesterday: 0