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

固有値は、線形連立方程式(つまり、行列方程式)に関連付けられた特別なスカラーのセットであり、特性根、特性値(Hoffman and Kunze 1971)、適切な値、または潜在根(Marcus and Minc 1988)としても知られています。 、p。144)。

1
チェビシェフ多項式を使用したスペクトル法の難しさ
私は論文を理解しようとするのに少し苦労しています。この論文では、スペクトル法を使用して、結合ODEのシステムから得られる固有値を解きます。私の質問の核心に到達するのに十分であるので、私は今1つの方程式だけを書きます。 方程式は V[r]=e−(ν[r]+λ[r])ϵ[r]+p[r]∗[(ϵ[r]+p[r])(eν[r]+λ[r])rW[r]]′V[r]=e−(ν[r]+λ[r])ϵ[r]+p[r]∗[(ϵ[r]+p[r])(eν[r]+λ[r])rW[r]]′V[r] = \frac{e^{-(\nu[r] +\lambda[r])}}{\epsilon[r] + p[r]} *\biggr[ (\epsilon[r] + p[r])( e^{\nu[r] +\lambda[r]})r W[r] \biggr]' 派生物を実行して取得する (Eq1) V=[ϵ′+p′ϵ+p+r(ν′+λ′)+1]W+rW′V=[ϵ′+p′ϵ+p+r(ν′+λ′)+1]W+rW′V = \biggr[ \frac{\epsilon' +p'}{\epsilon + p} + r(\nu'+\lambda') +1 \biggr] W + r W' 論文によると、システムの平衡量)を次の形式のチェビシェフ多項式として展開できるはずです。(ϵ,p,ν,λ(ϵ,p,ν,λ(\epsilon ,p ,\nu ,\lambda B[r]=Σ∞i=0biTi[y]−12b0B[r]=Σi=0∞biTi[y]−12b0B[r] = \Sigma_{i=0}^{\infty}b_i T_i[y] - \frac{1}{2} b_0 、ここでは多項式です。Mathematicaで書いたコードを使ってを取得する方法を知っています。また、、の領域はです。b i y = 2 (r …

1
SciPy eigsh()が高調波発振器の場合に誤った固有値を生成するのはなぜですか?
私は、計算物理学の文脈で、巨大なスパース行列の固有値計算を実行するために、いくつかのより大きなコードを開発しています。固有値は分析的によく知られているため、1次元の単純な調和振動子に対してルーチンをテストします。そのようにして、自分のルーチンをSciPyの組み込みソルバーと比較すると、下のプロットに表示される奇妙なことに出くわしました。ここでは、数値計算された最初の100個の固有値および分析固有値を見ることができますλN U Mλnあなたはm\lambda_{num}λn個のAλana\lambda_{ana} 固有値番号40付近で、数値結果は分析結果から分岐し始めます。これは私を驚かせるものではありません(議論で取り上げられない限り、ここではなぜなのかを説明しません)。しかし、私にとって驚くべきことは、eigsh()が縮退した固有値(固有値80あたり)を生成することです。なぜeigsh()は、そのような少数の固有値に対してもそのように振る舞いますか? import numpy as np from scipy.sparse.linalg import eigsh import myFunctions as myFunc import matplotlib.pyplot as plt #discretize x-axis N = 100 xmin = -10. xmax = 10. accuracy = 1e-5 #stepsize h = (xmax - xmin) / (N + 1.) #exclude first and last points since …

2
非常に大きくて非常に疎な隣接行列のすべての固有値を計算する
それぞれ約n〜100000個のノードを持つ2つのグラフがあります。両方のグラフで、各ノードはちょうど3つの他のノードに接続されているため、隣接行列は対称で非常にまばらです。 難しい部分は、隣接行列のすべての固有値が必要ですが、固有ベクトルは必要ないことです。正確に言うと、これは私の生涯に1回(少なくとも私が見る限りでは!)になるので、すべての固有値を取得したいのですが、それらを取得するのに数日待つことは気にしません。 scipyラッパーを試してみましたARPACKが、時間がかかりすぎます。複数のライブラリを見つけましたが、最大/最小の固有値のサブセットを取得するのに最適です。すべての固有値を取得するために、おそらく並列実装で対称スパース行列に機能するライブラリはありますか?

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} ありがとう!

2
行列が半正定かどうかをテストする
正の半正定性を確認する必要がある対称行列のリストLL{\cal L}があります(つまり、それらの固有値は非負です)。 上記のコメントは、それぞれの固有値を計算し、それらが非負であるかどうかをチェックすることで実行できることを示しています(おそらく丸め誤差を処理す​​る必要があります) 私のシナリオでは固有値の計算は非常に高価ですが、使用しているライブラリは正の確定性(つまり、行列の固有値が厳密に正である場合)のテストが非常に高速であることに気付きました。 したがってアイデアは、マトリックス与えられたであろうB∈LB∈LB \in {\cal L}、あるテスト場合にB+ϵIB+ϵIB + \epsilon I正定値です。そうでない場合、BBBは正の半正定値ではありません。そうでない場合、の固有値を計算して、BBBそれが実際に正の半正定値であることを確認できます。 私の質問は次のとおりです。 正定性の効率的なテストが提供されている場合、行列が半正定かどうかをテストするより直接的で効率的な方法はありますか?

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
小さなノルム調整の固有ベクトル
ゆっくりと変化するデータセットがあり、その共分散行列の固有ベクトル/固有値を追跡する必要があります。 私はを使用してきましたがscipy.linalg.eigh、高すぎるため、すでに少しだけ正しくない分解が既に存在しているという事実を使用していません。 誰もがこの問題に対処するためのより良いアプローチを提案できますか?

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 & …

1
行列の
与えられた大行列あAAと固有値σ1≥ σ2≥ …σ1≥σ2≥…\sigma_1\ge \sigma_2 \ge \dotsc 、私は、これらの値のサブセットのみを決定言いたいσ5、σ8σ5,σ8\sigma_5,\sigma_8およびσ19σ19\sigma_{19}。これを実行できるアルゴリズムはありますか、または上位19の固有値を実行できる最高のものを見つけていますか?

3
実際の行列に適用されたQRアルゴリズムはどのようにして複素固有値を返しますか?
私は固有値アルゴリズムの初心者ですが、何か注意が必要です。QRアルゴリズムは、実数/複素数の固有値を生成する実数/複素数行列で機能します。ただし、実際の行列から複素固有値を生成することはできません。ここでは、ジュリアで書かれ、こことここから派生した単純な例を示します。 using LinearAlgebra A = [7 3 4 11 -9 -2; -6 4 -5 7 1 12; -1 -9 2 2 9 1; -8 0 -1 5 0 8; -4 3 -5 7 2 10; 6 1 4 -11 -7 -1] M = copy(A) for i=1:100 global M Q,R = …

2
小さな行列の固有値
2x2、3x3、および4x4行列(実数、非対称)の小さな数値ライブラリを書いています。 多くの数値分析テキストは、特性多項式の根を計算することを強くお勧めし、ダブルシフトQRアルゴリズムの使用を推奨しています。ただし、行列のサイズから、特性多項式を単純に計算して根を見つけるだけで十分かどうか疑問に思います。これをサポートするStackExchangeでこの回答を見つけましたが、多項式係数のエラーにより、多項式のゼロ(したがって、異なる固有値)が不正確になる可能性があることを知っています。一方、方程式はせいぜい4次式であり、多項式の根の分析式があるので、あまり離れすぎないようにしてください。 この場合の固有値を得るために特性多項式を使用することの長所と短所は何ですか?

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