行列 A とベクトル b が与えられたとき、 Gauss-Jordan 法を用いて N 元一次連立方程式
[ A ] { x } = { b }
の解 x と、 A の逆行列とを同時に求めるプログラムである。 この時 N は 16 以下としている。
入力データ形式は下図左半分に示す内容を持ったものとする。
すなわち、 先頭の行には連立する方程式の元数を示す整数がひとつあり、
以降の行には行列 A の各列の要素とベクトル b の各要素とが 含まれているものとする。
(下図右半分は左半分のデータの読み込まれるべき変数もしくは配列要素である。)
3 N 1.1111 1.1111 1.1111 5.5555 A[0][0] A[0][1] A[0][2] b[0] 1.1111 2.2222 2.2222 6.6666 A[1][0] A[1][1] A[1][2] b[1] 1.1111 2.2222 3.3333 7.7777 A[2][0] A[2][1] A[2][2] b[2]
プログラム例 , 実行結果例 , 実行ファイル例: /class/mce/NumAnalysis/xmp07a
Gauss-Jordan 法では、 行列の対角要素のみを 1 にし、 残りの要素を全て 0 にすることによって、 解を求める。
連立方程式を解くのと同時に、係数行列の逆行列を求めることができるのが特徴である。
また、計算量は必ずしも最少ではないが、
計算のアルゴリズムが非常にシンプルな計算方法である。
上記の Gauss-Jordan 法を用いて N 元一次連立方程式を解くプログラムを、 以下に示すように修正せよ。
課題提出用データファイルとしては、
/class/mce/NumAnalysis/Simal08.dat と各自が用意したものとの二つ以上を用い、
これを標準入力から リダイレクトによって 読み込んで
計算した結果をレポートに示すこと。
また、 計算結果を表示する場合は、 表示桁数を 5 桁程度とること。
実行結果例 (この通りの出力にならなくても可) , 実行ファイル例: /class/mce/NumAnalysis/xmp07b2, 入力データ例: /class/mce/NumAnalysis/Simal0?.dat
提出期限: 2023 年 7 月 24 日 18 時