ガウスの消去法
連立1次方程式の解をガウスの消去法によって数値的に精度よく求めよう.
実験
ガウスの消去法の基本プログラム
gauss.c(DL)について,
以下の作業に取り組め.
- まずは,gauss.c のコードおよびコメントを熟読せよ.
- ソースファイルに記述されている動作テスト用問題(1),(2)を実行し,
解析結果が正しいことを確認せよ.
- 動作テスト用問題(3) を実行し,
単精度実数(float型)では解析に失敗し,
倍精度実数(double型)では解析に成功することを確認せよ.
課題
基本プログラムを元にして,
スケーリング関数 scaleRow() ,ピボット選択関数 pivot(),等を適切に実装し,
解析精度を改良せよ.
また,それらの処理によって,「動作テスト用問題(3)」が
単精度でも成功することを確認せよ.
さらに,基本プログラムの解析失敗と改良版の解析成功について,原因を考察せよ.
余裕のある人は,計算量(乗除算の回数)を計測したり,計算量の削減について試してみては?
(c) 2015, yanagawa@kushiro-ct.ac.jp