Sherman-Morrison法という近似逆行列前処理をシフト方程式に適用する手法について研究を行った。ここで、シフト方程式とは係数行列の対角成分のみが異なる連立1方程式の集合のことを言い、物理の格子ゲージ問題や固有値問題などに出現する。従来、シフト方程式にはShifted-GMRES (m)法などのシフト方程式に特化した反復法が存在するが、前処理を適用することが困難であることが難点であった。また、GMRES (m)法などの従来の反復法にMR法による近似逆行列前処理を適用すると方程式の数に応じて前処理を計算する必要があったので、計算コストがかかることが難点であった。 それに対して、本研究では前年度に提案した並列実装を行ったSherman-Morrison法による近似逆行列をシフト方程式に適用する手法を提案した。この手法では従来のMR法などの前処理と違い前処理行列を1つだけ計算をし、それを共通にすべての方程式に適用できることが利点である。Sherman-Morrison法による近似逆行列は、パラメータを1つだけ変化させることで、この行列の対角成分を設定することができる。このことと方程式の係数行列の対角成分のみが異なることを利用して、近似逆行列前処理の対角成分をすべての方程式に対して共通の最適な値を選択している。この手法により、方程式の個数に関係なく前処理の計算時間を一定に抑えることができる。 提案した手法をCPU8台搭載したPCクラスタによって数値実験をした結果、MR法と比べて前処理の計算にかかる時間は最大で1/10に短縮させることができた。また、MatrixMarketに登録されている行列の固有値問題から得られるシフト方程式は、Shifted-GMRES (m)法で解くことができなかったのに対して、提案した手法による前処理をGMRES (m)法に適用した場合には解を求めることが可能であった。また、CPUを8台利用したときで5倍から6倍程度の台数効果が得られた。
|