文献[1]と同様の方法でガウスの消去法により連立1次方程式の解を 数値計算した場合の誤差について調べた。
[1] 森口繁一「数値計算工学」岩波書店、第4章 (1989).
我々の研究室では、複素数を用いた数値計算を頻繁に行なうので、 同様のことを複素係数の場合についても調べた。
上の文献[1]と同様に、乱数を用いて係数などを決め、 N元連立1次方程式を解いて、誤差を評価した。
N=100とし、ランダムに発生させた1000組の方程式について、
誤差を求めた。その結果を数に示す。
1000回の試行の結果、誤差の小さい順に並べ換え横軸としている。
縦軸は、対数目盛で相対誤差を表している。
また、図にはピボットの部分選択を行なった場合と行なわなかった場合(without
pivoting)
を示している。
ピボットの選択を行なった場合、
およそ75%の組(1000回中750回の試行)で5桁以上の精度が得られ、
残り約25%は5桁未満の精度しか得られていない。
ピボット選択を行なわない場合は、
全ての場合で5桁未満の精度しか得られないことがわかる。
N=1000の場合は、下図に示すようにピボット選択を行なっても、 およそ90%のケースで精度は4桁以下であった。