フィルターのクリア

Generalized eigenvectors not orthogonal

16 ビュー (過去 30 日間)
Uri Cohen
Uri Cohen 2014 年 11 月 21 日
コメント済み: Matt J 2014 年 11 月 21 日
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 Center および File ExchangeEigenvalues & Eigenvectors についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by