第1回,第2回, 第3回
こんにちは~
もうGWも終わってしまいますね(:_;)
前回までは対称行列のH-直交行列による
スペクトル分解(対角化)を導くために色々とやってきました.
今日はそれを使って遂にR(x)の最大化問題を解きましょう!!
まずは前回のおさらいです( ..)φ
実対称行列 Aのスペクトル分解は…
A = \sum_{i=1}^n \lambda_i H v_i v_i^t Hここで λi は一般化固有値で vi は λi に対応する一般化固有ベクトルでしたね~
これより,Aの二次形式は
\begin{aligned} x^t A x &= \sum_{i=1}^n \lambda_i x^t H v_i v_i^t H x
= \sum_{i=1}^n \lambda_i \langle v_i, x \rangle_H^2 \\
&\le \lambda_{\rm max} \sum_{i=1}^n \langle v_i, x \rangle_H^2 = \lambda_{\rm max} \lVert x \rVert_H^2\end{aligned}ここで λmax は最大の λi で,最後の等号は vi がH-正規直交基底をなすことから
x = \sum_{i=1}^n \langle x, v_i \rangle_H v_i従ってx ≠ 0ならば
R(x) = \frac{x^t A x}{x^t H x} = \frac{x^t A x}{\lVert x \rVert_H^2} \le \lambda_{\rm max}さらに,等号は x が λmax に対応する一般化固有ベクトル vmax の
時に成り立つことは明らかでしょう!
まとめ: 一般化Rayleigh商は(A, H)の最大一般化固有値 λmax を最大値に持ち,それは λmax に対応する一般化固有ベクトル vmax で達成される:
R(x) \le R(v_{\rm max}) = \lambda_{\rm max}\quad \text{for}\ x \neq 0そのうちこれを解くアルゴリズムなんかについても書けたらいいと思ってます!
それでは~(^^)/
~*~*~ 補足 ~*~*~
実はこの問題,変数変換を考えると
通常のRayleigh商最大化問題に帰着されます(-_-;) ぉぃぉぃ
Hは実対称なので直交行列で対角化できます:
H = U \Sigma U^t;\quad U^tU = U U^t = I, \quad \Sigma = \mathop{\rm diag}(\sigma_1, \dots, \sigma_n)D = \mathop{\rm diag}(\sqrt{\sigma}_1, \dots, \sqrt{\sigma}_n)従って G = UD とおくと H = GGtです.
そこで y = Gtxと変数変換をすると,
Gが正則(G-1 = D-1Ut)であるので
\frac{x^t A x}{x^t H x} = \frac{y^t G^{-1} A G^{-t} y}{y^t y}右辺は y に関して通常のRayleigh商だから
G-1AG-tの最大固有値に対応する固有ベクトルで最大になります.
Gの定義と変数変換の式から
G^{-1}AG^{-t} y= \lambda y \Leftrightarrow Ax = \lambda H xこの方式は簡単ですけど,背後に潜む直交性などが隠れてしまいます.
ということで今回は新しい直交性を導入した解法を紹介してきました.
0 件のコメント:
コメントを投稿