Generalized eigenvalue problem

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

Including a small example showing the difference might help.
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

Yes, I'm working with a sparse matrix.

Sign in to comment.

Categories

Asked:

on 19 Jul 2011

Community Treasure Hunt

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

Start Hunting!