タグ付けされた質問 「linear-algebra」

線形システムの解、最小二乗問題、固有問題、その他の問題を含む、線形代数のアルゴリズム/計算的側面に関する質問。

3
解く
行列とます。はスパースで、で非常に大きい(数百万程度)は高さの行列で、はかなり小さく()、各列はように、残りがである単一のエントリのみがあります。は巨大なので、反転するのは本当に、などのクリロフ部分空間法を使用して、などの線形システムを繰り返し解くことができますが、AAAGGGAAAn×nn×nn\times nnnnGGGn×mn×mn\times mmmm1<m<10001<m<10001 \lt m \lt 1000111000GTG=IGTG=IG^TG = IAAAAx=bAx=bAx = bBiCGStab(l)BiCGStab(l)\mathrm{BiCGStab}(l)A−1A−1A^{-1} explicitly. I want to solve a system of the form: (GTA−1G)x=b(GTA−1G)x=b(G^TA^{-1}G)x = b, where xxx and bbb are mmm length vectors. One way to do it is to use an iterative algorithm within an iterative algorithm to solve for …

4
直交変換がガウス消去法よりも優れているのはいつですか?
知っているように、線形方程式のシステムの直交変換法(Givens回転とHousholder反射)は、ガウス消去法よりも高価ですが、理論的には、システムの条件数を変えないという意味で、より優れた安定性特性を持っています。ただし、部分的なピボットを伴うガウス消去法によって損なわれたマトリックスの学術的な例は1つだけ知っています。そして、実際にこの種の行動に出会う可能性は非常に低いという一般的な意見があります(この講義ノート[pdf]を参照)。 それでは、トピックに関する答えをどこで探しますか?並列実装?更新しますか?..

2
スパース線形システムを解くためのライブラリ
スパース線形連立方程式を解くさまざまなライブラリがありますが、その違いを理解するのは難しいと感じています。 私が知る限り、3つの主要なパッケージがあります: Trilinos、PETSc、およびIntel MKLです。それらはすべてスパース行列を解くことができ、すべて高速です(私が知る限り、それらのいずれについても堅実なベンチマークを見つけることができませんでした)。それらはすべて並列化可能です。私が見つけることができないのは違いです。 それでは、そこにあるさまざまなスパース線形システムソルバーの違いは何ですか?

3
対角線と固定対称線形システムは、事前計算後の2次時間で解くことができますか?
ある解決する方法、フォームのシステム線形(D_I + A)X_I = b_i Aが固定SPD行列でありD_Iは正の対角行列でありますか?O(n3+n2k)O(n3+n2k)O(n^3+n^2 k)kkk A D i(Di+A)xi=bi(Di+A)xi=bi(D_i + A) x_i = b_iAAADiDiD_i たとえば、各DiDiD_iがスカラーの場合、AのSVDを計算するだけで十分AAAです。ただし、これは、可換性の欠如により、一般DDDについて分類されます。 更新:これまでの答えは「いいえ」です。誰が理由について興味深い直感を持っていますか?回答がないということは、2人の非通勤オペレーター間で情報を圧縮する非自明な方法がないことを意味します。驚くほど驚くことではありませんが、それをよりよく理解することは素晴らしいことです。

1
対称正定行列の対角更新
AAAは対称正定値(SPD)スパース行列です。は、スパース対角行列です。は大きく( > 10000)、の非ゼロの数は通常100〜1000です。G n n Gn × nn×nn \times nGGGnnnnnnGGG AAAはコレスキー形式でとして因数分解されています。L D LTLDLTLDL^T がときにと効率的に更新する方法は?D A A + GLLLDDDAAAA + GA+GA+G

3
特定の問題に対する適切な事前調整方法を検索するとき、どのガイドラインを使用する必要がありますか?
大型線形システムの解の反復法を使用して、それが前処理導入することがしばしば重要である、例えば、代わりに解決、ここで左前処理システムのために使用され。通常、必要であり、元のシステムのソリューションと比較して(はるかに)効率的なソリューションまたは計算リソース(メモリストレージなど)の削減の基礎を提供する必要があります(すなわち、場合)。ただし、前提条件を選択するには、どのガイドラインを使用する必要がありますか?特定の問題に対して、実務家はどのようにこれを行いますか?Ax=bAx=bAx=bM−1(Ax=b)M−1(Ax=b)M^{-1}(Ax=b)MMMM−1≈A−1M−1≈A−1M^{-1}\approx A^{-1}M=AM=AM=A

5
優れたソフトウェア設計で20%のパフォーマンスペナルティ
オブジェクト指向プログラミングを最大限に活用する方法を習得する方法として、スパース行列計算用の小さなライブラリを作成しています。パーツ(疎行列と、それらの接続構造を記述するグラフ)が非常に緩やかに結合されている素晴らしいオブジェクトモデルを作成するために、私は一生懸命取り組んできました。私自身の見解では、コードははるかに拡張性があり、保守が容易です。 ただし、鈍いアプローチを使用した場合よりも多少遅くなります。このオブジェクトモデルを使用することのトレードオフをテストするために、基になるグラフのカプセル化を破る新しいスパースマトリックスタイプを作成して、実行速度を確認しました。 最初は、かなり暗いように見えました。私がかつて誇りに思っていたコードは、洗練されたソフトウェア設計のないバージョンよりも60%遅くなりました。しかし、APIをまったく変更せずに、関数をインライン化し、ループを少し変更するという、いくつかの低レベルの最適化を行うことができました。これらの変更により、競合よりもわずか20%遅くなりました。 それは私の質問に私をもたらします:それが私が素晴らしいオブジェクトモデルを持っていることを意味する場合、どのくらいのパフォーマンス損失を受け入れるべきですか?

2
長方形の密行列のヌル空間
密行列を与えA∈Rm×n,m>>n;max(m)≈100000A∈Rm×n,m>>n;max(m)≈100000A \in R^{m \times n}, m >> n; max(m) \approx 100000 いくつかの許容範囲内にその零空間の基礎を見つけるための最善の方法は何かϵϵ\epsilon? その根拠に基づいて、私はその後、特定のCOLSは内直線的に依存していると言うことができϵϵ\epsilon?言い換えれば、ヌル空間基底を計算して、非特異行列を得るためにのどの列をAAA削除する必要があるのでしょうか? 参考文献を歓迎します。

4
なぜHouseholder反射は行列を対角化できないのですか?
実際にQR分解を計算するときは、Householder反射を使用して、マトリックスの下部をゼロにします。対称行列の固有値を計算するために、Householder反射でできる最善の方法は、三重対角形にすることです。この方法で完全に対角化できない理由を確認する明白な方法はありますか?私はこれを簡単に説明しようとしていますが、明確なプレゼンテーションを思い付くことができません。

2
ほぼ特異なシステムに適用される反復線形ソルバーの停止基準
検討Ax=bAx=bAx=bとの固有値があることを意味し、ほぼ特異の非常に小さいです。反復法の通常の停止基準は、残差おり、が反復数のときに反復が停止できると見なします。しかし、検討しているケースでは、小さな固有値\ lambda_0に関連付けられた固有空間に大きな誤差vが存在する可能性があり、小さな残留Av = \ lambda_0vが得られます。初期残差r_0を仮定しますAAAλ0λ0\lambda_0AAArn:=b−Axnrn:=b−Axnr_n:=b-Ax_n∥rn∥/∥r0∥&lt;tol‖rn‖/‖r0‖&lt;tol\|r_n\|/\|r_0\|<tolnnnvvvλ0λ0\lambda_0Av=λ0vAv=λ0vAv=\lambda_0vr0r0r_0が大きい場合、\ | r_n \ | / \ | r_0 \ | &lt;tolで停止する可能性∥rn∥/∥r0∥&lt;tol‖rn‖/‖r0‖&lt;tol\|r_n\|/\|r_0\|<tolがありますが、エラーxn−xxn−xx_n-xはまだ大きいです。この場合のより良いエラーインジケータは何ですか?ある∥xn−xn−1∥‖xn−xn−1‖\|x_{n}-x_{n-1}\|良い候補者ですか?

2
「二重前提条件」を行う方法はありますか
質問: あなたは対称正定値行列のための2つの異なった(因数分解)予備調整があると: A ≈ B T B 及び A ≈ C T C 、 因子の逆数をAAAA ≈BTBA≈BTBA \approx B^TBA ≈ CTC、A≈CTC、A \approx C^TC,B 、BT、C、CTB、BT、C、CTB, B^T, C, C^T容易にしているが適用します。 と両方 からの情報を使用して、またはいずれか単独よりも優れた前提条件を構築することはいつ可能ですか?C B CBBBCCCBBBCCC

3
マトリックス平方根逆関数の効率的な計算
統計の一般的な問題は、対称正定行列の逆平方根を計算することです。これを計算する最も効率的な方法は何でしょうか? 私が出会ったいくつかの文献(私はまだ読んでいない)、およびいくつかの偶発Rコードここで私は便宜のためにここに再現されます、 # function to compute the inverse square root of a matrix fnMatSqrtInverse = function(mA) { ei = eigen(mA) d = ei$values d = (d+abs(d))/2 d2 = 1/sqrt(d) d2[d == 0] = 0 return(ei$vectors %*% diag(d2) %*% t(ei$vectors)) } 私はその行を理解しているかどうかはよくわかりませんd = (d+abs(d))/2。マトリックスの平方根逆関数を計算するより効率的な方法はありますか?R eigen関数はLAPACKを呼び出します。

3
PDEを解くためのマルチグリッド法
マルチグリッド法の簡単な説明またはこれに関するいくつかの文献が必要です。 私は、BiCGStab、CG、GS、Jacobiおよび事前調整などの反復法に精通していますが、マルチグリッド法の初心者です。 非常に初心者向けの優れた文献であっても、誰かがこれを詳細に説明したり、少なくとも明確に擬似コードまたはソースコードを提供したりできますか?ありがとう!

4
線形連立方程式の解は、最初のいくつかの変数についてのみ近似できますか?
私はmが大きいサイズmxmの線形方程式系を持っています。ただし、私が興味を持っている変数は、最初のn個の変数です(nはmと比べて小さい)。システム全体を解くことなく、最初のm値の解を近似できる方法はありますか?もしそうなら、この近似は完全な線形システムを解くよりも速いでしょうか?

1
クリロフ部分空間法をマルチグリッドのスムーザーとして使用できますか?
私の知る限り、マルチグリッドソルバーは、Jacobi、Gauss-Seidel、SORなどの反復スムーザーを使用して、さまざまな周波数でエラーを減衰させます。代わりに、クリロフ部分空間法(共役勾配、GMRESなど)を利用できますか?私はそれらが「スムーズナー」として分類されるとは思わないが、それらは粗いグリッド解を近似するために使用できる。標準的なマルチグリッド法の場合と同様に、ソリューションへの類似した収束を期待できますか?それとも問題に依存していますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.