在Matlab中,我有两个142 x 142 Hermitian复矩阵A和B,经过验证
isequal(A,A')
ans =
1
isequal(B,B')
ans =
1
和
A-A'=(all exact zeros)
B-B'=(all exact zeros)
我试图解决广义特征值问题A V = B V * D
[V,D] = eig(A, B);
我期待两件事:
Real eigenvalues,V
特征向量是正交的。也就是说,V' B V是一个单位矩阵。
但是,我得到了COMPLEX特征值,V' B V到处都有非零值。此外,如果我使用qz算法,事情并没有改变。哪里可能出错?几个星期以来,我一直陷入这个瓶颈。任何帮助都非常感谢!
答案 0 :(得分:0)
来自matlab文档:
[V,D] = eig(A,B)返回广义特征值的对角矩阵D和全矩阵V,其列是对应的右特征向量,因此A V = B V * D
使用以下命令获得更准确的结果:
[V,D]=eig(A,B,'qz')
仔细阅读以下文件,了解eig功能无法返回准确结果的情况: Matlab Doc