next up previous contents
Next: 5.1 Rutishauser の計算式 Up: 固有値問題ノートの補足 Previous: 4.6 各方法の比較 (2) お勉強してみよう

5 Jacobi 法

誰だったか忘れたが (戸川先生?)、 Jacobi 法をモグラ叩きに例えた人がいる。 これはなかなかイメージが湧いてきて良いと思う。


\begin{jlemma}[実行列の要素の平方和]\upshape
$A=(a_{ij})\in\R^{n\time...
...math}
\sum_{i,j=1}^n {a_{ij}}^2={\rm tr} (A^T A).
\end{displaymath}\end{jlemma}

証明.
  $\displaystyle {\rm tr} (A^T A)$ $\displaystyle =$ $\displaystyle \sum_{i=1}^n$   $\displaystyle \mbox{$A^T A$ の $(i,i)$ 要素}$
    $\displaystyle =$ $\displaystyle \sum_{i=1}^n \sum_{j=1}^n$   $\displaystyle \mbox{$A^T$ の $(i,j)$ 要素}$   $\displaystyle \mbox{$A^T$ の $(j,i)$ 要素}$
    $\displaystyle =$ $\displaystyle \sum_{i=1}^n\sum_{j=1}^n a_{ji}a_{ij}$
    $\displaystyle =$ $\displaystyle \sum_{i,j=1}^n {a_{ji}}^2. \qed$

$ \qedsymbol$

実行列 $ A$ を実直交行列 $ U$ で相似変換した $ B=U^T A U$ について、

$\displaystyle {\rm tr}(B^T B)={\rm tr}(U^T A^T U\cdot U^T A U)={\rm }(U^T A^T A U)
$

となるが、 良く知られた公式 $ {\rm tr}(AB)={\rm tr}(BA)$ より4

$\displaystyle {\rm tr}(B^T B)={\rm }(A^T A U U^T)={\rm tr}(A^T A)
$

であるから、

   $\displaystyle \mbox{$B$ の要素の平方和}$$\displaystyle =$$\displaystyle \mbox{$A$ の要素の平方和}$$\displaystyle ,$

つまり
実直交行列による相似変換で要素の平方和は不変である。


\begin{jlemma}[Jacobi のもぐらたたき一発分の効果]\upshape
$n\in\N$...
...sum_{i\ne j}{b_{ii}}^2+2{a_{pq}}^2.
\end{displaymath}\end{enumerate}\end{jlemma}

証明. 単純な計算なので略する。 $ \qedsymbol$ $ \qedsymbol$


\begin{jtheorem}[古典 Jacobi法の原理]\upshape
$A$ を実対称行列と...
..._k
\end{displaymath}の各列が固有ベクトルを与える。
\end{jtheorem}

この定理に基づき、$ A_k$ が十分対角行列に近づいたときに計算を打ち切り、 $ A$ の近似固有値として $ {a_{11}}^{(k)}$ , $ \cdots$ , $ {a_{nn}}^{(k)}$ , それらに属する近似固有ベクトルとして $ V_k$ の各列を採用する。これを古典 Jacobi 法と呼ぶ。

有限ステップで停止したときの誤差評価として、次の定理がある。


\begin{jtheorem}[近似固有値を非対角要素の平方和で評価]\upshape...
...ath}
F^{(k+N)}\le C (F^{(k)})^2.
\end{displaymath}\end{enumerate}\end{jtheorem}

証明. (1) は摂動定理を使うだけ。(2) は、まず $ (p,q)$ の選び方より

$\displaystyle (a_{pq}^{(k)})^2\ge \frac{F^{(k)}}{n(n-1)}
$

であり、

$\displaystyle F^{(k)}-F^{(k+1)}=2(a_{pq}^{(k)})^2\ge \frac{2}{n(n-1)}F^{(k)}
=\frac{1}{N}F^{(k)}.
$

(3) については省略。 $ \qedsymbol$ $ \qedsymbol$

絶対値最大の要素の探索はかなり手間がかかる (計算量が大きくなる) ので、 色々な変種が考えられている。 ある「しきい閾値」 $ \eps_1\ge \eps_2\ge\cdots$ と選び、 $ \vert a_{pq}^{(k)}\vert>\eps_k$ なる $ a_{pq}^{(k)}$ に対して回転を施す 閾値 Jacobi 法や、
for p:=1 to n-1 do
    for q:=p+1 to n
        $ a_{pq}$ を叩く

を繰り返す特別巡回 Jacobi 法などがある。


\begin{jremark}[Jacobi 法の評判]\upshape
Jacobi 法の評判をいくつか...
...再評価されはじめているのは興味深い。
\end{quote}\end{jremark}



Subsections
next up previous contents
Next: 5.1 Rutishauser の計算式 Up: 固有値問題ノートの補足 Previous: 4.6 各方法の比較 (2) お勉強してみよう
桂田 祐史
2015-12-22