why matlab gave me 5 eigenvectors for 6*6 matrix?

hi. i wanted to get eigenvectors of a 6*6 matrix. matlab must gave me 6 eigenvectors and 6 eigenvalues but it gave me 6 eigenvalues and 5 eigenvectors...
how is it possible?
clear;
syms x;
Ha='[x/2 0 0 0 0 0;0 -x/2 x 0 0 0;0 x -x/2 0 0 0;0 0 0 x/2 0 0;0 x 0 x 0 0;x 0 x 0 x 0]';
Haf = str2func(sprintf('@(%s)%s;','x',Ha));
[vectors,values]=eig(Haf(x));
vectors

 Respuesta aceptada

KALYAN ACHARJYA
KALYAN ACHARJYA el 27 de Dic. de 2019
Editada: KALYAN ACHARJYA el 27 de Dic. de 2019

0 votos

An nxn matrix M can have up to n unique eigenvalues and eigenvectors. If its characteristic equation det(M-lamda*I)=0 has repeated roots, then you get fewer than n eigenvectors
567.png
I have copied from here

1 comentario

Note that this is true for the eig function used on symbolic variables. For numeric variables, you can rely on getting exactly n eigenvalues and eigenvectors from an n-by-n matrix.
This is because numeric algorithms are backward stable: For an input matrix A, they return eigenvalues and eigenvectors of a matrix B which is close to the matrix A (by about machine round-off error). There is always such a matrix B which has n eigenvalues and eigenvectors, and this is always chosen by the algorithms used in eig.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Preguntada:

el 27 de Dic. de 2019

Comentada:

el 6 de En. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by