tkenichi の日記

毒舌皮肉系恥さらし日記

Rayleigh商 を増やす方向

f:id:tkenichi:20110130134437j:image

もう少しこの話にお付き合いください。

復習(記号を少し変えた)。実n次元空間のm次元直交基全体からなるStiefel多様体

 V_{n,m} = \{ Q \in \mbox{Mat}(n,m) | Q^{T} Q = 1_m \}

とする。直交基が張る部分空間上に実対称行列  A を縮退した行列 Q^{T}AQ のRayleigh商は

Ray_{Q^{T}AQ}(x) = \frac{x^{T}Q^{T}AQx}{x^{T}x}

となる。  A固有値を求めるときに、Rayleigh商の xについて最小値の、 Qについての最大値が A のm番目の固有値と一致するというのが Courant の min-max 原理だった。

さて、Ray_{Q^{T}AQ}(x)でxを固定して、 Qを変化させたときに大きくするにはどうすればよいか?
「方向」を調べるために、接空間を求めておくと、

 T_{Q}V_{n,m} = \{ U \in \mbox{Mat}(n,m) | Q^{T} U + U^{T}Q = 0 \}

となる。Ray_{Q^{T}AQ}(x) Qの関数と見て、 U 方向に微分してみると

 2\frac{x^{T}U^{T}AQx}{x^{T}x}

となる。分子を内積を使って書くと、

 2 (Ux,AQx)

すなわち、 U Qにおいて、 Aを掛け算する方向に近ければ、微分係数の値を大きくすることができることになる。いわゆる部分空間反復法では、 Aを掛けてできる部分空間列を考えるが、そのことの裏付けのひとつであり、 Aを掛けるのがある意味で最善だということもわかる。