Generalized eigenvectors not orthogonal

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 日

0 投票

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)

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLinear Algebra についてさらに検索

製品

質問済み:

2014 年 11 月 21 日

コメント済み:

2014 年 11 月 21 日

Community Treasure Hunt

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

Start Hunting!

Translated by