next up previous
次へ: アーカイブ一覧 上へ: 計算機工学概論課題 戻る: 計算結果の最大誤差を求める(MaxError)

テスト計算プログラム(calculate.c)

乱数で作った連立1次方程式を精度保証つきで計算するテストプログラム、 calculate.c を実装した。乱数の発生には、C標準関数 rand() よりも様々な 良い点があるとされる Mersenne Twister[4] を用いている。使い方は make したあと ./calculate を実行するだけである。

1回目の問題は乱数で発生させた行列を用いるが、 2回目は性質の悪い行列にするために意図的な操作を加えた行列を用いている。 1回目と2回目を比べると精度がだいぶ違うことがわかると思われる。 calculate.c の行列のサイズ(DIM)を1000などの大きな数にして試す場合は、 出力命令(prinf)の部分はコメントアウトすることをおすすめする。



Tomoaki Okayama 平成16年8月5日