next up previous
Next: 3 二分法 Up: 2 標準固有値問題への帰着 Previous: 2.3 が正定値である場合にその Cholesky 分解を用いる方法

2.4 split Cholesky 分解を用いる方法

LAPACK で採用されている方法である。 残念ながら適当な参考文献が入手できていない。 LAPACK のドライバー・ルーチン spbstf の ソース・プログラム dpbstf.f 中の 注釈くらいしか参考になるものがない。

http://www.netlib.org/cgi-bin/netlibfiles.pl?filename=/lapack/double/dpbstf.f
なお、LAPACK のソースをサーチするには
http://www.cs.colorado.edu/~jessup/lapack/applets/search.html
が便利である。

$B$

\begin{displaymath}
B=S^T S
\end{displaymath}

の形に分解するのだが、 通常の Cholesky 分解とは異なり、$S$ は上三角行列ではなく、

\begin{displaymath}
S=
\left(
\begin{array}{cc}
U & 0 \\
M & L
\end{array...
...行列},\quad
L=\mbox{$(n-k_d)/2$ 次下三角行列},\quad
\end{displaymath}

のような行列である。ここで $k_d$ は半バンド幅である。

\begin{displaymath}
A'=P^{-T}A P^{-1}
\end{displaymath}

とおくと、 前小節の補題 2.4 に より $A'$ は対称であることが分かる。

$A$, $B$ が帯行列である場合、$A'$ も (やや帯幅は増えるものの) 帯行列に なる。


next up previous
Next: 3 二分法 Up: 2 標準固有値問題への帰着 Previous: 2.3 が正定値である場合にその Cholesky 分解を用いる方法
桂田 祐史
2014-05-27