固有ベクトルが直交するのは

線形変換において、固有ベクトルが直交するのは、その線形変換を表す行列が対称行列(複素数ならエルミート行列)となっていたときである。
これは線形代数の肝だと思うのですが、なぜそうなるのか、直感的なイメージを思い描くのは簡単ではありません。
そこで、2x2の実対称行列に限定して、固有ベクトルが直交するイメージを描いてみました。

まずは線形代数の復習から。
平面上に描いた図形の、拡大、縮小、回転、反転、平行四辺形への変形は、2x2の行列で表すことができます。(ただし、図形の平行移動は扱わないことにします)
平面図形の変形とは、要するに方眼紙上の1個の正方形を、どのような形にもってくるか、ということです。

この図は、正方形の横を表すベクトル(1,0)を(a,c)に、縦を表すベクトル(0,1)を(b,d)に変形した様子です。
このように a, b, c, d 4つの数字でもって、正方形がどのように形を変えるかを表すことができるわけです。
これが行列による線形変換のイメージです。

このような図形の変形を行ったとき、「変形によって動かない直線」ができることがあります。
たとえば上下左右の反転では、垂直な線と水平な線は動きません。
(線の中の点が動かない、という意味ではありません。
 直線を変形した結果が、もとの直線の上に重なるという意味です。)
この「動かない直線」の向きを表すベクトルが固有ベクトルです。
変形後の直線が、もとの直線を何倍引き延ばしたものになっているか、その倍率が固有値です。
2x2行列の場合、固有ベクトルは一般には2本出てきます。
回転といった変形では、動かない直線はどこにもできませんが、
そのときは固有ベクトル複素数になっているのだと考えられます。
(実質的に二次方程式の答と同じことです。)

さて、ここで2本の動かない直線が互いに直交していると、実際にとても応用価値が高くなるんです。
直角であれば、その2本の直線を新たな座標軸として使うことができます。
そして、この座標軸から眺めると、変形の様子が素直な形で、分かりやすく見えてくるんです。
で、今日の本題。どういったときに、固有ベクトルは直交するのか?
答はよく知られていて、「変換行列が対称行列だったとき」です。
対称行列とは、行列の左上から右下に引いた対角線を中心に、上三角と下三角が鏡に映したように正反対になっている行列のこと。
2x2行列の場合には、右上(b)と、左下(c)の値が同じ行列のことです。
それでは、なぜ対称行列では、固有ベクトルが直交するのでしょうか?

簡単な例として、
  1, 2
  2, 1
という行列を考えてみましょう。

方眼紙の変形を思い描けば、この変換で動かない直線は、斜め45度に2本出てくることが分かります。
ちょうどパンタグラフを折りたたむみたいな感じ。
確かに、この例だと対称行列によって、固有ベクトルが直交していることがわかります。

それでは、次の例はどうでしょうか。
  1, 2
  2, -2

固有ベクトルが直交しているかどうか、図から読み取れますか?
上手い具合に斜めにひしゃげたところ、たまたま固有ベクトルが直交していた、といった感じでしょう。
この図だけから直交の様子を見抜くのは、やはり簡単ではないのです。

そこで視点を変えて、逆に直交する固有ベクトルが2本あったとき、変換行列はどうなるかを考えてみました。
互いに直交する固有ベクトル2本による変形とは、つまり、
平面全体をそれぞれの固有ベクトルの方向に拡大縮小することです。
そうした「斜めの拡大縮小」を行ったとき、方眼紙の正方形がどのように変形されるのかを調べてみます。
1個目の固有ベクトルが、X軸に対して角度θの向きにあったとします。
その固有値はλ1だったとしましょう。
2個目の固有ベクトルは1個目に対して直角で、その固有値はλ2であるとします。
まずはX軸上の(1,0)ベクトルの変換先について。

この図から、(1,0)ベクトルの変換先は、(λ1 Cosθ, λ2 Sinθ) を時計回りにθだけ回転させたところだと分かります。
計算すると、それは (λ1 (Cosθ)^2 + λ2 (Sinθ)^2 , (λ2 - λ1) Sinθ Cosθ) になります。
(時計回りのθ回転は
  Cosθ, Sinθ
  -Sinθ, Cosθ
これを掛け算するだけ。)

同じようにして、Y軸上の(0,1)ベクトルがどこに行くかを調べてみると、
 ( (λ2 - λ1) Sinθ Cosθ, λ1 (Sinθ)^2 + λ2 (Cosθ)^2 )
となります。
以上の、(1,0)ベクトルの変換先、(0,1)ベクトルの変換先を並べて書いたものが変換行列なのですから、
結果はこういうこと。
  λ1 (Cosθ)^2 + λ2 (Sinθ)^2 ,  (λ2 - λ1) Sinθ Cosθ
  (λ2 - λ1) Sinθ Cosθ,    λ1 (Sinθ)^2 + λ2 (Cosθ)^2
式は長ったらしいけど、確かに対称行列になってますね。

逆に、対称行列であれば、必ず固有ベクトルが直交するのか?(十分条件
2x2の対称行列には、3個の数字があります。
(全部で4個の数字のうち、右上と左下が同じだから、3個。)
上の式には未知数が λ1, λ2, θ の3個ですから、ちょうど3個の数字によって、3つの未知数が定まります。
なので、3つの未知数が解ける場合には、対称行列の固有ベクトルが直交することが言えるわけです。
( λ2 = λ1 のときは、3つの未知数を解くことができないので、直交する固有ベクトルが出てきません。)

※ 3/9 追記
対称行列による変換のイメージを絵にしてみました。
平面全体を、固有ベクトル(1)の方向にλ1だけ引き延ばし、
それと直交する固有ベクトル(2)の方向にλ2だけ引き延ばす、ということは、、、

こんな感じになるでしょう。
図中の曲線は、パラメーター t を用いて
  x = λ1 ^ t
  y = λ2 ^ t
で表されるような曲線です。
変換行列が対称になっているということは、図中で★印をつけた箇所の長さが等しくなる、ということです。
(★印は、ベクトル(1,0)の変換先のY成分と、ベクトル(0,1)の変換先のX成分です。)

上の絵は、λ1、λ2共に拡大している場合だったのですが、
もしλ2が縮小していた場合はこんな風になります。

この場合にも、★印を付けた箇所の長さが等しくなっています。

※部分的に対称な行列 (2010/06/04追記, 07/07修正)