Está en la página 1de 6

Diagonalizacin de matrices

Prctica de lgebra Lineal, E.U.A.T., Grupos 1A y 1B, 2005


Algo de teora
Qu es diagonalizar una matriz?
Para estudiar una matriz suele ser conveniente expresarla de forma lo ms sencilla posible. Diagonalizar una matriz A es
precisamente eso: escribirla de manera simple encontrando una matriz invertible P y una diagonal D (si se puede) tales que
A P DP
1
La matriz P se llama matriz de paso.
Puede que esto, al principio, no parezca ms simple de lo que ya era A directamente. Sin embargo, lo es desde muchos
puntos de vista. Dado que las matrices suelen usarse para representar aplicaciones lineales, la expresin anterior puede verse
como un cambio de base de la aplicacin representada por A; entonces, esta forma de escribirlo dice: hay una base en la que
la aplicacin lineal A tiene una forma muy simple (diagonal). Esto es til, por ejemplo, para clasificar una aplicacin lineal
y estudiar sus propiedades. Las matrices se usan para representar otras cosas como cnicas, cudricas o formas bilineales, y
en estos casos tambin resulta til esta forma de expresarlas.
La relacin anterior entre las matrices A y D es importante y aparece en muchos contextos, as que tiene nombre propio:
Cuando dos matrices cuadradas A y B verifican que A P B P
1
para cierta
matriz cuadrada P (invertible, claro) decimos que A y B son semejantes.
Una matriz es diagonalizable cuando se puede diagonalizar; es decir, cuando podemos encontrar una matriz diagonal y una
invertible de forma que la matriz se escriba como dijimos antes. Dicho de otra forma: una matriz es diagonalizable cuando
es semejante a una matriz diagonal. En estas prcticas slo consideraremos como diagonalizables las matrices que sean
semejantes a una matriz diagonal real. Entonces, ms exactamente: una matriz es diagonalizable cuando es semejante a
una matriz diagonal real.
Cundo y cmo podemos diagonalizar una matriz?
Si conseguimos escribir una matriz A como A P DP
1
, entonces podemos poner tambin AP P D. Si D es diagonal y
nos fijamos en la columna i de esta ltima igualdad lo que tenemos es que A x
i

i
x
i
(donde x
i
es la columna i de A y
i
es el nmero en el lugar i de la diagonal de D). Esto nos dice que para diagonalizar una matriz nos hace falta conocer los
vectores a los que les pase algo as. Estos vectores tambin tienen nombre:
diagonalizacion.nb 1
Si un nmero y un vector no nulo x verifican la relacin A x x diremos que
es un valor propio o autovalor de la matriz A y que x es un vector propio o autovec-
tor de A asociado al valor propio .
Es fcil ver que diagonalizar una matriz A de tamao nn es lo mismo que encontrar n vectores propios linealmente indepen-
dientes asociados a valores propios reales, ya que entonces podemos ponerlos por columnas y conseguir as la matriz P
(puedes comprobar que entonces se cumple la relacin que buscamos). Entonces, para diagonalizar una matriz lo que
tenemos que hacer es buscar n vectores propios suyos linealmente independientes asociados a valores propios reales.
Cmo encontrar valores y vectores propios de una matriz?
Es fundamental, pues, hallar los valores propios de A y los vectores propios asociados. Como un vector propio hace que el
sistema Ax = x tenga solucin x distinta de cero, la matriz de coeficientes A I (donde I denota la matriz identidad de
orden n) debe tener determinante no nulo. Este determinante det(AI) es un polinomio en de grado n y se denomina
polinomio caracterstico de A. Por lo tanto, los valores propios de A sern los ceros del polinomio caracterstico de A.
Observa que una matriz puede perfectamente tener valores propios imaginarios.
Por otro lado, el conjunto de vectores propios de A asociados a un mismo valor propio forman un subespacio vectorial de
R
n
que se llama subespacio propio asociado al valor propio , y es el n clea de la matriz A I. Para concluir si una
matriz A es o no diagonalizable bastar pues averiguar si hay "suficientes" valores propios reales para construir D y si hay
"suficientes" vectores propios linealmente independientes asociados; esta informacin nos la dar la dimensin de los
subespacios propios y queda recogida en el siguiente resultado:
Una matriz real cuadrada de orden n es diagonalizable si y slo si tiene n vectores
propios linealmente independientes asociados a valores propios reales.
Adems, el teorema espectral nos confirma un caso en el que siempre es posible diagonalizar:
Toda matriz real simtrica es diagonalizable.
En este caso,se puede conseguir adems que las columnas de la matriz de paso P sean una base ortonormal y por lo tanto
que P sea una matriz ortogonal.
Diagonalizar matrices usando Mathematica
Un ordenador puede ayudarnos a encontrar los valores y vectores propios de una matriz fcilmente. Desde luego, siempre
podemos hacer las mismas cuentas que hacemos a mano (encontrar el polinomio caracterstico, hallar sus races, resolver los
sistemas lineales necesarios...), pero Mathematica tiene dos rdenes tiles para esto: Eigenvalues y Eigenvectors (los
nombres de estos comandos son las palabras en ingls para valor propio y vector propio, que a su vez toman su nombre del
alemn).
In[8]:= A 2, 2, 2, 6, 9, 17, 6, 3, 5;
B 1, 1, 0, 0, 1, 1, 0, 0, 1;
In[10]:= A MatrixForm
Out[10]//MatrixForm=

2 2 2
6 9 17
6 3 5
|

diagonalizacion.nb 2
In[11]:= B MatrixForm
Out[11]//MatrixForm=

1 1 0
0 1 1
0 0 1
|

Eigenvalues nos da los valores propios de una matriz cuadrada:


In[12]:= EigenvaluesA
Out[12]= {8, 2, 12]
In[13]:= EigenvaluesB
Out[13]= {1, 1, 1]
Eigenvectors da una lista formada por vectores propios independientes de una matriz nn y posiblemente algunos vectores
nulos. Estos vectores formarn una base cuando la matriz sea diagonalizable e incluirn vectores nulos cuando no lo sea:
In[14]:= EigenvectorsA
Out[14]= {{0, 1, 1], {5, 3, 3], {20, 91, 9]]
In[15]:= EigenvectorsB
Out[15]= {{1, 0, 0], {0, 0, 0], {0, 0, 0]]
Nosotros slo consideraremos una matriz como diagonalizable cuando sus valores propios sean todos reales: si no
aparece ningn vector nulo ni ningn vector complejo en la salida de la orden Eigenvectors, la matriz es diagonaliz-
able. Si no, no lo es.
La orden Eigensystem da los mismos resultados que Eigenvalues y Eigenvectors, pero todo junto, y adems con la segu-
ridad de que los autovalores y los autovectores van en el orden correcto: el primer vector propio corresponde al primer valor
propio, el segundo al segundo...
In[16]:= EigensystemA
Out[16]= {{8, 2, 12], {{0, 1, 1], {5, 3, 3], {20, 91, 9]]]
Una ltima observacin sobre estas rdenes: a veces es mejor escribir Eigenvalues[N[A]] en lugar de Eigenvalues[A]
para obtener resultados numricos en lugar de resultados exactos que no podemos manejar bien.
Ejemplos
Una matriz diagonalizable
In[17]:= A 24, 10, 8, 7, 33, 4, 0, 0, 38;
A MatrixForm
Out[18]//MatrixForm=

24 10 8
7 33 4
0 0 38
|

diagonalizacion.nb 3
In[19]:= valorespropios, vectorespropios EigensystemA
Out[19]= {{19, 38, 38], {{2, 1, 0], {4, 0, 7], {5, 7, 0]]]
In[20]:= vectorespropios
Out[20]= {{2, 1, 0], {4, 0, 7], {5, 7, 0]]
Como el resultado son tres vectores (y ninguno de ellos es cero), sabemos que esta matriz es diagonalizable (si queris
podis comprobar que estos vectores son de verdad independientes).
Para diagonalizar la matriz A no tenemos ms que elegir la siguiente como matriz P (los vectores propios, puestos por
columnas):
In[21]:= P Transposevectorespropios
Out[21]= {{2, 4, 5], {1, 0, 7], {0, 7, 0]]
Y como matriz D, la siguiente:
In[22]:= Diag DiagonalMatrixvalorespropios
Out[22]= {{19, 0, 0], {0, 38, 0], {0, 0, 38]]
In[23]:= Diag MatrixForm
Out[23]//MatrixForm=

19 0 0
0 38 0
0 0 38
|

In[24]:= A P.Diag.InverseP
Out[24]= True
Una matriz no diagonalizable
In[25]:= B 0, 1, 0, 0, 0, 1, 2, 5, 4;
MatrixFormB
Out[26]//MatrixForm=

0 1 0
0 0 1
2 5 4
|

Probemos a hacer lo mismo con la matriz B:


In[27]:= EigenvectorsB
Out[27]= {{1, 1, 1], {0, 0, 0], {1, 2, 4]]
Vemos que aparece un vector nulo en la lista anterior. Esto significa que Mathematica no ha podido encontrar tres vectores
propios linealmente independientes (slo ha encontrado dos) y que no podemos diagonalizar esta matriz.
Otro ejemplo:
diagonalizacion.nb 4
In[28]:= M 1, 2, 3, 4, 5, 6, 7, 8, 9;
EigenvaluesNM
Out[29]= {13.2969, 0.851565 0.792805 , 0.851565 0.792805 ]
Esta matriz tiene valores propios que no son reales (aparecen nmeros imaginarios). En este caso (aunque es posible
diagonalizar estas matrices usando matrices con nmeros complejos) diremos que esta matriz NO es diagonalizable. Si
intentis calcular sus vectores propios veris que tambin se obtienen nmeros complejos.
Una matriz simtrica: diagonalizacin con matriz de paso ortogonal
In[30]:= F 1, 1, 0, 1, 1, 0, 0, 0, 2;
F MatrixForm
Out[31]//MatrixForm=

1 1 0
1 1 0
0 0 2
|

In[32]:= valorespropiosF, vectorespropiosF EigensystemF


General::spell1 :
Possible spelling error: new symbol name "valorespropiosF" is similar to existing symbol "valorespropios".
General::spell1 :
Possible spelling error: new symbol name "vectorespropiosF" is similar to existing symbol "vectorespropios".
Out[32]= {{2, 2, 0], {{0, 0, 1], {1, 1, 0], {1, 1, 0]]]
Como hay tres vectores (en la segunda parte de la lista anterior) y ninguno nulo, podemos diagonalizar esta matriz (sabemos
que siempre se puede con una matriz simtrica). Pero la matriz P obtenida no es ortogonal, y en el caso especial de una
matriz simtrica nos gustara que la matriz de paso lo fuera:
In[33]:= P TransposevectorespropiosF
Out[33]= {{0, 1, 1], {0, 1, 1], {1, 0, 0]]
In[34]:= Esto no es la identidad
P.TransposeP
Out[34]= {{2, 0, 0], {0, 2, 0], {0, 0, 1]]
Para que adems la matriz de paso sea ortogonal necesitamos conseguir tres vectores propios independientes que adems
formen una base ortonormal. Para eso debemos convertir en ortonormal la base vpF de forma que adems sigan siendo
vectores propios asociados a valores propios en el mismo orden. El proceso de GramSchmidtnos permite esto. Podemos
aplicar el proceso nosotros mismos o cargar en memoria un paquete que lo hace automticamente (cuidado con las
comillas!):
In[35]:= LinearAlgebraOrthogonalization
In[36]:= vectorespropiosF2 GramSchmidtvectorespropiosF
Out[36]= {0, 0, 1],
1

_
2
,
1

_
2
, 0,
1

_
2
,
1

_
2
, 0
diagonalizacion.nb 5
In[37]:= P TransposevectorespropiosF2
Out[37]= 0,
1

_
2
,
1

_
2
, 0,
1

_
2
,
1

_
2
, {1, 0, 0]
In[38]:= Comprobamos que sta s es ortogonal
P.TransposeP
Out[38]= {{1, 0, 0], {0, 1, 0], {0, 0, 1]]
In[39]:= Definimos la matriz diagonal
Diag DiagonalMatrixvalorespropiosF
Out[39]= {{2, 0, 0], {0, 2, 0], {0, 0, 0]]
In[40]:= MatrixFormDiag
Out[40]//MatrixForm=

2 0 0
0 2 0
0 0 0
|

(Vemos que de verdad es diagonal)


In[41]:= Comprobamos que de verdad diagonaliza F
F P.Diag.InverseP
Out[41]= True
Ejercicios
1 Diagonaliza la matriz A={{5,2,1},{2,7,0},{1,0,3}}. Cul es su polinomio caracterstico? Cules son sus valores
propios?
2Calcula los valores propios de la matriz A={{2, 5, 0}, {0, 3, 5}, {0, 0, 3}} y las dimensiones de los subespacios propios
asociados a cada uno. Determina si es diagonalizable.
3Dada la matriz A={{3,0,2},{0,2,0},{2,0,0}},
a) Calcula sus valores propios y comprueba que es diagonalizable.
b) Halla una matriz de paso ortogonal que la diagonalice.
c) Obtn la expresin de A
n
(para cualquier n).
4Dada la matriz A={{1,1,1},{1,1,1},{1,1,1}},
a) Decide si A es diagonalizable.
b) Calcula sus valores propios y vectores propios asociados. Da una base del subespacio de vectores
propios asociado al valor propio 0.
c) Encuentra una matriz P tal que A P DP
t
, con D una matriz diagonal.
5Diagonaliza por semejanza ortogonal la matriz simtrica
A={{1,1,0,0},{1,0,2,0},{0,2,4,1},{0,0,1,2}}
diagonalizacion.nb 6

También podría gustarte