2次形式 何故、ここまでスペクトル分解について説明してきたのかというと

2次形式
何故、ここまでスペクトル分解について説明してきたのかというと、スペクトル分解とい
うテクニックが、しばしば多変量解析で使われるからです。
1
1
1
1
1
1
1
1
−
−
−
3
6⎞
3
3⎞
0
⎛ 6
⎛ 3
3
1 −1
2⎞
⎛2
1
4
1
1
1 1
⎟ + 2 ⎜0 0 0⎟
�1
5 −1� = 6 ⎜
− ⎟ + 3 ⎜−
6
3 ⎟
6⎟
⎜ 6
⎜ 3 3
1
1
−1 −1 3
1
1
1 1
1 1
0
2⎠
⎝2
⎝− 6 − 6 6 ⎠
⎝− 3 3
3 ⎠
というのが、直前にやったスペクトル分解の具体例ですが、よく見ると、対称行列を分解
した結果、対称行列の固有値倍の総和になっています。
何故使われるのかというと、対称行列をスペクトル分解をすると、また対称行列になるか
らです。これを繰り返すとどうなるのか考えたくなるのですが(多分、どこかで固有値が
0になって消えてしまうのでしょうね。無限に繰り返すことはありそうもない。
(これは、
先ほどの洟垂れ小僧の馬鹿な妄想です。全く何の意味もありません。しかしやってみると
それなりに面白いことがわかります。)。
そういう、妄想にとらわれることをやめて、本論に戻ります。
𝑎𝑎𝑥𝑥1 2 + 𝑏𝑏𝑥𝑥2 2 + 𝑐𝑐𝑥𝑥3 2 + 𝑑𝑑𝑥𝑥1 𝑥𝑥2 + 𝑒𝑒𝑥𝑥2 𝑥𝑥3 + 𝑓𝑓𝑥𝑥3 𝑥𝑥1
のような式を2次形式と呼びます。2次式だけでできているからです
この呼び方に従うと、
は 1 次形式ということになります。
a𝑥𝑥1 + 𝑏𝑏𝑥𝑥2 + 𝑐𝑐𝑥𝑥3
1次形式を行列で表すと
𝑎𝑎 ′ 𝑥𝑥1
�𝑏𝑏� �𝑥𝑥2 �
𝑥𝑥3
𝑐𝑐
𝑎𝑎
𝑎𝑎 ′
となります。�𝑏𝑏� は、�𝑏𝑏�の転置行列(a b c)です。
𝑐𝑐
𝑐𝑐
例としたあげた2次形式(𝑎𝑎𝑥𝑥1 2 + 𝑏𝑏𝑥𝑥2 2 + 𝑐𝑐𝑥𝑥3 2 + 𝑑𝑑𝑥𝑥1 𝑥𝑥2 + 𝑒𝑒𝑥𝑥2 𝑥𝑥3 + 𝑓𝑓𝑥𝑥3 𝑥𝑥1)を行列で表すと次
のようになります。
𝑎𝑎 𝑑𝑑 𝑓𝑓 𝑥𝑥1
𝑥𝑥3 ) �0 𝑏𝑏 𝑒𝑒 � �𝑥𝑥2 �
0 0 𝑐𝑐 𝑥𝑥3
行列の左右から転置したベクトルと元のベクトルを掛けると2次形式になります。
(𝑥𝑥1
𝑥𝑥2
確かめます。
(𝑥𝑥1
𝑥𝑥2
𝑎𝑎
𝑥𝑥3 ) �0
0
𝑑𝑑
𝑏𝑏
0
𝑓𝑓
𝑒𝑒 � = (𝑎𝑎𝑥𝑥1
𝑐𝑐
𝑑𝑑𝑥𝑥1 + 𝑏𝑏𝑥𝑥2 + 𝑓𝑓𝑥𝑥1 + 𝑒𝑒𝑥𝑥2 + 𝑐𝑐𝑥𝑥3 )
(𝑎𝑎𝑥𝑥1
𝑥𝑥1
𝑥𝑥
𝑑𝑑𝑥𝑥1 + 𝑏𝑏𝑥𝑥2 + 𝑓𝑓𝑥𝑥1 + 𝑒𝑒𝑥𝑥2 + 𝑐𝑐𝑥𝑥3 ) � 2 �
𝑥𝑥3
= 𝑎𝑎𝑥𝑥1 2 + 𝑏𝑏𝑥𝑥2 2 + 𝑐𝑐𝑥𝑥3 2 + 𝑑𝑑𝑥𝑥1 𝑥𝑥2 + 𝑒𝑒𝑥𝑥2 𝑥𝑥3 + 𝑓𝑓𝑥𝑥3 𝑥𝑥1
確かに、2次形式を表すことができます。ですから、このように書いても間違いではあり
ませんし、そちらの方が普通でしょう。
しかし、ここでは、次のように表したいのです。
(𝑥𝑥1
𝑥𝑥2
𝑎𝑎
⎛
𝑑𝑑
𝑥𝑥3 ) ⎜
⎜2
𝑓𝑓
⎝2
実際にそうなっていることを確かめます。
(𝑥𝑥1
𝑥𝑥2
𝑎𝑎
⎛
𝑑𝑑
𝑥𝑥3 ) ⎜
⎜2
𝑓𝑓
⎝2
𝑑𝑑
2
𝑏𝑏
𝑒𝑒
2
𝑑𝑑
2
𝑏𝑏
𝑒𝑒
2
𝑓𝑓
2⎞
𝑒𝑒
⎟ = �𝑎𝑎𝑥𝑥1 + 𝑑𝑑 𝑥𝑥2 + 𝑓𝑓 𝑥𝑥3
2⎟
2
2
𝑐𝑐 ⎠
𝑑𝑑
𝑓𝑓
�𝑎𝑎𝑥𝑥1 + 𝑥𝑥2 + 𝑥𝑥3
2
2
𝑓𝑓
2⎞ 𝑥𝑥
1
𝑒𝑒
⎟ �𝑥𝑥2 �
2⎟ 𝑥𝑥3
𝑐𝑐 ⎠
𝑑𝑑
𝑒𝑒
𝑥𝑥1 + 𝑏𝑏𝑥𝑥2 + 𝑥𝑥3
2
2
𝑑𝑑
𝑒𝑒
𝑥𝑥 + 𝑏𝑏𝑥𝑥2 + 𝑥𝑥3
2 1
2
𝑓𝑓
𝑒𝑒
𝑥𝑥1 + 𝑥𝑥2 + 𝑐𝑐𝑥𝑥3 �
2
2
𝑥𝑥1
𝑓𝑓
𝑒𝑒
𝑥𝑥
𝑥𝑥
+
𝑐𝑐𝑥𝑥
�
�
2�
𝑥𝑥 + 2
3
2 1 2
𝑥𝑥3
𝑑𝑑
𝑓𝑓
𝑑𝑑
𝑒𝑒
𝑓𝑓
𝑒𝑒
= a𝑥𝑥1 2 + 𝑥𝑥1 𝑥𝑥2 + 𝑥𝑥1 𝑥𝑥3 + 𝑥𝑥1 𝑥𝑥2 + 𝑏𝑏𝑥𝑥2 2 + 𝑥𝑥1 𝑥𝑥3 + 𝑥𝑥1 𝑥𝑥3 + 𝑥𝑥2 𝑥𝑥3 + 𝑐𝑐𝑥𝑥3 2
2
2
2
2
2
2
= 𝑎𝑎𝑥𝑥1 2 + 𝑏𝑏𝑥𝑥2 2 + 𝑐𝑐𝑥𝑥3 2 + 𝑑𝑑𝑥𝑥1 𝑥𝑥2 + 𝑒𝑒𝑥𝑥2 𝑥𝑥3 + 𝑓𝑓𝑥𝑥3 𝑥𝑥1
式 106
つまり、わざわざ対称行列にしているのです。そこが重要なところです。
一般的に𝑝𝑝次の対称行列は次のように書けます。
(𝑥𝑥1
𝑥𝑥2
𝑎𝑎11 ⋯ 𝑎𝑎1𝑗𝑗
⋮
⋱
⋮
⎛
⋯ 𝑥𝑥𝑝𝑝 ) 𝑎𝑎𝑖𝑖1 ⋯ 𝑎𝑎𝑖𝑖𝑖𝑖
⎜
⋮
⋱
⋮
𝑎𝑎
𝑎𝑎
⋯
𝑝𝑝𝑝𝑝
⎝ 𝑝𝑝1
𝑎𝑎11 ⋯ 𝑎𝑎1𝑗𝑗
𝑥𝑥1
⋮
⋱
⋮
𝑥𝑥2
⎛
ベクトル� ⋮ �を𝒙𝒙、⎜ 𝑎𝑎𝑖𝑖1 ⋯ 𝑎𝑎𝑖𝑖𝑖𝑖
⋮
⋱
⋮
𝑥𝑥𝑝𝑝
𝑎𝑎
𝑎𝑎
⋯
𝑝𝑝𝑝𝑝
⎝ 𝑝𝑝1
て次にように書くことができます。
⋯ 𝑎𝑎1𝑝𝑝
𝑥𝑥1
⋱
⋮
⋯ 𝑎𝑎𝑖𝑖𝑖𝑖 ⎞ 𝑥𝑥2
⎟� ⋮ �
⋱
⋮
𝑥𝑥
⋯ 𝑎𝑎𝑝𝑝𝑝𝑝 ⎠ 𝑝𝑝
⋯ 𝑎𝑎1𝑝𝑝
⋱
⋮
⋯ 𝑎𝑎𝑖𝑖𝑖𝑖 ⎞
⎟を𝑨𝑨とあらわすと、この式はもっと簡便化し
⋱
⋮
⋯ 𝑎𝑎𝑝𝑝𝑝𝑝 ⎠
𝒙𝒙′𝑨𝑨𝑨𝑨
ここでは𝒙𝒙′は𝒙𝒙の転置行列の意味ですが、転置行列は 𝐭𝐭𝐱𝐱と記述する方が一般的かもしれませ
ん。教科書では
𝒕𝒕
𝒙𝒙𝑨𝑨𝒙𝒙
と書かれる方が多いと思いますが、同じ意味です。というか、この解説では先のことを考
慮せずに、無計画に、転置行列を𝑨𝑨′ のように記載することにしてしまったのです。その方が
𝒕𝒕
と記述する方が混乱が少ないですね。
簡単そうだったからですが、少し後悔しています。𝑨𝑨
でももう仕方がないので、このままいきます。
証明はしていないけれど、すでに述べたように対称行列は対角化できるので、𝑨𝑨は対角化で
きるものとして、その結果できる相似の行列を𝑩𝑩とします(本当は𝑨𝑨′ と書きたいのですが、
ここでは違う意味(転置行列)に使われているので新たな行列𝑩𝑩とします。)
。対角行列です
から
ようになっています。
𝑏𝑏11 0 0
⎛0 ⋱ ⋮
𝑩𝑩 = ⎜ 0 ⋯ 𝑏𝑏𝑖𝑖𝑖𝑖
⋮ ⋱
⋮
0
⎝0 ⋯
⋯ 0
⋱ ⋮ ⎞
⋯ 0 ⎟
⋱
⋮
⋯ 𝑏𝑏𝑝𝑝𝑝𝑝 ⎠
これを使って2次形式を表すと
𝒙𝒙′𝑩𝑩𝑩𝑩
です。𝒙𝒙の個々の成分をつかって書けば
𝑝𝑝
� 𝑏𝑏𝑖𝑖𝑖𝑖 𝑥𝑥𝑖𝑖 2
𝑖𝑖=1
というかたちで、これが一定の正の値を取るとすると
𝑝𝑝
のような形になって
� 𝑏𝑏𝑖𝑖𝑖𝑖 𝑥𝑥𝑖𝑖 2 = r2
𝑖𝑖=1
ここで、この式の空間的なイメージを共有しておきます。2次の行列だとすると
𝑏𝑏11 𝑥𝑥1 2 + 𝑏𝑏22 𝑥𝑥2 2 = 𝑟𝑟 2
𝑏𝑏11 、𝑏𝑏22 がともに正だとすれば、楕円になって、どちらかが負ならば双曲線になりますが、
肝心なことは、𝑥𝑥1 𝑥𝑥2のような項が式に含まれていると、その軌跡は
のような、傾きをもった楕円になりますが、対角化することによって、
のような、傾きの無い楕円になります。
つまり、対角化の作業は、3次の行列ならば、傾きを持った楕円球(ラグビーボールの形)
の傾きをなくす。もっと高次元ならば、言い方が良くわからないのですが、𝑝𝑝次元の楕円球
の傾きをなくす変換をイメージすればよいでしょう。係数に負の値が含まれる場合の多次
元の図形的なイメージは、さらに表現に困ります。かなり無理をして具体的なイメージを
表現すると、左右の高い山から稜線が下りてきて、その稜線の一番低いところから、尾根
筋と直交する形で両側に2つの下り坂があるというような形の物が傾いていたのを、傾き
をなくすというような感じです。何を言っているのかわかりませんか。書いている方もわ
からないだろうと思って書いていますが、地図でそういう地形をさがして、それを立体図
に描くと多分わかります。地図がなければ、人の顔を考えます。額から鼻筋をとおって鼻
の頭までの線が、両目の間をつなぐ線が交差するあたりの立体的な面を考えます。3次元
的にはそんな感じですが、4次元以上になると、どう表現したらよいのか全く分かりませ
ん。まあ、これもまたどうでも良いことです。
上記の内容と全く同じことを、別の表現で説明します。意味はありませんが理解を深める
ためです。
変換された楕円の軌跡を(𝑥𝑥 1 𝑥𝑥2 )としましょう。
一次変換なのだから
と書けます。これを展開すれば、
𝑥𝑥1
𝑎𝑎
�𝑥𝑥 � = �
2
𝑐𝑐
𝑏𝑏 𝑋𝑋1
�� �
𝑑𝑑 𝑋𝑋2
𝑥𝑥1 = a𝑋𝑋1 + 𝑏𝑏𝑋𝑋2
𝑥𝑥2 = 𝑐𝑐𝑋𝑋1 + 𝑐𝑐𝑋𝑋2
となります。
逆行列を使うと、
となって、展開すると、
1
𝑑𝑑
�
(𝑎𝑎𝑎𝑎 − 𝑏𝑏𝑏𝑏) −𝑐𝑐
𝑋𝑋1 =
となります。
𝑋𝑋2 =
𝑋𝑋
−𝑏𝑏 𝑥𝑥1
� �𝑥𝑥 � = � 1 �
𝑋𝑋2
𝑎𝑎
2
1
(𝑑𝑑𝑥𝑥1 − 𝑏𝑏𝑥𝑥2 )
(𝑎𝑎𝑎𝑎 − 𝑏𝑏𝑏𝑏)
1
(−𝑐𝑐𝑥𝑥1 + 𝑎𝑎𝑥𝑥2 )
(𝑎𝑎𝑎𝑎 − 𝑏𝑏𝑏𝑏)
これを
2
𝑋𝑋1 + 𝑋𝑋2 2 = 𝑟𝑟 2
𝑥𝑥1
に代入すれば求める𝒙𝒙 = �𝑥𝑥 �の軌跡が描けます
2
2
2
1
1
(𝑑𝑑𝑥𝑥1 − 𝑏𝑏𝑥𝑥2 )� + �
(−𝑐𝑐𝑥𝑥1 + 𝑎𝑎𝑥𝑥2 )�
(𝑎𝑎𝑎𝑎 − 𝑏𝑏𝑏𝑏)
(𝑎𝑎𝑎𝑎 − 𝑏𝑏𝑏𝑏)
�
=
=
1
{(𝑑𝑑𝑥𝑥1 − 𝑏𝑏𝑥𝑥2 )2 + (−𝑐𝑐𝑥𝑥1 + 𝑎𝑎𝑥𝑥2 )2 }
(𝑎𝑎𝑎𝑎 − 𝑏𝑏𝑏𝑏)2
1
{(𝑐𝑐 2 + 𝑑𝑑 2 )𝑥𝑥1 2 − 2(𝑎𝑎𝑎𝑎 + 𝑏𝑏𝑏𝑏)𝑥𝑥1 𝑥𝑥2 + (𝑎𝑎2 + 𝑏𝑏2 )𝑥𝑥2 2} = 𝑟𝑟 2
(𝑎𝑎𝑎𝑎 − 𝑏𝑏𝑏𝑏)2
(𝑑𝑑 2 + 𝑐𝑐 2 )と(𝑏𝑏2 + 𝑎𝑎2 )はともに正だから、(𝑑𝑑 2 + 𝑐𝑐 2 ) ≠ (𝑏𝑏2 + 𝑎𝑎2 )ならば{ }の中は楕円です。
のように、楕円が傾きを持っているのは、𝑥𝑥1 𝑥𝑥2の項があるからです。
𝑎𝑎𝑎𝑎 + 𝑏𝑏𝑏𝑏 = 0
の時にどうなっているかを考えてみます。
を二次形式で表すと
(𝑐𝑐 2 + 𝑑𝑑 2 )𝑥𝑥1 2 − 2(𝑎𝑎𝑎𝑎 + 𝑏𝑏𝑏𝑏)𝑥𝑥1 𝑥𝑥2 + (𝑎𝑎2 + 𝑏𝑏2 )𝑥𝑥2 2
𝒙𝒙′ �
なので、𝑐𝑐 2 + 𝑑𝑑 2 = 𝛼𝛼
𝛼𝛼
となるので、�
0
𝑐𝑐 2 + 𝑑𝑑 2
−(𝑎𝑎𝑎𝑎 + 𝑏𝑏𝑏𝑏)
� 𝒙𝒙
−(𝑎𝑎𝑎𝑎 + 𝑏𝑏𝑏𝑏)
𝑎𝑎2 + 𝑏𝑏2
𝑎𝑎𝑎𝑎 + 𝑏𝑏𝑏𝑏 = 0
𝑎𝑎2 + 𝑏𝑏2 = 𝛽𝛽と表すと、
𝛼𝛼
𝒙𝒙′ �
0
0
� 𝒙𝒙
𝛽𝛽
0
�の固有値、固有ベクトルを求めます。例によって固有方程式を作り
𝛽𝛽
𝛼𝛼 − 𝜆𝜆
�
0
0
�=0
𝛽𝛽 − 𝜆𝜆
(𝜆𝜆 − 𝛼𝛼)(𝜆𝜆 − 𝛽𝛽) = 0
𝜆𝜆 = 𝛼𝛼 または、𝜆𝜆 = 𝛽𝛽𝛽𝛽
固有値𝛼𝛼に属する固有ベクトルは、
𝛼𝛼
�
0
という連立方程式がたちますが
𝑥𝑥1 は不定(つまり何でもよい)
𝑥𝑥1
0 𝑥𝑥1
� � � = 𝛼𝛼 �𝑥𝑥 �
𝛽𝛽 𝑥𝑥2
2
𝛼𝛼𝑥𝑥1 = 𝛼𝛼𝑥𝑥1
𝛽𝛽𝑥𝑥2 = 𝛼𝛼𝑥𝑥2
なので、𝛽𝛽 = 𝛼𝛼または、𝑥𝑥2 = 0
となります。𝛽𝛽 = 𝛼𝛼ならば
(𝛽𝛽 − 𝛼𝛼)𝑥𝑥2 = 0
𝛼𝛼𝛼𝛼1 2 + 𝛼𝛼𝑥𝑥2 2 = 𝑅𝑅
という式になるので、これは円です。
𝑡𝑡
そうでなければ 固有ベクトルは� �となるので、これは𝑥𝑥1 の軸。
0
同様にして、固有値βに属する固有ベクトルは、𝛽𝛽 ≠ 𝛼𝛼のとき、𝑥𝑥2 の軸ということになりま
す。
𝛽𝛽 = 𝛼𝛼のときの固有ベクトルは、不定ということなので、すべてのベクトルが固有ベクトル
だという言い方もあるかもしれません。
いずれにしても、下図の、黒い円か、赤い楕円かのいずれかです。
𝑎𝑎𝑎𝑎 + 𝑏𝑏𝑏𝑏 ≠ 0
ならば、
のような傾きをもった楕円です。
2次形式の対角化を主軸変換といい、主軸変換の結果できる傾きの無い二次形式を標準形
といいます。つまり、2次形式を対角化することは、空間幾何学的には傾きをなくすこと、
つまり標準化です。