How to identify repeated eigenvalues of a matrix?

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.

 Respuesta aceptada

Aditya Deshpande
Aditya Deshpande el 17 de Abr. de 2018
Editada: Aditya Deshpande el 17 de Abr. de 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.

Más respuestas (1)

Christine Tobler
Christine Tobler el 17 de Abr. de 2018

0 votos

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.

Categorías

Más información sobre Eigenvalues & Eigenvectors en Centro de ayuda y File Exchange.

Productos

Preguntada:

el 16 de Abr. de 2018

Comentada:

el 21 de Abr. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by