我有一个复杂的非厄米矩阵,为此我需要在广义特征值问题中找到一些特征值和特征向量:
与实对称正定矩阵。我目前使用的是 ARPACK 例程的 Python 包装器。scipy.sparse.linalg.eigs
我已经成功地找到了特征值和右特征向量,但是我还需要相应的左特征向量满足:
(根据我的符号,这些左特征向量不需要复共轭,但显然撤消复共轭很容易)。
据我所知,scipy 和 ARPACK 都没有为这个问题提供现成的解决方案,它们不能被轻易地修改以提供两组向量。我遇到的可能的解决方案是:
转置我的矩阵并再次调用. 这显然是低效的,我不确定返回的特征值是否保证具有相同的值并且具有相同的顺序,因此匹配左右特征向量可能不可靠。
eigs使用逆迭代,从数值食谱第 2 版第 11.7 节推断。解决
迭代为,从一些随机向量开始。这种方法的问题在于,在退化特征值的情况下,它可能找不到完整的特征向量,我希望在某些情况下会看到这种情况。
是否有更好的解决方案可用,或者可以修复我提出的解决方案以克服其(感知的)限制的方法?