Generalized eigenvalue problem

2 次查看(过去 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.

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by