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))
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!

