100000 前後の非常に大きな正方行列があり、その行列の行列式の値がゼロかどうかを知りたいです。
それを知るための最速の方法は何ですか?
それをC++で実装する必要があります
100000 前後の非常に大きな正方行列があり、その行列の行列式の値がゼロかどうかを知りたいです。
それを知るための最速の方法は何ですか?
それをC++で実装する必要があります
行列が特異でないかどうかを判断しようとしていると仮定すると、次のようになります。
コメントで述べたように、これを行う BLAS ライブラリを使用するのが最善ですBoost::uBLAS
。
任意の 2 つの行が等しい場合、または 1 つの行が別の行の定数倍である場合、その行列の行列式はゼロであると言えます。列にも適用できます。
私の知る限り、アプリケーションは行列式を計算する必要はありませんが、行列のランクは、方程式系に自明でない解があるかどうかを確認するのに十分です: -