Generalized eigenvectors not orthogonal

7 次查看(过去 30 天)
I use eig to solve a generalized eigenvalues problem from two symmetric real matrices and resulting eigenvalues are not orthogonal even though there is no degeneration in the eigenvalues. Minimal code to reproduce this:
A=randn(10); B=randn(10);
A=A+A'; B=B+B';
[V,D]=eig(A,B);
diag(D)
V(:,1:6)'*V(:,1:6)
What do I miss?
  1 个评论
Matt J
Matt J 2014-11-21
I'm not aware of any result saying they should be orthogonal. The material here
mentions they will be B-orthogonal, but only if B is positive definite.

请先登录,再进行评论。

回答(1 个)

MA
MA 2014-11-21
They are orthogonal, what is the problem?
clear all
close all
clc;
A=randn(10);
B=randn(10);
AA=A+A';
BB=B+B';
[V,D]=eig(AA);
[VV,DD]=eig(BB);
diag(D);
diag(DD);
V(:,1:10)'*V(:,1:10)
VV(:,1:10)'*VV(:,1:10)
  2 个评论
MA
MA 2014-11-21
in your case must be x=y:
clear all
clc;
A=randn(10);
B=randn(10);
AA=A+A';
BB=B+B';
[V,D]=eig(AA,BB);
%x=y
x=AA*V
y=BB*V*D
Uri Cohen
Uri Cohen 2014-11-21
The eigenvectors are orthogonal, while the generalized eigenvectors are not, also in your example...
A=randn(10); AA=A+A';
B=randn(10); BB=B+B';
[V,D]=eig(AA);
V*V' % eye(10)
[V,D]=eig(AA, BB);
V*V' % not eye(10)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Linear Algebra 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by