Returning all Eigen Vectors including non-unique ones

Hi
is there a Matlab function or switch that will force eig to return all the Eigen Vectors including the non-unique ones?
I have a 6x6 matrix and need to know the order of ALL the Eigen vectors returned by Matlab.
Regards
Tim

Answers (1)

Not sure what you mean... eig does return all of the eigenvectors and eigenvalues.
Do you mean that you need to know the degeneracy of the eigenvectors?
I think in general you have to do that numerically (and anyway approximately) by checking whether two eigenvalues are very close. If I recall correctly, the eigenvalues are output in ascending order (otherwise you can sort them).
Then, if E cointains your eigenvalues, you can check diff(E). If very small numbers appear, the corresponding eigenvectors are likely to be degenerate.

5 Comments

Hi pb
thanks for taking the time to answer. Eig returns 6 Eigen values but only three Eigen vectors. I assume these three are the unique Eigen vectors:
[V6,D6]=eig(M6)
V6 =
[ 1, 0, 0] [ 0, 0, 0] [ 0, 1, 0] [ 0, 0, 0] [ 0, 0, 1] [ 0, 0, 0]
D6 =
[ 1, 0, 0, 0, 0, 0] [ 0, 1, 0, 0, 0, 0] [ 0, 0, 1, 0, 0, 0] [ 0, 0, 0, 1, 0, 0] [ 0, 0, 0, 0, 1, 0] [ 0, 0, 0, 0, 0, 1]
As I mentioned in the original posting I want to see all the Eigen vectors in particular their order WRT their associated Eigen values.
Regards
Tim
pfb
pfb on 2 May 2015
Edited: pfb on 2 May 2015
That's weird... Seems M is highly singular, but I have never obtained such an output...
You're saying that V6 has 6 rows but only 3 columns? Or did you strip zero columns?
By the way that means 3 eigenvectors (V6) and 6 eigenvalues (the diagonal elements of D6, which, btw, are all ones). Not the other way round (see "help eig").
Actually,I'm confused by your formatting. Why don't you paste the output from matlab?
Can you attach you matrix M, in a mat file?
About the formatting, I did cut & past from the command window. For some reason the editor suppressed the carriage returns shrugs
Yes, 6 rows only three columns. I didn't edit it.
See attached for script
Thanks
Tim
pfb
pfb on 2 May 2015
Edited: pfb on 2 May 2015
Ok, I see. You're doing a symbolic calculation.
You should specify this in the tags/product field of your question, or at least in your question. Also, the editor has a button for code formatting. That also makes your question more readable.
Anyway, your M6 has only 3 linearly independent eigenvectors. The others depend on the first, and they're not unique.
I am not an expert in symbolic matlab, but I fail to see how could matlab choose a non-unique vector.
Have you taken a look at the documentation of the function "help sym/eig"?
OK, thanks pb, so no way to view the non-uniques. I'll take your comments re:formatting and tags onboard.
Regards
Tim

Sign in to comment.

Categories

Find more on Linear Algebra in Help Center and File Exchange

Asked:

on 2 May 2015

Commented:

on 2 May 2015

Community Treasure Hunt

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

Start Hunting!