固有値が実数であることの証明
まず、実対称行列 A の固有値 λ が必ず実数になることを示します。
Ax=λx(x=0)
とする。この式の両辺の複素共役をとり、転置を施すと
xˉTAT=λˉxˉT
となる。A は実対称行列なので AT=A。よって
xˉTA=λˉxˉT
となる。この式の右から x を掛けると、
xˉTAx=λˉxˉTx
一方で、元の定義式の左から xˉT を掛けると
xˉTAx=λxˉTx
したがって、
λ(xˉTx)=λˉ(xˉTx)
x=0 より xˉTx=∣x∣2>0 なので、λ=λˉ。これにより、固有値 λ は実数であることが証明されました。
実対称行列 A が直行分解できる証明
行列のサイズ n に関する数学的帰納法で証明します。
1. n=1 のとき
1×1 の行列はそれ自体が対角行列であり、直交行列 Q=[1] を用いれば常に成立します。
2. n=k−1 で成立すると仮定
n=k を示す k×k の実対称行列 A を考えます。
① 最初の固有ベクトルを取り出すA は少なくとも1つの実数固有値 λ1 を持ちます。それに対応する大きさが1の固有ベクトルを q1 とします(Aq1=λ1q1)。
② 直交基底の構成 q1 を含む Rk の正規直交基底 {q1,q2,…,qk} を作ります(シュミットの正規直交化法などを使用)。
これらを列ベクトルとする直交行列を Q1=[q1 q2 … qk] とします。
③ 行列の相似変換(ブロック化)Q1TAQ1 を計算すると、以下のようになります。
Q1TAQ1=q1Tq2T⋮qkT(Aq1Aq2…Aqk)
ここで、第1列目に注目すると:
q1TAq1q2TAq1⋮qkTAq1=λ1q1Tq1λ1q2Tq1⋮λ1qkTq1=λ10⋮0
(※正規直交性 qiTqj=δij を利用)
④ 対称性の維持と帰納法の適用Q1TAQ1 も対称行列なので、第1行目も同様に (λ1,0,…,0) となります。したがって、Q1TAQ1=(λ100TAk−1)ここで Ak−1 は (k−1)×(k−1) の実対称行列です。帰納法の仮定により、Ak−1 は直交行列 Q′ を用いて Q′TAk−1Q′=Dk−1 と対角化できます。
⑤ 全体の直交行列の構成Q2=(100TQ′) とおくと、Q2 も直交行列であり、(Q1Q2)TA(Q1Q2)=Q2T(Q1TAQ1)Q2=(λ100TDk−1)=Dとなります。Q=Q1Q2 とおけば、これは直交行列の積なので直交行列です。
以上により、A=QDQT(または QTAQ=D)が全ての n で成立することが示されました。