問題タブ [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 には、行列式と逆行列の明示的な計算に対して警告する推奨事項があります。
正規逆ウィシャート事前分布を使用して、多変量正規の事後予測を実装しています。これは、多変量 t 分布として表すことができます。
多変量 t 分布では、項と が見つかり|Sigma|^{-1/2}
ます(x-mu)^T Sigma^{-1} (x-mu)
。
私はアイゲンに関してはまったく無知です。正の半正定行列 (共分散行列) の場合、LLT ソルバーを使用できると想像できます。
ただし、ソルバー自体で定義されたメソッドは.determinant()
ありません。.inverse()
関数を使用.matrixL()
し、対角要素を自分で反転して、行列式を取得するために積を計算する必要がありますか? 私は何かが欠けていると思います。
python - N*N 行列の行列式を見つけようとしているときに非型エラーが発生する
N*N 行列の行列式を見つけるプログラムを作成しようとしていますが、これが私のコードです。
No-Type エラーが発生していますが、それは再帰的なアプローチであるため、関数自体を呼び出しているためだと確信しています。
これを修正する方法はありますか?おそらく2番目の関数をダンプすることさえありますか?
python - 大きな行列のpython行列式
M X =Nのような線形連立方程式があります。M
多くの要素がゼロの 21x21 行列です。この系を で解こうとするとX = np.linalg.solve(M, N)
、次のエラーが表示されます。
ここでの問題は、によって返される値np.linalg.det(M)
が 0.0 であることです。マトリックスを生成するために 2 つの異なる方法を試しM
ましたが、その時点で奇妙な動作に遭遇しました。
i)の非ゼロ要素はM
、コードの別の場所で計算されます。これらの要素はすべて float であり、 として示されm_1, m_2, ... , m_21
ます。最初に、生成するために次のコードを試しましたM
。
によって計算されるこの行列の行列式np.linalg.det(M)
はゼロです。
ii)次に、非ゼロ要素 ( m_1, ... , m_21
) を対応する数値に置き換えて、行列式が変化するかどうかを確認しました。コードは次のとおりです。
この場合、np.linalg.det(M)
-9504863423.43 を返します。行列式が 0.0 でも -9504863423.43 でもないことは確かです。なぜなら、MATLAB といくつかのオンライン計算機で同じ行列式を -3.8108e+019 として計算したからです。
また、LU 分解を実行し、mpmath で行列式を計算しようとしましたが、どちらも機能しませんでした。これら 2 つのケースが異なる値を返す可能性があるのはなぜですか? 行列式を正しく計算する方法はありますか?
32 ビットの Win7 オペレーティング システムで Python(x,y) 2.7.6.1 を使用しています。
matlab - Matlabのベッセル関数を含む行列の行列式から形成された超越方程式の根
次の行列の行列式を取ることによって形成される超越方程式の根を見つける必要があります。ご覧のとおり、ベッセル関数がいっぱいです。「fzero」コマンドを使用して疲れましたが、機能していません。ガンマやイータなどのすべてのベッセル関数入力は、ベータ関数です。
主語の超越方程式の値の根を見つける方法を教えてください。ありがとう
sse - SIMD による行列式計算
SIMD (ネオン、SSE、SSE2) でうまく機能する、低次元 (約 4) の行列式を計算するためのアプローチはありますか? 私は手の拡張式を使用していますが、うまく機能しません。私は SSE3 とネオンまでずっと SSE を使っています。行列要素はすべて float です。
perl - Perl - 変数を含む行列の行列式
次のメソッドを含む Perl プログラムがあります。
- detマトリックスの行列式を見つけること。
- identityMatrix n 行 n 列の単位行列を返します (主対角線に 1、残りは 0)。
- matrixAdd 2 つの行列を一緒に加算します。
- matrixScalarMultiply整数に行列を掛けること。
たとえば、行列A - Iの行列式を簡単に見つけることができます。
(0です)
しかし、 A-RIの行列式を見つけたい場合はどうすればよいでしょうか。
この場合、整数値ではなく、次の行に沿って特性多項式解 (別名、変数を含む行列式) を解くプログラムを作成します。
これを処理する方法について何か提案はありますか? 以下のコード:
r - マトリックスで複雑なループ操作を実行する方法
次のようなサンプルマトリックスがあります
そして、次のような出力が必要です
等々...
計算後に得られるこの最大値は行列形式である必要があります。一般化する必要があるため、汎用コードが必要です。
c++ - const キーワードを使用した C++ での間接再帰
私のプログラムでは、間接再帰を使用して余因子展開を実行する行列 (2D 配列) の行列式を計算しようとしています (つまり、2 つの関数が互いに再帰的に呼び出します)。ただし、再帰で const パラメーターを別の const パラメーターに渡すことは合法であるにもかかわらず、コンパイラーは double** を const double** に変換できないと不平を言いますよね? 私は何を間違っていますか?
コンパイル
ソースファイル
ヘッダー ファイルには 2 つの関数の宣言のみが含まれており、特別なものではありません。