■行列を対角化するには



【要点1】
 n次正方行列Aが相異なるn個の実数の固有値λ1 , λ2 , …, λn およびこれに対応する固有ベクトル , , ···, をもつとき,
 列ベクトル , , ···, を束にした行列をPとおくと,
P−1AP= …(1)
のように対角化できる.
○ この頁ではn次正方行列Aが相異なるn個の実数の固有値をもつ場合のみを扱う.
○ 統計で登場する相関行列や分散共分散行列などの重要な行列の固有値は実数になる.数学的な理論の上では固有値が等しいという場合もあり得るが,観測データ(実数=小数)を元に実際の作業を行うときに小数の固有値が等しいことはほとんど起こらない.

※ 固有方程式が虚数解をもつ場合や重解をもつ場合の取り扱いは,ややこみいったものになる.これらは,線形代数の教科書・問題集や他のWeb教材に記載されており,この頁では取り扱っていない.

(解説)
 列ベクトル , , ···, を束にした行列を
P=[ , , ···, ]
で表すと,右の(参考1)の関係式は

すなわち
A[ , , ···, ]=[ λ1 , λ2 , ···, λn ]
AP=[ λ1 , λ2 , ···, λn ]
と書ける.
 ここで,(参考2)の(c)を見ると,各列ベクトルごとに固有値λkを掛けるには,右から対角行列を掛ければよいから,この式は
AP=P …(2)
と表せる.
 したがって,もし行列Pに逆行列P−1が存在すれば(=行列Pが正則行列であれば),(2)の両辺に左からP−1を掛ければ(1)が得られる.

 行列Pに逆行列P−1が存在することは,右の(参考3)によって分かる.
(参考1)
 n次正方行列Aが相異なるn個の実数の固有値λ1 , λ2 , …, λn およびこれに対応する固有ベクトル , , ···, をもつとき,
A=λ1
A=λ2
………
A=λn
が成り立つ.

(参考2)
(a) (行列)×(列ベクトル)=(列ベクトル)になる
(b) (行ベクトル)×(行列)=(行ベクトル)になる
(c) 対角行列を右から掛けると各列が対角成分倍になる
(d) 対角行列を左から掛けると各行が対角成分倍になる

(参考3)
(e) 相異なる固有値に対応する固有ベクトルは1次独立である.
(f) n次正方行列Pのn個の列ベクトルが1次独立であるならば,行列Pは正則すなわち逆行列が存在する.
【要点2】
 上の【要点1】によりn次正方行列Aが相異なるn個の実数の固有値をもつとき,Aを対角化するには次の手順で行えばよい.
(1) Aの固有値をn個求める.
(2) 各々の固有値に対応する固有ベクトルを求める.
(3) 固有ベクトルを順に束ねた行列をP,固有値を順に対角成分とする行列をDとおく,
(ただし,固有値,固有ベクトルは対応する順に並べる)
P−1AP=D
が求める対角化である.

例1
 次の行列を対角化せよ.
A=
(解答)
(1) 固有方程式を解いて固有値を求める.
det(A)==0
⇔ (1−λ)(−4−λ)+6=0
⇔ λ2+3λ+2=0
⇔ λ=−1, −2
(2) 固有ベクトルを求める
1) λ=−1のとき
 ⇔ 2x+3y=0
 ⇔ (x, y)=t(3, −2)
2) λ=−2のとき
 ⇔ x+y=0
 ⇔ (x, y)=t(1, −1)
(3) 
P= , P−1= , D=
とおくと
P−1AP=

例3
 次の行列を対角化せよ.
(筆算では無理なのでExcelで求めるものとし,小数第4位まで求めよ.)
A=
2.2221 0.5996 0.2272 0.9421
0.9492 2.7782 0.9442 -0.6738
0.2118 0.6148 2.2172 0.9529
0.6131 0.0137 0.6051 2.7825
(解答)
P=
0.4767 -0.7019 0.1165 0.4989
-0.6443 -0.0085 -0.7997 0.4952
0.4997 0.7122 0.1083 0.5003
-0.3286 -0.0008 0.5790 0.5056
とおくと,
P−1=
0.5493 -0.3651 0.5363 -0.7151
-0.7173 0.0017 0.6972 0.0163
-0.1255 -0.6455 -0.1305 0.8852
0.4997 0.5020 0.4990 0.4994
となり,
次の対角行列Dに対して
D=
1.0000 0 0 0
0 2.0000 0 0
0 0 3.0000 0
0 0 0 4.0000

P−1AP=Dとなる.
例2
 次の行列を対角化せよ.
A=
(解答)
…(この解答は「各場面で求めているもののイメージをつかむため」の例示であり,実際に固有値,固有ベクトルなどを求めるにはExcelで行えばよい.)…
(1) 固有方程式を解いて固有値を求める.
det(A)==0
⇔ λ3−17λ2+90λ−168=0
 この3次方程式は筆算では「因数定理を使って解く」ことになるが,上に述べたように実際にはExcelで固有値を求めるとよい.
⇔ λ=4, 6, 7
(2) 固有ベクトルを求める
 1) λ=4のとき
(−2x+7y+z=0)…(*1)
−x+5y−z=0…(*2)
−x+2y+2z=0…(*3)
(*2)+(*3)=(*1)だから(*1)は不要
(*2), (*3)より
x+z=(5y)…(*4)
x−2z=(2y)…(*5)
(*4)−(*5) 3z=(3y)z=(y)
(*4)に代入 x+(y)=(5y)x=(4y)
 ⇔ x=(4y), z=(y)x=4t, y=t, z=t
 ⇔ (x, y, z)=t(4, 1, 1)
 2) λ=6のとき
(−3x+7y+z=0)…(*1)
−x+3y−z=0…(*2)
−x+2y+z=0…(*3)
(*2)+(*3)×2=(*1)だから(*1)は不要
(*2), (*3)より
x+z=(3y)…(*4)
x−z=(2y)…(*5)
(*4)+(*5) 2x=(5y)
(*4)−(*5) 2z=(y)
 ⇔ x=5t, y=2t, z=t
 ⇔ (x, y, z)=t(5, 2, 1)
 3) λ=7のとき
(−7x+14y+2z=0)…(*1)
−x+2y−z=0…(*2)
−x+2y+z=0…(*3)
(*2), (*3)より
x−2y=(z)…(*4)
x−2y=(−z)…(*5)
(*4)−(*5) z=0
(*4)+(*5) x=(2y)
これらを(*1)に代入すると成立するから(*1)は不要
 ⇔ x=(2y), z=0x=2t, y=t, z=0
 ⇔ (x, y, z)=t(2, 1, 0)
(3) 
P= , P−1= ,
D=

とおくと
P−1AP=
問題
 次の行列を対角化せよ.
(筆算では無理なのでExcelで求めるものとし,小数第3位まで求めよ.Web画面をドラッグ・コピーしてからExcel上に貼り付けると入力の手間が省ける.)
A=
-1.624 -1.642 0.322 1.497 1.500
0.560 0.708 1.535 -0.588 0.550
-0.322 3.822 -1.733 2.428 -1.411
4.512 -5.296 2.290 0.617 2.317
1.724 6.145 2.859 0.677 -0.967
(解答)
P=
0.308 0.030 -0.705 0.314 -0.096
0.226 0.450 -0.187 0.125 0.265
-0.646 -0.041 0.625 0.256 -0.743
-0.133 -0.275 0.034 0.747 0.604
0.647 0.848 0.274 0.513 0.062
とおくと,
P−1=
0.270 -2.614 -1.023 -0.195 1.267
-0.236 2.500 0.605 -0.369 -0.231
-0.921 -1.286 -0.164 0.141 0.754
0.635 -0.266 0.434 0.713 0.371
-0.779 0.963 -0.478 0.555 -0.327
となり,
次の対角行列Dに対して
D=
-1.000 0 0 0 0
0 2.000 0 0 0
0 0 -3.000 0 0
0 0 0 4.000 0
0 0 0 0 -5.000

P−1AP=Dとなる.

○===戻る