Generalized eigenvectors not orthogonal

9 views (last 30 days)
Uri Cohen
Uri Cohen on 21 Nov 2014
Commented: Matt J on 21 Nov 2014
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 Comment
Matt J
Matt J on 21 Nov 2014
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.

Sign in to comment.

Answers (1)

MA
MA on 21 Nov 2014
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 Comments
MA
MA on 21 Nov 2014
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 on 21 Nov 2014
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)

Sign in to comment.

Categories

Find more on Linear Algebra in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!