Returning all Eigen Vectors including non-unique ones
2 views (last 30 days)
Show older comments
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
0 Comments
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.
5 Comments
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"?
See Also
Categories
Find more on Matrix Indexing 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!