【发布时间】:2014-02-19 06:35:09
【问题描述】:
我有一个方程AX= nBX,其中A 和B 是相同阶的矩阵,X 是coefficient matrix。而n 是待查明的eigenvalues。
现在,我知道X,我通过施加必要的边界条件获得。
找到eigenvalues 'n' 的最佳方法是什么?为什么?
A1=np.dot(A,X)
B1=np.dot(B,X)
n=eigvals(A1,B1)
或
n,yhat=eig(A,B).
【问题讨论】:
-
你真的知道
A、B和X的所有元素吗?这似乎使问题变得微不足道。 -
numpy.linalg.eig和numpy.linalg.eigvals都不接受两个参数。这看起来根本不像特征值计算。 -
是的,我知道 A、B 和 X 的所有元素。我必须找出“n”的值。请解释一下知道所有矩阵,它如何使问题变得微不足道。
-
有3个案例。案例一:
AX=BX=0。在这种情况下,n的任何值都是有效的。情况 2:BX!=0,但AX是BX的标量倍数。在这种情况下,n必须是AX的任何倍数BX。案例 3:AX不是BX的标量倍数。在这种情况下,n的值是不可能的。鉴于您谈到特征值,复数,您似乎对这种情况有不同的心理模型。 -
如果您已经愿意承担计算
AX和BX的计算负担,那么整个事情就可以简化为一个包含 1 个变量的 m*n 线性方程组,其中 m 和n 是AX和BX中的行数和列数。
标签: python numpy eigenvalue