Questions tagged «eigenvalues»

1
使用Chebyshev多项式的谱方法的难度
我在尝试理解一篇论文时遇到了一些困难。本文使用频谱方法来求解来自耦合ODE系统的特征值。我现在只写一个方程式,因为它足以解决我的问题的症结所在。 等式是 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]' 我进行导数并得到 (等式1) 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' 现在根据该论文,我应该能够将系统的平衡量)扩展为以下形式的Chebyshev多项式(ϵ,p,ν,λ(ϵ,p,ν,λ(\epsilon ,p ,\nu ,\lambda ,其中Ti[y]是多项式。我知道如何让b我使用的代码,我在数学写道。也ÿ=2([R/[R )-1,和的域- [R是(0,- [R )。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 Ti[y]Ti[y]T_i[y]bibib_iy=2(r/R)−1y=2(r/R)−1y = …

1
在谐波振荡器的情况下,为什么SciPy eigsh()会产生错误的特征值?
我正在开发一些更大的代码,以在计算物理学的背景下执行巨大的稀疏矩阵的特征值计算。由于特征值在分析上是众所周知的,因此我在一维上针对简单的谐波振荡器测试了例程。这样做并将我自己的例程与SciPy的内置求解器进行比较,我遇到了下图中显示的异常情况。在这里可以看到第一个100个数值地计算本征值和分析本征值λ 一个Ñ 一个λñ ü 米λñü米\lambda_{num}λ一个ñ 一λ一种ñ一种\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 …

2
计算一个非常大且非常稀疏的邻接矩阵的所有特征值
我有两个图,每个图都有近n〜100000个节点。在两个图中,每个节点正好连接到其他3个节点,因此邻接矩阵是对称的并且非常稀疏。 困难的部分是我需要邻接矩阵的所有特征值,而不是特征向量。准确地说,这将是我一生中唯一的一次(至少据我所知!),因此我想获取所有特征值,并且不介意等待几天来获取它们。 我尝试过scipy包装器ARPACK,但是花费的时间太长。我找到了多个库,但是它们最适合于获得最大/最小特征值的子集。是否有适用于对称稀疏矩阵并可能并行实现所有特征值的库?

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} 谢谢!

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由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
小范数调整的特征向量
我有一个变化缓慢的数据集,我需要跟踪其协方差矩阵的特征向量/特征值。 我一直在使用scipy.linalg.eigh,但是它太贵了,并且它没有使用我已经进行了分解的事实,该分解只是稍微不正确。 谁能建议一种更好的方法来解决此问题?

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