Generalized eigenvalue problem

2 views (last 30 days)
Sara
Sara on 19 Jul 2011
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 Comments
the cyclist
the cyclist on 19 Jul 2011
Including a small example showing the difference might help.
Sara
Sara on 19 Jul 2011
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!!

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 19 Jul 2011
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 Comment
Sara
Sara on 19 Jul 2011
Yes, I'm working with a sparse matrix.

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!