Returning all Eigen Vectors including non-unique ones

2 views (last 30 days)
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)

pfb
pfb on 2 May 2015
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
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"?
Tim Fulcher
Tim Fulcher on 2 May 2015
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.

Community Treasure Hunt

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

Start Hunting!