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

演算子の固有ベクトルは、演算子の作用が固有値と呼ばれる定数による乗算と同じになるようなベクトルです。演算子の固有システムは、そのようなすべての固有ベクトルとそれに関連する固有値のセットです。

7
一般的な行列の最大固有値を計算する最速の方法は何ですか?
編集:固有値の大きさが1以上であるかどうかをテストしています。 大きなスパースな非対称行列の最大の絶対固有値を見つける必要があります。 eigen()EISPACKまたはLAPACKのQRアルゴを使用してすべての固有値を検索し、次にabs()絶対値を取得するために使用するRの関数を使用しています。しかし、私はそれをより速くする必要があります。 また、igraphRパッケージのARPACKインターフェイスを使用してみました。しかし、私の行列の1つでエラーが発生しました。 最終的な実装はRからアクセス可能でなければなりません。 おそらく同じ大きさの複数の固有値があるでしょう。 何か提案はありますか? 編集: 精度はする必要があるだけ1e-11です。「典型的な」行列はこれまででした。QR分解を行うことができました。ただし、より大きなものを使用することもできます。現在、Arnoldiアルゴリズムについて読み始めています。Lanczsosに関連していることを理解しています。386 × 386386×386386\times 386 EDIT2:「テスト」している複数のマトリックスがあり、変化しない大きなサブマトリックスがあることがわかっている場合。無視/破棄することは可能ですか?

6
大きな行列の近似スペクトル
大きなスパース行列(数十万行)のスペクトル(すべての固有値)を計算したい。これはきつい。 近似値に落ち着きます。これを行う近似方法はありますか? この質問に対する一般的な回答を希望する一方で、次の特定の場合の回答にも満足します。私の行列は、大きなグラフの正規化ラプラシアンです。固有値は0から2の間であり、それらの多くは1前後にクラスター化されます。

2
固有値問題の検証
フォームの問題から始めましょう (L+k2)u=0(L+k2)u=0(\mathcal{L} + k^2) u=0 与えられた境界条件のセット(Dirichlet、Neumann、Robin、Periodic、Bloch-Periodic)。これは、いくつかの幾何学および境界条件の下で、ある演算子の固有値と固有ベクトルを見つけることに対応しLL\mathcal{L}ます。たとえば、音響学、電磁気学、弾性力学、量子力学でこのような問題を得ることができます。 さまざまな方法、たとえば、有限差分法を使用して演算子を離散化できることを知っています [A]{U}=k2{U}[A]{U}=k2{U}[A]\{U\} = k^2 \{U\} または、有限要素法を使用して取得する [K]{U}=k2[M]{U}.[K]{U}=k2[M]{U}.[K]\{U\} = k^2 [M]\{U\} \enspace . あるケースでは、固有値問題と一般化された固有値問題を別のケースで取得します。問題の離散バージョンを取得した後、固有値問題のソルバーを使用します。 いくつかの考え Manufactured Solutionsの方法は、方程式のバランスをとるためのソース用語がないため、この場合は役に立ちません。 行列および[ M ]が、ソースタームの周波数領域の問題を使用してうまくキャプチャされていることを検証できます。たとえば、[K][K][K][M][M][M] [∇2+ω2/c2]u(ω)=f(ω),∀ω∈[ωmin,ωmax][∇2+ω2/c2]u(ω)=f(ω),∀ω∈[ωmin,ωmax][\nabla^2 + \omega^2/c^2] u(\omega) = f(\omega) \enspace ,\quad \forall \omega \in [\omega_\min, \omega_\max] の代わりに [∇2+k2]u=0.[∇2+k2]u=0.[\nabla^2 + k^2] u = 0 \enspace . しかし、これはソルバーの問題をチェックしません。 たぶん、FEMやFDMなどの異なる方法のソリューションを比較できます。 質問 …

1
複雑な対称三重対角一般化固有値問題のための特別な方法
私は一般固有値問題を解決する必要がここで、A及びBが両方とも三重対角であり、Bは対称正定値と実であるが、Aは、唯一の複合対称(明確またはエルミートではない)です。さらに、完全な固有分解が必要です。私は現在、Lapackの一般化された固有値ソルバーを呼び出しているだけですが、この特定の高度に構造化された問題により良い方法があるかどうか疑問に思っています。特に、自由に利用可能なコード(C ++)を用意することが最善です。A X = λ B XAバツ=λBバツAx = \lambda BxAAABBBBBBAAAZGGEV

3
50x50マトリックスの最大固有値を見つけるためのSVD —かなりの時間を無駄にしていますか?
すべての特異値分解を実行することにより、多くの実対称50x50行列の最大固有値を計算するプログラムがあります。SVDはプログラムのボトルネックです。 最大の固有値を見つけるのにはるかに速いアルゴリズムがありますか、またはこの部分を最適化しても投資収益率があまり高くないでしょうか?

2
Pythonで非常に大きくて疎な隣接行列のすべての固有値を計算する最速の方法は何ですか?
scipy.sparse.linalg.eigshを使用するよりも非常に大きくて疎な隣接行列のすべての固有値と固有ベクトルを計算するより速い方法があるかどうかを把握しようとしていますマトリックスの対称属性。隣接行列もバイナリであるため、より高速な方法があると思います。 ランダムな1000x1000スパース隣接行列を作成し、x230 ubuntu 13.04ラップトップでいくつかの方法を比較しました。 scipy.sparse.linalg.eigs:0.65秒 scipy.sparse.linalg.eigsh:0.44秒 scipy.linalg.eig:6.09秒 scipy.linalg.eigh:1.60秒 スパースeigとeigshで、希望する固有値と固有ベクトルの数であるkを行列のランクに設定します。 問題は、より大きな行列から始まります-9000x9000行列では、scipy.sparse.linalg.eigshに45分かかりました!

1
逆数のない最小の固有値
仮定A∈Rn×nA∈Rn×nA\in\mathbb{R}^{n\times n}の対称正定値行列です。 AAAは十分大きいため、Ax=bAx=bAx=b直接解くのは高価です。 最小固有値見つけるための反復アルゴリズムがあるAAA反転関与しないAAA各反復では? つまり、共役勾配のような反復アルゴリズムを使用してを解かなければならないため、A - 1をAx=bAx=bAx=b繰り返し適用することは高価な「内部ループ」のように思えます。必要なのは単一の固有ベクトルだけです。A−1A−1A^{-1} ありがとう!

3
三重対角行列の固有システムの並列アルゴリズム
大きなスパースマトリックス(〜200万要素)のランチョス対角化を行っています。Lanzcosアルゴリズムのほとんどすべての手順は、収束を確認するためにLanczos行列を対角化することを除いて、GPU上で並行して実行されます。そのために、私はNumerical RecipesのTQLIアルゴリズムを使用しています。並列または簡単に並列化可能な三重対角行列の固有システムを見つける方法はありますか?TQLIの並列バージョンは存在しますか?

4
ラプラシアン行列の平方根を見つける
次の行列と仮定与えられたが [ 0.500 - 0.333 - 0.167 - 0.500 0.667を- 0.167を- 0.500 - 0.333 0.833 ] その転置とA T。製品A T A = G収量 [ 0.750 - 0.334 - 0.417 - 0.334 0.667 - 0.333 - 0.417 - 0.333 0.750 ]、AAA⎡⎣⎢0.500−0.500−0.500−0.3330.667−0.333−0.167−0.1670.833⎤⎦⎥[0.500−0.333−0.167−0.5000.667−0.167−0.500−0.3330.833] \left[\begin{array}{ccc} 0.500 & -0.333 & -0.167\\ -0.500 & 0.667 & -0.167\\ …

1
求める固有値並べ替えアルゴリズムのベンチマーク問題
すべての実行列は、直交類似変換を使用して、実Schurフォームに縮小できます。ここで、行列は、主対角線上に1 x 1または2 x 2のブロックを持つ準三角形の形式です。1 x 1の各ブロックは実固有値に対応し、2 x 2の各ブロックは複素共役固有値のペアに対応します。T = U T A U U T A AAAAT=UTAUT=UTAUT = U^T A UUUUTTTAAAAAA 固有値並べ替え問題は、ユーザーが選択したの固有値が左上隅の対角線に沿って現れるような直交相似変換を見つけることで構成されます。A S = V T T VVVVAAAS=VTTVS=VTTVS = V^T T V LAPACKでは、関連するルーチンの倍精度ルーチンはDTRSENと呼ばれます。Daniel KressnerがブロックされたバージョンをBDTRSENという名前で書きました。ScaLAPACKルーチンはPDTRSENです。 固有値の並べ替えの問題を解決する上での進歩が真の利益となるアプリケーションとアルゴリズムを探しています。 準三角形式のテスト行列は簡単に生成できますが、ユーザーが選択した固有値の現実的な分布の形を決定するのに問題があります。 私の観点からは、リッツ加速を使用した部分空間反復は、並べ替えアルゴリズムの改善をテストするための理想的なアルゴリズムです。(スパース)行列ベクトル乗算、tall QRアルゴリズム、および並べ替えアルゴリズムが必要です。 ただし、特定の固有ペアのセットが物理的に興味深いことが明らかな場合、実際の問題を見つけるのは難しいです。 共有メモリマシンを使用して、40,000次元の密行列に対して固有値の並べ替えを行うことができます。ユーザーがすべての固有値の約50%を選択すると、最高のパフォーマンスが得られます。

2
密で不良な条件付き行列の対角化
いくつかの密で悪条件の行列を対角化しようとしています。マシン精度では、結果は不正確です(負の固有値を返す、固有ベクトルには期待される対称性がありません)。MathematicaのEigensystem []関数に切り替えて、任意の精度を利用しましたが、計算が非常に遅くなっています。私はいくつもの解決策を受け入れます。悪条件の問題に適したパッケージ/アルゴリズムはありますか?私はプレコンディショニングの専門家ではないので、これがどれだけ役立つかわかりません。それ以外の場合は、並列化された任意精度の固有値ソルバーしか考えられませんが、Mathematica、MATLAB、およびC ++以外には何も知りません。 問題の背景を説明するために、行列は大きくはありますが、巨大ではありません(最大で4096x4096〜32768x32768)。それらは実数で対称であり、固有値は0から1(排他的)の範囲にあり、多くの固有値は0に非常に近く、1に近いものはありません。行列は本質的に畳み込み演算子です。すべての行列を対角化する必要はありませんが、大きくできるほど良いです。多くのプロセッサと分散コンピューティング機能を備えたコンピューティングクラスタにアクセスできます。 ありがとうございました

2
最大の大きさの固有値に対応する密行列の固有ベクトルを計算する最も効率的な方法は何ですか?
密な実対称正方行列があります。寸法は約1000x1000です。最初の主成分を計算する必要があり、これを行うのに最適なアルゴリズムは何であるのかと思います。 MATLABはArnoldi / Lanczosアルゴリズム(の場合eigs)を使用しているようです。しかし、それらについて読んだだけでは、行列がスパースではなく、最初の固有ベクトルのみに関心があるため、単純な累乗反復よりも利点があるかどうかわかりません。 この場合の最速のアルゴリズムは何ですか?

1
3次固有値問題に対するJacobi-Davidson法の実装
私は大きな三次固有値問題を抱えています: (A0+λA1+λ2A2+λ3A3)x=0.(A0+λA1+λ2A2+λ3A3)x=0.\left(\mathbf{A}_0 + \lambda\mathbf{A}_1 + \lambda^2\mathbf{A}_2 + \lambda^3\mathbf{A}_3\right)\mathbf{x} = 0. これを線形固有値問題に変換することで解決できますが、システムは大きさになります。32323^2 ⎡⎣⎢−A0000I000I⎤⎦⎥⎡⎣⎢xyz⎤⎦⎥=λ⎡⎣⎢A1I0A20IA300⎤⎦⎥⎡⎣⎢xyz⎤⎦⎥,[−A0000I000I][xyz]=λ[A1A2A3I000I0][xyz],\begin{bmatrix} -\mathbf{A}_0 & 0 & 0 \\ 0 & \mathbf{I} & 0 \\ 0 & 0 & \mathbf{I} \end{bmatrix} \begin{bmatrix} \mathbf{x} \\ \mathbf{y} \\ \mathbf{z} \end{bmatrix} = \lambda \begin{bmatrix} \mathbf{A}_1 & \mathbf{A}_2 & \mathbf{A}_3 \\ \mathbf{I} & 0 & …

2
共有メモリのGPUで小さな非対称行列の固有ペアを見つける最速の方法
小さな(通常は60x60よりも小さい)非対称行列のすべての正(固有値は正)の固有ペアを見つける必要があるという問題があります。固有値が特定のしきい値より小さい場合、計算を停止できます。私は固有値が実在することを知っています。最高のパフォーマンスを絞り出すために使用できるアルゴリズムに関する提案はありますか?私はこれらの分解を数千回行わなければならないので、速度が重要です。 前もって感謝します。 編集:これをGPUの共有メモリで行う必要があります。行列も必ずしも同じサイズではありません。現在、これを行うライブラリーについては知りません。問題に適しているアルゴリズムの提案をいただければ幸いです。

2
対称一般化固有値問題に対してシルベスター慣性法の一般化はありますか?
私は、対称固有値問題を解決するためにことを知っている、私たちはの固有値の数であるシルベスターの慣性法則、使用することができますAを未満の負のエントリ数と等しいD対角行列Dはから来ているのLDLの分解A - I = L D L T。次に、二分法により、必要に応じてすべてまたは一部の固有値を見つけることができます。私は解決され、対称一般化固有値問題のシルベスター慣性法の一般化、そこに存在するかどうかを知りたい、A X = λ XAx=λxAx = \lambda xあAAaaaDDDDDDA − a I= L D LTA−aI=LDLTA-aI = LDL^{T}A BAx=λBxAx=λBxAx= \lambda BxAAAとは対称行列です。ありがとう。BBB

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