广义特征值问题
我正在尝试将广义特征值问题转换为正常的特征值计算。
我有这样的代码:
[V,D,flag] = eigs(A, T);
现在我将其转换为:
A1 = inv(T)*A;
[V1,D1,flag1] = eigs(A1);
我不应该得到相同的结果吗?根据我在 Matlab 文档中的理解,第一个方程求解:
A*V = B*V*D
第二个方程求解:
A*V = V*D
我遗漏了什么吗?
谢谢!!
I'm trying to convert a generalized eigenvalue problem into a normal eigenvalue calculation.
I have this code:
[V,D,flag] = eigs(A, T);
Now I convert it into:
A1 = inv(T)*A;
[V1,D1,flag1] = eigs(A1);
Shouldn't I get the same result? From what I understand in the Matlab documentation, the first equation solves:
A*V = B*V*D
and the second one solves:
A*V = V*D
am I missing something?
Thanks!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一个简单的例子:
结果:
注意:特征值的排序并不总是相同,符号约定也可能不同......
A quick example:
The result:
Note: The eigenvalues are not always sorted the same, also the sign convention might be different...
首先检查
T
是否可逆。其次,我确定D = D1
和V = V1
达到比例因子。检查V1
的每一列是否与V
的相应列在比例因子上相同(即查看V./V1
) 。First check if
T
is invertible. Second, I'm sureD = D1
and thatV = V1
up to a scale factor. Check if each column ofV1
is the same as the corresponding column ofV
up to a scale factor (i.e. look atV./V1
).