【发布时间】:2012-04-07 20:28:50
【问题描述】:
我正在尝试解决广义特征值问题 A.c = (lam).B.c 其中 A 和 B 是 nxn 矩阵,c 是 nx1 向量。 (lam) 是特征值。
我正在使用 python。我从 numpy.linalg 尝试了类似 eig(dot(inv(B),A)) 的东西,但结果证明它在我的问题中非常不稳定,因为它涉及反转。所以我一直在阅读可以在 MATLAB 中执行此操作,但我找不到任何函数或方法可以在 python 中执行此操作。任何想法将不胜感激。谢谢...
【问题讨论】:
-
我对线性代数的了解还不够,无法构思一个通用的算法/方法来解决这个问题。你能描述一下你打算使用的算法吗?如果是这样,那么我可能会为您提供执行此操作的 Python 代码。或者您是否正在寻找已经为您执行此操作的库?
-
可能值得再次查看您的问题 - 您几乎不需要 反转矩阵,有时看起来就是这样。 johndcook.com/blog/2010/01/19/dont-invert-that-matrix 反转,正如您所指出的,通常在数值上非常不稳定,应该避免(如果可能的话!)。
标签: python eigenvalue