問題タブ [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.
c++ - バイナリ ベクトルのガウス ベースの線形独立性テスト
ガウス消去法のバージョンをプログラムして、一連のバイナリ ベクトルの線形独立性を検証しました。評価して返す行列 (mxn) を入力します。
- True (線形独立): ゼロ行は見つかりませんでした。
- False (線形依存): 最後の行がゼロの場合。
常に、または少なくともほとんどうまく機能しているようです。行列の最後の行に2 つの重複したベクトルがある場合、機能しないことがわかりました。
この関数は、行列が「線形独立」であることを示しています。これは、ゼロ行が見つからず、結果に実際に存在するためです。しかし、デバッグすると、ある時点で行がゼロになることがわかりましたが、その後、いくつかの行操作の後、「通常」に戻ります。
私はコードを再確認しましたが、それを機能させる唯一の方法は、プロセスの終了前、より正確には行操作中に「ゼロ行」が見つかった場合にも「false」を返すことでした:
これが正しいのか、それとも悪いコードに「パッチを当てている」だけなのか知りたいです。
ありがとうございました!
以下の完全なコード: