問題タブ [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 投票する
4 に答える
47494 参照

c - C で lapack を使用して逆行列を計算する

NxNlapack を使用して、C/C++ で一般行列の逆行列を計算できるようにしたいと考えています。

私の理解では、lapackで反転を行う方法はdgetri関数を使用することですが、そのすべての引数がどうあるべきかわかりません。

ここに私が持っているコードがあります:

3x3dgetri_ を使用して行列 M の逆行列を取得するには、どうすれば完成しますか?

0 投票する
4 に答える
5735 参照

matrix - 行列逆コード (c、c++、fortran または tksolver)

行操作を使用して nxn 行列 A の逆数を決定するコードが必要です。私はこのコードを書くのにばかげた時間を過ごしています。私は大学院生で、何年もプログラミングの授業を受けていません。ありがとう。

0 投票する
5 に答える
15594 参照

python - Pythonでモジュラ行列反転を実行する最も簡単な方法は?

Python で [[1,2],[3,4]] mod 7 のような行列のモジュラー逆を取りたいと思います。私はnumpy(行列の反転を行いますが、剰余行列の反転は行いません)を見て、いくつかの数論パッケージをオンラインで見ましたが、この比較的一般的な手順を実行しているようには見えません(少なくとも、私には比較的一般的です)。

ちなみに、上の行列の逆行列は [[5,1],[5,3]] (mod 7) です。私はPythonにそれをやってもらいたいと思っています。

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

opengl - OpenGL、ワールドからオブジェクトへの座標マッピング?(逆行列)

みなさん、こんにちは。

画像に見られるように、

代替テキスト

O(ラインストライプのセット)という名前のオブジェクトがあります。そのオブジェクト座標系は(x'、y'、z')です。次のコードスニペットを使用して、OpenGLシーンでこのオブジェクトを変換および回転します。

;

私はHと呼ばれる点を持っています。これは、を使用して(hx、hy、hz)世界座標に変換されます。

私が正しければ、(Oz、Oy、Oz)と(hx、hy、hz)は世界座標です。

ここで、私がやりたいのは、Oのオブジェクト座標系に対するH(hx、hy、hz)の位置を計算することです。(x'、y'、z'); 私が理解したように、私はオブジェクトOの逆変換を計算し、それらを点Hに適用することによってこれを行うことができます。

これに関するヒントはありますか?OpenGLは逆行列計算のための関数を提供しますか?どういうわけか逆行列を見つけた場合、それらを乗算する順序は何ですか?

注:「ハンマー」のようなツールを実装したいのですが、ポイントHで、半径Rの球を描画します。ユーザーはこの球を使用してオブジェクトOをハンマーのように切り刻むことができます。これを2Dで実装したので、 (x'、y'、z')に対するハンマーの位置を計算できる場合は同じアルゴリズム

前もって感謝します。

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

silverlight - MatrixTransform 内部の MatrixTransform の動作は、私が期待していたものではありません

現在、MatrixTransform にバインドされている Border があります。マウス ホイールをスクロールすると、基本的に MatrixTransform がスケーリングされます。境界線の内側には、水平方向と垂直方向の中央に配置された Rectangle があります。Border 変換がスケーリングされるときに、Rectangle の変換が Border の Inverse と等しくなるように設定します。アイデアは、長方形を同じサイズで中央に保つことです。私の現在の解決策では、長方形を同じサイズに保ちますが、ズームを続けると徐々に中心から離れていきます。Rectangle 変換が Border 変換を認識していないように見えますが、それは理にかなっていますか?

ここにいくつかの画像があります。1 つ目は最初の画像、2 つ目は数回ズームした後の画像です (長方形は同じサイズのままですが、中央に配置されていないことに注意してください)。

代替テキスト

代替テキスト

私が解決しようとしている基本的なアイデアは、Google マップ アプリケーションのようなものです。拡大すると、都市名のサイズは変わりません。

これが私のコードのすべてです。必要に応じて、これを取り込んで実行できるはずです。

MainPage.xaml

MainPage.xaml.cs

MainPage_ViewModel.cs

この長方形を中心から移動させる何か間違ったことをしていますか? どんな助けでも大歓迎です!

更新 好奇心から、四角形の周りに境界線をラップし、幅と高さで要素から要素へのバインディングを行いました。下の画像を見ると、長方形の変換の原点が左上にあるように見えますが、これは意味がありますか?

新しい XAML:

結果の画像: 代替テキスト

0 投票する
4 に答える
30692 参照

matlab - MATLAB で最も効率的な逆行列

MATLAB で正方行列 A の逆行列を計算する場合、

MATLAB は通常、これが最も効率的な反転方法ではないことを通知します。では、より効率的なものは何ですか?私が方程式系を持っている場合、/、\ 演算子を使用するのはおそらくそうです。しかし、他の計算のために逆数が必要になることがあります。

反転する最も効率的な方法は何ですか?

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

matlab - シンボリック ツールボックスを使用した matlab の逆行列

私はMatlabが初めてです。シンボリック ツールボックスを使用して逆行列を計算するにはどうすればよいですか? 私の行列には、ラプラス変数「s」があります。

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

matrix - inverse(A-B) に当てはまる方程式はありますか?

ABの逆数を計算することは可能ですか、私はすでにAとBの逆数を計算しています。

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

python - Pythonの疎行列の擬似逆行列

私は神経画像からのデータを扱っていますが、大量のデータがあるため、コードに疎行列 (scipy.sparse.lil_matrix または csr_matrix) を使用したいと考えています。

特に、最小二乗問題を解くには、行列の疑似逆行列を計算する必要があります。メソッド sparse.lsqr を見つけましたが、あまり効率的ではありません。Moore-Penrose の疑似逆行列を計算する方法はありますか (正規行列の pinv に対応)。

私の行列 A のサイズは約 600'000x2000 で、行列のすべての行に 0 から最大 4 つのゼロ以外の値があります。マトリックス A のサイズは、ボクセル x 繊維束 (白質繊維トラクト) によって与えられ、ボクセル内で交差する最大 4 つのトラクトが予想されます。ほとんどの白質ボクセルでは、少なくとも 1 つのトラクトがあると予想されますが、ラインの約 20% はゼロになる可能性があると言えます。

ベクトル b はスパースであってはなりません。実際には、b には各ボクセルの測定値が含まれており、これは一般にゼロではありません。

エラーを最小限に抑える必要がありますが、ベクトル x にはいくつかの条件もあります。より小さな行列でモデルを試したので、これらの条件を満たすためにシステムを制約する必要はありませんでした (一般に 0

それは何かの助けになりますか?A の疑似逆を避ける方法はありますか?

ありがとう

6 月 1 日更新: ご協力ありがとうございます。私のデータについては何もお見せできません。なぜなら、Python のコードがいくつかの問題を引き起こしているからです。ただし、適切な k を選択する方法を理解するために、Matlab でテスト関数を作成しようとしました。

コードは次のとおりです。

F のサイズと比較して、k はどうあるべきか、何か考えはありますか? 私は 250 (1000 以上) を取得しましたが、結果は満足のいくものではありません (待ち時間は許容範囲内ですが、短くはありません)。また、結果を既知の解と比較できるようになりましたが、一般的に k を選択するにはどうすればよいでしょうか? また、取得した 250 個の単一値のプロットと、それらの二乗を正規化したものも添付しました。matlabでスクリプロットをより適切に行う方法が正確にはわかりません。私は今、より大きな k を使用して、突然値がはるかに小さくなるかどうかを確認しています。

ありがとう、ジェニファー

画像は、計算された 250 を示しています。 Matlab でスクリー プロットを作成する方法が正確にはわかりません。 二乗正規化単一値

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

python - numpy:上三角行列を反転する

numpy/scipyで、上三角行列の逆行列を計算するための標準的な方法は何ですか?

行列はnumpy、サブ対角要素がゼロの2D配列として格納され、結果も2D配列として格納する必要があります。

編集私がこれまでに見つけた最高のものはscipy.linalg.solve_triangular(A, np.identity(n))です。それですか?