学会名: 第34回数値解析シンポジウム (NAS2005)
開催期日: 2005年6月28日-30日
開催場所: 浜名湖カリアック

1. 学会の概要

本シンポジウムは,年に1回,2泊3日の泊りがけで行われる歴史あるシンポジウムである。今年は約90名の参加があり,数値解析の基礎から応用まで様々な分野の発表が行われた。私は今回は初めての参加だったが,スケジュールの関係で,初日の2つのセッションのみ参加した。

2. 興味深かった講演

特に興味深かった発表について,以下にまとめる。

(1) 自動微分とDE公式を用いた非整数階微分の数値計算
  岡山友昭,村重淳(東京大学)


非整数階微分は,流体力学,粘弾性体力学をはじめ,様々な分野に現れる。非整数微分を数値的に計算する手法としては,従来,差分法(2項級数で表した式の打ち切り)などが用いられてきたが,収束が遅く,丸め誤差の影響を受けやすいという問題があった。本研究では,非整数微分を非整数積分であるRiemann-Liouville積分の整数階微分として表し,得られる式を自動微分と二重指数型数値積分公式を用いて計算する方式を提案した。exp(x)の1/2階微分,sin(2√x)/√πの3/2階などに対して本手法を適用したところ,計算誤差は積分の標本点Nに対して指数関数的に減少し,有効な計算法であることがわかった。

(2) CGS法における数値的breakdownの影響とその回避法
  多田野寛人,櫻井鉄也(筑波大学)


CGS法において,漸化式の計算で現れるスカラー|(r_0^*, r_k)|あるいは|(r_0^*, Ap_k)|が0に近くなり,それ以降の計算で誤差が増大する現象を数値的breakdownと呼ぶ。これが生じる場合の一つとして,初期シャドウ残差ベクトルr_0^*がAの絶対値最大固有値vの方向の成分をほとんど持たない場合が挙げられる。この場合,kが大きくなるにつれてr_kおよびAp_kの成分はv方向が支配的になり,その結果,r_0^*と直交する方向に向くからである。そこで本研究では,CGS法の各ステップでr_0^*とr_kのなす角,r_0^*とAp_kのなす角をそれぞれ計算し,このどちらかが0に近くなったら,数値的breakdownが起きたと判定してリスタートを行う方式を提案した。2次元Helmholz方程式を離散化して得られる連立一次方程式に対して数値実験を行ったところ,通常のCGS法では収束しなかった場合もすべて収束し,本手法が有効であることがわかった。また,CGS法では,初期シャドウ残差ベクトルの選び方が非常に重要であることも示された。

感想: 本研究で扱ったような数値的breakdownを起きないようにするには,初期シャドウ残差ベクトルがvの成分を多く持つようにすればよい。そこで,CGS法を数ステップ実行し,そこから得られる情報を用いてvの近似ベクトルを計算して,これを新たな初期シャドウ残差ベクトルとしてリスタートを行う方式が考えられる。調べてみると面白そうだと思った。

(3) 分子軌道計算で現れる行列に対する反復法の前処理について
  岡田真幸,桜井鉄也(筑波大学),柿原正伸,藤野清次(九州大学),長嶋雲兵(産総研)


非経験的分子軌道計算で現れる行列の固有値を櫻井・杉浦の方法で求める場合,複素対称行列Aを係数行列とする連立一次方程式を解く必要がある。従来,この解法としては不完全コレスキー分解前処理付きのCOCG法が用いられていたが,収束しない場合があった。そこで本研究では,ある複素数αに対し,Aの代わりにA+αiI(Iは単位行列)を不完全コレスキー分解し,この結果を前処理として用いる方式を提案した。これを複素シフト付き不完全コレスキー分解前処理(CSIC(0))と呼ぶ。これを従来のIC(0)前処理と比較したところ,(i) IC(0)前処理のCOCG法が収束しない場合でもCSIC(0)前処理のCOCG法は収束する場合があり,(ii) IC(0)が収束する場合でも,CSIC(0)は半分以下の回数で収束する場合があった。これより,本手法は収束性の改善手法として有望であることがわかった。また,αの値をいろいろ変えて収束回数を調べたところ,収束回数はα=0でピークを持つが,その外側では急に減少し,αの絶対値が大きくなるにつれ,再び増加していくことがわかった。

感想: αの関数としての反復回数のグラフが非常に面白いと思った。αを0からわずかにずらしたところで反復回数が最小になるのはなぜだろうか。不完全コレスキー分解を行うときの要素の増大の様子,前処理を行った行列の固有値分布などをαの関数として調べてみると面白いと思った。

(4) 実対称行列のそれぞれの固有値に対する精度保証法
  宮島信也,荻田武史,大石進一(早稲田大学)


実対称行列の固有値の誤差を事後評価する式として,Rumpの誤差評価式があるが,これはすべての固有値に対して同じ誤差限界を与えており,ある固有値が他の固有値より高精度に計算できたとしても,それが誤差限界に反映されない。これに対して,Wilkinsonによる誤差評価式は,固有値ごとに独立の誤差限界を与えるため,高精度な固有値に対してはより良い誤差限界を与える可能性がある。しかし,Wilkinsonの誤差評価式は,ある近似固有値と,その固有値にもっとも近い真の固有値との間の差を評価する式であるため,第i番目の近似固有値にもっとも近い真の固有値が第i番目以外の固有値であると,精度保証に用いることはできない。そこで本研究では,第i番目の近似固有値にもっとも近い真の固有値が第i番目以外の固有値であるための十分条件を2つ定式化した。そして,これらの条件のどちらかが満たされた場合はWilkinsonの方式で精度保証を行い,満たされない場合はRumpの方式で精度保証を行う方式を提案した。本方式は,Rumpの誤差限界のみを用いる方式に比べ,常により良い誤差限界を与えることが示される。また,全固有値の精度保証に必要な計算量は,行列の元数をNとすると5N^3であり,Rumpの方式と同じである。

感想: Wilkinsonの式による精度保証は,相対誤差の意味での精度保証が可能なため,dqds法など,(ある条件の下では)高い相対精度で固有値を計算できる解法と共に使うと,有用性が高いと思う。また,精度保証の過程で残差AX-XD(D:固有値の対角行列,X:固有ベクトルの行列)を計算するので,sinΘ定理を使えば,(2つの十分条件のどちらかが満たされる場合には)ほとんど計算量を増やさずに固有ベクトルの精度保証もでき,有用であると思う。


学会出張報告のページに戻る
Topに戻る