How to identify repeated eigenvalues of a matrix?

12 visualizaciones (últimos 30 días)
Mohammad Ayoub
Mohammad Ayoub el 16 de Abr. de 2018
Comentada: Mohammad Ayoub el 21 de Abr. de 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.

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

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 Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by