Valores y vectores propios
Sea la matriz cuadrada A de dimensión n
Se denominan valores propios o raíces características de una matriz cuadrada A, a los valores de λ tales que.
I es la matriz identidad, cuyos elementos son ceros, exceptode la diagonal principal que son unos.
Desarrollando el determinante tenemos un polinomio en λ de grado n. Las raíces del polinomio (valores propios) pueden ser distintas o repetidas. Para calcular los vectores propios tenemos que resolver el sistema homogéneo (A-λI)X=0, para cada una de las raíces λ1....λn tal como vamos a ver en el ejercicio que viene a continuación.
Valores y vectores propios
Antes de utilizar la función eig, vamos a calcular paso a paso los valores y vectores propios de una matriz.
Valores propios distintos
Vamos a calcular los valores propios y vectores propios de la matriz
Estudiamos el sistema lineal homogéneo (A-λI)X=0 de tres ecuaciones con tres incógnitas
Igualamos a cero el determinante de la matriz A1 y calculamos las raíces de la ecuación cúbica en λ
Creamos la matriz A1=A-λI a partir de la matriz A y de la matriz identidad I. Calculamos su determinante
>> syms w; >> A=[2 -2 1;2 -8 2; 1 2 2]; >> A1=A-w*eye(3); >> y=det(A1) y =- w^3 - 4*w^2 + 29*w - 24 >> r=solve(y) r = 1 3 -8
Los valores propios son distintos
λ1=1, λ2=3 y λ3=-8
- Para calcular el vector propio V1 correspondiente al valor propio λ1, sustituímos el valor de la variable λ en la matriz A1 y se la pasamos a la función
rref de MATLAB
>> B=subs(A1,w,r(1)) B = [ 1, -2, 1] [ 2, -9, 2] [ 1, 2, 1] >> rref(B) ans = [ 1, 0, 1] [ 0, 1, 0] [ 0, 0, 0]
Tenemos el sistema equivalente al de tres ecuaciones homogéneas con tres incógnitas
El vector propio es (x, 0,-x) por ejemplo V1=[1; 0; -1]
- Calculamos el vector propio V2 correspondiente al valor propio λ2
>> B=subs(A1,w,r(2)) B = [ -1, -2, 1] [ 2, -11, 2] [ 1, 2, -1] >> rref(B) ans = [ 1, 0, -7/15] [ 0, 1, -4/15] [ 0, 0, 0]
Tenemos el sistema equivalente
El vector propio es V2=[7; 4; 15]
- Calculamos el vector propio V3 correspondiente al valor propio λ3
>> B=subs(A1,w,r(3)) B = [ 10, -2, 1] [ 2, 0, 2] [ 1, 2, 10] >> rref(B) ans = [ 1, 0, 1] [ 0, 1, 9/2] [ 0, 0, 0]
Tenemos el sistema equivalente
El vector propio es V3=[2; 9;-2]
Los valores propios se colocan en la diagonal principal de la matriz D, y los vectores propios correspondientes se colocan como vectores columnas de la matriz V.
Comprobamos que el resultado de V-1·A·V es una matriz diagonal D formada por los valores propios
>> V=[1 7 2; 0 4 9; -1 15 -2]; >> D=inv(V)*A*V D = 1.0000 -0.0000 -0.0000 0 3.0000 0 0.0000 0 -8.0000
Valores propios iguales
Vamos a calcular los valores propios y vectores propios de la matriz
Estudiamos el sistema lineal homogéneo (A-λI)X=0 de tres ecuaciones con tres incógnitas
Igualamos a cero el determinante de la matriz A1 y calculamos las raíces de la ecuación cúbica en λ
>> syms w; >> A=[3 2 0;-1 0 0; 0 0 1]; >> A1=A-w*eye(3) A1 = [ 3 - w, 2, 0] [ -1, -w, 0] [ 0, 0, 1 - w] >> y=det(A1) y =- w^3 + 4*w^2 - 5*w + 2 >> r=solve(y) r = 1 1 2
Dos valores propios son iguales
λ1=1, λ2=1 y λ3=2
- Calculamos los vectores propios V1 y V2 correspondientes al valor propio doble λ1=1
>> B=subs(A1,w,r(1)) B = [ 2, 2, 0] [ -1, -1, 0] [ 0, 0, 0] >> rref(B) ans = [ 1, 1, 0] [ 0, 0, 0] [ 0, 0, 0]
Tenemos el sistema equivalente
Los vectores propios correspondientes al vector propio λ1=1, tienen la forma (-y,y,z). Dos de ellos podrían ser V1=[-1; 1; 0] y V2=[0; 0;1].
- Calculamos el vector propio V3 correspondiente al valor propio λ3
>> B=subs(A1,w,r(3)) B = [ 1, 2, 0] [ -1, -2, 0] [ 0, 0, -1] >> rref(B) ans = [ 1, 2, 0] [ 0, 0, 1] [ 0, 0, 0]
Tenemos el sistema equivalente
El vector propio es de la forma (-2y, y, 0), por ejemplo V3=[-2; 1; 0]
Los valores propios se colocan en la diagonal principal de la matriz D, y los vectores propios correspondientes se colocan como vectores columnas de la matriz V.
Comprobamos que el resultado de V-1·A·V es una matriz diagonal D formada por los valores propios
>> V=[-1 0 -2; 1 0 1; 0 1 0]; >> D=inv(V)*A*V D = 1 0 0 0 1 0 0 0 2
Teorema de Caley-Hamilton.
Toda matriz verifica su ecuación característica
>> A=[4 2 1; 2 4 2; 2 4 8]; >> -A^3+16*A^2-66*A+72*eye(3) ans = 0 0 0 0 0 0 0 0 0 >> p=poly(A) p = 1.0000 -16.0000 66.0000 -72.0000 >> polyvalm(p,A) ans = 1.0e-012 * 0.0142 0.0284 0.0568 0.0284 0.0568 0.0711 0.1137 0.1421 0.1563
Cuando se le pasa una matiz cuadrada
La función eig
MATLAB dispone de la función
La matriz V contiene los vectores propios en columnas, y la matriz diagonal D contiene los valores propios correspondientes en la diagonal principal. Se puede verificar que D=V-1·A·V
1.-Hallar los valores propios y vectores propios de la matriz
>> A=[3 2 -2; -3 -1 3; 1 2 0]; >> [V D]=eig(A) V = 0.5774 -0.7071 -0.0000 -0.5774 0.0000 0.7071 0.5774 -0.7071 0.7071 D = -1.0000 0 0 0 1.0000 0 0 0 2.0000 >> inv(V)*A*V ans = -1.0000 0 0.0000 0.0000 1.0000 0 0.0000 0 2.0000
Los valores propios son λ1=-1, λ2=1, λ3=2,
Los vectores propios son los vectores columna de la matriz V correspondientes a cada valor propio
- Para λ1=-1, V1=[0.5774;-0.5774;0.5774] o bien V1=[1;-1;1]
- Para λ2=1, V2=[-0.7071;0.0000;-0.7071] o bien V2=[-1;0;-1]
- Para λ3=2, V3=[-0.0000;0.7071;0.7071] o bien V3=[0;1;1]
Comprobamos que D=V-1AV
2.-Hallar los valores propios y vectores propios de la matriz
>> A=[1 0 1 0; 0 1 -2 0; 1 -2 5 0; 0 0 0 6]; >> [V D]=eig(A) V = -0.4082 0.8944 0.1826 0 0.8165 0.4472 -0.3651 0 0.4082 0 0.9129 0 0 0 0 1.0000 D = -0.0000 0 0 0 0 1.0000 0 0 0 0 6.0000 0 0 0 0 6.0000
Los valores propios son λ1=0, λ2=1, λ3=6, λ4=6
Los vectores propios son los vectores columna de la matriz V correspondientes a cada valor propio
- Para λ1=0, V1=[-0.4082;0.8165;0.4082;0] o bien V1=[-1;2;1;0]
- Para λ2=1, V2=[0.8944;0.4472;0;0] o bien V2=[2;1;0;0]
- Para λ3=6, V3=[0.1826; -03651; 0.9129; 0] o bien V3=[1;-2;5;0]
Aunque el valor propio λ4=6 es doble, la función eig de MATLAB determina correctamente los vectores propios linealmente independientes. La matriz V de la vectores propios es
3.-Hallar los valores propios y vectores propios de la matriz
>> A=sym('[4 2 1; 2 4 2; 2 4 8]'); >> [V D]=eig(A) V = [ 2^(1/2)/2 + 1, 1 - 2^(1/2)/2, -1] [ - 2^(1/2) - 1, 2^(1/2) - 1, -1/2] [ 1, 1, 1] D = [ 6 - 3*2^(1/2), 0, 0] [ 0, 3*2^(1/2) + 6, 0] [ 0, 0, 4]
La matriz diagonal D de los valores propios es
La matriz V de los vectores propios es
Diagonalización
Una matriz A se dice que es diagonal si los elementos no pertenecientes a la diagonal principal son todos nulos.
Para que una matriz A sea diagonalizable es preciso que el rango de la matriz R obtenida sustituyendo en R=A-λiI el valor de λi considerado sea igual a n-ki siendo n la dimensión de la matriz A y ki el orden de multiplicidad del valor propio λi.I se denomina matriz identidad, una matriz diagonal cuyos elementos valen 1.
Estudiar para qué valores de a y b la matriz A es digonalizable
>> syms a b; >> A=[5 0 0; 0 -1 b; 3 0 a]; >> [V D]=eig(A) V = [ 0, 5/3 - a/3, 0] [ 1, b/6, b/(a + 1)] [ 0, 1, 1] D = [ -1, 0, 0] [ 0, 5, 0] [ 0, 0, a]
Los valores propios son λ1=-1, λ2=5, λ3=a
1.-Si a≠5 y a≠-1 los valores popios son diferentes y la matriz es diagonalizable. Los vectores propios serían
- Para λ1=-1, V1=[0; 1;0]
- Para λ2=5, V2=[(5-a)/3; b/6; 1] o bien V2=[10-2a; b; 6]
- Para λ3=a, V3=[0; b/(a+1); 1] o bien V3=[0; b; a+1]
2.-Si a=5
Los valores propios son λ1=-1, λ2=5, λ3=5, uno de ellos se repite
Calculamos el rango de la matriz R=A-λI, con λ=5, y debería dar 3-2=1 para que la matriz fuera diagonalizable, donde n=3 es la dimensión de la matriz A y k=2 es el grado de multiplicidad del valor propio considerado λ=5,
>> A1=subs(A,a,5) A1 = [ 5, 0, 0] [ 0, -1, b] [ 3, 0, 5] >> R=A1-5*eye(3) R = [ 0, 0, 0] [ 0, -6, b] [ 3, 0, 0] >> rank(R) ans =2
Cualquiera que sea el valor de b, el rango de la matriz R=A-λI, con λ=5 es dos, y por tanto la matriz A no es diagonalizable para a=5.
3.-Si a=-1
Los valores propios son λ1=-1, λ2=-1, λ3=5, uno de ellos se repite
Calculamos el rango de la matriz R=A-λI, con λ=-1, y debería dar 3-2=1 para que la matriz fuera diagonalizable, donde n=3 es la dimensión de la matriz A y k=2 es el grado de multiplicidad del valor propio considerado λ=-1,
>> A1=subs(A,a,-1); >> R=A1+eye(3) R = [ 6, 0, 0] [ 0, 0, b] [ 3, 0, 0] >> rank(R) ans =2 >> R1=subs(R,b,0) R1 = 6 0 0 0 0 0 3 0 0 >> rank(R1) ans = 1
- Si b≠0 entonces el rango de la matriz R es 2, y la matriz A no es diagonalizable, la misma situación que con a=5.
- Si b=0, el rango de la matriz R es uno y por tanto la matriz A es diagonalizable.
Ejemplos en el curso de Física
Modos normales de vibración (I)
Modos normales de vibración (II)
Oscilaciones forzadas en un sistema formado por partículas unidas por muelles. Fuerza periódica
Oscilaciones forzadas en un sistema formado por partículas unidas por muelles. Fuerza periódica
Oscilaciones forzadas en un sistema formado por partículas unidas por muelles. Fuerza no periódica
Referencias
Alberto Luzárraga. Problemas resueltos. Algebra lineal (1970)