一种用于查找具有给定已知特征值的特征向量数量的方法

计算科学 Python 稀疏矩阵 特征值
2021-12-12 00:55:31

有没有一种方法可以找到具有给定特征值的特征向量的数量?鉴于对Compute eigenvectors of a matrix with known eigenvalue spectrum问题的答案的评论,我不需要特征向量本身,并且找到特征向量似乎非常困难


我有许多随机生成的邻接矩阵M尺寸大致105X105有元素0要么1. 我可以分析表明这些矩阵很可能有很多(大约103) 特征值恰好是1. 其他特征值在大致对称的特征谱内0并且有一个粗略的间距104相邻特征值之间,包括近1. 我对退化特征值的数量感兴趣1.

我很想尝试使用 Scipy 的使用 ARPACK 和 LAPACK 的稀疏包进行移位反转,尽管我经常发现当电平间距很小时移位反转与内部特征值作斗争。

但是,我想知道是否有办法完全避免内部特征求解,而是通过更聪明的方法来估计退化特征值的数量。

顺便说一句,对于我的特定问题,我对近似算法感到满意,只要退化中的误差由5真正退化的百分比,或者,也许更实际地,如果95% 置信区间的宽度为10.

1个回答

如果你知道的话λ, 那么特征值问题Ax=λx归结为找到一个向量x以便(AλI)x=0. 换句话说,您想要表征矩阵的零空间B=AλI. 如果你关心的只是多样性λ,你要问的是关于零空间的维度B.

例如,您可以通过显示排名的 QR 分解来做到这一点。不过,这可能仍然是您想做的更多工作。