我正在寻找解决以下类型的问题: Aw = xBw其中x一个标量(特征值),w一个特征向量,A并且B是相等维数的对称方形numpy矩阵。d如果A和B是,我应该能够找到x / w对d x d。我如何解决这个问题?我正在寻找Scipy文档,却没有找到想要的东西。
Aw = xBw
x
w
A
B
d
d x d
对于对称密集矩阵,您可以scipy.linalg.eigh()用来解决此广义特征值问题:
scipy.linalg.eigh()
from scipy.linalg import eigh eigvals, eigvecs = eigh(A, B, eigvals_only=False)
您会发现这eigvecs很复杂ndarray,所以也许您必须使用eigvecs.real…
eigvecs
ndarray
eigvecs.real
在同一个模块中eigvalsh(),对于您的情况,该模块可能会执行得更快,但不会返回特征向量。
eigvalsh()