Generalized eigenvalue problem

12 ビュー (過去 30 日間)
Sara
Sara 2011 年 7 月 19 日
Hi!
I'm trying to convert a generalized eigenvalue problem into a normal eigenvalue calculation.
I have this code:
[V,D,flag] = eigs(A, T);
Now I convert it into:
A1 = inv(T)*A;
[V1,D1,flag1] = eigs(A1);
Shouldn't I get the same result? From what I understand in the Matlab documentation, the first equation solves:
A*V = B*V*D
and the second one solves:
A*V = V*D
am I missing something?
Thanks!!
  2 件のコメント
the cyclist
the cyclist 2011 年 7 月 19 日
Including a small example showing the difference might help.
Sara
Sara 2011 年 7 月 19 日
First, thanks for your help.
This is not the example I have been working with, but it still doesn't give me the same result.
A = [1 2 3; 4 5 6; 7 8 9];
T = [2 0 0; 0 5 0; 0 0 3];
[V,D,flag] = eigs(A, T);
TT = inv(T);
A1 = inv(T)*A;
[V1,D1,flag1] = eigs(A1);
Thanks again!!

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

回答 (1 件)

Walter Roberson
Walter Roberson 2011 年 7 月 19 日
Is there a particular reason you are using eigs() instead of eig() ? eigs() is intended for large sparse matrices, and by default only returns the first 6 eigenvalues.
  1 件のコメント
Sara
Sara 2011 年 7 月 19 日
Yes, I'm working with a sparse matrix.

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

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by