• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:一般次元の逆行列を求めるプログラミングを組もうとしています。)

逆行列を求めるプログラミングにおける原因とは?

このQ&Aのポイント
  • 一般次元の逆行列を求めるプログラミングを組もうとしています。
  • ただし、自分の持っているテキスト課題の逆行列が正常に求まりません(結果表示に未確定である#INDが表れる)。
  • 原因を特定するために、mukun_mmg.at.infoseek.co.jp/mmg/bncpp/al050.htmlの逆行列導出プログラムを参考にしていますが、どこに問題があるのかわかりません。ご教示頂きたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>見本プログラムのどのあたりに原因があるのでしょうか? (1) a[1][1]の値がゼロである場合が考慮されていない (2) 左上2行2列の部分行列 { { a[1][1], a[1][1] }, { a[2][1}, a[2][2] } }の行列式の値がゼロである場合が考慮されていない (3) 以下、a[1][1]を含む部分正方行列の行列式の値がゼロである場合が考慮されていない  うまくいかなかったデータは(2)の場合にあてはまり、i=2のときpivotの値がゼロになります。 pivotがゼロになったら、行や列の入れ替えをする交換をすることで回避できることがあります。 ヒントとして、うまくいかなかったデータの1列目と3列目を入れ替えて計算し、出てきた結果の 1行目と3行目を入れ替えたらどうなるでしょうか、試してみてください。

その他の回答 (1)

回答No.1

練習したいのでしょうから、修正したコードを書くつもりはありませんが、 こんなふうに、31行目にコードを追加して結果を見てみるとわかるかもしれませんね。 http://ideone.com/H0b16

関連するQ&A