問題タブ [determinants]
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++ - 固有値で大きな行列の行列式を取得するときの数値アンダーフローを回避する
Eigen ライブラリを使用して C++ で MCMC アルゴリズムを実装しました。アルゴリズムの主要部分は、最初にいくつかの行列計算が実行された後、結果の行列の行列式が取得され、出力に追加されるループです。例えば:
現在、特定の行列では、残念ながら数値のアンダーフローが観察されるため、行列式がゼロとして出力されます(実際にはそうではありません)。
このアンダーフローを回避するにはどうすればよいですか?
1 つの解決策は、行列式の代わりに、行列式のログを取得することです。でも、
- これを行う方法がわかりません。
- これらのログを追加するにはどうすればよいですか?
どんな助けでも大歓迎です。
matlab - matlabで行列の特定の順序ですべてのマイナーを計算する方法
私は行列 m*n を持っています。次数 p のすべてのマイナー (部分行列の行列式) が必要です。
私は自分で書いた関数でそれを行うことができましたが、箱から出してすぐに使えるものを好みます。
私の本当の必要性は、シンボリック行列でランクが下がったときをチェックすることです。それは、そのランク以上のすべてのマイナーがゼロのときに発生します。
純粋なmatlabコマンドでそれを行うアイデアはありますか? ランクを評価する機能があるので、何とか未成年者を取得しています。
matlab - 行列の LUP 分解が与えられた場合、MATLAB で行列式を見つける方法は?
MATLAB で LUP 分解から行列式を計算したいと考えています。行列式は、次の式から求めることができます。
P は順列行列で、S は P を恒等行列に変換するために必要な行の交換の数です。MATLABの上記の式でSを見つけるにはどうすればよいですか? 定義済みの機能などはありますか?
c++ - 行列式アルゴリズム C++
私はプログラミングが初めてで、行列式を見つける方法を探していました。このコードはオンラインで見つけましたが、ここにあるアルゴリズムを理解するのに苦労しています。recursion のベースには問題ありませんが、continue と main ループが理解できません。アルゴリズムを説明できる人に感謝します。
runtime - 単純な商だけでこれほど多くのオーバーヘッドが発生するのはなぜでしょうか?
次の行列式の分析式をコーディングしています。
行列式の真の値は、最初の大きな部分が分母で、ga3 が分子です。この行列式を計算しないと、私のコード (合計で約 176,000 行のコード) は約 0.07 秒かかりますが、この行列式を計算すると、プログラム全体で約 2.5 秒かかります。さらに、犯人は行であることがわかりましたdetW = ga3/detW
。この行をコメントアウトすると、ランタイムは 0.07 に戻ります。
detW
ライン上のの値detW = ga3/detW
が正確に 1.0の場合にのみ、この時間がかかります。なぜこれが起こるのでしょうか?1.0 で除算すると、プログラムの実行時間が 3571% かかるのはなぜですか?