For a repeated eigenvalue only one eigenvctor is being returned
古いコメントを表示
for my matrix
A = [1 1 4 0; 1 1 1 -1; 0 0 3 1; 0 0 3 1], it is showing there is a repeated eigenvalue of 0, which is correct however the eigenvectors from when i do [V,D] = eig(A) for the 0's are both [-1; 1; 0; 0] when i have calculated there is a second one of [4/3; 0; -1/3; 1] just confused to why it is not outputting the eigenvectors.
採用された回答
その他の回答 (2 件)
Bruno Luong
2024 年 3 月 17 日
編集済み: Bruno Luong
2024 年 3 月 17 日
0 投票
Indeed in case of eigenvalue with multiplicity > 1; the problemie is numerical challenging and MATLAB might fail to find the correct eigen vectors as with your case.
1 件のコメント
The issue is that MATLAB numerical error will make matrix reduces to Jordan form and think that 0 has incorrectly 1-dimentional eigenspace and not 2 due to tiny numerical error.
Symbolic eig would work since there is no roundoff error
A = [1 1 4 0; 1 1 1 -1; 0 0 3 1; 0 0 3 1];
[V,D] = eig(sym(A))
Bruno Luong
2024 年 4 月 14 日
移動済み: Bruno Luong
2024 年 4 月 14 日
UPDATE: From the discussion here using EIG with 2 arguments can do the trick and overcome the issue and return an independent eigen vector associate with 0
A = [1 1 4 0; 1 1 1 -1; 0 0 3 1; 0 0 3 1];
[V,D] = eig(A,eye(size(A)));
V4 = V(:,4)
A*V4
カテゴリ
ヘルプ センター および File Exchange で Linear Algebra についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

