タグ付けされた質問 「inverse」

2
マトリックスを反転することが良くない理由の実際的な例
行列を反転して線形システムを解くことは、システムを直接解くか、LU、Cholesky、またはQR分解を使用するほど正確で効率的ではないため、お勧めできません。 しかし、実際の例ではこれを確認できませんでした。このコードを試しました(MATLABで) M = 500; A = rand(M,M); A = real(expm(1i*(A+A.'))); b = rand(M,1); x1 = A\b; x2 = inv(A)*b; disp(norm(b-A*x1)) disp(norm(b-A*x2)) 残差は常に同じ次数(10 ^ -13)です。 inv(A)* bがA \ bよりもはるかに不正確ではない実用的な例を提供できますか? ------質問の更新------ ご回答ありがとうございます。ただし、システム倍を解く必要があるとします。ここで、は常に同じ行列です。それを考慮してくださいnnnA x = bAバツ=bAx = bAAA -満杯であるため、と同じメモリ・ストレージが必要。AAAA− 1A−1A^{-1}AAA 条件数が小さいため、を正確に計算できます。AAAA− 1A−1A^{-1} その場合、LU分解を使用するよりもを計算する方が効率的ではないでしょうか?たとえば、私はこのMatlabコードを試しました:A− 1A−1A^{-1} %Set A and b: M = 1000; A …

2
numpyの行列反転の複雑さ
密な正方行列を反転する必要がある微分方程式を解いています。この行列の反転は計算時間のほとんどを消費するため、利用可能な最速のアルゴリズムを使用しているかどうか疑問に思っていました。 私の現在の選択はnumpy.linalg.invです。数値から、でスケーリングされることがわかります。ここで、nは行数であるため、方法はガウス消去法のようです。O(n3)O(n3)O(n^3) ウィキペディアによると、利用可能なより高速なアルゴリズムがあります。これらを実装するライブラリがあるかどうか誰もが知っていますか? なぜこれらの高速アルゴリズムをnumpyが使用しないのでしょうか?

1
高速で、後方安定(左)
非常に少数の退化したケース(&lt; 0.1 %)で、多くの3×33×33\times3行列逆行列(ニュートン反復極分解の場合)を計算する必要があります。&lt;0.1%&lt;0.1%<0.1\% 明示的な逆行列(行列のマイナーを行列式で割ったもの)は機能しているようで、約32〜40の融合フロップです(行列式の逆数の計算方法によって異なります)。detスケールファクターを考慮しない場合、18のフューズフロップのみです(9つの要素はそれぞれab-cd、2のフューズフロップの形式です)。 質問: 18(任意のスケール)未満または32(1の逆数を考慮した適切なスケール)の融合フロップを使用して逆を計算する方法はあり3×33×33\times 3ますか? 3×33×33\times 3行列の逆安定左逆行列を計算するための経済的な方法(〜50 fフロップを使用)はありますか? 単精度のフロート(iOSゲーム)を使用しています。後方安定性は私にとって興味深い新しい概念であり、実験してみたいと思います。ここだ記事の考えを引き起こしました。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.