II-2.2相似・対角化・スペクトル分解

2.2 相似・対角化・スペクトル分解
行列の相似
行列の相似という概念について説明します。
行列の相似は次のように定義されています。
行列 C と D が次のような関係にあるとき、行列 C と D を相似であるという。
𝑪𝑪 = 𝑷𝑷−𝟏𝟏 𝑫𝑫𝑫𝑫
もっと簡単言えば、𝑷𝑷のような行列が存在すれば、C と D は相似だということです。
この定義の意味を3x3の行列を例にあげて説明します。
3 0 0
𝑫𝑫 = �0 4 0�
0 0 1
1 2 1
𝑷𝑷 = �1 1 1�
1 1 2
とすると、
|𝑷𝑷| = (2 + 2 + 1) − (1 + 4 + 1) = −1
1 1 1
𝑷𝑷′ = �2 1 1�
1 1 2
1 1
2 1
2 1
�
� −�
� �
�
1 2
1 2
1 1
1 ⎛ 1 1
1 1
1 1⎞
𝑷𝑷−𝟏𝟏 =
−�
� �
� −�
�
1 2
1 1⎟
|𝑃𝑃| ⎜ 1 2
1 1
1 1
1 1
⎝ �1 1� − �2 1� �2 1� ⎠
1 −3 1
1
�−1 1
=
0�
−1
0
1 −1
−1 3 −1
= � 1 −1 0 �
0 −1 1
−𝟏𝟏
念のために、ここで、𝑷𝑷 ∙ 𝑷𝑷 = 𝑰𝑰を確認しましょう。
1 2 1 −1 3 −1
𝑷𝑷 ∙ 𝑷𝑷−𝟏𝟏 = �1 1 1� � 1 −1 0 �
0 −1 1
1 1 2
−1 + 2 + 0 3 − 2 − 1 −1 + 0 + 1
= �−1 + 1 + 0 3 − 1 − 1 −1 + 0 + 1�
−1 + 1 + 0 3 − 1 − 2 −1 + 0 + 2
1 0 0
= �0 1 0�
0 0 1
以上で、
が確認されました。
1 2 1 −1
−1 3 −1
�1 1 1� = � 1 −1 0 �
1 1 2
0 −1 1
式 66
次に、𝑷𝑷−𝟏𝟏 DP=C として
D と C が相似であることを確認します。
−1 3 −1 3 0 0
𝑷𝑷−𝟏𝟏 𝑫𝑫 = � 1 −1 0 � �0 4 0�
0 0 1
0 −1 1
−3 12 −1
= � 3 −4 0 �
0 −4 1
−3 12 −1 1 2 1
𝑷𝑷−𝟏𝟏 𝐃𝐃𝐃𝐃 = � 3 −4 0 � �1 1 1�
1 1 2
0 −4 1
−3 + 12 − 1 −6 + 12 − 1 −3 + 12 − 2
=� 3−4+0
6−4+0
3−4+0 �
0−4+1
0−4+1
0−4+2
8
5
7
= �−1 2 −1�
−3 −3 −2
ということで、
8
5
7
𝑪𝑪 = �−1 2 −1�
−3 −3 −2
確かに C と D は相似ですが、そのことにどんな意味があるのかわかりません
ここで、C および D について、固有値を求めます。
D については、固有値λ = 4,3,1
固有ベクトルは、固有値λ =4 について、(0 1 0)′
固有値λ =3 について、(1 0 0)′
であることは自明
C については、
を解いて
固有値λ =1 について、(0 0 1)′
(8 − 𝜆𝜆)
5
7
(2 − 𝜆𝜆)
� −1
−1 � = 0
(−2 − 𝜆𝜆)
−3
−3
𝜆𝜆3 − 8𝜆𝜆2 + 19𝜆𝜆 − 12 = 0
(𝜆𝜆 − 4)(𝜆𝜆 − 3)(𝜆𝜆 − 1)=0
固有ベクトルは
を解いて
λ = 4, 3, 1
𝑥𝑥1
𝑥𝑥1
8
5
7
�−1 2 −1� �𝑥𝑥2 � = 𝜆𝜆 �𝑥𝑥2 �
𝑥𝑥3
−3 −3 −2 𝑥𝑥3
λ = 4について、
8𝑥𝑥1 + 5𝑥𝑥2 + 7𝑥𝑥3 = 4𝑥𝑥1
−1𝑥𝑥1 + 2𝑥𝑥2 − 𝑥𝑥3 = 4𝑥𝑥2
−3𝑥𝑥1 − 3𝑥𝑥2 − 2𝑥𝑥3 = 4𝑥𝑥3
の連立方程式を得る。
4𝑥𝑥1 + 5𝑥𝑥2 + 7𝑥𝑥3 = 0
−𝑥𝑥1 − 2𝑥𝑥2 − 𝑥𝑥3 = 0
−3𝑥𝑥1 − 3𝑥𝑥2 − 6𝑥𝑥3 = 0
① +4x②
−3𝑥𝑥2 + 3𝑥𝑥3 = 0
𝑥𝑥2 = 𝑥𝑥3
−3𝑥𝑥1 − 9𝑥𝑥2 = 0
𝑥𝑥1 = −3𝑥𝑥2
固有ベクトルは
3
t�−1�
−1
λ = 3について、
8𝑥𝑥1 + 5𝑥𝑥2 + 7𝑥𝑥3 = 3𝑥𝑥1
−1𝑥𝑥1 + 2𝑥𝑥2 − 𝑥𝑥3 = 3𝑥𝑥2
−3𝑥𝑥1 − 3𝑥𝑥2 − 2𝑥𝑥3 = 3𝑥𝑥3
の連立方程式を得る。
5𝑥𝑥1 + 5𝑥𝑥2 + 7𝑥𝑥3 = 0
−𝑥𝑥1 − 𝑥𝑥2 − 𝑥𝑥3 = 0
−3𝑥𝑥1 − 3𝑥𝑥2 − 5𝑥𝑥3 = 0
𝑥𝑥3 = 0
𝑥𝑥1 = −𝑥𝑥2
λ = 1について、
固有ベクトルは
1
t�−1�
0
8𝑥𝑥1 + 5𝑥𝑥2 + 7𝑥𝑥3 = 𝑥𝑥1
−1𝑥𝑥1 + 2𝑥𝑥2 − 𝑥𝑥3 = 𝑥𝑥2
−3𝑥𝑥1 − 3𝑥𝑥2 − 2𝑥𝑥3 = 𝑥𝑥3
という連立方程式を得る。
7𝑥𝑥1 + 5𝑥𝑥2 + 7𝑥𝑥3 = 0
−𝑥𝑥1 + 𝑥𝑥2 − 𝑥𝑥3 = 0
−3𝑥𝑥1 − 3𝑥𝑥2 − 3𝑥𝑥3 = 0
𝑥𝑥2 = 0
①
②
③
𝑥𝑥1 = −𝑥𝑥3
固有ベクトルは
1
t� 0 �
−1
以上で、それぞれの固有べクトルが求まりました。さてここで、D の固有ベクトルをそれ
ぞれ
𝑷𝑷𝟏𝟏 = (1 0 0)
C の固有ベクトルをそれぞれ
𝑷𝑷𝟐𝟐 = (0 1 0)
𝑷𝑷𝟑𝟑 = (0 0 1)
𝑷𝑷𝟏𝟏 ′ = (1 −1 0)
𝑷𝑷𝟐𝟐 ′ = (3 −1 −1)
𝑷𝑷𝟑𝟑 ′ = (−1 0 1)
(𝑷𝑷𝟑𝟑 ′についてはt = −1とし、他はt = 1としました。数学的な理由はありません。後段の
説明の流れを解りやすくするためです。)
としてそれぞれの固有ベクトル間の内積を考えると
𝑷𝑷𝟏𝟏 ∙ 𝑷𝑷𝟐𝟐 = 𝑷𝑷𝟐𝟐 ∙ 𝑷𝑷𝟑𝟑 = 𝑷𝑷𝟑𝟑 ∙ 𝑷𝑷𝟏𝟏 = 0
であり、それぞれの固有ベクトルは互いに直交しています。しかし
𝑷𝑷𝟏𝟏 ′ ∙ 𝑷𝑷𝟐𝟐 ′ ≠ 0, 𝑷𝑷𝟐𝟐 ′ ∙ 𝑷𝑷𝟑𝟑 ′ ≠ 0, 𝑷𝑷𝟑𝟑 ′ ∙ 𝑷𝑷𝟏𝟏 ′ ≠ 0
であり、D の固有ベクトルは互いに直交していません。
つまり、固有ベクトルがつくる角度は、相似な行列間で等しくないということがわかりま
す。
次に、固有値(固有ベクトル方向のベクトルの長さがどのくらいに拡大されるか、固有ベ
クトル上の2点の距離がどのくらい拡大されるか)について計算してみます。
上記の例に挙げた、
について
という変換を考えます。
3 0 0
𝑫𝑫 = �0 4 0�
0 0 1
𝑥𝑥1
3 0 0 𝑥𝑥1
𝑫𝑫 �𝑥𝑥2 � = �0 4 0� �𝑥𝑥2 �
𝑥𝑥3
0 0 1 𝑥𝑥3
この変換の固有値λ = 3, λ = 4, λ = 1であり、それぞれの固有値に対応する固有ベクトルが、
𝑡𝑡
0
0
�0� , � 𝑡𝑡 � , �0�
0
𝑡𝑡
0
𝑥𝑥1𝐴𝐴
𝑥𝑥1𝐵𝐵
𝑥𝑥
𝑥𝑥
だということは、𝑥𝑥1 − 𝑥𝑥2 − 𝑥𝑥3の座標軸で表される空間上の 2 点 A:� 2𝐴𝐴 �、B:� 2𝐵𝐵 �間のベク
𝑥𝑥3𝐴𝐴
𝑥𝑥3𝐵𝐵
�����⃗が固有ベクトルの条件を満たせば(簡単に言えば、ベクトルの方向軸が一致すれば)、
トル𝐴𝐴𝐴𝐴
𝑥𝑥1𝐴𝐴′
𝑥𝑥1𝐵𝐵′
��������⃗�は、�𝐴𝐴𝐴𝐴
�����⃗�
返還後に移された 2 点 A’:�𝑥𝑥2𝐴𝐴′ �、B’’:�𝑥𝑥2𝐵𝐵′ �のベクトルの長さ(2点間の距離)�𝐴𝐴′𝐵𝐵′
𝑥𝑥3𝐴𝐴′
𝑥𝑥3𝐵𝐵′
はλ倍となる。式で書くと以下の通り
𝐴𝐴: (1 0 0), 𝐵𝐵: (2 0 0)を考える。
��������⃗�
�𝐴𝐴′𝐵𝐵′
�����⃗�
�𝐴𝐴𝐴𝐴
= 𝜆𝜆
�����⃗� = 1
�𝐴𝐴𝐴𝐴
�����⃗ = (2 − 1 0 − 0 0 − 0) = (1 0 0)
ベクトル𝐴𝐴𝐴𝐴
であり、このベクトルは固有ベクトル(𝑡𝑡 0 0)です。
𝑥𝑥1
3 0 0 1
��������⃗
𝑥𝑥
𝐴𝐴′𝐵𝐵′ = D � 2 � = �0 4 0� �0�
𝑥𝑥3
0 0 1 0
3
= �0�
0
��������⃗� = 3
�𝐴𝐴′𝐵𝐵′
��������⃗�
�𝐴𝐴′𝐵𝐵′
これを一般化すれば
𝐴𝐴: (𝑎𝑎
0 0), 𝐵𝐵: (𝑏𝑏
�����⃗�
�𝐴𝐴𝐴𝐴
=3
0 0) (b>a)について。
�����⃗ = (𝑏𝑏 − 𝑎𝑎 0 0)
𝐴𝐴𝐴𝐴
�����⃗� = b − a
�𝐴𝐴𝐴𝐴
𝑥𝑥1
3 0 0 𝑏𝑏 − 𝑎𝑎
��������⃗ = 𝐃𝐃 �𝑥𝑥2 � = �0 4 0� � 0 �
𝐴𝐴′𝐵𝐵′
𝑥𝑥3
0 0 1
0
3(𝑏𝑏 − 𝑎𝑎)
=�
�
0
0
��������⃗� = 3(b − a)
�𝐴𝐴′𝐵𝐵′
��������⃗�
�𝐴𝐴′𝐵𝐵′
�����⃗�
�𝐴𝐴𝐴𝐴
=3
0
0
固有値λ = 4, λ = 1と、それぞれの固有値に対応する固有ベクトル、 � 𝑡𝑡 � , �0�についても、
𝑡𝑡
0
同様にベクトルの絶対値の変化率が固有値となることはわざわざ取り上げて計算するまで
もないでしょう。
次に、
8
5
7
𝑪𝑪 = �−1 2 −1�
−3 −3 −2
について
𝑥𝑥1
𝑥𝑥1
8
5
7
𝑥𝑥
𝑥𝑥
𝑪𝑪 � 2 � = �−1 2 −1� � 2 �
𝑥𝑥3
−3 −3 −2 𝑥𝑥3
という変換を考えます。
この変換の固有値λ = 3, λ = 4, λ = 1であり、それぞれの固有値に対応する固有ベクトルは、
𝑡𝑡
𝑡𝑡
3𝑡𝑡
�−𝑡𝑡� , �−𝑡𝑡� , � 0 �
−𝑡𝑡
0
−𝑡𝑡
𝑡𝑡
�����⃗ = �−𝑡𝑡�となる。二点 A,B を考えます。
まず、空間上で、𝐴𝐴𝐴𝐴
0
たとえば、点 A:(1 −1 0)と点 A:(2 −2 0)は
1
�����⃗ = �−1�
𝐴𝐴𝐴𝐴
0
�����⃗は固有ベクトルです。
なので、𝐴𝐴𝐴𝐴
一般的には、点 A:(𝑎𝑎
−𝑎𝑎
0)と点 A:(𝑏𝑏
となり、固有ベクトルです。
0), 𝑏𝑏 > 𝑎𝑎について
𝑏𝑏 − 𝑎𝑎
�����⃗ = �𝑎𝑎 − 𝑏𝑏�
𝐴𝐴𝐴𝐴
0
−𝑏𝑏
���������⃗ = �(𝑏𝑏 − 𝑎𝑎)2 + (𝑎𝑎 − 𝑏𝑏)2 + 02 = √2(𝑏𝑏 − 𝑎𝑎)
|𝐴𝐴𝐴𝐴|
変換後の点 A’’,B’’を考えると
𝑏𝑏 − 𝑎𝑎
8
5
7
𝑏𝑏 − 𝑎𝑎
����������⃗ = C �𝑎𝑎 − 𝑏𝑏� = �−1 2 −1� �𝑎𝑎 − 𝑏𝑏�
𝐴𝐴′′𝐵𝐵′′
0
−3 −3 −2
0
8(𝑏𝑏 − 𝑎𝑎) + 5(𝑎𝑎 − 𝑏𝑏)
= � −(𝑏𝑏 − 𝑎𝑎) + 2(𝑎𝑎 − 𝑏𝑏) �
−3(𝑏𝑏 − 𝑎𝑎) − 3(𝑎𝑎 − 𝑏𝑏)
3(𝑏𝑏 − 𝑎𝑎)
= �−3(𝑏𝑏 − 𝑎𝑎)�
0
����������⃗� = �{3(𝑏𝑏 − 𝑎𝑎)}2 + {−3(𝑏𝑏 − 𝑎𝑎)}2 = 3√2(𝑏𝑏 − 𝑎𝑎)
�𝐴𝐴′′𝐵𝐵′′
����������⃗�
�𝐴𝐴′′𝐵𝐵′′
�����⃗�
�𝐴𝐴𝐴𝐴
=3
𝑡𝑡
3𝑡𝑡
固有値λ = 4, λ = 1と、それぞれの固有値に対応する固有ベクトル、�−𝑡𝑡� , � 0 �についても、
−𝑡𝑡
−𝑡𝑡
3𝑡𝑡
同様に計算できます。固有値 λ = 4、固有ベクトル�−𝑡𝑡�については、若干計算が複雑にな
−𝑡𝑡
るので、念のために計算例を示します。
点 A、B 間のベクトルは
3(𝑏𝑏 − 𝑎𝑎)
�����⃗ = � 𝑎𝑎 − 𝑏𝑏 �
𝐴𝐴𝐴𝐴
𝑎𝑎 − 𝑏𝑏
2
���������⃗
|𝐴𝐴𝐴𝐴| = �{3(𝑏𝑏 − 𝑎𝑎)} + (𝑎𝑎 − 𝑏𝑏)2 + (𝑎𝑎 − 𝑏𝑏)2 = √11(𝑏𝑏 − 𝑎𝑎)
3(𝑏𝑏 − 𝑎𝑎)
3(𝑏𝑏 − 𝑎𝑎)
8
5
7
����������⃗ = C � 𝑎𝑎 − 𝑏𝑏 � = �−1 2 −1� � 𝑎𝑎 − 𝑏𝑏 �
𝐴𝐴′′𝐵𝐵′′
−3 −3 −2
𝑎𝑎 − 𝑏𝑏
𝑎𝑎 − 𝑏𝑏
8 × {3(𝑏𝑏 − 𝑎𝑎)} + 5 × (𝑎𝑎 − 𝑏𝑏) + 7 × (𝑎𝑎 − 𝑏𝑏)
−1
× {3(𝑏𝑏 − 𝑎𝑎)} + 2 × (𝑎𝑎 − 𝑏𝑏) − 1 × (𝑎𝑎 − 𝑏𝑏)�
=�
−3 × {3(𝑏𝑏 − 𝑎𝑎)} − 3 × (𝑎𝑎 − 𝑏𝑏) − 2 × (𝑎𝑎 − 𝑏𝑏)
12(𝑏𝑏 − 𝑎𝑎)
= � 4(𝑎𝑎 − 𝑏𝑏) �
4(𝑎𝑎 − 𝑏𝑏)
��������������⃗ = �{12(𝑏𝑏 − 𝑎𝑎)}2 + {4(𝑎𝑎 − 𝑏𝑏)}2 + {4(𝑎𝑎 − 𝑏𝑏)}2
|𝐴𝐴′′𝐵𝐵′′|
= 4�{3(𝑏𝑏 − 𝑎𝑎)}2 + (𝑎𝑎 − 𝑏𝑏)2 + (𝑎𝑎 − 𝑏𝑏)2 = 4√11(𝑏𝑏 − 𝑎𝑎)
����������⃗�
�𝐴𝐴′′𝐵𝐵′′
=4
�����⃗�
�𝐴𝐴𝐴𝐴
つまり、C と D を変換と考えると、固有ベクトルは違っていますが、固有値は同じなので
す。相似な行列はいくらでも考えられますが、これを使って、行列で表されたデータを、
分析しやすい都合の良い行列に変換できるということです。これが、相似の実用的な意味
です。
対角化
上記は、行列の相似の定義と相似の意味の説明でした。多分、何をしているのかまで含め
て意味がわかったと思います。ここで「行列の相似」という概念を説明したのは、それを
用いた「対角化」という技術を紹介するためです。
筆者がここで「相似」について行った説明のしかたは、あまり一般的ではないのです。方
向が逆です。そこで、良くある説明の形に変形します
𝑪𝑪 = 𝑷𝑷−𝟏𝟏 𝑫𝑫𝑫𝑫
この両辺に左から P、右から P-1をかけます
(𝐏𝐏 −𝟏𝟏 )−𝟏𝟏=P なので
𝑷𝑷𝑷𝑷𝑷𝑷−𝟏𝟏 = 𝑷𝑷𝑷𝑷−𝟏𝟏 𝑫𝑫𝑫𝑫𝑷𝑷−𝟏𝟏
𝑷𝑷𝑷𝑷𝑷𝑷−𝟏𝟏 = 𝑫𝑫
𝑷𝑷−𝟏𝟏 = 𝑸𝑸
とすると
𝑷𝑷 = 𝑸𝑸−𝟏𝟏
𝐐𝐐−𝟏𝟏 𝐂𝐂𝐂𝐂 = 𝑫𝑫
行列 C に相似の行列はいくらでも考えられ、無限個に存在しますが、適切な行列 Q を選び
出して、ある行列 C に、左から行列 Q の逆行列と、右から行列 Q をかけて変換すると、固
有値を対角因子とする対角行列になります。これを対角化といいます。対角化の作業を理
解するために、その行の原理である相似という概念を導入するという方が、普通の説明な
のです。
次のような言い方で、対角化を言い表します。
𝜆𝜆1 0
0 𝜆𝜆2
𝑸𝑸−𝟏𝟏 𝑪𝑪𝑪𝑪 = 𝐃𝐃 = �
0 0
0 0
⋯
⋯
⋱
0
0
0
�
0
𝜆𝜆𝑝𝑝
式 67
行列の次数としては n を使いたいのですが、n はデーターの数の意味に使うので、以下、行
このようになる Q が存在するとき、
行列𝑪𝑪は
列の次数として p を使います。いずれにしても、
対角化できます。
これは数学的に厳格な表現ですが、この表現が暗示している内容もきちんと感じておきま
しょう。この表現では、確かに、行列𝑪𝑪が対角化できないとき、Q は存在しないと言ってい
ますが、Q が存在しないとき、行列𝑪𝑪が対角化できないとか、行列𝑪𝑪が対角化できれば、必
ず Q が存在するなどと言っているわけではありません。対角化だけが目的ならば、他にも
方法はありそうに思います。
(例を挙げればよいのですが、数学はあまり得意でないし、そ
れはそれで長い説明が必要になりそうなので、そこから先は自分で考えてください。
)
ということで、この方法による対角化について、さらに詳しく見ていきます。
ここで、𝑸𝑸 = (𝑸𝑸𝟏𝟏
𝑸𝑸𝟐𝟐
たものだと考えます。
⋯ 𝑸𝑸𝒑𝒑 )のように、変換に使う行列 Q を、べクトルを行として並べ
両辺に左から Q をかけると
省略して書けば、
𝜆𝜆1 0 ⋯ 0
0 𝜆𝜆2 ⋯ 0
�
𝑸𝑸(𝑸𝑸−𝟏𝟏 𝑪𝑪𝑪𝑪) = 𝑸𝑸 �
0 0 ⋱ 0
0 0 0 𝜆𝜆𝑝𝑝
𝜆𝜆1 0 ⋯ 0
0 𝜆𝜆2 ⋯ 0
�
𝑪𝑪𝑪𝑪 = (𝑸𝑸𝟏𝟏 𝑸𝑸𝟐𝟐 ⋯ 𝑸𝑸𝒏𝒏 ) �
0 0 ⋱ 0
0 0 0 𝜆𝜆𝑝𝑝
(𝑪𝑪𝑸𝑸𝟏𝟏 𝑪𝑪𝑪𝑪𝟐𝟐 ⋯ 𝑪𝑪𝑪𝑪𝒏𝒏 ) = (𝜆𝜆1 𝑸𝑸𝟏𝟏 𝜆𝜆2 𝑸𝑸𝟐𝟐 ⋯ 𝜆𝜆𝑛𝑛 𝑸𝑸𝒑𝒑 )
𝐂𝐂𝑸𝑸𝒊𝒊 = 𝜆𝜆𝑖𝑖 𝑸𝑸𝒊𝒊
𝑄𝑄𝑖𝑖 はベクトルで、固有値、固有ベクトルの定義は
A𝑥𝑥⃗ = 𝜆𝜆𝑥𝑥⃗
なので、𝑄𝑄𝑖𝑖 はλ𝑖𝑖 に対応する固有ベクトルです。念のために確認します。
𝑸𝑸 = (𝑸𝑸𝟏𝟏
𝑸𝑸𝟐𝟐
⋯ 𝑸𝑸𝒑𝒑 )
ですから、それぞれのベクトルを順番に並べた行列𝑸𝑸 が、直交行列に変換する行列だとい
うことですね。
試してみます。
𝑡𝑡
𝑡𝑡
3𝑡𝑡
�−𝑡𝑡� , �−𝑡𝑡� , � 0 �
−𝑡𝑡
0
−𝑡𝑡
1 番目と3番目のベクトルではt = −1、最後のベクトルではt = 1とすれば
したがって、
確かに、私たちが最初に与えた
−1
3
−1
� 1 � , �−1� , � 0 �
1
−1
0
−1 3 −1
𝑸𝑸 = � 1 −1 0 �
0 −1 1
1 2 1
𝑷𝑷 = �1 1 1�
1 1 2
−1 3 −1
の逆関数 𝑷𝑷−𝟏𝟏 = � 1 −1 0 �そのものになっています。
0 −1 1
いまさら、やってみるまでもありませんが
1 2 1 −1 3 −1
�1 1 1� � 1 −1 0 �
0 −1 1
1 1 2
−1 + 2 + 0 3 − 2 − 1 −1 + 0 + 1
= �−1 + 1 + 0 3 − 1 − 1 −1 + 0 + 1�
−1 + 1 + 0 3 − 1 − 2 −1 + 0 + 2
= 𝑰𝑰
だということは確認できます。確かにそうなっていますが、少し釈然としない、納得がい
かない部分がありませんか。
それぞれの固有値に属する固有ベクトルは
𝑡𝑡
𝑡𝑡
3𝑡𝑡
�−𝑡𝑡� , �−𝑡𝑡� , � 0 �
−𝑡𝑡
0
−𝑡𝑡
で表されて、無限に存在します。tは、それぞれの固有ベクトルについて勝手に決めて良
いという意味ですね。それを使って、1 番目と3番目のベクトルではt = −1、最後のベクト
ルではt = 1として、もともとの P と同じになるようにしたのです。tを適当に選べば、P
になることは確かですが、どんな t を選んでも必ず、対角化させる行列になるのか、少し疑
わしい気がしませんか、すくなくとも計算上どういうことになっているのか理解しないと
不安で使えませんね。
ではやりましょう、この疑問は、固有ベクトルは、本来、次のように書くべきだったと言
っているのですね。
−𝑐𝑐
−𝑎𝑎
3𝑏𝑏
� 𝑎𝑎 � , �−𝑏𝑏� , � 0 �
𝑐𝑐
0
−𝑏𝑏
したがって、
−𝑎𝑎 3𝑏𝑏 −𝑐𝑐
𝑸𝑸 = � 𝑎𝑎 −𝑏𝑏 0 �
0 −𝑏𝑏 𝑐𝑐
まさにおっしゃる通りなので、その通りに計算してみましょう
−𝑎𝑎 𝑎𝑎
0
−𝑎𝑎 3𝑏𝑏 −𝑐𝑐 ′
𝑸𝑸 = � 𝑎𝑎 −𝑏𝑏 0 � = � 3𝑏𝑏 −𝑏𝑏 −𝑏𝑏�
−𝑐𝑐 0
𝑐𝑐
0 −𝑏𝑏 𝑐𝑐
−𝑎𝑎 3𝑏𝑏 −𝑐𝑐
|𝑸𝑸| = � 𝑎𝑎 −𝑏𝑏 0 � = 𝑎𝑎𝑎𝑎𝑎𝑎 + 𝑎𝑎𝑎𝑎𝑎𝑎 − 3𝑎𝑎𝑎𝑎𝑎𝑎 = −𝑎𝑎𝑎𝑎𝑎𝑎
0 −𝑏𝑏 𝑐𝑐
−𝑏𝑏 −𝑏𝑏
3𝑏𝑏 −𝑏𝑏
3𝑏𝑏 −𝑏𝑏
�
� −�
� �
�
0
𝑐𝑐
−𝑐𝑐 𝑐𝑐
−𝑐𝑐 0
⎛
−1
−𝑎𝑎 𝑎𝑎 ⎞
𝑎𝑎 0
−𝑎𝑎 0
𝑸𝑸−𝟏𝟏 =
−�
�
�
�
−�
�
⎜
−𝑐𝑐 0 ⎟
0 𝑐𝑐
−𝑐𝑐 𝑐𝑐
𝑎𝑎𝑎𝑎𝑎𝑎
−𝑎𝑎 𝑎𝑎
𝑎𝑎
0
−𝑎𝑎 0
⎝�−𝑏𝑏 −𝑏𝑏� − � 3𝑏𝑏 −𝑏𝑏� � 3𝑏𝑏 −𝑏𝑏� ⎠
′
−1 −𝑏𝑏𝑏𝑏 −2𝑏𝑏𝑏𝑏 −𝑏𝑏𝑏𝑏
=
�−𝑎𝑎𝑎𝑎 −𝑎𝑎𝑎𝑎
−𝑎𝑎𝑎𝑎 �
𝑎𝑎𝑎𝑎𝑎𝑎
−𝑎𝑎𝑎𝑎 −𝑎𝑎𝑎𝑎 −2𝑎𝑎𝑎𝑎
′
𝑸𝑸−𝟏𝟏 𝑪𝑪𝑪𝑪を計算します。
1
⎛𝑎𝑎
1
−𝟏𝟏
𝑸𝑸 𝑪𝑪𝑪𝑪 = ⎜
⎜𝑏𝑏
1
⎝𝑐𝑐
1
⎛𝑎𝑎
1
=⎜
⎜𝑏𝑏
1
⎝ 𝑐𝑐
2
𝑎𝑎
1
𝑏𝑏
1
𝑐𝑐
2
𝑎𝑎
1
𝑏𝑏
1
𝑐𝑐
1
𝑎𝑎⎞
1
⎟
𝑏𝑏⎟
2
𝑐𝑐 ⎠
1
𝑎𝑎⎞
8
5
7
𝑎𝑎 3𝑏𝑏
1
⎟ �−1 2 −1� �−𝑎𝑎 −𝑏𝑏
𝑏𝑏⎟ −3 −3 −2
0 −𝑏𝑏
2
𝑐𝑐 ⎠
𝑐𝑐
0�
−𝑐𝑐
1
⎛𝑎𝑎
1
𝑸𝑸−𝟏𝟏 𝑪𝑪 = ⎜
⎜𝑏𝑏
1
⎝ 𝑐𝑐
2
𝑎𝑎
1
𝑏𝑏
1
𝑐𝑐
1
𝑎𝑎⎞
8
5
7
1
⎟ �−1 2 −1�
𝑏𝑏⎟ −3 −3 −2
2
𝑐𝑐 ⎠
1
1
(8 − 2 − 3)
(5 + 4 − 3)
𝑎𝑎
⎛𝑎𝑎
1
1
= ⎜ (8 − 1 − 3)
(5 + 2 − 3)
𝑏𝑏
⎜𝑏𝑏
1
1
⎝𝑐𝑐 (8 − 1 − 6) 𝑐𝑐 (5 + 2 − 6)
3
⎛𝑎𝑎
4
=⎜
⎜𝑏𝑏
1
⎝ 𝑐𝑐
3
⎛𝑎𝑎
4
−𝟏𝟏
(𝑸𝑸 𝑪𝑪)𝑸𝑸 = ⎜
⎜𝑏𝑏
1
⎝𝑐𝑐
6
𝑎𝑎
4
𝑏𝑏
1
𝑐𝑐
6
𝑎𝑎
4
𝑏𝑏
1
𝑐𝑐
3
𝑎𝑎⎞
4
⎟
𝑏𝑏⎟
2
𝑐𝑐 ⎠
3
𝑎𝑎⎞
𝑎𝑎
4
⎟ �−𝑎𝑎
𝑏𝑏⎟ 0
2
𝑐𝑐 ⎠
1
(7 − 2 − 2)
𝑎𝑎
⎞
1
(7 − 1 − 2)⎟
𝑏𝑏
⎟
1
(7 − 1 − 4)⎠
𝑐𝑐
3𝑏𝑏
−𝑏𝑏
−𝑏𝑏
𝑐𝑐
0�
−𝑐𝑐
𝑐𝑐
𝑏𝑏
(−9 − 6 − 3)
(−3 + 0 + 3)
𝑎𝑎
𝑎𝑎
⎛𝑎𝑎
⎞
𝑐𝑐
⎜
(4
(12
(4
⎟
−
4
+
0)
−
4
−
4)
−
4)
=
𝑏𝑏
⎜𝑏𝑏
⎟
𝑎𝑎
𝑏𝑏
(1 + 0 − 2) ⎠
⎝ 𝑐𝑐 (1 − 1 + 0) 𝑐𝑐 (3 − 1 − 2)
−3 + 6
3 0 0
= �0 4 0�
0 0 1
このように具体的に計算してみるとわかるように
𝑎𝑎, 𝑏𝑏, 𝑐𝑐は何を選んでも計算の過程で消えてしまうので、固有ベクトルであれば、何を選んで
も、対角化するための行列になります。
p 個の固有値を持つ p 次の行列は対角化できることわかりました。その方法も理解できまし
た。途中で注意したように、
「固有方程式が解をもたなければ、絶対に対角化ができない。
」
と言えるかどうかは
別問題です。どんな行列でも対角化できるのかという問題はまだ残
っています。
まず、対角化していないけれど固有ベクトルが直交している行列はあるし、それと相似の
一般の行列を作ることもできそうです。ということは、その逆の計算もできそうです。ま
あ確かにそうなのですが、固有ベクトルが直交していれば、適当に回転して対角化できる
から、実用的には考えれば、直交化しているだけで対角化されていないという、中途半端
な状態にしなければならない作業の必要はないように思います。あるかもしれませんが、
この時点で、そういう作業を想定することは筆者にはできません。これは考えなくてもよ
いような気がします。本質的には、固有方程式が解をもたない場合にどうするかというこ
とです。この場合には、実数の範囲では対角化できないはずです。そうであれば、実数の
範囲で対角化できる行列とはどんなものかという説明が必要です。確かにその通りです。
でも、それは、固有方程式が実根をもたず、虚根を持つ場合のことですね。行列の取り扱
い範囲を複素数にまで広げる必要があります。
「そんな難しいことをオイラに訊いても知る
わけないジャン。でも、そんなこと知る必要ないジャン。そうなる場合だけ考えればとり
あえず問題ないジャン。問題があったら、そん時考えばいいジャン。」
。
将来慣れてきたらそういうことを考えましょう。それよりは、何故、ここで、対角化が必
要になるのか、漠然と方向性を考えておきましょう。
行列演算の応用例として考えているのは、多変量解析です。多変量解析は、多項目のデー
タをいくつかの項目に集約して表現し、現象を単純化して把握したいという目的に使われ
るのが普通だろうと思います。
その目的のために、まず最も単純に考えそうなことは、次のようなことでしょう。
多変量的なデータが集約されて、ある行列として書かれている。この行列を、いくつかの
独立した(ということは直交した)ベクトル上の点を重ね合わせたものとしてとらえられ
ないか。
言いたいことを鮮明にするために、例を上げます。
3 0 0
D = �0 4 0�
0 0 1
については、
0 0 0
0 0 0
1 0 0
3 0 0
D = �0 4 0� = 3 �0 0 0� + 4 �0 1 0� + 1 �0 0 0�
0 0 1
0 0 0
0 0 0
0 0 1
のように、直交する3つのベクトルの和として表現できています。
つまり、左辺の行列の、1行1列の行列の3は、3 × 1 + 4 × 0 + 1 × 0、2行 2 列の 4 は
3 × 0 + 4 × 1 + 1 × 0のように見ようと思えば、そう見えるというわけです。もっと言えば、
D が一つのデーターだとして、そのデーターを構成する要素(特性)に下の三つの単位ベ
クトルの長さで表現できる特性があり、
1 0 0
0 0 0
0 0 0
�0 0 0� 、 �0 1 0� 、 �0 0 0�
0 0 0
0 0 0
0 0 1
そのそれぞれの特性の値が、それぞれ3、4、1だったので、
3 0 0
D = �0 4 0�
0 0 1
と表現されていると考えるのです。至極当たり前のことですね。
確かに当たり前のことですが、対角行列では、行列が固有ベクトルが行列で表現される空
間の座標軸と一致しているから、そういうことができるのです。下の行列では、なかなか
そのような捉え方は難しいでしょう。
たとえば
では無理です。
8
5
7
�−1 2 −1�
−3 −3 −2
行列をベクトルを並べたものと考えたときに、個々のベクトルを簡単にできますが、残念
ながら、行列全体を、
「n 個のベクトルの実数倍の和」としてとらえることが、どんな行列
でもできるわけではありません。対角化すれば、対角化された行列は直交ベクトルの和と
して表すことができますが、対角化された行列は、もちろん元の行列ではないのだから、
今のころと、上記の議論に実用的な意味はありません。
しかし、ここでわれわれは、
「複雑な物が重なりあってできた行列をいくつかの成分の和に
分解することができたら、個々の要素について議論することができるのになあ。
」というよ
うな、ぼんやりした願望を持つことができます。このぼんやりした、あまり賢くない願望
を頭の隅に置きながら、行列の演算の可能性を広げていきます。
今までの、復習を含めて
を対角化します。
以下にその作業を示します。
2 −2 3
𝑨𝑨 = �1 1
1�
1 3 −1
1.固有方程式を作り固有値を求めます。
2 − 𝜆𝜆 −2
3
� 1
1 − 𝜆𝜆
1 �=0
1
3
−1 − 𝜆𝜆
(2 − 𝜆𝜆)(1 − 𝜆𝜆)(−1 − 𝜆𝜆) − 2 + 9 − 3(2 − λ) + 2(−1 − 𝜆𝜆) − 3(1 − 𝜆𝜆) = 0
これを解いて
λ = −2, 1, 3
−𝜆𝜆3 + 2𝜆𝜆2 + 5𝜆𝜆 − 6 = 0
2.それぞれの固有値に対する固有ベクトルを求めます。
λ = −2 について
𝑥𝑥1
𝑥𝑥1
2 −2 3
𝑥𝑥
𝑥𝑥
�1 1
1 � � 2 � = −2 � 2 �
𝑥𝑥3
1 3 −1 𝑥𝑥3
4𝑥𝑥1 − 2𝑥𝑥2 + 3𝑥𝑥3 = 0
𝑥𝑥1 + 3𝑥𝑥2 + 𝑥𝑥3 = 0
𝑥𝑥1 + 3𝑥𝑥2 + 𝑥𝑥3 = 0
これを解いて、𝑥𝑥1 = 11𝑥𝑥2 ,
したがって、固有ベクトルは
λ = 1 について
これを解いて、𝑥𝑥1 = −𝑥𝑥2 ,
𝑥𝑥3 = −14𝑥𝑥2
11
𝑡𝑡 � 1 �
−14
𝑥𝑥1
𝑥𝑥1
2 −2 3
𝑥𝑥
𝑥𝑥
�1 1
1 � � 2� = � 2�
𝑥𝑥3
1 3 −1 𝑥𝑥3
𝑥𝑥1 − 2𝑥𝑥2 + 3𝑥𝑥3 = 0
𝑥𝑥3 = 𝑥𝑥2
𝑥𝑥1 + 𝑥𝑥3 = 0
𝑥𝑥1 + 3𝑥𝑥2 − 2𝑥𝑥3 = 0
したがって、固有ベクトルは
λ = 3 について
これを解いて、𝑥𝑥1 = 𝑥𝑥2 = 𝑥𝑥3
−1
𝑡𝑡 � 1 �
1
𝑥𝑥1
𝑥𝑥1
2 −2 3
𝑥𝑥
𝑥𝑥
�1 1
1 � � 2� = 3 � 2�
𝑥𝑥3
1 3 −1 𝑥𝑥3
−𝑥𝑥1 − 2𝑥𝑥2 + 3𝑥𝑥3 = 0
𝑥𝑥1 − 2𝑥𝑥2 + 𝑥𝑥3 = 0
𝑥𝑥1 + 3𝑥𝑥2 − 4𝑥𝑥3 = 0
したがって、固有ベクトルは
1
𝑡𝑡 �1�
1
3.学習した知識を使って、対角行列を作る変換の行列を作ります。
−2 0 0
2 −2 3
𝑨𝑨 = �1 1
1 �を対角行列、� 0 1 0�にする行列 P は
0 0 3
1 3 −1
固有ベクトルをならべた行列
です。
念のためにこれを確認します。
11 −1 1
𝑷𝑷 = � 1
1 1�
−14 1 1
𝑷𝑷−𝟏𝟏 を求める。
11 −1 1
|𝑷𝑷| = � 1
1 1� = 30
−14 1 1
11 1 −14
𝑷𝑷′ = �−1 1
1 �
1 1
1
1 1
−1 1
−1
�
�
−�
�
�
1 1
1 1
1
1 ⎛ 1 −14
11 −14
11
−𝟏𝟏
𝑷𝑷 =
−�
�
�
�
−�
1
1
1
1
|𝑷𝑷| ⎜ 1
1 −14
11 −14
11
� −�
� �
⎝ �1
1
−1
1
−1
0
2
−2
1
�−15 25 −10�
=
30
15
3
12
一応、この計算にも間違いがないことを確認しておきます。
1
�
1
1⎞
�
1⎟
1
�
1 ⎠
11 −1 1
11 −1 1 −1 11 −1 1
0
2
−2
1
𝑷𝑷 𝑷𝑷 = � 1
�−15 25 −10� � 1
1 1�
1 1� � 1
1 1� =
30
−14 1 1
−14 1 1
−14 1 1
15
3
12
0 + 2 + 28
0+2−2
0+2−2
1
=
�−165 + 25 + 140 15 + 25 − 10 −15 + 25 − 10�
30
165 + 3 − 168
−15 + 3 + 12
15 + 3 + 12
1
0
0
30
0
0
1
=
� 0 30 0 � = �0 1 0� = 𝑰𝑰
30
0 0 1
0
0 30
実際に、相似の対角行列を求めてみます。
11 −1 1
2 −2 3
0
2
−2
1
�� 1
𝑷𝑷−𝟏𝟏 𝑨𝑨𝑷𝑷 = �−15 25 −10� �1 1
1
1 1�
30
1 3 −1 −14 1 1
15
3
12
0+2−2
0+2−6
0+2+2
11 −1 1
1
�−30 + 25 − 10 30 + 25 − 30 −45 + 25 + 10� � 1
1 1�
30
30 + 3 + 12
−30 + 3 + 36
45 + 3 − 12
−14 1 1
11 −1 1
0
−4
4
= �−15 25 −10� � 1
1 1�
−14 1 1
45
9
36
0 − 4 − 56
0−4+4
0−4+4
1
=
�−165 + 25 + 140 15 + 25 − 10 −15 + 25 − 10�
30
495 + 9 − 504
−45 + 9 + 36
45 + 9 + 36
−60
0
0
1
=
� 0
30 0 �
30
0
0 90
−𝟏𝟏
𝜆𝜆1
−2 0 0
= � 0 1 0� = � 0
0
0 0 3
0
𝜆𝜆2
0
0
0�
𝜆𝜆3
となるので、確かに𝑷𝑷は𝑨𝑨を対角化することが確認された。
話を一歩進めて、さらに、対角化の応用を説明します。
対角化された行列を
1
−2 0 0
� 0 1 0� = −2 �0
0
0 0 3
このように書いてみると、
1 0
𝑷𝑷−𝟏𝟏 𝑨𝑨𝑷𝑷 = −2 �0 0
0 0
となったことがわかります。
0 0 0
0 0 0
0 0
0 0� + 1 �0 1 0� + 3 �0 0 0�
0 0 1
0 0 0
0 0
0 0 0
0 0 0
0
0� + 1 �0 1 0� + 3 �0 0 0�
0 0 1
0 0 0
0
ここで、両辺に左から𝑷𝑷、右から𝑷𝑷−𝟏𝟏 をかけます。
0 0 0
0 0 0
1 0 0
𝑷𝑷𝑷𝑷−𝟏𝟏 𝑨𝑨𝑷𝑷𝑷𝑷−𝟏𝟏 = 𝑷𝑷 �−2 �0 0 0� + 1 �0 1 0� + 3 �0 0 0�� 𝑷𝑷−𝟏𝟏
0 0 1
0 0 0
0 0 0
𝑷𝑷𝑷𝑷−𝟏𝟏 = 𝑷𝑷𝑷𝑷−𝟏𝟏 = 𝑰𝑰
で、行列計算でも分配法則は成り立つから
1 0 0
0 0 0
0 0 0
𝑨𝑨 = −2𝑷𝑷 �0 0 0� 𝑷𝑷−𝟏𝟏 + 1𝑷𝑷 �0 1 0� 𝑷𝑷−𝟏𝟏 + 3𝑷𝑷 �0 0 0� 𝑷𝑷−𝟏𝟏
0 0 0
0 0 0
0 0 1
11 −1 1 1 0 0
11 −1 1 0 0 0
= −2 � 1
1 1� �0 0 0� 𝑷𝑷−𝟏𝟏 + � 1
1 1� �0 1 0� 𝑷𝑷−𝟏𝟏
−14 1 1 0 0 0
−14 1 1 0 0 0
11 −1 1 0 0 0
+3� 1
1 1� �0 0 0� 𝑷𝑷−𝟏𝟏
−14 1 1 0 0 1
11 0 0
0 −1 0
0 0 1
= −2 � 1
0 0� 𝑷𝑷−𝟏𝟏 + �0 1 0� 𝑷𝑷−𝟏𝟏 + 3 �0 0 1� 𝑷𝑷−𝟏𝟏
−14 0 0
0 1 0
0 0 1
となるので、さらに計算を進めると
0
2
−2
0
2
−2
1 0 −1 0
1 11 0 0
= −2 × � 1
0 0� �−15 25 −10� + �0 1 0� �−15 25 −10�
30
30
15
3
12
15
3
12
−14 0 0
0 1 0
0
2
−2
0
0
1
1
+3 × �0 0 1� �−15 25 −10�
30
15
3
12
0 0 1
0
22
−22
15
−25
10
1
1
1 15 3 12
= −2 × �0
2
−2 � + �−15 25 −10� + 3 × �15 3 12�
30
30
10
0 −28 28
−15 25 −10
15 3 12
22 1 6
1 3 −22 −5 3
0+ +
+
+
+ +
2 2 15
6
10 15 3 5 ⎞
⎛
2 1 6
1 3
2 5 3
= ⎜0 − +
− + +
− + ⎟
15 3 5 ⎟
2 2
15 6 10
⎜
28 5 3
1 3
28 1 6
+ +
− − + ⎠
⎝0 − 2 + 2
15 6 10
15 3 5
2 −2 3
= �1 1
1�
1 3 −1
となります。計算式の通り計算したら、正しい答えになったというだけのことです。式の
変形に間違いがないことを計算して確認したに過ぎないと言われそうですが、見せたかっ
たのは、
1 0 0
0 0 0
0 0 0
𝑨𝑨 = −2𝑷𝑷 �0 0 0� 𝑷𝑷−𝟏𝟏 + 1𝑷𝑷 �0 1 0� 𝑷𝑷−𝟏𝟏 + 3𝑷𝑷 �0 0 0� 𝑷𝑷−𝟏𝟏
0 0 0
0 0 0
0 0 1
というところです。
つまり、
𝑷𝑷𝑷𝑷𝐏𝐏 −𝟏𝟏
のように対角化できるとき
λ1 0
0 λ2
= 𝚲𝚲 = �
⋮ ⋮
0 0
⋯ 0
⋯ 0
�
⋱ ⋮
⋯ λn
1 0 ⋯ 0
0 0 ⋯ 0
0 0 ⋯ 0
0
0
⋯
0
0
1
⋯
0
𝑨𝑨 = λ1 𝑷𝑷 �
� 𝑷𝑷−𝟏𝟏 + λ2 𝑷𝑷 �
� 𝑷𝑷−𝟏𝟏 + ⋯ + λn 𝑷𝑷 �0 0 ⋯ 0� 𝑷𝑷−𝟏𝟏
⋮ ⋮ ⋱ 0
⋮ ⋮ ⋱ 0
⋮ ⋮ ⋱ 0
0 0 0 0
0 0 0 0
0 0 0 1
と表せるということです。
でもこれは、少し格好が悪いですね。代数的に計算を解りやすくするためにわざわざこの
ように書いたのですが、行列をベクトルを横に並べたものだと解釈したときに、0 ベクトル
に意味はありませんから、もちろん、
1 0 ⋯ 0
1
0
0
⋯
0
� = �0�
�
⋮
⋮ ⋮ ⋱ 0
0
0 0 0 0
のように書くべきです。ということで、
1 0 ⋯ 0
0 0 ⋯ 0
0 0 ⋯ 0
0
0
⋯
0
0
1
⋯
0
−𝟏𝟏
−𝟏𝟏
𝑨𝑨 = λ1 𝑷𝑷 �
� 𝑷𝑷 + λ2 𝑷𝑷 �
� 𝑷𝑷 + ⋯ + λn 𝑷𝑷 �0 0 ⋯ 0� 𝑷𝑷−𝟏𝟏
⋮ ⋮ ⋱ 0
⋮ ⋮ ⋱ 0
⋮ ⋮ ⋱ 0
0 0 0 0
0 0 0 0
0 0 0 1
ではなくて、
1
0
0
0
1
−𝟏𝟏
−𝟏𝟏
𝑨𝑨 = λ1 𝑷𝑷 � � 𝑷𝑷 + λ2 𝑷𝑷 � � 𝑷𝑷 + ⋯ + λn 𝑷𝑷 �0� 𝑷𝑷−𝟏𝟏
⋮
⋮
⋮
0
0
1
式 68
と書くのが、お作法というものです。
こうして書き換えたうえで、この作業が持っている幾何学的な意味を考えます。
普通の教科書では、一次独立がどうしたとか、線形結合がどうしたとか、基底がどうした
とか、難しそうな言葉をつかった解説があります。多分かなりわかりきった当たり前のこ
とを言っているのだと思うのですが、私は独学だから、それらが正確にどんな意味なのか
を知りません。そういう難しい言葉がつかった説明はできませんが、それらは、おそらく、
次のようなことを言っているのだと思います。
1
0
0
0
1
� � 、 � � 、 ⋯ 、 �0�というのは、𝑷𝑷𝑷𝑷𝐏𝐏 −𝟏𝟏という計算の結果、移し替えられた(写された
⋮
⋮
⋮
0
0
1
という表現のほうが良いかもしれません。射影という言葉がありますから。
)行列が存在す
る空間を決めている座標系の一つ一つの座標軸で単位となっているベクトルのことですね。
線形代数学の解説を読んでいて混乱するのは、行列が、ベクトルや行列の数字の移し替え
(射影)という一種の動作(機能)を意味していたり、ベクトルを並べたものを意味して
いたり、座標上の点を意味していたり、時にはまったくそんな意味さえもなくなって、た
だ数字が並んでいるものであったりして、どのような捉え方で議論しているのかわからな
くなるからです。数学的には行列はそのどれでもあるので、まあそんなものだとあきらめ
て受け入れておいてください。以下の説明では、とりあえず、𝑨𝑨は p 個の要素で作られるベ
クトルを p 個並べたものという感じに、𝑷𝑷や𝐏𝐏 −𝟏𝟏は移し替える(写す)操作という感じです。
λ1 0
⋯ 0
0
λ
⋯ 0
2
⎞
𝑷𝑷𝑷𝑷𝐏𝐏 −𝟏𝟏 = ⎛
⋱
⋮
⋮ ⋮
⎝ 0 0 ⋯ λp ⎠
この移し替えは、相似なのだから、固有値が変わらずに固有ベクトル同士の角度が変わる
だけで、その結果、
「右辺は、①固有ベクトルがその空間の次元数の p だけあって、②その
一つ一つの固有ベクトルが直交していて、③それらのベクトルの絶対値が元の行列の固有
値の値になっている。そのようなベクトルを並べた行列になる。
」ということが、この式の
意味です。定義を良く知りませんが、基底という言葉は空間を決めている単位ベクトルの
集まりのことだと思います。対角化の結果できた行列では、並べた p 個のベクトルはすべ
て互いに直交しています。これらのベクトルの単位長さのベクトル(単位ベクトル)に固
有値を乗じたものが、対角化された行列です。この空間上のベクトル(あるいは点)は、
すべて、基底をなすベクトルの実数倍をたし合わせて表すことができることが直感的にわ
かります。しかし、落ち着いて考えればベクトルの基底同士が直角になっていなくても、
n次元の空間上の点を、n個のベクトルの和で表すことはできます。二次元平面で表すと
図のようなことです。
�⃗
𝒙𝒙
�⃗
𝒚𝒚
��⃗
𝜶𝜶
��⃗
𝜷𝜷
��⃗
𝑑𝑑𝜷𝜷
��⃗
𝑐𝑐𝜶𝜶
図 47 対角化の幾何学的なイメージ
数式で表現すれば、
��⃗
�⃗ = 𝑎𝑎𝒙𝒙
�⃗ + 𝑏𝑏𝒚𝒚
�⃗ = 𝑐𝑐𝜶𝜶
��⃗ + 𝑑𝑑𝜷𝜷
𝐀𝐀
�⃗
𝑎𝑎𝒙𝒙
�⃗
𝑏𝑏𝒚𝒚
�⃗と𝒚𝒚
�⃗は何で
つまり、黒字の式で表すことも赤字の式で表すこともできるということです。𝒙𝒙
�⃗と𝒚𝒚
�⃗が決まってしまえば、𝑎𝑎と𝑏𝑏、一通りの値しかとらないという
もかまわないのですが、𝒙𝒙
ことです。このように、異なるベクトルをスカラー倍して足し合わせることを、線形結合
と言います。今説明している平面は2次元の平面です。ベクトル同士が並行している場合
は、この方法で表せるのは、そのベクトルのスカラー倍だけです。これではこの平面上の
全ての点を表すことはできません。平面上の全ての点をこの方法で表そうとすると、必ず、
並行していないベクトルが2本必要です。また、この平面上のすべてのベクトル(という
か点)が、この方法で表現できることは直感的にわかるでしょう。こういうことを一次独
立と言います。平面でなくて p 次空間でも p 個の一次独立のベクトルの組み合わせで基底
をつくれば、すべてのベクトルを線形結合で表せることも理解できると思います。このよ
うに簡単なことが、数学の教科書では、とても難しい表現で書かれています。
そういう文句は別として、言いたかったことは、ベクトルを並べた行列𝑨𝑨に p 個の固有ベク
トルがあれば、固有ベクトルの線形結合で、A が置かれている空間の全てのベクトルを表す
ことができるし、固有ベクトルでなくても、1次独立なベクトルを p 個用意すれば、すべ
てのベクトルを線形結合で表すことができるということです。
そこで、もとにもどって、対角化の結果、
1
0
0
0
1
� � 、 � � 、 ⋯ 、 �0�
⋮
⋮
⋮
0
0
1
という直交したベクトルとして表現された基底をなすそれぞれの単位ベクトルが、もとも
との行列𝑨𝑨とが置かれていた空間では、どんな「もの」であったのかを考えます。
つまり、ここまでの解説で、最終的な結論としている
1
0
0
0
1
𝑨𝑨 = λ1 𝑷𝑷 � � 𝑷𝑷−𝟏𝟏 + λ2 𝑷𝑷 � � 𝑷𝑷−𝟏𝟏 + ⋯ + λ𝑝𝑝 𝑷𝑷 �0� 𝑷𝑷−𝟏𝟏
⋮
⋮
⋮
0
0
1
という式の中で、一つ一つの項の構成要素である、
1
𝑷𝑷 �0� 𝑷𝑷−𝟏𝟏
⋮
0
が、
行列 A の置かれた空間の図形的なイメージとしてとしてどんなものかということです。
具体的な計算例で言えば、間違いなくそれは。
1 0 22 −22
�0
2
−2 �
30
0 −28 28
です。この行列の持つ幾何学的な意味を問われても困ります。少なくとも、単一ベクトル
の、写像のようなものではありません。しかし、特殊な場合には、この行列が図形的な意
味を持つことがあります。筆者がここで予測的に考えているのは楕円なのですが、それに
は2次形式と対称行列の関係を理解する必要があります。それをやる前に、無理な議論を
展開するとかえって混乱しそうです。
ということで、もとに戻って、線形代数的な計算の話として、話を展開します。
1
0
0
0
1
−𝟏𝟏
−𝟏𝟏
𝑨𝑨 = λ1 𝑷𝑷 � � 𝑷𝑷 + λ2 𝑷𝑷 � � 𝑷𝑷 + ⋯ + λ𝑝𝑝 𝑷𝑷 �0� 𝑷𝑷−𝟏𝟏
⋮
⋮
⋮
0
0
1
のところは、形が良くてすっきりしていて良いのですが、途中の計算は何やら恰好が良く
ありません。
1 0
𝑨𝑨 = −2𝑷𝑷 �0 0
0 0
11 −1
= −2 � 1
1
−14 1
0
0 0 0
0 0 0
0� 𝑷𝑷−𝟏𝟏 + 1𝑷𝑷 �0 1 0� 𝑷𝑷−𝟏𝟏 + 3𝑷𝑷 �0 0 0� 𝑷𝑷−𝟏𝟏
0
0 0 0
0 0 1
1 1 0 0
11 −1 1 0 0 0
1� �0 0 0� 𝑷𝑷−𝟏𝟏 + � 1
1 1� �0 1 0� 𝑷𝑷−𝟏𝟏
1 0 0 0
−14 1 1 0 0 0
11 −1 1 0 0 0
+3� 1
1 1� �0 0 0� 𝑷𝑷−𝟏𝟏
−14 1 1 0 0 1
11 0 0
0 −1 0
0 0 1
= −2 � 1
0 0� 𝑷𝑷−𝟏𝟏 + �0 1 0� 𝑷𝑷−𝟏𝟏 + 3 �0 0 1� 𝑷𝑷−𝟏𝟏
−14 0 0
0 1 0
0 0 1
ここのところがカッコ悪いと思いませんか。
11 0 0
0 −1 0
0 0 1
= −2 � 1
0 0� 𝑷𝑷−𝟏𝟏 + �0 1 0� 𝑷𝑷−𝟏𝟏 + 3 �0 0 1� 𝑷𝑷−𝟏𝟏
−14 0 0
0 1 0
0 0 1
は
11
−1
1
−2 � 1 � 𝑷𝑷−𝟏𝟏 + � 1 � 𝑷𝑷−𝟏𝟏 + 3 �1� 𝑷𝑷−𝟏𝟏
−14
1
1
と書けるのだから、これはこれでスッキリしているから問題ないという感性もあるでしょ
うが、
11
� 1 � 𝑷𝑷−𝟏𝟏
−14
のところで式の対称性が壊れています。
11 −1 1
11
� 1 �はベクトルを並べた行列𝑷𝑷 = � 1
1 1�の一つのベクトルです。これに対して
−14 1 1
−14
𝑷𝑷−𝟏𝟏 は、𝑷𝑷の逆行列です。
1
せっかくλ1 𝑷𝑷 �0� 𝑷𝑷−𝟏𝟏 のように、極めて美しいシンメトリーで始まったのに何か残念です。
⋮
0
だから、たとえば、
11 −1
11
� 1 �� 1 �
−14 −14
のように、対称性を取り戻せたらよいのにナーと思います。別に、感覚的にそう思うだけ
なので、別にどうということはないのですが、少し付き合ってください。しかし、これは
11 −1
11 ′
11
無理ですね。� 1 �は正方行列ではないのだから、� 1 � なんてありえません。� 1 �
−14
−14
−14
ならばあります。
ではせめて、
つまり、
1
1
0
𝑷𝑷 � � 𝑷𝑷−𝟏𝟏 = 𝑷𝑷 �0� 𝑷𝑷′
⋮
⋮
0
0
𝑷𝑷−𝟏𝟏 = 𝑷𝑷′
となっていれば、願望に近づけないかナーと考えます。
(馬鹿な小学生が意味もない馬鹿な
ことを考えているという感じです。実際、子供は意味もないことに拘って、夢中になって
考えたりしています。特に洟を垂らしてボーっとして空を見ている子はそうです。
行列計算では、式の並び方の順序は入れ替えられませんが、どこから先に計算しても構い
ません。そこで、
1
1
0
′
⎛
𝑷𝑷 � � 𝑷𝑷 = 𝑷𝑷 �0� 𝑷𝑷′ ⎞
⋮
⋮
0
0
⎝
⎠
と考えて、カッコの中を先に計算します。
たとえば、
の場合、
𝑎𝑎
𝑷𝑷 = �𝑏𝑏
𝑐𝑐
𝑑𝑑
𝑒𝑒
𝑓𝑓
𝑔𝑔
ℎ�
𝑖𝑖
𝑎𝑎
𝑷𝑷′ = �𝑑𝑑
𝑔𝑔
𝑏𝑏
𝑒𝑒
ℎ
𝑐𝑐
𝑓𝑓�
𝑖𝑖
1
1 𝑎𝑎
�0� 𝑷𝑷′ = �0� �𝑑𝑑
0
0 𝑔𝑔
𝑏𝑏
𝑒𝑒
ℎ
𝑐𝑐
𝑓𝑓�
𝑖𝑖
と考えますが、こんな式はあり得ません。計算以前にむちゃくちゃです。ここはもうやけ
になって、
1
1 0 0
1 0 0 𝑎𝑎
�0� 𝑷𝑷′ = �0 0 0� 𝑷𝑷′ = �0 0 0� �𝑑𝑑
0
0 0 0
0 0 0 𝑔𝑔
𝑏𝑏
𝑒𝑒
ℎ
𝑐𝑐
𝑓𝑓 �
𝑖𝑖
と書いてしまう。子供って、時に驚くほど頑固で強情ですよね。
1
𝑎𝑎 𝑏𝑏 𝑐𝑐
�0� 𝑷𝑷′ = �0 0 0�
0
0 0 0
ここでまた、この行列をベクトルを立てに並べたものだと考えて、0ベクトルなどは書い
ても意味がないと言い張って。
と強引に結論します。
ところで、
だったら、やはり、強引に
と書いて、全体としては、
1
�0� 𝑷𝑷′ = (𝑎𝑎
0
𝑎𝑎
𝑷𝑷 = �𝑏𝑏
𝑐𝑐
𝑏𝑏
𝑐𝑐 )
0 0
0 0�
0 0
𝑎𝑎
𝑷𝑷 = �𝑏𝑏�
𝑐𝑐
𝑔𝑔 𝑔𝑔 ′
𝑎𝑎 𝑎𝑎 ′
𝑑𝑑 𝑑𝑑 ′
𝑨𝑨 = λ1 �𝑏𝑏� �𝑏𝑏� + λ2 � 𝑒𝑒 � � 𝑒𝑒 � + λ3 �ℎ � �ℎ �
𝑐𝑐 𝑐𝑐
𝑓𝑓 𝑓𝑓
𝑖𝑖
𝑖𝑖
となって、洟を垂らしていた子の願望というか、言い分が通ります。かなり無理がありま
すが、子供の言うことですから許しましょう。
とにかく、この洟垂れ坊主の主張は、
「A を対角化する行列𝑷𝑷があり、𝑷𝑷−𝟏𝟏 = 𝑷𝑷′ と書けるときには、𝑷𝑷の行ないし列をベクトルと
して、
𝒑𝒑𝟐𝟐
𝑷𝑷 = (𝒑𝒑𝟏𝟏
と表せば、
⋯ 𝒑𝒑𝒑𝒑 )
𝑨𝑨 = λ1 𝒑𝒑𝟏𝟏 𝒑𝒑𝟏𝟏 ′ + λ2 𝒑𝒑𝟐𝟐 𝒑𝒑𝟐𝟐 ′ + ⋯ + λ𝑝𝑝 𝒑𝒑𝒑𝒑 𝒑𝒑𝒑𝒑 ′
𝑝𝑝
= � λ𝑖𝑖 𝒑𝒑𝒊𝒊 𝒑𝒑𝒊𝒊 ′
𝑖𝑖=1
表すことができる。
」ということです。そうすると、
𝑷𝑷−𝟏𝟏 = 𝑷𝑷′
が成り立つのは、どんな時なのかを考えなくてはなりません。洟を垂らしているだけで、
結構油断のならないあのガキがこの問題を解けるかどうかはわかりませんが、馬鹿に見え
るだけで、ひょっとしたらそれなりに賢いかもしれないあの子供の願望をかなえてあげる
のは大人の優しさというものでしょう。それをするには、もう少し品の良い表現で、あの
ガキ願望を内容を整理しておかなくてはなりません。大人なのですから。
あのガキが、考えていたことは、下記の式のようなことにならないだろうかということで
す。
𝒙𝒙′ 𝑨𝑨𝑨𝑨 = 𝒆𝒆𝚲𝚲𝒆𝒆′
これが、𝒙𝒙にかかわらず成り立つ(恒等的に成り立つ、未知数が何であっても成り立つ)の
だから、𝒙𝒙 = 𝑰𝑰として
𝑨𝑨 = 𝒆𝒆𝜦𝜦𝜦𝜦′
ということなのですが、式の意味を分解して説明します。
でしたね。
𝜆𝜆1 0
0 𝜆𝜆2
𝜦𝜦 = �
0 0
0 0
𝒆𝒆𝟏𝟏
𝜆𝜆1 0
𝒆𝒆
0 𝜆𝜆2
𝟐𝟐
𝒆𝒆𝜦𝜦𝜦𝜦′ = � ⋮ � �
0 0
𝒆𝒆𝒑𝒑
0 0
⋯
⋯
⋱
0
⋯
⋯
⋱
0
0
0
�
0
𝜆𝜆𝑝𝑝
0
0
� (𝒆𝒆𝟏𝟏 ′
0
𝜆𝜆𝑝𝑝
𝒆𝒆𝟐𝟐 ′
⋯ 𝒆𝒆𝒑𝒑 ′ )
つまり
𝑨𝑨 = 𝜆𝜆1 𝒆𝒆𝟏𝟏 𝒆𝒆𝟏𝟏 ′ + 𝜆𝜆2 𝒆𝒆𝟐𝟐 𝒆𝒆𝟐𝟐 ′ + ⋯ + 𝜆𝜆𝑝𝑝 𝒆𝒆𝒑𝒑 𝒆𝒆𝒑𝒑 ′
こうならないかナーという願望です。
次に、
𝑷𝑷′ = 𝑷𝑷−𝟏𝟏
ならば、「美しい形になるのにナー」という、願望の言い換えの妥当性を考えます。
A から𝜦𝜦への対角化を可能にする変換である行列 P とその逆行列 P-1があるとします。
𝑷𝑷𝑷𝑷−𝟏𝟏 = 𝑰𝑰
だから、式のどこに𝑷𝑷𝑷𝑷−𝟏𝟏 を挿入しても式は変わりません。
𝒙𝒙′ 𝑨𝑨𝑨𝑨
= 𝒙𝒙′ 𝑷𝑷𝑷𝑷−𝟏𝟏 𝑨𝑨𝑷𝑷𝑷𝑷−𝟏𝟏 𝒙𝒙
行列演算では式の順序は変えられない(交換法則が成り立たない)が、計算の順番は変え
られるので
= (𝒙𝒙′ 𝑷𝑷)(𝑷𝑷−𝟏𝟏 𝑨𝑨𝑷𝑷)(𝑷𝑷−𝟏𝟏 𝒙𝒙)
という手順で計算することにします。(やっていることは、なんとか(𝑷𝑷−𝟏𝟏 𝑨𝑨𝑷𝑷) = 𝜦𝜦という形
を作るということです。
)
結果
𝒙𝒙′ 𝑨𝑨𝑨𝑨
= (𝒙𝒙′ 𝑷𝑷)𝜦𝜦(𝑷𝑷−𝟏𝟏 𝒙𝒙)
となりますが、さらに変形して
𝒙𝒙′ 𝑨𝑨𝑨𝑨
= (𝑷𝑷′ 𝒙𝒙)′ 𝜦𝜦(𝑷𝑷−𝟏𝟏 𝒙𝒙)
(𝒙𝒙′ 𝑷𝑷) → (𝑷𝑷′ 𝒙𝒙)′というところは直感的に理解できますか、まあそんなもんだろうと直感的に
理解する人と、きちんと確認したいという人と、個性の違いがありますね。確認します。
たとえば、(𝑎𝑎 𝑏𝑏 𝑐𝑐)と(𝛼𝛼 𝛽𝛽 𝛾𝛾)という行列があったとします。
𝛼𝛼
𝑎𝑎
(𝑎𝑎 𝑏𝑏 𝑐𝑐)′ =�𝑏𝑏�, (𝛼𝛼 𝛽𝛽 𝛾𝛾)′ = �𝛽𝛽 �
𝛾𝛾
𝑐𝑐
(𝑎𝑎
𝑏𝑏
𝑐𝑐)′ (𝛼𝛼
𝛽𝛽
なので、
�(𝑎𝑎
(𝛼𝛼
𝑏𝑏
𝛽𝛽
𝑐𝑐
)′ (𝛼𝛼
𝛾𝛾)′ (𝑎𝑎
𝛽𝛽
𝑏𝑏
𝑎𝑎
𝛾𝛾) = �𝑏𝑏� (𝛼𝛼
𝑐𝑐
𝑎𝑎𝑎𝑎
𝛾𝛾)� = �𝑏𝑏𝑏𝑏
𝑐𝑐𝑐𝑐
′
𝛼𝛼
𝑐𝑐) = �𝛽𝛽 � (𝑎𝑎
𝛾𝛾
𝛽𝛽
𝑎𝑎𝑎𝑎
𝑏𝑏𝑏𝑏
𝑐𝑐𝑐𝑐
𝑏𝑏
𝑎𝑎𝑎𝑎
𝛾𝛾) = �𝑏𝑏𝑏𝑏
𝑐𝑐𝑐𝑐
𝑎𝑎𝑎𝑎 ′
𝑎𝑎𝑎𝑎
𝑏𝑏𝑏𝑏 � = �𝑎𝑎𝑎𝑎
𝑎𝑎𝑎𝑎
𝑐𝑐𝑐𝑐
𝑎𝑎𝑎𝑎
𝑐𝑐) = �𝑎𝑎𝑎𝑎
𝑎𝑎𝑎𝑎
𝑎𝑎𝑎𝑎
𝑏𝑏𝑏𝑏
𝑐𝑐𝑐𝑐
𝑏𝑏𝑏𝑏
𝑏𝑏𝑏𝑏
𝑏𝑏𝑏𝑏
𝑏𝑏𝑏𝑏
𝑏𝑏𝑏𝑏
𝑏𝑏𝑏𝑏
𝑎𝑎𝑎𝑎
𝑏𝑏𝑏𝑏 �
𝑐𝑐𝑐𝑐
𝑐𝑐𝑐𝑐
𝑐𝑐𝑐𝑐 �
𝑐𝑐𝑐𝑐
𝑐𝑐𝑐𝑐
𝑐𝑐𝑐𝑐 �
𝑐𝑐𝑐𝑐
だから
�(𝑎𝑎
𝑏𝑏
𝑐𝑐)′ (𝛼𝛼
′
𝛽𝛽
𝛾𝛾)� = (𝛼𝛼
𝛽𝛽
𝛾𝛾)′ (𝑎𝑎
𝑏𝑏
証明というよりは、実際にやってみると感覚的にわかりますね。
もとにもどると、つまり、𝒙𝒙′ 𝑨𝑨𝑨𝑨 = 𝒆𝒆𝒆𝒆𝒆𝒆′ が成り立つには
𝒆𝒆 = (𝑷𝑷′ 𝒙𝒙)′
−𝟏𝟏
𝒆𝒆′ = 𝑷𝑷 𝒙𝒙
𝑐𝑐)
①
②
が同時に成り立てば良いということになります。
① の式を変形します
𝒆𝒆′ = �(𝑷𝑷′ 𝒙𝒙)′�′ = 𝑷𝑷′ 𝒙𝒙
となって、②に代入すれば
𝑷𝑷′ 𝒙𝒙 = 𝑷𝑷−𝟏𝟏 𝒙𝒙
𝑷𝑷′ = 𝑷𝑷−𝟏𝟏
となって𝑷𝑷′ = 𝑷𝑷−𝟏𝟏 が、𝑨𝑨 = 𝜆𝜆1 𝒆𝒆𝟏𝟏 𝒆𝒆𝟏𝟏 ′ + 𝜆𝜆2 𝒆𝒆𝟐𝟐 𝒆𝒆𝟐𝟐 ′ + ⋯ + 𝜆𝜆𝑝𝑝 𝒆𝒆𝒑𝒑 𝒆𝒆𝒑𝒑 ′
と書けるための条件だとわかります。あのガキはそれなりに鋭く油断がならないのです。
貧乏で栄養状態が悪いので慢性鼻炎で洟を垂らしていて、汚らしく見えるだけです。
さて、それが成り立つ場合を考えましょう。
𝑷𝑷′ = 𝑷𝑷−𝟏𝟏
のままでは考えにくいので、逆行列を外すために両辺に𝑷𝑷をかけます。
𝑷𝑷′ 𝑷𝑷 = 𝑰𝑰
同じことですが、この方が具体的に計算して考えやすいでしょう。しかし、それでも n 次
元で考えるのは複雑そうなので、まず、2次元で考えます。
𝑎𝑎
𝑷𝑷 = �
𝑐𝑐
とすると、
𝑎𝑎
�
𝑏𝑏
𝑏𝑏
�
𝑑𝑑
𝑷𝑷′ 𝑷𝑷 = 𝑰𝑰
𝑐𝑐 𝑎𝑎
��
𝑑𝑑 𝑐𝑐
ですから、以下の連立方程式が得られます。
1 0
𝑏𝑏
�=�
�
0 1
𝑑𝑑
𝑎𝑎2 + 𝑐𝑐 2 = 1
①
𝑏𝑏2 + 𝑑𝑑 2 = 1
②
𝑎𝑎𝑎𝑎 + 𝑐𝑐𝑐𝑐 = 0
③
未知数が4で式が3つですから、この連立方程式は解けませんが、よく見ると
P を𝑷𝑷 = (𝑷𝑷𝟏𝟏 𝑷𝑷𝟐𝟐 )のような、ベクトルの行と考えたとき、
すなわち
𝑎𝑎
𝑷𝑷𝟏𝟏 = � �
𝑐𝑐
𝑏𝑏
𝑷𝑷𝟐𝟐 = � �
𝑑𝑑
と考えたとき、①式は、|𝑷𝑷𝟏𝟏 |2 (つまりベクトル𝑷𝑷𝟏𝟏 の長さの2乗)、式②は|𝑷𝑷𝟐𝟐 |2で、式③は、
𝑷𝑷𝟏𝟏 ∙ 𝑷𝑷𝟐𝟐 (𝑷𝑷𝟏𝟏 、𝑷𝑷𝟐𝟐の内積)になっています。
|𝑷𝑷𝟏𝟏 |2 = 1、|𝑷𝑷𝟐𝟐 |2 = 1ということは、|𝑷𝑷𝟏𝟏 | = 1、|𝑷𝑷𝟐𝟐 | = 1ですから、長さが1の単位ベクトル
になっている固有ベクトルということで
内積が0ということは、それらのベクトルが互いに直交しているということです。
行列が3次に場合についても
𝑎𝑎
�𝑏𝑏
𝑐𝑐
で
𝑑𝑑
𝑒𝑒
𝑓𝑓
𝑔𝑔 𝑎𝑎
ℎ � �𝑑𝑑
𝑔𝑔
𝑖𝑖
𝑏𝑏
𝑒𝑒
ℎ
𝑎𝑎2 + 𝑑𝑑 2 + 𝑔𝑔2 𝑎𝑎𝑎𝑎 + 𝑑𝑑𝑑𝑑 + ℎ𝑔𝑔
�𝑏𝑏𝑏𝑏 + 𝑑𝑑𝑑𝑑 + ℎ𝑔𝑔 𝑏𝑏2 + 𝑒𝑒 2 + ℎ2
𝑎𝑎𝑎𝑎 + 𝑓𝑓𝑓𝑓 + 𝑖𝑖𝑖𝑖 𝑐𝑐𝑐𝑐 + 𝑒𝑒𝑒𝑒 + 𝑖𝑖ℎ
𝑐𝑐
1 0 0
𝑓𝑓 � = �0 1 0�
𝑖𝑖
0 0 1
𝑎𝑎𝑎𝑎 + 𝑓𝑓𝑓𝑓 + 𝑖𝑖𝑖𝑖
1 0 0
𝑐𝑐𝑐𝑐 + 𝑒𝑒𝑒𝑒 + 𝑖𝑖ℎ � = �0 1 0�
0 0 1
𝑐𝑐 2 + 𝑓𝑓 2 + 𝑖𝑖 2
𝑎𝑎2 + 𝑑𝑑 2 + 𝑔𝑔2 = 1
𝑏𝑏2 + 𝑒𝑒 2 + ℎ2 = 1
𝑐𝑐 2 + 𝑓𝑓 2 + 𝑖𝑖 2 = 1
𝑎𝑎𝑎𝑎 + 𝑑𝑑𝑑𝑑 + ℎ𝑔𝑔 = 0
𝑎𝑎𝑎𝑎 + 𝑓𝑓𝑓𝑓 + 𝑖𝑖𝑖𝑖 = 0
𝑐𝑐𝑐𝑐 + 𝑒𝑒𝑒𝑒 + 𝑖𝑖ℎ = 0
となり、構成する単位長さのベクトルが互いに直交している行列ならば、
で
で
𝑷𝑷′ 𝑷𝑷 = 𝑰𝑰
𝑷𝑷′ = 𝑷𝑷−𝟏𝟏
𝑨𝑨 = 𝜆𝜆1 𝒆𝒆𝟏𝟏 𝒆𝒆𝟏𝟏 ′ + 𝜆𝜆2 𝒆𝒆𝟐𝟐 𝒆𝒆𝟐𝟐 ′ + ⋯ + 𝜆𝜆𝑝𝑝 𝒆𝒆𝒑𝒑 𝒆𝒆𝒑𝒑 ′
とかけます。ここまで来ると、何故、𝒆𝒆𝒊𝒊 , 𝒆𝒆𝒊𝒊 ′ のような記号を使ったのか、その理由がわかる
でしょう。𝒆𝒆は、単位ベクトルを表す時によく使われる記号です。単位ベクトルになること
をあらかじめ予測して、𝒆𝒆にしておいたのです。
さて、この条件(p 次の行列を、p 個の因子をもつ p 個のベクトルを並べたものだと考えた
とき、それらが単位ベクトルで、互いに直交している。
)を満たす行列とはどんな行列かを
示さなければなりません。それを「数学的」な解説とともに示そうとすると、例によって、
確かに日本語ではあるが、その意味がまるでわからないという、数学の教科書によくある
文章を書くことになります。今のところそんなことに意味があるように思えないので、我々
がこれから対象にしようとしている、対称行列がその条件を満たすかどうかだけを考えま
す。ここでわざわざ取り上げるのだから、話の流れとして、当然、対称行列はこの条件に
当てはまります。そのことだけ覚えておくだけでもよいのだけれど、一応、以下にその証
明をします。なお、ここでは実数の範囲内での話をしています。もともと、複素数を含め
て考えていないものとしてください。
証明する内容をかみ砕いておきます。今扱おうとしているのは、対角化するときに掛け合
わせる行列のことです。途中の対角化の説明では、
𝜆𝜆1 0
0 𝜆𝜆2
𝑸𝑸−𝟏𝟏 𝑪𝑪𝑪𝑪 = �
0 0
0 0
⋯
⋯
⋱
0
0
0
�
0
𝜆𝜆𝑝𝑝
という計算に用いる𝑸𝑸のことです。𝑸𝑸は𝑪𝑪の固有ベクトルを並べたものです。ですから𝑸𝑸を構
成するベクトルが直交するということは、𝑪𝑪の固有ベクトルが直交しているということです。
また、固有ベクトルの長さは任意に決められるのだから、ベクトルの長さを1になるよう
に定めればよいだけのことなので、証明すべきことは、𝑪𝑪の固有ベクトルが直交しているこ
とだけになります。
つまり、
「対称行列 A が行列の次数 p の固有値を持つとき、任意に選んだ2つの固有ベクト
ルは互いに直交する。
」を証明すればよいことになります。
任意の固有値を𝜆𝜆1 、𝜆𝜆2 、それぞれに対応する固有ベクトルを、𝒙𝒙𝟏𝟏 , 𝒙𝒙𝟐𝟐とします。
固有値、固有ベクトルの定義から
𝑨𝑨𝒙𝒙𝟏𝟏 = 𝜆𝜆1 𝒙𝒙𝟏𝟏
① 式の両辺を転置します。
𝑨𝑨𝒙𝒙𝟐𝟐 = 𝜆𝜆2 𝒙𝒙𝟐𝟐
①
②
(𝑨𝑨𝒙𝒙𝟏𝟏 )′ = 𝜆𝜆1 𝒙𝒙𝟏𝟏 ′
対称行列だから、
これを①’に代入
両辺に右から𝒙𝒙𝟐𝟐をかける。
この左辺に②を代入
𝒙𝒙𝟏𝟏 ′ 𝑨𝑨′ = 𝜆𝜆1 𝒙𝒙𝟏𝟏 ′
𝑨𝑨′ = 𝑨𝑨
𝒙𝒙𝟏𝟏 ′ 𝑨𝑨 = 𝜆𝜆1 𝒙𝒙𝟏𝟏 ′
𝒙𝒙𝟏𝟏 ′ 𝑨𝑨𝒙𝒙𝟐𝟐 = 𝜆𝜆1 𝒙𝒙𝟏𝟏 ′ 𝒙𝒙𝟐𝟐
𝒙𝒙𝟏𝟏 ′ 𝜆𝜆2 𝒙𝒙𝟐𝟐 = 𝜆𝜆1 𝒙𝒙𝟏𝟏 ′ 𝒙𝒙𝟐𝟐
移項して
𝜆𝜆2 𝒙𝒙𝟏𝟏 ′ 𝒙𝒙𝟐𝟐 = 𝜆𝜆1 𝒙𝒙𝟏𝟏 ′ 𝒙𝒙𝟐𝟐
(𝜆𝜆2 − 𝜆𝜆1 )𝒙𝒙𝟏𝟏 ′ 𝒙𝒙𝟐𝟐 = 0
①’
これより
𝜆𝜆2 − 𝜆𝜆1 = 0
または
固有方程式が重根を持たなければ、
したがって、
𝒙𝒙𝟏𝟏 ′ 𝒙𝒙𝟐𝟐 = 0
𝜆𝜆2 − 𝜆𝜆1 ≠ 0
𝒙𝒙𝟏𝟏 ′ 𝒙𝒙𝟐𝟐 = 0
𝒙𝒙𝟏𝟏 ′ 𝒙𝒙𝟐𝟐は𝒙𝒙𝟏𝟏 ′ 、𝒙𝒙𝟐𝟐の内積になるのですから、𝒙𝒙𝟏𝟏 ′、𝒙𝒙𝟐𝟐は直交します。
これで証明は終わりですが、重根を持つ場合は別に考えなければならないようです。同じ
固有値を持つ違う固有ベクトル同士が直交しているという保証はありません。実はその場
合には、グラム・シュミットの直交化法と呼ばれる、直交ベクトルを作る方法があります。
簡単に説明すれば、たとえば、2重根の場合、重根となる固有ベクトルは一つの平面上の
ベクトルです。この平面は他の固有ベクトルと直交していますから、2つの固有ベクトル
はそれぞれ、他の固有ベクトルとは間違いなく直交しています、そのうちの一つを選び出
して、それとその平面上で直交するベクトルを求めれば良いのです。3重根や4重根、さ
らに m 重根も考えられますが、これらの重根に従属する固有ベクトルは、それぞれ3次空
間、4次空間 m 次空間上に存在し、それらの空間は、他の固有ベクトルと直交していま
す。ですから、これも、グラム・シュミットの直交化法で対応できるでしょう。
具体的な計算方法は、ネット等で検索すれば出てくると思います(グラム・シュミットの
直交化法)
。
もっと問題になるのは、固有方程式が解をもたない場合です。一般の行列では、もちろん
固有方程式が解をもたず、固有ベクトルが得られないことがあります。しかし、対称行列
ではそのようなことは起こりません。証明しろと言われると困ります。実数解がないとい
うことは、虚根を持つということですね。行列を虚数まで拡張しなければなりません。再
び得意のセリフを言います。
「そんな難しいことを俺に訊いても知るわけないジャン。でも、
そんなこと知る必要ないジャン。そうなる場合だけ考えればとりあえず問題ないジャン。
問題があったら、そん時考えればいいジャン。」。
とにかく、対称行列では、
𝑨𝑨 = 𝜦𝜦𝒆𝒆𝒆𝒆′
(𝒆𝒆は固有値の単位ベクトルを並べた行列、𝜦𝜦はラムダの大文字、固有値を対角とする
対角行列の意味)
が成り立ちます
𝜦𝜦は固有値を対角とする対角行列だから
𝑨𝑨 = 𝜆𝜆1 𝒆𝒆𝟏𝟏 𝒆𝒆𝟏𝟏 ′ + 𝜆𝜆2 𝒆𝒆𝟐𝟐 𝒆𝒆𝟐𝟐 ′ + ⋯ + 𝜆𝜆𝑝𝑝 𝒆𝒆𝒑𝒑 𝒆𝒆𝒑𝒑 ′
式 69
それらしく、まとめて書けば
𝑝𝑝
𝑨𝑨 = � 𝜆𝜆𝑖𝑖 𝒆𝒆𝒊𝒊𝒆𝒆𝒊𝒊 ′
𝑖𝑖=1
(𝒆𝒆𝒊𝒊 は A の固有値𝜆𝜆𝑖𝑖 に対応する固有ベクトルの単位ベクトルで、任意の𝒆𝒆𝒊𝒊 𝒆𝒆𝒋𝒋 は互いに直交
する。
)
このように対称行列を分解することをスペクトル分解と言います。教科書によっては、対
称行列でない場合にもスペクトル分解と呼ぶことがあるようです。また、対称行列でない
場合は、疑似的なスペクトル分解としている例もあります。
とにかく覚えておくことは、
「対称行列はスペクトル分解できる。
」ということです。
抽象的な議論が続いたので、理解のために、具体的な例でスペクトル分解をやってみます。
3
1 −1
𝑨𝑨 = � 1
5 −1�
−1 −1 3
𝑨𝑨 は対称行列になっていますね。
まず、固有値を求めるために、固有方程式を作ります。
�
これを解きます。
�
(3 − 𝜆𝜆)
1
−1
(5 − 𝜆𝜆)
1
−1 � = 0
(3 − 𝜆𝜆)
−1
−1
(3 − 𝜆𝜆)
1
−1
(5 − 𝜆𝜆)
1
−1 � = 0
(3 − 𝜆𝜆)
−1
−1
(3 − 𝜆𝜆)(5 − 𝜆𝜆)(3 − 𝜆𝜆) + 1 + 1 − (3 − 𝜆𝜆) − (5 − 𝜆𝜆) − (3 − 𝜆𝜆) = 0
固有値 𝜆𝜆1 = 6, 𝜆𝜆2 = 3, 𝜆𝜆3 = 2
36 − 36λ + 11𝜆𝜆2 − 𝜆𝜆3 = 0
(𝜆𝜆 − 6)(𝜆𝜆 − 3)(𝜆𝜆 − 2) = 0
固有ベクトルを求めます。
𝜆𝜆1 = 6
に属する固有ベクトル
𝑥𝑥1
3
1 −1 𝑥𝑥1
�1
5 −1� �𝑥𝑥2 � = 6 �𝑥𝑥2 �
𝑥𝑥3
𝑥𝑥3
−1 −1 3
①
3𝑥𝑥1 + 𝑥𝑥2 − 𝑥𝑥3 = 6𝑥𝑥1
𝑥𝑥1 + 5𝑥𝑥2 − 𝑥𝑥3 = 6𝑥𝑥2
−𝑥𝑥1 − 𝑥𝑥2 + 3𝑥𝑥3 = 6𝑥𝑥3
②
③
−3𝑥𝑥1 + 𝑥𝑥2 − 𝑥𝑥3 = 0
①’
𝑥𝑥1 − 𝑥𝑥2 − 𝑥𝑥3 = 0
②’
③’
−𝑥𝑥1 − 𝑥𝑥2 − 3𝑥𝑥3 = 0
−2𝑥𝑥1 − 2𝑥𝑥3 = 0
①’+ ②’
−2𝑥𝑥2 − 4𝑥𝑥3 = 0
②’+ ③
𝑥𝑥1 = −𝑥𝑥3
𝑥𝑥2 = −2𝑥𝑥3
1
したがって固有値 6 に属する固有ベクトルはt � 2 �
−1
𝜆𝜆1 = 3 に属する固有ベクトル
𝑥𝑥1
3
1 −1 𝑥𝑥1
�1
5 −1� �𝑥𝑥2 � = 3 �𝑥𝑥2 �
𝑥𝑥3
𝑥𝑥3
−1 −1 3
①
3𝑥𝑥1 + 𝑥𝑥2 − 𝑥𝑥3 = 3𝑥𝑥1
𝑥𝑥1 + 5𝑥𝑥2 − 𝑥𝑥3 = 3𝑥𝑥2
−𝑥𝑥1 − 𝑥𝑥2 + 3𝑥𝑥3 = 3𝑥𝑥3
𝑥𝑥2 − 𝑥𝑥3 = 0
𝑥𝑥1 + 2𝑥𝑥2 − 𝑥𝑥3 = 0
−𝑥𝑥1 − 𝑥𝑥2 = 0
𝑥𝑥1 = −𝑥𝑥2
𝑥𝑥2 = 𝑥𝑥3
②
③
①’
②’
③’
1
したがって固有値 3 に属する固有ベクトルはt �−1�
−1
𝜆𝜆1 = 2 に属する固有ベクトル
𝑥𝑥1
3
1 −1 𝑥𝑥1
𝑥𝑥
𝑥𝑥
�1
5 −1� � 2 � = 2 � 2 �
𝑥𝑥3
𝑥𝑥3
−1 −1 3
3𝑥𝑥1 + 𝑥𝑥2 − 𝑥𝑥3 = 2𝑥𝑥1
①
𝑥𝑥1 + 5𝑥𝑥2 − 𝑥𝑥3 = 2𝑥𝑥2
②
③
−𝑥𝑥1 − 𝑥𝑥2 + 3𝑥𝑥3 = 2𝑥𝑥3
𝑥𝑥1 + 𝑥𝑥2 − 𝑥𝑥3 = 0
①’
𝑥𝑥1 + 3𝑥𝑥2 − 𝑥𝑥3 = 0
②’
③’
−𝑥𝑥1 − 𝑥𝑥2 + 𝑥𝑥3 = 0
−2𝑥𝑥2 = 0
①’- ②’
𝑥𝑥2 = 0
これを一に代入
𝑥𝑥1 − 𝑥𝑥3 = 0
②’+ ③
𝑥𝑥1 = 𝑥𝑥3
1
したがって固有 2 に属する固有ベクトルはt �0�
1
ここまでの結果をまとめると、固有値 𝜆𝜆1 = 6, 𝜆𝜆2 = 3, 𝜆𝜆3 = 2 に属する固有ベクトルは、それ
ぞれ
1
1
1
t � 2 �、t �−1� 、t �0�
1
−1
−1
それぞれの単位ベクトルは
1
1
√6
√3
−1
−1
1
√2
⎛2⎞
⎛−1⎞
𝒆𝒆𝟏𝟏 = ⎜√6⎟, 𝒆𝒆𝟐𝟐 = ⎜√3⎟ , 𝒆𝒆𝟑𝟑 = � 0 �
1
⎝ √ 6⎠
√2
⎝ √ 3⎠
となるので、スペクトル分解の結果は
𝑨𝑨 = 6𝒆𝒆𝟏𝟏 𝒆𝒆𝟏𝟏 ′ + 3𝒆𝒆𝟐𝟐 𝒆𝒆𝟐𝟐 ′ + 2𝒆𝒆𝒏𝒏 𝒆𝒆𝒏𝒏 ′
1
′
1
1
1
′
1
1 ′
√6
√6
√3
√3
⎛ ⎞⎛ ⎞
⎛ ⎞⎛ ⎞
2 ⎟⎜ 2 ⎟
−1⎟ ⎜−1⎟
⎛√2⎞ ⎛√2⎞
⎜
𝑨𝑨 = 6 ⎜ ⎟ ⎜ ⎟ + 3 ⎜
+
2
⎜ ⎟⎜ ⎟
⎜ 0 ⎟⎜ 0 ⎟
1
1
⎜ √6 ⎟ ⎜ √6 ⎟
⎜ √3 ⎟ ⎜ √3 ⎟
−1
−1
−1
−1
⎝√2⎠ ⎝√2⎠
⎝ √6 ⎠ ⎝ √6 ⎠
⎝ √3 ⎠ ⎝ √3 ⎠
となります。一応、確かにそのようになっているかどうか、計算して確かめてみましょう。
右辺の一項目
1
1
′
1
⎛ √6 ⎞ ⎛ √6 ⎞
⎛ √6 ⎞
2
2
2 −1
⎟⎜ ⎟
⎜2⎟ 1
�
6⎜
⎜ ⎟⎜ ⎟ = 6⎜ ⎟�
⎜ √6 ⎟ ⎜ √6 ⎟
⎜ √6 ⎟ √6 √6 √6
−1
−1
−1
⎝ √6 ⎠ ⎝ √6 ⎠
⎝ √6 ⎠
2 項目
1
1
1
−
3
6⎞
⎛ 6
1
2 −1
1
4
1
= 6⎜
4 −2�
− ⎟=� 2
6
3⎟
⎜ 3
−1 −2 1
1
1 1
⎝− 6 − 3 6 ⎠
1
1
′
1
⎛ √3 ⎞ ⎛ √3 ⎞
⎛ √3 ⎞
−1
−1
⎟⎜ ⎟
⎜ 1⎟ 1 − 1 − 1�
3⎜
⎜ ⎟ ⎜ ⎟ = 3 ⎜− ⎟ �
√3
√3
⎜ √3 ⎟ ⎜ √3 ⎟
⎜ √3⎟ √3
−1
−1
1
−
⎝ √3 ⎠ ⎝ √3 ⎠
⎝ √3⎠
1
1
1
−
−
3
3⎞
⎛ 3
1 −1 −1
1
1 1
⎟ = �−1 1
3 ⎜−
1�
3 ⎟
⎜ 3 3
−1 1
1
1
1 1
⎝− 3 3
3 ⎠
3 項目
1
1
′
1
1
⎛√2⎞ ⎛√2⎞
⎛√2⎞ 1
0
�
2⎜ 0 ⎟⎜ 0 ⎟ = 2⎜ 0 ⎟�
√2
√2
1
1
1
⎝√2⎠ ⎝√2⎠
⎝√2⎠
1
1
0
1 0 1
2
2⎞
⎛
= 2 ⎜0 0 0⎟ = �0 0 0�
1
1
1 0 1
0
2⎠
⎝2
右辺は
3
1 −1
1 0 1
1 −1 −1
1
2 −1
�2
5 −1�
1 � + �0 0 0� = � 1
4 −2� + �−1 1
−1 −1 3
1 0 1
−1 1
1
−1 −2 1
確かに、スペクトル分解の公式どおりの結果になっています。
計算作業を通じて、スペクトル分解が具体的に理解できたと思います。
2次形式
何故、ここまでスペクトル分解について説明してきたのかというと、スペクトル分解とい
うテクニックが多変量解析で使われるからです。
1
1
1
1
1
1
1
1
−
−
−
6
3
3
6⎞
3
3⎞
0
⎛
⎛
3
1 −1
2⎞
⎛2
1
4
1
1
1 1
⎟ + 2 ⎜0 0 0⎟
�1
5 −1� = 6 ⎜
− ⎟ + 3 ⎜−
6
3 ⎟
6⎟
⎜ 3
⎜ 3 3
1
1
−1 −1 3
1
1
1 1
1 1
0
2⎠
⎝2
⎝− 6 − 6 6 ⎠
⎝− 3 3
3 ⎠
というのが、直前にやったスペクトル分解の具体例ですが、よく見ると、対称行列を分解
した結果、対称行列の固有値倍の総和になっています。以前、対称行列でない一般の行列
について、
1
0
0
0
1
−𝟏𝟏
−𝟏𝟏
𝑨𝑨 = λ1 𝑷𝑷 � � 𝑷𝑷 + λ2 𝑷𝑷 � � 𝑷𝑷 + ⋯ + λn 𝑷𝑷 �0� 𝑷𝑷−𝟏𝟏
⋮
⋮
⋮
0
0
1
1
の、𝑷𝑷 �0� 𝑷𝑷−𝟏𝟏 とは何か、という疑問を掲げて、一般には意味がなさそうだが、特殊な場合
⋮
0
には意味を持つかもしれないと予測を述べておきました。
対称行列ならば、スペクトル分解によって、
𝑨𝑨 = 𝜆𝜆1 𝒆𝒆𝟏𝟏 𝒆𝒆𝟏𝟏 ′ + 𝜆𝜆2 𝒆𝒆𝟐𝟐 𝒆𝒆𝟐𝟐 ′ + ⋯ + 𝜆𝜆𝑝𝑝 𝒆𝒆𝒑𝒑 𝒆𝒆𝒑𝒑 ′
のように書けることを示しました。つまり、
1
λi 𝑷𝑷 �0� 𝑷𝑷−𝟏𝟏 = 𝜆𝜆𝑖𝑖 𝒆𝒆𝒊𝒊 𝒆𝒆𝒊𝒊 ′
⋮
0
ということです。𝒆𝒆𝒊𝒊 𝒆𝒆𝒊𝒊 ′ は対称行列になりますね。直感的にわからなければ、何か数字を入
れた行列を作って実際に計算してみたらよいでしょう。対称行列は、対称行列の固有値倍
の総和として書けるのです。こういうのはなんていうのかわかりません。空間幾何学的な
相似とは違うので「フラクタクル構造」というのとは違うのでしょうね。しかし、対称行
列が、その下のレベルの複数の対称行列から構成されるというのは、日本語でいえば、入
れ子構造とか、ロシアのマトリューシュカ人形のようなイメージですね。