問題タブ [matrix-inverse]

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 投票する
1 に答える
4382 参照

c++ - OpenCVで複雑な行列を逆にする方法は?

複素数行列の逆行列を行うのに問題があります。私の知る限り、複雑なマトリックスは単純に 2 チャンネルのマトリックス (CV_32FC2 / CV_64FC2) です。

行列 C があるとしましょう:

反転機能を実行した後、次のエラーが発生し続けます。

OpenCV エラー:反転でアサーションが失敗しました (タイプ == CV_32F || タイプ == CV_64F)

反転機能は、グレースケールのロードされた画像 (1 チャネル) でうまく機能しますが、実数部と虚数部を含む複素行列を逆にするのは困難です。

複素行列の逆問題の解き方を教えてください。DECOMP_LU または DECOMP_CHOLESKY メソッドを使用して単一チャネルの画像を試したときに目的の結果が得られないため、DECOMP_SVD メソッドを使用することをお勧めします。これは、おそらく特異行列の問題が原因です。ありがとう。

0 投票する
3 に答える
776 参照

python - 逆行列 Python

Python で行列の逆数を取得しようとしていますが、構文エラーが発生し続けます。私はPythonが初めてです。インターネットで検索したり、いろいろ試してみましたが、まだわかりません。誰かが私のコードを見て、正しい方向に向けることはできますか? エラー メッセージ: python2.6 test.py File "test.py", line 39 inverse = mat1.I*mat2 ^ SyntaxError: 無効な構文

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

0 投票する
1 に答える
277 参照

cuda - 「-g -G」なしで「nvcc」を使用してコンパイルされた逆行列がエラーになるのはなぜですか?

次のプログラムは、NVIDIA GeForce 310 GPU、CUDA v4.2 で Gauss-Jordan 消去法を使用して、GF(2^8) (加算は XOR に似ています。乗算はテーブル ループアップ法を適用します) の行列を逆にします。

しかし、問題は、次の方法でコンパイルするときです。

、通常の出力は次のとおりです。

しかし、「-g -G」を削除してコンパイルすると:

,逆行列を取得できませんでした。「-g -G」の動作原理はなぜですか?

0 投票する
1 に答える
1529 参照

math - 4x4 マトリックス アルゴリズムの反転

私は4x4行列を反転しようとしています.数十回の計算で行列式を計算する例を見てきました.これは私にはうまくいかなかったようです.これを解決する別の方法を見つけるために、私の答えはこれでした:

基本的に私がしていることは、すべてのコンポーネントの反転を計算することです。これは非常にうまく機能しています。最後の数字である 15 を期待してください。何らかの理由で無限大を吐き出しています。私の唯一の推測は、0 による除算ですが、問題は、0 の逆数は何ですか? 答えは0ですか?

(これが関連しているかどうかはわかりませんが、私の行列は行優先です)

0 投票する
3 に答える
815 参照

matlab - コード アナライザー: INV は遅く、不正確です

Matlab の inv() 操作を使用して逆行列を計算しようとすると、次のようになります。

最後の行に次の警告が表示されます: INV は遅く、不正確です。INV(A)*b には A\b を、b*INV(A) には b/A を使用します。

上記のコードを次のように変更できます。

警告は表示されなくなりましたが、この解決策の方が優れているとは思いません。

注:行列 A の逆行列と inv(A)*c の両方を格納する必要があります。また、私の実際のファイルでは、行列 A のサイズは 5000 x 5000 またはそれ以上になる可能性があります。

効率と精度の点でより良い解決策はありますか、それとも最初の方法で問題ありませんか?

0 投票する
2 に答える
9643 参照

matlab - 2x3 マトリックスを 3x3 マトリックスに変換する方法

ばかげた質問で申し訳ありませんが、必要な答えが見つかりません。私は次のマトリックスを持っています:-

各列は、グリッド上の座標を表します。「A」の逆を見つけるには、これを 3x3 の正方行列に作成する必要があります。これを行うには、3 行目に 001 を追加します...

これは、オンラインの例で見たものだからです。

私の質問は、この状況で 2x3 行列の 3 行目を計算/追加する方法は何ですか?

0 投票する
1 に答える
5915 参照

matlab - Finding matrix inverse by Gaussian Elimination With Partial Pivoting

Hello guys I am writing program to compute determinant(this part i already did) and Inverse matrix with GEPP. Here problem arises since i have completely no idea how to inverse Matrix using GEPP, i know how to inverse using Gauss Elimination ([A|I]=>[I|B]). I have searched through internet but still no clue, could you please explain me?

Here is my matlab code (maybe someone will find it useful), as of now it solves AX=b and computes determinant:

#xA;
0 投票する
1 に答える
2305 参照

matlab - numpyで行列反転を使用する正しい(安定した、効率的な)方法は何ですか?

Matlab では、数値が不安定なため、inv() 関数の使用はお勧めできません ( http://www.mathworks.com/help/matlab/ref/inv.htmlの説明セクションを参照してください)。次のような式を置き換えることをお勧めします。

(ここで、A と B は両方とも行列です)、次の場合:

これは、逆行列 A が特異値に近い場合に重要になります。

これをnumpy / scipyで書く良い方法はありますか? (solve() は機能しますか?)

0 投票する
1 に答える
597 参照

c - Lapack は行列を反転しようとする前に反転可能かどうかをチェックしますか?

行列を逆にすることができる AC コードで LAPACK を使用します。より正確には、dgetrf_ を使用してから dgetri_ を使用して反転を行います。

しかし、私は大きな行列を扱っていて、行列が可逆かどうかわからないので、可逆でない行列を逆にするために多くの時間を失います... LAPACKを使用する方法はありますか?これを確認するには?

0 投票する
1 に答える
7858 参照

python - Python での逆行列

を使用して Python で逆行列を計算しようとすると、numpy.linalg.inv(matrix)特異行列エラーが発生します。なぜそれが起こるのですか?マトリックス内の値の小ささと関係がありますか。私のマトリックスの数字は確率であり、合計すると 1 になります。