You are on page 1of 38

Autovalores y autovectores

1. Conceptos básicos
[Variedad lineal invariante]
Definición 1:
n
Una variedad lineal V de K se dice que es invariante para una
aplicación A si cualquier vector x € V se transforma, mediante A, en otro
vector de V
A x € V para todo x € V

Las variedades invariantes más simples son aquellas que tienen dimensión
1, por lo que una base está constituida por un único vector v ≠ 0.
Podemos observar que, en ese caso, cualquier vector x 2 V puede
expresarse de la forma x ≠αv con α≠ 0 si x 6= 0 y que, por tratarse de
una variedad invariante, ha de ser Ax = βv, pero entonces:

[Autovalores y autovectores de una matriz]


Definición:

Las variedades invariantes de dimensión 1 vienen determinadas por un


vector v 6= 0 tal que Av = ƛv.
Estos vectores reciben en nombre de autovectores o vectores propios
de la matriz A y los correspondientes valores de reciben el nombre de
autovalores o valores propios de A.
Proposicion : Si v ≠0 es un autovector de la matriz A asociado al au-
tovalor ƛ, cualquier vector v proporcional a el, es tambien autovector de
A asociado a ƛ.
Demostracion. Por ser v un autovector asociado a ƛ se tiene que Av = ƛv
v.
Si x =αv se verifica que:

La proposición anterior establece que lo que caracteriza a un autovector


no es su norma ni su sentido, sino su dirección.

Proposicion: Autovectores asociados a autovalores diferentes son lineal-


mente independientes

Demostracion. Sean u y v dos autovectores de la matriz A asociados a los


autovalores y respectivamente con ƛ=µ.
Si u y v fuesen linealmente dependientes se veri car a que u = αv con

α≠0. Entonces:

y por tanto (ƛ-µ)u = 0, pero dado que u ≠ 0 se tiene que ƛ=µ en contra de
la hipótesis de que ƛ≠µ, lo que prueba el resultado.

Los autovalores de una matriz son, en general, números complejos. Sin


embargo, las matrices herméticas (en el caso real, las simétricas) tienen
todos sus autovalores reales como prueba el siguiente teorema.

Metodos iterativos para calcular de autovalores y


autovectores

Los métodos que veremos a continuación tratan de encontrar una


sucesión convergente cuyo limite nos permitirá conocer los autovalores y
autovectores de una matriz dada. El primero que estudiaremos consiste
en buscar una sucesión de vectores que convergen a la dirección del
autovector asociado al autovalor de mayor módulo de la matriz dada.
Vamos a comenzar, por ello, a estudiar cómo podemos aproximar el
autovalor correspondiente a un determinado autovector cuando lo que
conocemos es una aproximación de este.

Cociente de Rayleigh
Si nos limitamos a calcular la sucesión (x n) hasta obtener una
aproximación x adecuada del autovector podemos obtener el autovalor
resolviendo el sistema vectorial x = Ax. Este sistema resulta, en general,
incompatible por no ser x exactamente un autovector sino solo una
aproximacion, por lo que la solución que mejor se ajusta es la
pseudosolucion del sistema, que nos dar una aproximación del autovalor .

[Cociente de Rayleigh]
Definicion
Dada una matriz cuadrada A y un vector x, se denomina cociente de
Rayleigh del vector x respecto de la matriz A cociente

Podemos, por tanto, obtener una aproximación del autovector por un


método iterado para mas tarde aproximar el autovalor mediante el
cociente de Ray-leigh.

Método de la potencia simple y variantes


Metodo de la potencia simple
nn
Sea A 2 R una matriz diagonalizable y supongamos que sus
autovalores veri can que:

En cuyo caso diremos que ƛ 1 es el autovalor dominante de la matriz.


n
Sea B = (x1; x2; ; xn) una base de R formada por autovectores asociados
a ƛ 1; ƛ 2; : : : ; ƛ n respectivamente. Se veri ca entonces que
2 2
A xi =A(Axi) = A(ƛixi) = ƛiAxi = ƛi(ƛixi) = ƛ ixi

por lo que es facil probar, por induccion, que


k k
A xi = ƛ ixi para cualquier i = 1; 2…….., n

n
Dado un vector z0 € R se define, a partir de él, la sucesión (zn)
2 n
zn = Azn-1 = A zn-2 =………. = A z0:
Si las coordenadas del vector z0 respecto de la base B son (α1; α2….. αn)
se tiene que z0 = α1x1 + α 2x2 + ….+ αnxn, por lo que

k k k k
zk = A z0 = A ( 1x1 + + nxn) = α 1A x1 +….+ αnA xn =

Se verifica entonces que Autovalor ƛ1.


Si k es suficientemente grande, se tiene

Azk = zk+1= ƛ k1+1 α1x1 = ƛ1(ƛk1 α1x1) = ƛ 1zk

Por lo que la sucesión (zn) nos proporciona un método para aproximar el


autovalor ƛ1.
Teniendo en cuenta que, para valores de k suficientemente grandes se
verifica que
Azk = zk+1 = ƛ 1zk

El método no convergerá a un vector en concreto ya que

zk+1≈ƛ 1zk ≠ ƛ1zk

Ahora bien, dado que zk+1 y zk tienen la misma dirección, ambos


representan al autovector buscado.
Geométricamente la matriz A transforma al vector z k (para valores de k
suficientemente grandes, en otro proporcional a el y dado que se verifica
la ecuación ese factor de proporcionalidad es precisamente el autovalor
buscado ƛ1.
Escalado

Si │ƛ1│>1 la sucesión (zn) converge a una dirección determinada (la del


autovector), pero las normas de los vectores van creciendo llegando a
diverge a un vector de coordenadas infinitas. Si, por el contrario, │ƛ1│<1,
la sucesión (zn) converge al vector nulo. Es decir: en ninguno de los dos
casos podremos calcular ni el autovalor ni el autovector.
Como solo nos interesa la dirección y los vectores de la sucesión (z n)
convergen a una determinada dirección, podemos dividir o multiplicar en
cada paso el vector zk por una constante sin que ello modifique su
dirección. Con ello conseguiremos que la sucesión (z n) converja a un
autovector asociado a ƛ1. Este proceso de modi car las normas de los
vectores recibe el nombre de escalado.
La cantidad por la que se escala puede ser arbitraria, pero lo más útil es
escalar por la coordenada de mayor modulo.
De esa forma los vectores escalados al ser muy próximos tendran la
coordenada de mayor modulo en en la misma posicion y ademas valdran
1 por lo que se evita el problema de la divergencia a in nito o la
convergencia al vector nulo. Ademas, dado que llamando al factor de pro-
porcionalidad se veri ca que
wk = zk = Awk 1

De esa forma los vectores escalados wk y wk+1

el factor de proporcionalidad existente entre los vectores z k y wk es precisa-


mente el autovalor 1 buscado. En otras palabras, escalando los vectores por
su coordenada de mayor modulo, el proceso converge a un autovector cuya
coordenada de mayor modulo (antes de escalar) es el autovalor buscado.

Ejemplo 4.2 Para calcular, por el metodo de la potencia simple, el


autovalor de mayor valor absoluto de la matriz
A= 0 2 2 31
6 2 5
B C
@ A
5 3 6
partiendo del vector z0 = (1 1 1)T obtenemos:
Metodos iterados para la obtencion de autovalores y autovectores 15

z1 = 0 7:0000 1 z2 = 0 5:85711 z3 =0 5:8706 1 z4 = 0 5:8748 1


13:0000 11:5714 11:6824 11:7013

B 14:0000 C B 12:1429 C B 12:2118 C B 12:2254 C


z5 = 0 5:8753 1 z6 = 0 5:87541 z7 = 0 5:8754 1
@ 11:7039 A @ 11:7042A @ 11:7042 A @ A
@ A @ A @ A

B 12:2273 C B 12:2275C B 12:2275 C


El vector z7 es una aproximacion del autovector asociado al autovalor domi-
nante. Su coordenada de mayor modulo es 12.2275, por lo que 1 12:2275.
No obstante, dado que no hemos obtenido el l mite sino una aproximacion, no
todas sus coordenadas tendran el mismo factor de proporcionalidad (variar en
poco, pero variara), por lo que es mas correcto decir: si z7 es un autovector
asociado a es porque Az7 = z7, sistema que, en general es incompatible, por lo
que buscamos resolviendo el sistema superdeterminado en termino de m nimos
cuadrados, es decir, mediante el cociente de Rayleigh.
T
z Az7
1 7 T
= = 12:22753579693696: z7 z7

Algoritmo de la Potencia Simple

z = ones(length(A),1); w =
zeros(length(A),1); n = 0;

while norm(z-w)>10^ (-14) n


= n + 1;
w = z; z
= A*w;
for i = 1:length(A)
if abs(z(i)) == max(abs(z))
break
end
end
z= z/z(i);
end
n
autovalor = (z'*A*z)/(z'*z) Error =
norm(A*z-autovalor*z)
16 Autovalores y autovectores

Ejecutando este algoritmo con MatLab para la matriz del Ejemplo 4.2
obtene-mos la aproximacion 12.22753579693706 del autovalor con un
15
error del orden de 1:986027322597819 10 en 17 iteraciones.

Una forma de acelerar el proceso es la siguiente: una vez calculado el va-


lor de wn (vector zn escalado) aproximar el autovector mediante el sistema
homogeneo (A I)wn = 0 donde es la aproximacion obtenida para el auto-
valor mediante el cociente de Rayleigh aplicado a la matriz A y el vector
wn. Esta aproximacion del autovector es la que utilizaremos en el
siguiente paso del metodo de la potencia simple.
Hay que tener cuidado ya que puede darse le caso de que al aproximar el
autovalor mediante el cociente de Rayleigh (cuando el vector w n esta aun
distante del autovector) nos acerquemos a otro autovalor de la matriz y, al
nal, el proceso nos conduzca a un autovalor diferente del dominante.

Algoritmo de la Potencia Simple Mejorado

z = ones(length(A),1); w =
zeros(length(A),1); n = 0;

while norm(z-w)>10^ (-14) n


= n + 1;
w = z;
z = A*w; l=(z'*A*z)/
(z'*z);
if rcond(A-l*eye(length(A)))>10^ (-15) z =
(A-l*eye(length(A)))nz;
end
for i = 1:length(A)
if abs(z(i)) == max(abs(z))
break
end
end
z= z/z(i);
end
n
autovalor = (z'*A*z)/(z'*z) Error =
norm(A*z-autovalor*z)
Metodos iterados para la obtencion de autovalores y autovectores 17

Ejecutando este algoritmo con MatLab para la matriz del Ejemplo 4.2
obtene-mos la aproximacion 12.22753579693706 del autovalor con un
15
error del orden de 2:664535259100376 10 en tan solo 4 iteraciones,
frente a las 17 que eran necesarias con algoritmo anterior.
Este metodo solo nos permite calcular, en caso de existir, el autovalor do-
minante de una matriz. Existen sin embargo otras variantes del metodo de la
potencia simple que nos permiten calcular cualquiera de sus autovalores a partir
de una aproximacion de ellos. Debido a la existencia de dichas variantes es por
lo que el metodo estudiado anteriormente es conocido como metodo de la
potencia simple para distinguirlo de los que estudiaremos a continuacion.

Metodo de la potencia inversa


n n
Sea A 2 R una matriz diagonalizable regular para la que sus
autovalores veri can que:
0 < j 1j < j 2jj nj (4.4)
Los autovalores 1; 2; : : : ; n de la matriz A 1 son los inversos de los autova-lores de A,
1

i= i para i = 1; 2; : : : ; n:
Invirtiendo la expresion (4.4) nos queda
1 1 1

j 1j > j 2j j nj () j 1j > j 2jj nj


es decir, el autovalor de menor valor absoluto de la matriz A se
1
corresponde con el de mayor valor absoluto de A , por lo que aplicando el
1
metodo de la potencia simple a la matriz A obtenemos el autovalor de
menor valor absoluto de la matriz A.

1
Observese que debemos ir calculando, en cada paso, los vectores z =A !
zn n n 1

y !n = kznk1 . Pues bien, el calculo de zn se realiza resolviendo, por alguno


de los metodos estudiados, el sistema Azn = !n 1 lo que nos evita calcular
1
A y arrastrar los errores que se cometan a lo largo de todo el proceso.

Este metodo es conocido como metodo de la potencia inversa y nos


permite calcular, en caso de existir, el autovalor de menor valor absoluto
de una matriz invertible A.
18 Autovalores y autovectores

Ejemplo 4.3 Para calcular, por el metodo de la potencia inversa, el autovalor


de menor valor absoluto de la matriz del Ejemplo 4.2 aplicamos el metodo de
T
la potencia inversa y partiendo del vector z0 = (1 1 1) obtenemos:
z1 = 0 1:5000 1 z2 = 0 4:3333 1 z3 = 0 4:7308 1 z4 = 0 4:7724 1
0:5000 1:6667 1:8846 1:9106
B 1:0000 C B 3:6667 C B 4:0769 C B 4:1220 C
@ A @ A @ A @ A
z5 = 0 4:7777 1 z6 = 0 4:7784 1 z7 = 0 4:7785 1 z8 = 0 4:7785 1
1:9140 1:9144 1:9145 1:9145

B 4:1278 C B 4:1285 C B 4:1286 C B 4:1287 C


@ 1:9145 A @ A @ A @ A
z9 = 0
B
4:7785 1
4:1287 C

@ A
Tenemos, por tanto, que z9 es una aproximacion al autovector asociado al
autovalor de menor valor absoluto de la matriz A, por lo que el cociente de
Rayleigh nos proporcionar una aproximacion de este.
T
z Az9
9 z z
3= T= 0:20927063325837: 9 9

Algoritmo de la Potencia Inversa

z = ones(length(A),1); w =
zeros(length(A),1); n = 0;

while norm(z-w)>10^ (-14) n


= n + 1;
w = z; z
= Anw;
for i = 1:length(A)
if abs(z(i)) == max(abs(z))
break
end
end
z= z/z(i);
end
n
autovalor = (z'*A*z)/(z'*z) Error =
norm(A*z-autovalor*z)
Metodos iterados para la obtencion de autovalores y autovectores 19

Al igual que hicimos con el metodo de la potencia simple, podemos


acelerar la convergencia del metodo de la potencia inversa.

Algoritmo de la Potencia Inversa Mejorado

z = ones(length(A),1); w =
zeros(length(A),1); n = 0;

while norm(z-w)>10^ (-14) n


= n + 1;
w = z; z
= Anw;
l=(z'*A*z)/(z'*z);
if rcond(A-l*eye(length(A)))>10^ (-15) z =
(A-l*eye(length(A)))nz;
end
for i = 1:length(A)
if abs(z(i)) == max(abs(z))
break
end
end
z = z/z(i);
end
n
autovalor = (z'*A*z)/(z'*z) Error =
norm(A*z-autovalor*z)

Para la matriz de nuestro Ejemplo 4.2 obtenemos, con MatLab, mediante el al-
goritmo del metodo de la potencia inversa, la aproximacion 0.20927063325837
16
del autovalor de menor modulo con un error 5:119756492560000 10 en 18
iteraciones, mientras que con el mejorado, obtenemos, en tan solo 8 iteraciones,
16
la misma aproximacion con un error del orden de 9:723368807669973 10 .

Veamos, por ultimo, una nueva variante de este metodo nos permite calcular un autovalor
cualquiera de una matriz regular A a partir de una aproximacion suya. Sin embargo, hay que tener
en cuenta que si el autovalor que vamos a aproximar es multiple o existen otros con el mismo
modulo aparecen di cul-tades que solo podremos solventar utilizando otros metodos.
20 Autovalores y autovectores

Metodo de la potencia inversa con desplazamiento

Consideremos una matriz A regular tal que todos sus autovalores tengan
dife-rente modulo y supongamos conocida una aproximacion de un
determinado autovalor k. Si la aproximacion es buena se veri car que j k j
< j i j para cualquier i = 1; 2; : : : n con i 6= k.
Dado que 1=( i ) son los autovalores de A I y esta posee un autovalor ( k )
de menor valor absoluto que los demas, el metodo de la potencia
1
inversa nos proporcionar el valor k = k pudiendose, a partir de este ultimo,
hallar el valor de k.
Esta variante es conocida como metodo de la potencia inversa con
desplaza-miento.

Ejemplo 4.4 Supongamos ahora que sabemos que el otro autovalor de la


matriz A del Ejemplo 4.2 es aproximadamente 1.5.
Para calcular dicho autovalor, por el metodo de la potencia inversa con
des-plazamiento, aplicamos el metodo de la potencia inversa a la matriz
0 1
4:5 2 5
B
(A 1:5I) = 2 0:5 3 C
@ A
5 3 4:5
T
Partiendo del vector z0 = (1 1 1) obtenemos:

z1 = 0 2:5714 1 z2 = 0 13:8442 1 z3 = 0 13:7466 1 z4 =0 13:7272 1


3:1429 15:8701 15:8499 15:8233
B 2:0000 C B 8:5455 C B 8:5663 C B 8:5501 C
@ A @ A @ A @ A
0 0
z5 = 0 13:7280 1 z6 = 13:7279 1 z7 = 13:7279 1
15:8244 15:8244 15:8244
B 8:5508 C B 8:5508 C B 8:5508 C

@ A @ A @ A
Tenemos, por tanto, que z7 es una aproximacion al autovector asociado al
autovalor buscado, por lo que
T
z7 Az7
T
2 = z7 z7 = 1:56319356980456:
Metodos iterados para la obtencion de autovalores y autovectores 21

Algoritmo de la Potencia Inversa con


Desplazamiento

z = ones(length(A),1); w =
zeros(length(A),1); n = 0;

while norm(z-w)>10^ (-14) n


= n + 1;
w=z
z = (A- I)nw;
for i = 1:length(A)
if abs(z(i)) == max(abs(z))
break
end
end
z = z/z(i);
end
n
autovalor = (z'*A*z)/(z'*z) Error =
norm(A*z-autovalor*z)

Para la matriz del Ejemplo 4.2 y conociendo que tiene un autovalor proximo
a 1.5, el algoritmo de la potencia inversa con desplazamiento, ejecutado
con MatLab, nos proporciona la aproximacion 1.56319356980457 del
16
autovalor con un error de 3:845925372767128 10 en 12 iteraciones.
Tambien, en este caso, podemos hacer la misma mejora que en los
anteriores algoritmos.
22 Autovalores y autovectores

Algoritmo de la Potencia Inversa con


Desplazamiento Mejorado

z = ones(length(A),1); w =
zeros(length(A),1); n = 0;

while norm(z-w)>10^ (-14) n


= n + 1;
w = z;
z = (A- I)nw;
l=(z'*A*z)/(z'*z);
if rcond(A-l*eye(length(A)))>10^ (-15)
z = (A-l*eye(length(A)))nz; end

for i = 1:length(A)
if abs(z(i)) == max(abs(z))
break
end
end
z = z/z(i);
end
n
autovalor = (z'*A*z)/(z'*z) Error =
norm(A*z-autovalor*z)

Este algoritmo mejorado nos proporciona la aproximacion


1.56319356980456 del autovalor con un error de 5:978733960281817 10
16
en tan solo 3 iteracio-nes.

4.3.2 Algoritmo QR de Francis


nn
Dada una matriz A 2 K , se pretende encontrar una sucesion de matrices
(An)n2N convergente a la matriz triangular de Schur T (en cuya diagonal
aparecen los autovalores de la matriz A).
La construccion de dicha sucesion se hace de la siguiente manera: A 0 = A.
Supuesta encontrada An, se realiza la factorizacion An = QnRn mediante
matrices de Householder y An+1 = RnQn. En otras palabras:
Metodos iterados para la obtencion de autovalores y autovectores 23

A1 = R0Q0 = Q0AQ0 = Q1R1 9


A0 = A = Q0R0 >

A
2 = R1Q1 = Q Q AQ0Q1 = Q2R2 >
1 0 >
>
.
.
>
>

>
=
. > )
>
=

=Q R
A.n+1 = RnQn = Qn Q1Q0AQ0Q1 Qn n+1 n+1 >
. >

. >
>
>
>
>
>
>

An+1 = (Q0Q1 Qn) A(Q0Q1 Qn) ;

Al ser An semejante a A cualquiera que sea n 2 N, todas las matrices de


las sucesion tienen los mismos autovalores.

Si 1; 2; : : : ; n son los autovalores de una matriz A tales que

j 1j > j 2j > > j nj > 0

el algoritmo converge.
En general, si existen autovalores de igual modulo, la sucesion converge
a una matriz triangular por cajas en la que cada caja contiene a los
autovalores del mismo modulo.
En otras palabras,

Si todos los autovalores tienen distinto modulo el l mite de la


sucesion es una matriz triangular superior en la que los elementos
de su diagonal son los autovalores de la matriz.

Si existen autovalores de igual modulo la matriz l mite es una matriz


triangular superior por cajas en la que cada caja de orden k de su
diagonal es una matriz cuyos autovalores son todos los k
autovalores de igual modulo de la matriz A.
As , por ejemplo, si una matriz A de orden 3 tiene un autovalor real y
dos autovalores complejos conjugados (por tanto de igual modulo) de
distinto modulo que el autovalor real se llegar a a una matriz del tipo
0 1
a a a
11 12 13

B C
@ 0 a22 a23 A
0 a
32 a
33
24 Autovalores y autovectores

a a
22 23
a a
donde a11 es el autovalor real y los autovalores de la matriz 32 33 !
son los dos autovalores complejos de la matriz A.

De forma mas general, si A es una matriz cualquiera (normal o no), al


aplicarle el algoritmo, la sucesion converge (en la mayor a de los casos ) a
su forma de Schur.

1 2 3
Ejemplo 4.5 Para el calculo de los autovalores de la matriz A = 0 2 2 3 1
B 3 3 3 C
se tiene: @ A
A0 = A = 0 2 2 31 A1 = 0 1:9415 0:5385 0:1850 1
1 2 3 7 1:9415 0:6671
B
B 3 3 3C 0:6671 0:1850 0:4615 C
@ A @ A
0
A2 = 0:3365 1:1474 0:1174 1 A3 = 0 0:0530 1:1758 0:0348 1
7:5034 0:3365 0:0344 7:5162 0:0530 0:0016
B C B C
0:0344 0:1174 0:3554 0:0016 0:0348 0:3404

@ A @ A
0
A4 = 0:0083 1:1775 0:0100 1 A5 = 0 0:0013 1:1776 0:0029 1
7:5165 0:0083 0:0001 7:5165 0:0013 0:0000
B C B C
0:0001 0:0100 0:3390 0:0000 0:0029 0:3389

@ A @ A
0 0
A6 = 0:0002 1:1776 0:0008 1 A7 = 0 1:1776 0 1
7:5165 0:0002 0 7:5165 0 0
C C
B0 0:0008 0:3389 B0 0 0:3389

@ A @ A
Por lo que los autovalores de la matriz A son:
: : :
1 17760 3389 y 7 5165
B 2 3 5C
Ejemplo 4.6 La matriz A = 0 1 4 6 1 tiene por autovalores 7 y p
2.
@ A

1 3 1
Al tener dos autovalores de igual modulo no converge a una matriz
triangular, sino a la matriz triangular por cajas.
Realizando el proceso con MatLab hemos obtenido en la iteracion 31 que
A =
31 0 0:0000 0:5797 2:43741
7:0000 6:7412 0:6901
B 0:0000 0:6826 0:5798C
@ A
Metodos iterados para la obtencion de autovalores y autovectores 25

por lo que sabemos que un autovalor es 7 y los otros dos son los autovalores de la matriz
B= 0:6826 0:5798 !

0:5797 2:4374

p
cuyos autovalores son 2.

4.3.3 Metodo de Jacobi para matrices simetricas reales

Comenzaremos viendo el metodo para dimension dos y, mas tarde,


generaliza-remos para una dimension cualquiera.
a b
!
Dada una matriz simetrica y real A = b c el metodo trata de buscar un
cos sen !
valor para de tal forma que la rotacion P = sen cos haga que
1
la matriz P AP sea diagonal.
1
P AP = cos
sen cos !
sen a b
b c
! cos sen sen cos !
= 0
0 !

Se debe veri ca, por tanto, que

2 2
(a c) cos sen + b(cos sen )=0
es decir:
2 2
b(cos sen ) = (c a) cos sen
Si c = a basta tomar = .
4
Si c 6= a podemos dividir por c a y obtenemos que
2b 2 cos sen sen 2
2 2
c a = cos sen = cos 2 = tg 2
2b
Llamando m = c a se tiene que tg 2 = m, por lo que
p 2
1+m
t = tg = 1
m
y, a partir del valor de t obtenido, se pueden calcular
1 t
2 2
cos = p 1 + t y sen = p 1 + t
valores, estos ultimos, que nos permiten determinar la matriz P .
26 Autovalores y autovectores
I
0
Algoritmo de calculo
a b
!
a) Dada A = b c
a.1) Si b = 0 FIN.
a.2) Si b 6= 0 y a = c
0 1 1
0 1
P = p 2 =2 p 2 =2 y P AP = 0 :
@ A
p 2 =2 p 2 =2 @0 A
p 2
b) m = 2b t= 1 1+m :
c a m
1 t

c) cos = p 1 + t2 sen = p 1 + t2 .
0 1
P= cos sen 1 y P AP = 0 0 1:
@ A A
sen cos @0
Para dimensiones superiores sea P la matriz diagonal por bloques
FIN.

FIN.
B T C
P= q p+1 In q

en la que @ A
= I
Tq p+1 0 cos q p 1 sen 1
B sen cos C
@ A
y todos los demas elementos nulos.

Si apq = 0, hacemos cos = 1 y sen = 0.


p2
Si app = aqq, hacemos cos = sen = 2 .
p 2
Si a =a llamando m = 2apq y t= 1 1+m hacemos
a a
pp 6 qq qq pp m
1 t
2 2
cos = p1 + t y sen = p 1 + t
Metodos iterados para la obtencion de autovalores y autovectores 27
= 1x1 que es un autovector de A asociado al

Entonces, los elementos que ocupan los lugares pq y qp de la matriz P


1
AP son nulos.
El metodo de Jacobi consiste en buscar el elemento a pq con p 6= q de
mayor modulo, anularlo mediante una matriz P 1, buscar el siguiente
elemento de mayor modulo y anularlo mediante otra matriz P 2 y as
sucesivamente hasta diagonalizar la matriz A.
Dado que las matrices Pk, o matrices de Jacobi, son ortogonales, se veri
1 T
ca que Pk = Pk por lo que se trata, en de nitiva, de buscar P 1; P2; : : : ;
Pk de la forma descrita anteriormente, para obtener
T T
Pk P1 AP1 PK = D
Lo mas importante de este metodo es que el calculo de las matrices P i puede
hacerse simultaneamente ya que no se requiere el conocimiento de ninguna
de ellas en el calculo de cualquier otra. Es decir, el metodo es paralelizable.
0 2 0 4 21
1 2 3 1
Ejemplo 4.7 Consideremos la matriz A = B 3 4 1 1 C que es B C

B 1 2 1 0C

simetrica y real. @ A
El elemento extradiagonal de mayor valor absoluto es a 23 = 4, por lo que
comenzamos haciendo
2a
p 2
23 1+ 1+m 1 t
m= t= cos = p 2 sen = p 2
a a
33 22 m 1+t 1+t
P23 = I4 p22 = p33 = cos p23 = p32 = sen
obteniendose
1 0 0 0
P
23 =0 0
B
B
0
0:7497 0:6618
0:6618 0:7497
01
0 C
C

B 0 0 0 1C

@ A
por lo que
T 0 3:4848 3:5311 0 0:8376 1
1 3:4848 0:9254 1
P AP B
23 23 = B
0:9254 0 4:5311 2:0733 C C

B 1 0:8376 2:0733 0C

@ A
28 Autovalores y autovectores

Observese que la transformacion de semejanza solo ha afectado a las las


y columnas 2 y 3 dejando invariantes a los demas elementos.
T
Si queremos aplicar el metodo a la matriz P 23 AP23 obtenida, utilizando como
referencia el elemento a14 = 1, podemos observar que todos los calculos nece-
sarios para obtener la nueva matriz P14 pod amos haberlos realizados al mismo
tiempo que los realizados para P23 ya que solo necesitamos los valores de los
T
elementos (1; 1), (1; 4), (4; 1) y (4; 4) de la matriz P 23 AP23, que por
haber quedado invariantes son los mismos que los de la matriz A.
Realizando los calculos necesarios de forma analoga al caso anterior obtenemos
0 0 1 0 01
0:8507 0 0 0:5257
P
14 =B B
0 0 1 0C C

B 0:5257 0 0 0:8507 C

@ A
T T T T
que aplicar amos a P23 AP23 para obtener P14 P23 AP23P14 = P AP
donde la matriz P viene dada por P = P23P14.
Ahora bien, la matriz
0 0 0:7497 0:6618 01
0:8507 0 0 0:5257
P=P P
23 14 =B
B
0 0:6618 0:7497 0C C

B 0:5272 0 0 0:8507 C

@ A
puede ser escrita directamente sin necesidad de construir previamente
P23 y P14 y multiplicarlas.
En resumen, se pueden enviar a un ordenador los valores de a22, a23 = a32 y a33
para que calcule el angulo de giro correspondiente y nos devuelva los valores de
p22 = p33 y p23 = p32, mientras que de forma simultanea enviamos a otro
ordenador los valores de a11, a14 y a44 y nos devolvera los de p11 = p44
y p14 = p41.

En el ordenador central construimos la matriz P con los datos recibidos y


calculamos
T 0 2:5240 3:5311 0 2:5445 1
1:6180 2:5240 1:8772 0
P AP = B 1:8772
B
0 4:5311 1:2771 C C

B 0 2:5445 1:2771 0:6180 C

@ A
Reduccion del problema a matrices herm ticas 29

que volveremos a renombrar con A.


A la vista de la matriz enviar amos al Ordenador 1 los datos de los
elementos a22, a24 = a42 y a44 mientras que enviar amos al Ordenador 2 los
de a11, a13 = a31 y a33 que nos devolver an los elementos necesarios para construir una
nueva matriz
0 0 0 0:8661 0 0:5016 1
:8981 0 0:4399 0
P= B B
0:4399 0 0:8981 0 C
C

B 0 0:5016 0 0:8651 C

y a partir de ella @ A
T 0 1:6791 5:0065 1:5358 01
B 0:6986 1:6791 0 1:6230
P AP = C
B C

B 0 1:5358 5:4506 0:4353C


@ A
1:6230 0 0:4353 0:8573
Reiterando el proceso llegamos a la matriz
0 0 5:6823 0 01
2:5892 0 0 0
B 0 0 5:7118 0C
B C
B C

@ A
0 0 0 0:6188
cuyos elementos diagonales son los autovalores de la matriz original.

4.4 Reduccion del problema a matrices herm -


ticas
Los autovalores de una matriz normal cualquiera pueden ser reales o com-
plejos mientras que los de una matriz herm tica son todos reales, por lo que
si pudieramos transformar el calculo de los autovalores de una matriz nor-
mal en los de otra herm tica habr amos simpli cado el problema. Es mas, si
pudieramos transformarlo en el calculo de los autovalores de una matriz
simetrica real, podr amos trabajar en el campo real en vez de hacerlo en el
campo complejo y, entre otras cosas, podr amos utilizar el metodo de Jacobi
a partir de una matriz normal cualquiera, previa transformacion en un
problema de autovalores de una matriz simetrica real.
30 Autovalores y autovectores

Proposicion 4.14 [Componentes herm ticas de una matriz]

Dada cualquier matriz cuadrada A, existen dos matrices herm ticas H 1 y


H2 tales que A = H 1 +iH2 las cuales reciben el nombre de componentes
herm ticas de la matriz A.

Demostracion. Si se quiere que A = H1 + iH2 con H1 y H2 herm ticas, se


tendra que A = H1 iH2 = H1 iH2, por lo que resolviendo el sistema
resultante se tiene que

H1 = A + A H2 = A A
2 2i
ademas, la solucion es unica.

Teorema 4.15 Sea A = H1 +iH2 una matriz normal con H1 y H2 herm ticas.
Si x 6= 0 es un autovector de A asociado al autovalor + i ( ; 2 R) se veri ca
que
H1x = x y H2x = x

Demostracion. Por ser A normal, existe una matriz unitaria U tal que
U AU = D
0 0 2 +i2 0 1
+i 0 0
D = U AU = B ..
.
..
. ... ..
. C
C
C
B

B 0 0 n +in =)
B C
A

@
00 2 0 1 00 2 0 1

0 0 0 0
... . ...
A=U B B
..
.
..
.
..
. C U + iU B
C B
.. ..
.
..
. C U =)
C

B 0 0 n C B 0 0 n C
B C B C

@ 0
0 0
A
1
@ 0
0
A 0 1

C C
2 2

0 0 0 0
=UB =UB
H1 B
... ... . . . ... C
U H2 B
... ... . . . ... C
U
B 0 0 n C B 0 0 n C
B C B C

@ A @ A
donde H1 y H2 son herm ticas. Se tiene entonces que es un autovalor de
H1 asociado a x (primera columna de U) y un autovalor de H 2 asociado
tambien a x.
Reduccion del problema a matrices simetricas reales 31

Las componentes herm ticas H 1 y H2 de una matriz cuadrada A nos


propor-cionan otro metodo para estudiar si la matriz A es, o no es, normal.

Teorema 4.16 Una matriz cuadrada A es normal si, y solo si, sus compo-
nentes herm ticas conmutan.

A es normal () H1H2 = H2H1

Demostracion.
2 2
HH = A+A A A = A AA + A A + (A )
1 2 2 2i 4i
2 2
HH = A A A+A = A + AA A A + (A )
2 1 2i 2 4i
Si A es normal se veri ca que AA = A A por lo que
2 2
HH = A+A A A = A + (A )
1 2 2 2i 4i 9
> = H1H2 = H2H1
A A A+A 2+ (A ) 2 > )
A >
HH = = =
2 1 2i 2 4i >
>
>

Si H1H2 = H2H1 se veri ca que


2 2 2 2
A AA + A A + (A ) = A + AA A A + (A )

por lo que
2
AA + A A = A + AA A A () 2A A = 2AA () A A = AA

y, por tanto, A es normal.

4.5 Reduccion del problema a matrices sime-


tricas reales

Sea H una matriz herm tica y sean hij = aij + ibij con 1 i; j n sus elementos.
Podemos descomponer la matriz H de la forma H = A + iB donde A y B
son matrices reales con A = (aij) y B = (bij).
32 Autovalores y autovectores

Por ser H herm tica se veri ca que

T T
8
A+iB =H =H =A iB =A iB (por ser A y B reales) = A=AT
)<
x a ib H
B = BT (recuerdese que

Sea = + un autovector de asociado al autovalor :


2 R por ser H una matriz herm tica). Se veri ca entonces que
Hx = (A + iB)(a + ib) = (Aa Bb) + i(Ab + Ba) 9

x = (a + ib) = a + i b =

8
Hx = x Aa Bb = a ;
)<
Ab + Ba = b

por lo que B A ! : b
! = b!
A B a a

A B
!
Observese ademas que la matriz real B A es simetrica, ya que
T T !
B T =
A
! B A ! = B A

A B AT BT A B

B!
Los autovalores de la matriz A son, por tanto, los mismos que los
B A
!
A B
de H y si un autovector de es (x1; : : : ; xn; xn+1; : : : ; x2n), el co-
B A

rrespondiente autovector de la matriz H es (x1 + ixn+1); : : : ; (xn + ix2n) .

Dada una matriz normal calcularemos sus autovalores de la siguiente forma:

Algoritmo de calculo de los autovalores de una matriz normal

Paso 1 Calcular las componentes herm ticas


H
1 = A+A y H2 = A A
2 2i
de la matriz A.
Aplicacion al calculo de las ra ces de un polinomio 33

v
v

Paso 2 Calcular los autovalores i (1 i n) de la primera componente herm


tica H1 y sus autovectores asociados vi reduciendo previamente el
problema al caso de matrices reales y simetricas.
vi H2vi
Paso 3 Calcular los cocientes de Rayleigh i = .

Como los vectores vi (1 i n) son tambien autovectores de H2, los i


obtenidos son sus autovalores asociados.

Paso 4 Los autovectores de A son los mismos vectores v i y sus


autovalores asociados vienen dados por i + i i.

4.6 Aplicacion al calculo de las ra ces de un


polinomio
Consideremos el polinomio
n n 1 n 2
P (x) = a0x + a1x + a2x + + an 1x + an

Dado que el polinomio caracter stico de la matriz


0 1 0 2 0 n 1 0 0 1
a =a a =a a =a an=a0
A= B In 1 .. .C
B
B
0 C
C
B C

@ A

(donde In 1 representa la matriz unidad de orden n 1) es precisamente P


(x), la ra ces de dicho polinomio coinciden con los autovalores de la matriz
A, por lo que dichas ra ces pueden ser obtenidas, en bloque, mediante un
metodo iterado de calculo de autovalores.
As , por ejemplo, MATLAB en su comando roots(P) para calcular las ra ces
de un polinomio P construye, en primer lugar, la matriz A de nida anterior-
mente y se limita luego a calcular sus autovalores aplicando internamente el
comando eig(A) de calculo de los autovalores de una matriz. Este comando
lo que hace, en primer lugar, es aplicar un algoritmo para llevar la matriz A a
una matriz de Hessenberg y posteriormente aplicarle el algoritmo QR
mediante transformaciones de Householder.
Bibliograf a

[1] Burden, R.L. y Faires, J.D. Analisis Numerico (Sexta edicion). Interna-
cional Thomson Ed. 1998.

[2] Golub, G.H. y Van Loan, C.F. Matrix Computations (Third edition).
Johns Hopkins University Press

[3] Hager, W. Applied Numerical Linear Algebra. Ed. Prentice-Hall Interna-


tional. 1988.

[4] Kincaid, D. y Cheney, W. Analisis Numerico. Ed. Addison-Wesley Ibe-


roamericana. 1994.

[5] Noble, D. y Daniel, J.W. Algebra Lineal Aplicada. Ed. Prentice-Hall. 1989.

[6] Watkins, D.S. Fundamentals of MATRIX Computations. John Wiley &


Sons. 1991.
35

You might also like