Returning all Eigen Vectors including non-unique ones

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

Answers (1)

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.
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.

Sign in to comment.


Find more on Linear Algebra 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!