How to identify repeated eigenvalues of a matrix?

조회 수: 36 (최근 30일)
Mohammad Ayoub
Mohammad Ayoub 2018년 4월 16일
댓글: Mohammad Ayoub 2018년 4월 21일
Take the matrix A as an example:
A = [1 1 0 0;0 1 1 0;0 0 1 0;0 0 0 3]
The eigenvalues of A are: 1,1,1,3. How can I identify that there are 2 repeated eigenvalues? (the value 1 repeated two times)
Thank you in advance.

채택된 답변

Aditya Deshpande
Aditya Deshpande 2018년 4월 17일
편집: Aditya Deshpande 2018년 4월 17일

You can find the number of times an eigen value is repeated as follows.

A = [1 1 0 0;0 1 1 0;0 0 1 0;0 0 0 3];
E = eig(A);
u = unique(E);
R = histc(E,u)-1;

Output is:

E =
     1
     1
     1
     3
u =
     1
     3
R =
     2
     0

NOTE: if R(i) = 0, eigen value is not repeated, but has occurred only once in vector E.

추가 답변 (1개)

Christine Tobler
Christine Tobler 2018년 4월 17일

For general matrices, the eigenvalues will typically have a bit of round-off error, so repeated eigenvalues will not be exactly identical. In those cases, you should use uniquetol instead of just unique in the algorithm proposed by Aditya.

카테고리

Help CenterFile Exchange에서 Eigenvalues & Eigenvectors에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by