問題タブ [gauss]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
291 参照

c++ - バイナリ ベクトルのガウス ベースの線形独立性テスト

ガウス消去法のバージョンをプログラムして、一連のバイナリ ベクトルの線形独立性を検証しました。評価して返す行列 (mxn) を入力します。

  • True (線形独立): ゼロ行は見つかりませんでした。
  • False (線形依存): 最後の行がゼロの場合。

常に、または少なくともほとんどうまく機能しているようです。行列の最後の行に2 つの重複したベクトルがある場合、機能しないことがわかりました。

この関数は、行列が「線形独立」であることを示しています。これは、ゼロ行が見つからず、結果に実際に存在するためです。しかし、デバッグすると、ある時点で行がゼロになることがわかりましたが、その後、いくつかの行操作の後、「通常」に戻ります。

私はコードを再確認しましたが、それを機能させる唯一の方法は、プロセスの終了、より正確には行操作中に「ゼロ行」が見つかった場合にも「false」を返すことでした:

これが正しいのか、それとも悪いコードに「パッチを当てている」だけなのか知りたいです。

ありがとうございました!

以下の完全なコード: