How to identify repeated eigenvalues of a matrix?

11 vues (au cours des 30 derniers jours)
Mohammad Ayoub
Mohammad Ayoub le 16 Avr 2018
Commenté : Mohammad Ayoub le 21 Avr 2018
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.

Réponse acceptée

Aditya Deshpande
Aditya Deshpande le 17 Avr 2018
Modifié(e) : Aditya Deshpande le 17 Avr 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.

Plus de réponses (1)

Christine Tobler
Christine Tobler le 17 Avr 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.

  1 commentaire
Mohammad Ayoub
Mohammad Ayoub le 21 Avr 2018
Thank you very much for pointing that out.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Eigenvalues & Eigenvectors dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by