How to identify repeated eigenvalues of a matrix?

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

Accepted Answer

Aditya Deshpande
Aditya Deshpande on 17 Apr 2018
Edited: Aditya Deshpande on 17 Apr 2018

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.

More Answers (1)

Christine Tobler
Christine Tobler on 17 Apr 2018

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.

Categories

Find more on Eigenvalues & Eigenvectors in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!