Questions tagged «eigensystem»

算子的特征向量是一个向量,使得算子的作用与乘以常数(称为特征值)的乘积相同。算子的特征系统是所有这些特征向量及其相关特征值的集合。

7
计算一般矩阵最大特征值的最快方法是什么?
编辑:我正在测试是否任何特征值具有一个或更大的幅度。 我需要找到一个大型的稀疏,非对称矩阵的最大绝对特征值。 我一直在使用R eigen()函数,该函数使用EISPACK或LAPACK中的QR算法查找所有特征值,然后使用它abs()来获取绝对值。但是,我需要做得更快。 我也尝试过在igraphR包中使用ARPACK接口。但是,它给了我的一个矩阵一个错误。 最终实现必须可以从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 . 在一种情况下,得到一个特征值问题,而在另一种情况下得到一个广义的特征值问题。在获得问题的离散版本后,人们使用求解器来解决特征值问题。 一些想法 在这种情况下,“人造溶液”的方法无用,因为没有源项可以平衡方程。 [ 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 = …

1
复杂对称三对角广义特征值问题的专用方法
我必须解决广义特征值问题其中和都是三对角线的,是对称正定的且是实数的,但是仅是复对称的(不是定对称的或埃尔米特的)。此外,我需要完整的特征分解。我目前只是在打电话给Lapack的广义特征求解器,但是我想知道对于这个特殊的,高度结构化的问题是否有更好的方法。特别是,拥有免费可用的代码(C ++)将是最好的。Ax=λBxAx=λBxAx = \lambda BxAAABBBBBBAAAZGGEV


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秒 对于稀疏的eigs和eigsh,我将所需特征值和特征向量的数量k设置为矩阵的秩。 问题始于更大的矩阵-在9000x9000矩阵上,scipy.sparse.linalg.eigsh花了45分钟!

1
最小特征值无逆
假设甲∈ řn × n一种∈[Rñ×ñA\in\mathbb{R}^{n\times n}是对称正定矩阵。 一种一种A足够大,以至于直接求解昂贵甲X = b一种X=bAx=b。 是否有一种迭代算法来查找的最小特征值,而一种一种A该特征值在每次迭代中都不会反转一种一种A? 也就是说,我必须使用共轭梯度之类的迭代算法来求解,因此重复应用A - 1似乎是一个昂贵的“内部循环”。我只需要一个特征向量。甲X = b一种X=bAx=b一种− 1一种-1个A^{-1} 谢谢!

3
三对角矩阵本征系统的并行算法
我正在做一个大型稀疏矩阵(约200万个元素)的Lanczos对角化。Lanzcos算法中的几乎所有步骤都是在GPU上并行完成的,除了对角化Lanczos矩阵以检查收敛性。为此,我一直在使用《数字食谱》中的TQLI算法。是否有找到平行或容易平行的对角矩阵本征系统的方法?是否存在TQLI的并行版本?

4
寻找拉普拉斯矩阵的平方根
假设下面的矩阵给出 [ 0.500 - 0.333 - 0.167 - 0.500 0.667 - 0.167 - 0.500 - 0.333 0.833 ] 与它的转置甲Ť。该产品甲Ť甲= 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\\ -0.500 …

1
寻找特征值重新排序算法的基准问题
可以使用正交模拟变换将每个实矩阵简化为实Schur形式。此处,矩阵为准三角形形式,在主对角线上具有1 x 1或2 x 2块。每1由1块对应于一个真实特征值和每个2×2块对应于一对复共轭本征值的。一个一个AŤ= UŤ一个üŤ=üŤ一个üT = U^T A UüüUŤŤT一个一个A一个一个A 特征值重排序问题包括找到正交相似度变换,使得用户对的特征值的选择沿着S = V T T V的左上角的对角线出现。VVV一个一个A小号= VŤŤV小号=VŤŤVS = V^T T V 在LAPACK中,相关的例程双精度例程称为DTRSEN。Daniel Kressner写了一个被封锁的版本,名称为BDTRSEN。ScaLAPACK例程是PDTRSEN。 我正在寻找能够解决特征值重排序问题的真正优势的应用程序和算法。 我们可以轻松地生成准三角形式的测试矩阵,但是在确定用户特征值选择的实际分布形状时遇到了麻烦。 在我看来,具有Ritz加速度的子空间迭代是测试重新排序算法改进的理想算法。它需要(稀疏)矩阵向量乘法,高QR算法和重排序算法。 但是,对于我来说很难发现现实生活中的问题,因为很明显,一组特定的特征对在物理上是有趣的。 我们可以使用共享内存机器对维度为40,000的密集矩阵进行特征值重新排序。当用户选择所有特征值的约50%时,可获得最佳性能。

2
密集病态矩阵的对角化
我正在尝试将一些稠密,病态的矩阵对角化。在机器精度方面,结果不准确(返回负特征值,特征向量不具有预期的对称性)。我切换到Mathematica的Eigensystem []函数以利用任意精度,但是计算速度非常慢。我愿意接受许多解决方案。是否有非常适合病态问题的软件包/算法?我不是预处理方面的专家,所以我不确定这有多大帮助。否则,我所能想到的就是并行化的任意精度特征值求解器,但是我对Mathematica,MATLAB和C ++并不熟悉。 为了提供一些有关此问题的背景,矩阵很大,但不是很大(最多4096x4096至32768x32768)。它们是实数,是对称的,特征值在0到1(不包括)之间,许多特征值非常接近0,没有一个接近1。矩阵本质上是卷积算符。我不需要对所有矩阵进行对角线化,但是我可以走的越大越好。我可以访问具有许多处理器和分布式计算功能的计算集群。 谢谢

2
计算与最大特征值相对应的密集矩阵特征向量的最有效方法是什么?
我有一个密集的实对称方阵。尺寸约为1000x1000。我需要计算第一个主成分,并想知道这样做的最佳算法是什么。 看来MATLAB使用了Arnoldi / Lanczos算法(用于eigs)。但是通过阅读它们,我不确定它们是否比简单的幂迭代有任何优势,因为我的矩阵不是稀疏的,并且我只对第一个特征向量感兴趣。 任何建议在这种情况下最快的算法是什么?

1
三次特征值问题的Jacobi-Davidson方法的实现
我有一个很大的立方特征值问题: (一个0+ λ一个1个+λ2一个2+λ3一个3)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} & …

2
在共享内存中的GPU上查找小型非对称矩阵本征对的最快方法
我有一个问题,我需要找到一个小的(通常小于60x60)非对称矩阵的所有正对(如特征值为正)。当特征值小于某个阈值时,我可以停止计算。我知道特征值是真实的。关于可以用来尝试获得最佳性能的算法有何建议?我必须进行数千次分解,因此速度很重要。 先感谢您。 编辑:我需要在共享内存的GPU上执行此操作。矩阵也不必相同大小。我目前不知道有任何图书馆可以这样做。将会提出非常适合该问题的算法建议。

2
对称广义特征值问题是否存在Sylvester惯性定律的推广?
我知道为了解决对称特征值问题 甲X = λ XAx=λXAx = \lambda x,我们可以使用Sylvester惯性定律,即 一个一个A 少于 一个一个a 等于的否定条目数 ddD 对角矩阵 ddD 来自LDL的分解 A − a I= L D大号Ť一个-一个一世=大号d大号ŤA-aI = LDL^{T}。然后,通过二等分法,我们可以找到所需的全部或一些特征值。我想知道对称对称特征值问题是否存在Sylvester惯性定律的推广甲X = λ 乙X一个X=λ乙XAx= \lambda Bx,在哪里 一个一个A 和 乙乙B是对称矩阵。谢谢。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.