1 内積と直交行列
定義 1.1 (直交行列).P⊤P=I(同値にP−1=P⊤)を満たす正方行列Pを直交行列という。
命題 1.2.Pが直交行列⟺Pの列が正規直交基底をなす(§D3.14 定義 1.6)⟺Pは長さを保つ(∥Px∥=∥x∥)。またdetP=±1。
証明.P⊤Pの(i,j)成分は第i列piと第j列pjの内積だから、P⊤P=Iは列が正規直交であることと同値である。正規直交なn本の組は一次独立である。実際、∑icipi=0とpjの内積を取るとcj=0を得る。Rnの一次独立なn本の組は基底なので、この組は正規直交基底である。
P⊤P=Iならば
∥Px∥2=(Px)⊤(Px)=x⊤P⊤Px=x⊤x=∥x∥2であり、Pは長さを保つ。逆にPが長さを保つとする。S=P⊤P−IとおくとS⊤=Sであり、任意のxについて
x⊤Sx=∥Px∥2−∥x∥2=0である。これをx+yへ適用して展開すると、Sの対称性から
0=(x+y)⊤S(x+y)=x⊤Sx+2x⊤Sy+y⊤Sy=2x⊤Syとなる。任意のx,yでx⊤Sy=0だから、x=ei、y=ejと取ればSの(i,j)成分がすべて0、すなわちS=Oである。よってP⊤P=Iである。
行列式は、積の行列式(§D3.4 定理 9.1)と転置の行列式(§D3.4 命題 6.1)からdet(P⊤P)=det(P⊤)detP=(detP)2=detI=1となりdetP=±1。▨
直交行列による変換は長さと角度を保ち、回転(det=+1)や鏡映(det=−1)がこれにあたります。
例 1.3 (回転行列が直交行列であることを確かめる).Q=(01−10)(原点まわりの90∘回転)について、
Q⊤Q=(0−110)(01−10)=(1001)=Iが成り立つので、Qは直交行列です。したがって命題 1.2よりQは内積と長さを保ちます。detQ=1なので、鏡映ではなく回転にあたることも読み取れます。
2 スペクトル定理の準備
命題 2.1 (固有値の実性・固有ベクトルの直交性).Aを実対称行列とする。
- λ∈Cとv∈Cn、v=0がAv=λvを満たすなら、λは実数である。
- 異なる実の固有値λ=μに属する実の固有ベクトルv,w∈Rnは直交する。
証明. 1を示す。Cnの上で⟨x,y⟩=∑ixiyiと定める。これは第1変数について線形、第2変数について共役線形である。Aは実行列なのでA=Aであり、さらにA⊤=Aであるから、任意のx,y∈Cnについて
⟨Ax,y⟩=(Ax)⊤y=x⊤A⊤y=x⊤Ay=x⊤Ay=x⊤Ay=⟨x,Ay⟩が成り立つ。3つめの等号でA⊤=Aを、4つめの等号でA=Aを用いた。Av=λv、v=0とすると
λ⟨v,v⟩=⟨Av,v⟩=⟨v,Av⟩=λ⟨v,v⟩であり、⟨v,v⟩=∑i∣vi∣2>0だからλ=λ、すなわちλは実数である。
2を示す。Av=λv、Aw=μwとすると、A⊤=Aから
λ⟨v,w⟩=⟨Av,w⟩=⟨v,Aw⟩=μ⟨v,w⟩であり、(λ−μ)⟨v,w⟩=0とλ=μから⟨v,w⟩=0を得る。▨
補題 2.2 (実対称行列は実の固有ベクトルをもつ).n≥1とし、Aをn次実対称行列とする。このとき、実数λとv∈Rn、v=0が存在してAv=λvとなる。vは長さ1に取ることができる。
証明. 固有多項式φ(λ)=det(A−λI)は実数を係数とするn次多項式である。§D3.12 定理 1.3により、φは複素数の範囲に根λ0をもつ。
det(A−λ0I)=0である。§D3.4 定理 10.1の証明は成分の四則演算だけを用い、実数の大小を用いないので、成分を複素数とする行列についてもそのまま通用する。したがって(A−λ0I)z=0はz=0となる複素数の解をもち、λ0はAの固有値である。よって命題 2.1によりλ0は実数である。
λ=λ0とおくとA−λIは実行列でdet(A−λI)=0であるから、§D3.4 定理 10.1を実数の範囲で適用して、(A−λI)x=0はx=0となる実数の解をもつ。これを∥x∥で割れば長さ1に取ることができる。▨
次の補題が、次数を1つ下げる操作を与えます。与えられた単位ベクトルを第1の座標軸へ移す直交行列を、鏡映として具体的に作ります。
補題 2.3 (単位ベクトルを座標軸へ移す鏡映).v∈Rnを長さ1のベクトルとする。このとき、H⊤=HかつH2=Iを満たす行列Hで、Hv=e1となるものが存在する。このときH⊤H=H2=IなのでHは直交行列であり、He1=H2v=vでもある。
証明.v=e1ならH=Iとすればよい。v=e1とし、u=v−e1=0とおいて
H=I−∥u∥22uu⊤と定める。u=0は実ベクトルなので∥u∥2>0であり、Hは定義される。(uu⊤)⊤=uu⊤よりH⊤=Hである。またu⊤u=∥u∥2だから
H2=I−∥u∥24uu⊤+∥u∥44u(u⊤u)u⊤=I−∥u∥24uu⊤+∥u∥24uu⊤=Iである。さらに∥v∥=∥e1∥=1から
∥u∥2=(v−e1)⊤(v−e1)=2−2e1⊤v,u⊤v=(v−e1)⊤v=1−e1⊤vであり、v=e1より∥u∥2=0、したがって2(u⊤v)/∥u∥2=1である。よって
Hv=v−∥u∥22(u⊤v)u=v−u=e1となる。▨
3 実対称行列のスペクトル定理
定理 3.1 (スペクトル定理). 実対称行列A(A⊤=A)は、ある直交行列PでP⊤AP=D(対角)と対角化できる。固有値はすべて実数で、異なる固有値の固有ベクトルは直交する。
証明. 次数nについての帰納法で示す。固有値が実数であることと固有ベクトルの直交性は命題 2.1で示したので、直交行列Pの存在を示せばよい。
n=1のときはP=(1)とすればよい。n≥2とし、n−1次の実対称行列について主張が成り立つと仮定する。
補題 2.2により、実数λと長さ1のベクトルv∈RnでAv=λvとなるものを取る。補題 2.3のHを取り、A′=H⊤AHとおく。Hは直交行列であり(定義 1.1)、
(A′)⊤=H⊤A⊤(H⊤)⊤=H⊤AH=A′よりA′は実対称行列である。補題 2.3のHe1=vとH⊤=Hから
A′e1=H⊤AHe1=HAv=H(λv)=λHv=λe1となる。すなわちA′の第1列は(λ,0,…,0)⊤である。A′は対称なので第1行も(λ,0,…,0)であり、
A′=(λ00⊤B)と書ける。ここでBはA′から第1行と第1列を除いたn−1次行列で、A′の対称性からB⊤=Bである。
帰納法の仮定により、n−1次の直交行列QでQ⊤BQが対角行列となるものが存在する。
R=(100⊤Q)とおくと、ブロックごとの計算からR⊤R=IなのでRは直交行列である。P=HRとおくと
P⊤P=R⊤H⊤HR=R⊤R=IよりPも直交行列であり、
P⊤AP=R⊤(H⊤AH)R=R⊤A′R=(λ00⊤Q⊤BQ)は対角行列である。よってn次でも主張が成り立つ。▨
この構成は計算にもそのまま使えます。単位固有ベクトルを1本求めて鏡映Hを作り、H⊤AHの右下のn−1次ブロックへ同じ操作を繰り返せば、直交行列Pが積として得られます。
実対称行列は「直交する軸の伸縮」に必ず分解でき、対角化可能性の心配が要らない最良のクラスです。二次形式の標準化(線形代数II の§E3.39 定理 3.1。その符号数が基底によらないことは§E3.40 定理 2.2 (Sylvester の慣性法則))、主成分分析、振動の基準モード(固有振動)など応用の宝庫で、無限次元では関数解析のスペクトル定理へ一般化されます。