Sei sulla pagina 1di 36

Captulo 10

El problema de valores propios

10.1.

Introducci
on

El objetivo de este captulo es estudiar los algoritmos mas importantes para


calcular los valores propios de matrices generales; es decir, matrices que no son
simetricas o hermticas. Los algoritmos que veremos aqu son aplicables tambien
a matrices simetricas y hermticas pero para estas hay, ademas, otros algoritmos
especficos.

En Algebra
Lineal Numerica se suele hablar de algoritmos directos y de algoritmos iterativos para distinguir entre los algoritmos que producen el resultado deseado
tras un n
umero finito de iteraciones (algoritmos directos como los de Gauss o QR)
y aquellos que tienen como objetivo la construccion de una sucesion de objetos que
converge al resultado deseado. Como veremos enseguida hay una razon muy poderosa para que los algoritmos para el calculo de valores y vectores propios sean del
segundo tipo. Y siendo las cosas as se habla de metodos directos e iterativos para
el calculo de valores y vectores propios con un significado diferente a los anteriores.
215

216

El problema de valores propios

Los primeros buscan obtener todos los valores propios y (opcionalmente) los vectores propios; es decir, la forma de Schur de la matriz. Los metodos iterativos tratan
de calcular un valor propio seleccionado y un vector propio, y de forma reiterada
llegar a encontrar, si es posible, todos ellos. El algoritmo QR es el paradigma de los
metodos directos y el Metodo de las Potencias el de los metodos iterativos. En este
Captulo trataremos los metodos iterativos.

10.2.

El m
etodo de las potencias

El objetivo del metodo de las potencias es calcular un vector propio de una


matriz dada A P Fnn . Es extremadamente simple: Dado un vector no nulo x P Fn
se construye la sucesion tAk xu, k  1, 2, . . .. Esta sucesion de vectores puede no
converger a un vector, pero frecuentemente la sucesion de los subespacios generados
por sus elementos,t Ak x u, s. Recordemos que para cada valor propio no hay un
vector propio determinado unvocamente, sino todo un subespacio de ellos (exceptuando el vector cero que no es un vector propio). Por lo tanto, lo que nos interesa
es buscar un subespacio propio de A y despues escoger un vector propio particular;
por ejemplo, un vector propio unitario. As pues, debemos estudiar la convergencia
de subespacios y no de vectores propiamente.

10.2.1.

Convergencia de subespacios

En primer lugar, al conjunto de subespacios de Fn de dimension d se le llama Grassmanniana o Variedad de Grassman, y se representa mediante el smbolo
Grd pFn q:
Grd pFn q  tS Fn : S subespacio de dimension du
Para poder hablar de convergencia de subespacios, debemos dotar a Grd pFn q
de una estructura topologica. Hay dos formas clasicas de hacerlo que producen la
misma topologa: definir una distancia entre subespacios, llamada distancia gap,
o identificar el conjunto de subespacios de dimension d con un conjunto cociente de
matrices y definir en este la topologa cociente. Aunque la primera forma de proceder
es mas apropiada para el analisis numerico porque proporciona cotas cuantitativas
en el analisis del error, es tambien la mas larga. Como, ademas, no haremos un


10.2. EL METODO
DE LAS POTENCIAS

217

analisis del error muy riguroso, adoptaremos la segunda aproximacion, que es mas
rapida.
Dado un subespacio S de dimension d en Fn y dada una base tx1 , . . . , xd u,
llamaremos matriz base de S a la matriz X  x1    xd . Las matrices base de
los subespacios de dimension d tienen la particularidad de ser matrices de tama
no
n  d y de rango d. Y toda matriz con estas propiedades genera un subespacio de
dimension d. Pero puede haber mas de una matriz n  d de rango d que genere el
mismo subespacio: todas las matrices base deben estar relacionadas mediante una
matriz de cambio de base. Es decir, X1 , X2 P Fnd generan el mismo subespacio
de dimension d si y solo si rang X1  rang X2  d y existe una matriz invertible
P P Fdd tal que X1  X2 P . Ahora bien, la relacion X1  X2 si y solo si existe
P P Fdd tal que X1  X2 P es una relacion de equivalencia en el conjunto Mn,d pFq
de las matrices n  d de rango d con elementos en F. Y cada subespacio de dimension
d puede identificarse con una clase de equivalencia. As, identificaremos
Grd pFn q 
M

pFq

Mn,d pFq
Gld pFq

donde Gln,d
representa el conjunto de clases de equivalencia por la relacion que
d pFq
acabamos de definir. En concecuencia, dada una matriz X P Mn,d pFq denotaremos
por X P Grd pFq el subespacio generado por las columnas de X.
Ahora, Mn,d pFq es un conjunto abierto de Fnd que podemos considerar dotado
de la topologa relativa. En este caso, U Mn,d pFq es abierto en Mn,d pFq si lo es
en Fnd . Con esta topologa en Mn,d pFq podemos dotar a Grd pFn q de la topologa
M pFq
: Si
cociente en Gln,d
d pFq
: Mn,d pFq
X

GrdpFnq
X

es la proyeccion canonica, U Grd pFn q es abierto si y solo si 1 pU q es abierto en


Mn,d pFq. As pues, la topologa de Grd pFn q es la topologa mas fina que hace de
una aplicacion continua. Tenemos ademas
Lema 10.1 es una aplicacion abierta.
Demostraci
on.- Hay que probar que si U Mn,d pFq es abierto entonces
pU q es abierto en Grd pFn q. Y, de acuerdo con la definicion de la topologa definida en Grd pFn q, esto significa que 1 p pU qq es abierto en Mn,d pFq. Ahora bien,

218

El problema de valores propios

Y P 1 p pU qq si y solo si Y P pU q; y esto equivale a que


alguna matriz X P U. Por lo tanto,
1 p pU qq  tXP : X

Y  X para

P U y P P GldpFqu

Para demostrar que 1 p pU qq es abierto tenemos que ver que si X P 1 p pU qq


existe un r 0 tal que si }X  Y } r entonces Y P 1 p pU qq. Tomamos, como
norma, cualquier norma de matriz y sea X P 1 p pU qq. Entonces XP P U para
alguna matriz P P Gld pFq. Como U es abierto, existe s 0 tal que si }XP  Z } s
entonces Z P U. Sea
s
0r
}P }

y supongamos }X  Y } r. Como }XP  Y P } }X  Y }}P } resulta que }XP 


Y P } s; por lo que Y P P U. Es decir, Y P 1 p pU qq tal y como se deseaba
demostrar.

Hay algunas propiedades topologicas importantes de Grd pFn q que utilizaremos


pero que no vamos a demostrar. Son las siguientes:

n,dpFq es el subconjunto de Mn,dpFq de matrices cuyas columnas son


(i) Si M
ortonormales y Ud pFq representa el grupo matrices unitarias (ortogonales si
n,dpFq{UdpFq son
F  R) de tama
no d  d entonces Mn,d pFq{ Gld pFq y M
n,dpFq esta dotado de la topologa relativa
homeomorfos. Se entiende que M
n,dpFq{UdpFq es el conjunto cociente de
como subconjunto de Mn,d pFq y M
clases de matrices con columnas ortonormales que son matriz base del mismo
n,dpFq estan relacionadas si y solo si
espacio vectorial. Es decir, Q1 , Q2 P M
n,dpFq{UdpFq se
existe U P Ud pFq tal que Q2  Q1 U . El espacio cociente M
supone dotado con la correspondiente topologa cociente.

n,dpFq{UdpFq son homeomorfos se puede


La prueba de que Mn,d pFq{ Gld pFq y M
obtener como consecuencia de que los factores Q y R en la factorizacion QR
de A (recordemos que por ser A de rango completo es u
nica) son funciones
continuas de A.

n,dpFq entonces
M
r1prpV qq  tQZ : Q P V y Z P UdpFqu,

r es una aplicacion abierta.


y se demuestra igual que en el Lema 10.1 que

(ii) Si V


10.2. EL METODO
DE LAS POTENCIAS

219

(iii) Ya hemos dicho que a Grd pFn q se le puede dotar de una estructura de espacio
metrico con la llamada metrica gap. Somos ahora un poco mas precisos en
este punto: Dados dos subespacios S1 , S2 P Grd pFn q se define la distancia gap
entre S1 y S2 como
pS1 , S2 q  }P1  P2 }2
siendo Pi la proyeccion ortogonal sobre Si . Esta definicion es una generalizacion
de un hecho bastante natural para subespacios de dimension 1. Si dim S1 
dim S2  1 entonces S1  x y S2  y , digamos, con x  0, y  0.
En este caso resulta (aunque no es trivial demostrarlo) que }P1  P2 }2  sen
siendo el angulo agudo que forman x, y. Es claro que en este caso pS1 , S2 q 
sen define una metrica.
En cualquier caso, Grd pFn q con la topologa derivada de la metrica gap y
n,dpFq{UdpFq son homeomorfos. La
los espacios cocientes Mn,d pFq{ Gld pFq y M
demostracion de este resultado tampoco es trivial.
(iv) Como todo espacio metrico es Hausdorff, Grd pFn q es Haussdorff.

n,dpFq es cerrado y acotado; por lo tanto com(v) Se demuestra facilmente que M


pacto (por ser subespacio de Fnd y F  R o C). Como la proyeccion canonica
n,dpFq
r:M

pq

n
p q es continua, Grd pF q es compacto.

Mn,d F
Ud F

El siguiente resultado muestra que la convergencia de sucesiones de subespacios


puede estudiarse a partir de la convergencia de matrices bases de los mismos.
Teorema 10.2 Sea tSk uk0,1,2,... Grd pFn q una sucesion de subespacios y S P
Grd pFq. Sea X P Mn,d pFq una matriz base de S y, para k  0, 1, 2, . . . Xk una
matriz base de Sk . Entonces Sk S si y solo si para cada k  0, 1, 2, . . . existe una
matriz invertible d  d Pk tal que Xk Pk X.
Demostraci
on.- La demostracion es elemental. Supongamos Sk S y sea UX
un entorno abierto de X. Como es abierta VS  pUX q es un entorno abierto de S y
como Sk S, existe un n
umero natural N tal que si k N entonces Sk P VS . Dado
que VS  pUX q, para cada k N existe una matriz Yk P UX tal que Sk  Yk .
Es decir, para cada k N existe una matriz invertible Pk tal que Xk Pk P UX . Esto
significa que Xk Pk X.

220

El problema de valores propios

El recproco se demuestra igual. Si VS es un entorno abierto de S entonces


UX  1 pVS q es un entorno abierto de X. Si existen matrices invertibles Pk tales
que Xk Pk X entonces existe un entero positivo N 0 tal que si k N se
tiene que Xk Pk P UX pero VS  pUX q. Por lo tanto, para k N se tiene que
Sk  pXk Pk q P VS . Es decir, Sk S.

r es abierta, la demostracion del siguiente resultado es igual que la


Usando que
del Teorema 10.2
Teorema 10.3 Sea tSk uk0,1,2,... Grd pFn q una sucesion de subespacios y S P
n,dpFq una matriz base ortonormal de S y, para k  0, 1, 2, . . .
Grd pFq. Sea Q P M
Qk una matriz base ortonormal de Sk . Entonces Sk S si y solo si para cada
k  0, 1, 2, . . . existe una matriz unitaria d  d Zk tal que Qk Zk Q.

Con estos resultados sobre convergencia de subespacios podemos probar el siguiente resultado fundamental:
Teorema 10.4 Sea X P Mn,d pFq y A P Fnn una matriz tal que rangpAk X q  d
para todo k  1, 2, . . .. Si la sucesion de subespacios t Ak X u converge, lo hace a
un subespacio S P Grd pFn q que es A-invariante.
Demostraci
on.- Supongamos que Ak X S. Como rangpAk X q  d para
cada k 0 el subespacio Ak X P Grd pFn q. Ahora bien, Grd pFn q es un espacio
compacto y Hausdorff, por lo tanto cerrado. Si Ak X converge debe hacerlo
a un subespacio de Grd pFn q. Veamos que, ademas, este debe ser A-invariante. En
efecto, como para k  0, 1, 2, . . . Ak X es una matriz base de Ak X aplicando
el Teorema 10.2, para cada k  0, 1, 2, . . . existe una matriz invertible Pk tal que
AK XPk Y , donde Y es una matriz base de S. Dado que A es lineal, y por lo
tanto continua, ApAK XPk q AY . Aplicando de nuevo el Teorema 10.2 deducimos
que Ak 1 X AY . Pero por hipotesis Ak 1 X Y . Como Grd pFq
es Haussdorf, el lmite es u
nico. Por lo tanto, AY  Y  S. Ahora es facil
deducir que AS S. En efecto, si x P S entonces x  Y y Ax  AY P AY 
S.


10.2. EL METODO
DE LAS POTENCIAS

10.2.2.

221

El algoritmo del m
etodo de las potencias

Aplicamos el Teorema 10.4 al metodo de las potencias.

Corolario 10.5 Sea A P Fnn y x P Fn un vector no nulo. Si la sucesion de subespacios Ak x converge a un subespacio y no nulo entonces y es un vector
propio de A.

Demostraci
on.- En primer lugar, si Ak x y con y  0 entonces
A x  0 para todo k  1, 2, . . .. Por el Teorema 10.4 y es A-invariante, lo cual
significa que Ay P y . Es decir, Ay  y para alg
un P F. Por lo tanto, y es un
vector propio de A asociado al valor propio .
k

Notese que de acuerdo con la demostracion del corolario, si A y x son reales y

Ak x converge a un subespacio no nulo y entonces y es vector propio real


asociado a un valor propio real.

De forma similar se demuestra

Corolario
Sea A P Fnn y q P Fn un vector unitario. Si la sucesion de subes 10.6

Ak q
pacios
}Ak q}2 converge a un subespacio y no nulo entonces y es un vector
propio unitario de A.

Este resultado es la base del metodo de las potencias cuya primera version es la
siguiente:

222

El problema de valores propios

M
etodo de las Potencias (Primera Versi
on)
Dada A P Rnn
Paso 1: Eljase x0 P Fn1 (F  R o C)
x0
Paso 2: q0 
}x0}2
Paso 2: for j  0, 1, 2, 3, . . . hasta convergencia

 Aqj
xj 1
(vector propio unitario aproximado)
1 
k xj 1 k
j 1  q  Aqj 1 (valor propio aproximado)

j 1
xj
qj

end for.
Antes de analizar la convergencia de este algoritmo conviene hacer algunas observaciones:
1. En primer lugar, el algoritmo construye la sucesion de vectores unitarios:
q0 , q1 , q2 , . . . donde
Aqi1
qi 
}Aqi1}2 , i  1, 2, . . .
Es muy facil ver que
i

 }AAiqq0} .
0 2
" k *
A q0
Es decir, el algoritmo construye la sucesion
}Ak q0}2 del Corolario 10.6. Por
qi

lo tanto, si esta sucesion converge lo hace a un vector propio unitario de A. No


obstante, esta sucesi
 ok n puede
 no converger y sin embargo s hacerlo la sucesion
A q0
de subespacios
}Ak q0}2 . Esto es lo importante. En tal caso, de acuerdo con
el Corolario 10.6, obtendremos un subespacio propio de A como lmite.

2. Se usa provisionalmente la expresion hasta convergencia para indicar que,


en caso de que la sucesion de subespacios converja, la rutina for se realizara un n
umero suficiente de veces. Mas adelante estudiaremos un criterio de
terminacion de esta rutina.


10.2. EL METODO
DE LAS POTENCIAS

223

3. El algoritmo calcula vectores unitarios qj que cuando qj q proporcionan un vector propio unitario, q, de A. Por eso llamamos vectores propios
aproximados a los vectores qj .
umero en F. Si qj fuera un
4. Con cada vector qj se calcula qj Aqj que es un n
vector propio exacto entonces qj Aqj sera un valor propio exacto. En efecto:
Aqj

 qj qjAqj  qjqj 

porque qj es unitario. Si qj es un vector proximo a un vector propio entonces


j  q  Aqj es, por continuidad, un n
umero proximo a un valor propio de A.

j
Por eso le llamamos valor propio aproximado. Ademas, si A es real y x0 es
real, entonces todo se realiza en aritmetica real. Es decir, los vectores y valores
propios aproximados calculados son reales.
5. A
un cuando la sucesion qj no converja, si qj converge lo hace a un subespacio propio y los vectores qj seguiran siendo vectores propios aproximados.
j convergera a un valor proEn consecuencia, si qj converge, la sucesion
pio de A. Es decir, si el algoritmo converge (en el sentido que qj converge)
se obtiene un vector propio unitario y un valor propio tan aproximados como
se quiera (dentro de la aritmetica en punto flotante que se utilice) de A. Pero
dado que los vectores propios pueden cambiar de direccion, los criterios para
terminar el algoritmo deberan tener en cuenta tanto a los vectores propios
como a los valores propios.

10.2.3.

An
alisis de la convergencia del m
etodo de las potencias

La cuestion ahora es establecer condiciones suficientes lo mas amplias posible


sobre A y q para poder asegurar que qk converge. El siguiente teorema es el resultado
fundamental:
Teorema 10.7 Sea q0 P Fn un vector unitario y A P Fnn una matriz diagonalizable
con 1 , . . . , n como valores propios. Sea tv1 , . . . , vn u una base de vectores propios
unitarios de A (Avi  i vi y }vi }2  1, i  1, . . . , n) y supongamos que q0 
1 v1    n vn . Supongamos tambien que

|1| |2| |3|    |n|

(10.1)

224

El problema de valores propios

Entonces qj v1 si y solo si 1  0. Mas a


un, en tal caso, para j
0, 1, 2, . . . existen n
umeros complejos zj de modulo 1 tales que

 j
 
}zj qj  v1}2  O  2  .
1



Recuerdese que la expresion }zj qj  v1 }2  O 

2
1

j

 significa que para j sufi-

cientemente grande existe una constante positiva K tal que

 j
}zj qj  v1}2 K  2  .
1

Por lo tanto, la segunda parte del Teorema nos dice que, cuando
" *hay convergencia,
esta se produce a la misma velocidad a la que la sucesion

converge a 0.
ji vi y, en

 0, como 1  0 porque |1| |2| 0, podemos definir j

}
Aj q0 }2

.

Aj q0

Si 1

2
1

Demostraci
on.- Es facil ver que si Avi
consecuencia,

 1Aj v1   

n Aj vn

 j
 

i vi entonces Aj vi

 1j1v1   

n jn vn .

 0 y recordando que qj  }AAj qq0} tenemos que


0 2

j

j
2 2
n n
j qj  v1
v2   
vn .
1 1
1 1
 
Como por hipotesis   1, tenemos que lm j qj  v1 . Por
j 8
concluimos que qj v1 .

1 j1

As j

2
1

(10.2)
el Teorema 10.2

Recprocamente, supongamos qj v1 . Por el Teorema 10.2 existen


n
umeros j tales que j qj v1 . Sea P la proyeccion sobre v1 a lo largo de
v2, . . . , vn . Entonces P pj qj q P v1  v1. Pero
P pj qj q 

j
j
j
j
j
P
p
A
q
q

0
}Aj q0}2
}Aj q0}2 P p11v1 22v2



n jn vn q 

j
j
}Aj q0}2 11v1.


10.2. EL METODO
DE LAS POTENCIAS

225

j
1 j1 v1 v1 . Como v1  0 debe ser 1  0. A la proyeccion sobre v1
j
}A q0}2
a lo largo de v2 , . . . , vn se le llama proyeccion espectral sobre el subespacio
propio v1 .
As

Para demostrar la segunda parte del teorema partimos de la expresion (10.2) y


ponemos

j

j

j
2 2
3 3
n n
xj 
v2
v3   
vn .
1 1
1 1
1 1
Entonces, teniendo en cuenta que }vi }2

 1,
   j
   j
   j

2
2
3
3
}xj }2     }v2}2     }v3}2     n   n  }vn}2 
 1 j 1     1 j 1
   j 1 1

  2   2   3   3      n   n 
1
1
1
2
1
2

La sucesion

 
 2 
1

   j
 3   3    
1 2

   j
 n   n 
1 2

es monotona decreciente (o mejor, no creciente) y acotada superiormente. Sea K


una cota superior (por ejemplo, K puede tomarse el elemento de la sucesion correspondiente a j  0). As
 j
}xj }2 K  2  .
1
Por otra parte, como j qj  v1 xj y lm xj  0 tenemos que lm j qj  v1 .
j

Ademas, la norma es una funcion continua, de modo que lm |j |


j

 1 dado que

}qj }2  }v1}2  1. Mas aun,



 j


}
A q 0 }2

||j |  1|   j  1  1 j }Aj q0}2  |1j1| 
|11|
|11| 
1  j

}A q0}2  }1j1v1}2
|1j1|
1 j }Aj q0  1j1v1}2  }xj }2.
|11|
As, para j  0, 1, 2, . . .
1  }xj }2 |j | 1 }xj }2 .

226

El problema de valores propios

y como xj 0, para j suficientemente grande 1  }xj }2 0. Supondremos de ahora


en adelante que j es suficientemente grande como para que se cumpla esta condicion.

Ahora si zj  |jj | entonces |zj |  1 y


zj qj

1
|j | pv1

xj q

1
pv1
1  } xj } 2

xj q 

}xj }2
v
1
1  }xj }2

1
xj .
1  }xj }2

Por lo tanto, teniendo en cuenta que }v1 }2

 1,
}zj qj  v1}2 1 2}x}jx}2}
j 2
Para j suficientemente grande 1  }xj }2 12 , por lo que
}zj qj  v1}2 4}xj }2.
 j
2
Finalmente, como }xj }2 K   , conclumos que
1
 j
}zj qj  v1}2 4K  2 
1
para j suficientemente grande, tal y como se deseaba demostrar.
La condicion suficiente de convergencia del Teorema 10.7 requiere que la matriz
A tenga un valor propio dominante en modulo y que para el vector inicial x0 la
componente de este en la direccion del subespacio propio asociado a dicho valor
propio dominante sea no nula. Ambas condiciones son genericas (es decir, casi todas
las matrices y vectores las cumplen). Ya sabemos que el conjunto de las matrices que
tienen valores propios distintos es abierto y denso, de modo que la condicion de tener
un valor propio dominante en modulo es generica salvo que la matriz sea real y tenga
valores propios complejos. Esta situacion la analizamos enseguida. En el supuesto
de que la matriz dada tenga un valor propio dominante en modulo, la eleccion de
un vector x0 que no tenga componente nula en la direccion del correspondiente
subespacio propio no presenta problemas. Practicamente cualquier vector cumple
esta condicion. Pensemos, por ejemplo, en la siguiente situacion: sabemos que alguien
ha dibujado dos vectores linealmente independientes en R2 con origen en p0, 0q pero
desconocemos que vectores son. Que posibilidades tenemos de dar un vector que sea
colineal con uno de ellos? Convendremos inmediatamente que es muy improbable


10.2. EL METODO
DE LAS POTENCIAS

227

que escogido un vector al azar, este sea colineal con uno de los vectores dados. De
la misma forma, si escogemos x0 al azar es casi seguro que su componente en la
direccion del subespacio propio asociado al valor propio dominante sea no nula. Una
buena practica consiste en NO tomar x0 un vector con estructura (por ejemplo,
x0  p1, 0, . . . , 0q) sino al azar.
Si la matriz tiene valores propios complejos a
un cuando sus valores propios sean
distintos pueden tener igual modulo. Esto es claro si la matriz es real con valores
propios complejos, pero puede suceder, incluso, con matrices complejas. Por ejemplo,
la matriz
A =
1.0000 + 1.0000i
0
0 - 1.0000i

0 + 2.0000i
1.0000 - 1.0000i
-3.0000

0
0
1.0000

tiene como valores propios:


>> eig(A)
ans =
1.0000
1.0000 + 1.0000i
1.0000 - 1.0000i
Aplicando el metodo de las potencias con vector
>> x0=rand(3,1)
x0 =
0.8147
0.9058
0.1270
produce 4 subsucesiones de valores propios que parecen estabilizarse en los valores
1.0000 - 0.6119i, 1.5931 - 0.2490i, 1.0000 - 0.1563i, 0.4069 - 0.2490i

228

El problema de valores propios

Veamos que este no es un hecho casual. Supongamos que A es diagonalizable y


que |1 |  |2 | |3 |    . Supongamos tambien que 1  2 y que las componentes, 1 y 2 , de x en las direcciones de los vectores propios v1 y v2 no son cero.
Supongamos finalmente que 1  ei 2 , 0 2. Entonces
Ak x  k2


k

eik 1 v1

2 v 2

3
2

v3




k

n
2

vn

Si existe un n
umero racional p  t{s tal que  2
entonces hay t subsucesiones de
p
(
k
A x que convergen a los subespacios generados por los vectores
e
En el ejemplo de arriba 1

2ksi
t

1 v1

ie

2i
4

2 v 2 ,

 1, . . . , t.

p1  iq, de modo que  24 y t  4.

Hay otros casos en los que no cumpliendose la condicion (10.1) todava se puede
asegurar la convergencia. Recordemos que A es diagonalizable y supongamos que 1
es un valor propio semisimple pero 1  2      r |r 1 |    con r n
o 1      n con |n | 0 (el caso A diagonalizable y i  0 para i  1, . . . , n
implica que A  0). En estas condiciones

r

Ak x  1

i 1

i vi

i r 1


k

i
1

vi

siendo x1  1 v1    r vr la proyeccion de x sobre el subespacio v1 , . . . .vr a


lo largo de vr 1 , . . . , vn . Como el valor propio 1 es semisimple de multiplicidad
r, resulta que v1 , . . . .vr  Kerp1 In  Aq. Por lo tanto, si la proyeccion de x
sobre Kerp1 In  Aq a lo largo de vr 1 , . . . , vn no es cero, para k  0, 1, 2, . . .
1
existen escalares k  k (notese que 1  0 porque o bien |1 |    |n | 0
1

r
     n con |n| 0) tales que k Ak x ivi. Es decir, Ak x
i1
r
r
v . Pero
v P Kerp I  Aq, de modo que este es un vector propio de

o 1

i 1

i i

i i

1 n

i 1

A asociado al valor propio 1 .


Un u
ltimo aspecto a considerar es el de la velocidad de convergencia cuando
esta se da. Tal y como comentamos antes de la demostracion del Teorema 10.7, la
segunda parte de este nos indica que cuando se dan las condiciones de convergencia,


10.2. EL METODO
DE LAS POTENCIAS

229

la velocidad a la que los subespacios Aj x0 convergen al subespacio propio


correspondiente al valor propio de mayor modulo es aproximadamente la misma
 2 j
que la velocidad de convergencia de la sucesion   . Si el cociente |2 |{|1 | es
1
proximo a 1 debemos esperar una convergencia lenta y cuanto mas peque
no sea esta
razon, la convergencia sera mas rapida. En cualquier caso se trata de una razon de
convergencia lineal porque depende del cociente |2 |{|1 | y no de su cuadrado, o su
cubo, etc.
Cuando se pretende calcular un u
nico valor y vector propio, el metodo de las
potencia puede ser un primer algoritmo para conseguir en unas pocas iteraciones un
vector y un valor propio aproximados que puedan servir como valores iniciales para
otros metodos que convergen mas rapidamente.

10.2.4.

Criterios de terminaci
on del algoritmo

Recordemos que al escribir el algoritmo fuimos muy imprecisos sobre cuando


debera terminar. Decamos que se ejecutara un bucle para calcular los sucesivos
vectores unitarios propios aproximados y los correspondientes valores propios aproximados hasta la convergencia(cuando la haya). Ahora vamos a ser mas precisos.
Un posible criterio de finalizacion del algoritmo podra ser cuando la distancia
entre dos subespacios proximos propios aproximados sea menor que una cantidad
previamente especificada. Para ello bastara almacenar los vectores propios aproximados calculados en dos pasos sucesivos, digamos qj y qj 1 , y calcular la distancia entre ellos utilizando la metrica gap. Esto es sencillo porque sabemos que si
Xj  qj y Xj 1  qj 1 entonces
pXj , Xj

q  }PX  PX }2
j

j 1

siendo PX la proyeccion ortogonal sobre X . Ahora bien como qj y qj


PXj

 qj qj

y PX j

 qj

son unitarios

1 qj 1 .

As pues, solo habra que modificar el algoritmo para que se ejecutara el calculo de qj
hasta que }qj qj  qj 1 qj 1 }2 fuera menor que una cantidad previamente especificada.
Nosotros, sin embargo, utilizaremos otro criterio para terminar el algoritmo de
las potencias y todos los que se derivan de el. Este criterio tiene su fundamento en
el siguiente resultado:

230

El problema de valores propios

Proposici
on 10.8 Sea A P Fnn , x P Cn un vector unitario y P C. Sea r
Ax  x. Existe una matriz E P Cnn tal que k E kF  }r}2 y pA E qx  x.

Podemos interpretar este resultado como una especie de estabilidad hacia atras.
En efecto, esta proposicion dice que los valores-vectores propios aproximados de A
son valores-vectores propios exactos de matrices proximas a A. La demostracion se
deja como ejercicio.

Debe observarse que el error relativo de tomar A

E por A es

}E }F  }r}2
}A}F }A}F
El calculo del residuo r es muy facil en el proceso que define el algoritmo de las
}F
potencias y consideraremos obtenida la convergencia cuando el error relativo }}E
A}F
sea menor que una cantidad predeterminada. Es decir, cuando hayamos calculado
r tan proxima a A como necesitemos.
un valor-vector propio exactos de una matriz A
Dado que puede no haber convergencia, habra que tomar las precauciones necesarias por si el error relativo nunca alcanza a ser menor que la cantidad prefijada.
En conclusion, fijaremos un  0 y un n
umero maximo de iteraciones y el
algoritmo terminara cuando el error relativo sea menor que  o cuando se sobrepase
el n
umero de iteraciones maximo.
Con todo esto en mente, la version final del algoritmo de las potencias es la
siguiente:


INVERSA
10.3. EL METODO
DE ITERACION

231

M
etodo de las Potencias (Versi
on Final)
Datos: A P Fnn , x0 P Fn ,  0 e itermax
Objetivo: calcular un par p, xq valor-vector propio aproximado de A.
El algoritmo devolvera, ademas, el n
umero de iteraciones iter realizado
as como el residuo en la u
ltima iteracion.
x

x0
}x0}2
res=1
iter=0
normA=}A}F
while res  normA e iter itermax
y  Ax
(siguiente potencia)
 x y
(valor propio aproximado)
res=}y  x}2
(residuo)
y
(normalizacion)
x
}y}2
iter=iter+1
end while

10.3.

El m
etodo de iteraci
on inversa

El objetivo del metodo de iteracion inversa es mejorar la velocidad de convergencia del metodo de las potencias y posibilitar la obtencion de un valor-vector
propio que no se tenga que corresponder necesariamente con el valor propio dominante. Se parte de la siguiente observacion: si 0 es un valor propio de A P Fnn y
ppq  pd d pd1 d1    p1 p0 es un polinomio cualquiera entonces pp0 q
es un valor propio de la matriz
ppAq  pd Ad

pd1 Ad1



p1 A

p0 In .

En efecto, si v es un vector propio de A para 0 entonces Av


Por lo tanto
ppAqv

 pd A d v
 pdd0 v
 pp0qv.

pd1 Ad1 v
pd1 d01 v




p1 Av
p1 0 v

 0v y Aj v  j0v.

p0 v 
p0 v 

232

El problema de valores propios

Es decir, v es tambien vector propio de ppAq para pp0 q. Se prueba de forma similar
que si ppAq es invertible entonces pp0 q1 es valor propio de ppAq1 y v es vector
propio de esta matriz para dicho valor propio:

 pp0qv v  pp0qppAq1v pp0q1v  ppAq1v.


En particular si R pAq entonces In  A es invertible y 0 P pAq si y solo si
1
P ppIn  Aq1q. Por lo tanto, si 1,. . . ,n son los valores propios de A
 0
entonces los valores propios de pIn  Aq1 son
ppAqv

 1

, . . . n

 1

El metodo de iteracion inversa es el metodo de las potencias aplicado a la matriz

pIn  Aq1 para algun numero . A este numero se le suele llamar desplazamiento

o precondicionamiento y se suele usar para aumentar la velocidad de convergencia


del metodo de las potencias y para obtener un valor-propio particular de la matriz A
cuando se tiene un cierto conocimiento de ellos. Veamos como se hace. Supongamos
r0  i de A (por
que por el medio que sea conocemos un valor propio aproximado
ejemplo con una o dos cifras decimales de precision) pero i no tiene por que ser el
r0 de modo que  i y es muy
valor propio dominante de A. Tomamos 
diferente de los demas valores propios de A. Esto significa que





1
1
|1|     j    
i
j

( significa mucho mayor) para todo valor propio j de A distinto de i . Si


aplicamos el metodo de las potencias a pIn  Aq1 tenemos que si |2 | |3 |
 k
   |n| entonces la velocidad de convergencia sera del orden de  2  , tanto
1
mas grande cuanto mas proximo este a i . En estas condiciones el metodo de
las potencias aplicado directamente a pIn  Aq1 proporcionara, supuesto que
converja, un valor-vector propio de esta matriz; digamos, 1 y v1 . Pero, tal y como
hemos visto mas arriba v1 sera tambien un vector propio de A para i y podemos
usar este vector propio para calcular directamente el valor propio de A: i  v1 Av1 .
En otras palabras, modificaremos el metodo de las potencias para, haciendo uso de
los vectores propios unitarios aproximados qj , obtener valores propios aproximados
de A en la forma qj Aqj .


INVERSA
10.3. EL METODO
DE ITERACION

233

Hay otra modificacion en la implementacion del metodo de iteracion inversa


respecto del de las potencias. El primer paso en el algoritmo del metodo de las
potencias consiste en calcular qj 1  Aqj . Si lo aplicamos directamente a la matriz
pIn  Aq1 habra que hacer qj 1  pIn  Aq1qj . En vez de calcular la inversa,
lo que se hace es resolver el sistema

pIn  Aqqj 1  qj .
Ambas operaciones son teoricamente equivalentes pero la segunda requiere menos
operaciones. De hecho, genericamente In  A admite una descomposicion LU que
conviene calcular de una vez por todas y usar solo sustituscion hacia delante y hacia
atras para resolver el sistema pIn  Aqqj 1  qj . En nuestra implementacion del
algoritmo, y puesto que practicaremos con MATLAB, dejaremos que sea este quien
se encargue de resolver este sistema. Para ello usaremos la orden qj 1  pIn  Aqzqj .
Se podra argumentar que en cualquier caso la mariz In  A esta tanto mas
cerca de ser singular cuanto mas cerca de un valor propio exacto de A, y que esto
hace que los errores de redondeo se magnifiquen tanto si se calcula la inversa como
si se resuelve el sistema. En efecto es as y a pesar de todo, el algoritmo converge.
Por que?
La respuesta a esta cuestion esta en el analisis del error en el algoritmo que se
emplee para resolver los sistemas linales. Si este algoritmo es estable hacia atras
(como por ejemplo lo es para casi todas las matrices el de la eliminacion gaussiana),
la solucion calculada para el sistema (pIn  Aqy  x es la solucion exacta de alg
un
sistema pIn  A E qy  x conde el error relativo }E }F {}A}F es del orden del epsilon
de la maquina. Si el valor-vector propio (exacto) que estamos buscando esta bien
condicionado, sera muy parecido al de pIn  A E q y la sucesion de valores-vectors
propios calculados seguira convergiendo hacia una valor-vector propio de In  A.
Dicho de otra manera mas intuitiva, la mayor parte de las veces la propagacion
del error juega a nuestro favor porque cuando esta muy cerca de un valor propio
de A, el vector y se calcula, en efecto, de manera inexacta pero, tal y como vimos
en la demostracion del Teorema 10.7,

pIn  Aqk q0  p 1 qk v1 p 2 qk v2    p n qk vn.


1
2
n
Esto significa que cuanto mas proximo este a 1 mayor sera la componente de
pIn Aqk q0 en la direccion de v1, de manera que los errores en el redondeo redundan

234

El problema de valores propios

en una potenciacion de la direccion en la que queremos que converjan los subespacios


propios aproximados. De hecho, si y 1 son casi iguales, una sola iteracion nos
proporciona un vector que es ya casi un vector propio porque la proyeccion espectral
de este sobre el subespacio v2 , . . . , vn es insignificante en comparacion con la
proyeccion espectral sobre v1 .
En resumen, el algoritmo para el metodo de iteracion simultanea es el siguiente:

M
etodo de Iteraci
on Inversa (Primera Versi
on)
Datos: A P Fnn , x0 P Fn , ,  0 e itermax
Objetivo: calcular un par p, xq valor-vector propio aproximado de A.
x

x0
}x0}2
res=1
iter=0
normA=}A}F
while res  normA e iter itermax
y  pIn  Aqzx ( pA  In qy  x)
y
x
}y }2 (vector propio unitario aproximado)
 x Ax
(valor propio aproximado)
res=}x  Ax}2
(nuevo residuo)
iter=iter+1
end while

Hay algunas mejoras que se pueden introducir en el algoritmo a fin optimizar


el n
umero de operaciones evitando sucesivas multiplicaciones de A por x, que es
la parte mas costosa. Concretamente, en la notacion del algoritmo representamos
con el mismo smbolo x dos n
umeros diferentes en las dos primeras lneas del bucle
while. Vamos a mantener el smbolo x para el primero; i.e.
y

p su actualizacion:
y con x

 pIn  Aq1x
p
x

y
}y}2 .


INVERSA
10.3. EL METODO
DE ITERACION

De esta forma

pIn  Aqxp  pIn}y} Aqy  }yx}


2

Pongamos w

235

 }yx}

. Entonces

pAxp   xppIn  Aqxp  


x
con

ppIn  Aqxp  xpw.


x

Finalmente el residuo es
r

 xp  Axp  pIn  Aqxp  xp  w  xp.

Con todo esto en mente el algoritmo de iteracion inversa queda como sigue:

M
etodo de Iteraci
on Inversa (Versi
on Final)
nn
n
Datos: A P F , x0 P F , ,  0 e itermax
Objetivo: calcular un par p, xq valor-vector propio aproximado de A.
x

x0
}x0}2
res=1
iter=0
normA=}A}F
while res  normA e iter
y  pIn  Aqzx
x
w
}y}2
y
x
}y}2
 x w

res=}w  x}2
iter=iter+1
end while

itermax

236

10.4.

El problema de valores propios

El m
etodo del cociente de Rayleigh

El metodo del cociente de Rayleigh es exactamente igual que el de iteracion


inversa pero con un desplazamiento que vara en cada iteracion. La cuestion es
como elegir el desplazamiento para hacer que el residuo sea lo mas peque
no posible
en cada iteracion? La respuesta es sencilla porque se trata de calcular la solucion de
un problema de mnimos cuadrados lineal. Recordemos que el residuo es
r

 }x  Ax}

donde y x son el valor y vector unitario propios aproximados que se calculan en


cada iteracion. Puesto que es un valor propio aproximado (que esta variando en
cada iteracion) bien podemos hacer uso de el en cada iteracion. La pregunta es cual
es el valor de que hace mnimo el residuo? Nos preguntamos por el problema de
hallar
mn }x  Ax}2

Debe observarse que en este problema la matriz de coeficientes es x (n  1) y el


vector de terminos independientes es Ax (tambien n  1). Recordemos que una
forma resolver el problema de mnimos cuadrados mnyPFn }By  c}2 con B P Fmn
y c P Fm1 es resolviendo el sistema de ecuaciones normales: B  By0  B  c. En
nuestro caso el sistema de ecuaciones normales es
x x0
Por lo tanto
0

 xAx


 xxAx
x

es el n
umero que minimiza el residuo.

Definici
on 10.9 Para A
n
umero

P Fnn se llama cociente de Rayleigh de A en x P Fn al


Rpxq 

x Ax
x x

As pues, lo que hemos demostrado mas arriba es


10.4. EL METODO
DEL COCIENTE DE RAYLEIGH

237

Teorema 10.10 Si A P Fnn y x P Fn entonces el cociente de Rayleigh de A en x


es el n
umero donde se alcanza el mnimo del residuo }x  Ax}2 . Es decir
mn }x  Ax}2

 }Rpxqx  Ax}2.

En la practica, el algoritmo del cociente de Rayleigh consiste en sustituir


por en el algoritmo de iteracion inversa iniciando el primer desplazamiento con el
cociente de Rayleigh de la matriz dada en el vector inicial elegido. Notese que puesto
que los vectores propios aproximados son unitarios, el denominador en el cociente
de Rayleigh es siempre 1.

M
etodo del cociente de Rayleigh
Datos: A P Fnn , x0 P Fn ,  0 e itermax
Objetivo: calcular un par p, xq valor-vector propio aproximado de A.
x

x0
}x0}2
 x Ax
res=1
iter=0
normA=}A}F
while res  normA e iter
y  pIn  Aqzx
x
w
}y}2
y
x
}y}2
 x w

res=}w  x}2
iter=iter+1
end while

itermax

Aunque en esta forma de implementar el algoritmo no lo parezca, resulta que


 Rpxq en cada iteracion. Para verlo basta deshacer los cambios que hicimos en el
algoritmo de iteracion inversa. En efecto, al igual que en aquel caso denotamos con

238

El problema de valores propios

x
p y p los valores actualizados y con x y los que entran en la iteracion. Debemos
p  Rpxpq  xpAxp. Para ello, en la iteracion p   . Entonces
ver que

p 

y x

p w   }y} }y}
x
2
2

y y y  Ay

 
 xp Axp.
y y
yy



y  pIn  Aqy
yy

En los ejercicios veremos que, en general, la convergencia del metodo del cociente
de Rayleigh sigue siendo lineal, pero si la matriz es simetrica es, al menos, cuadratica.
Ello es debido al siguiente resultado, que se conoce con el nombre de propiedad
estacionaria de los vectores propios de las matrices simetricas.
Teorema 10.11 Sea A P Rnn una matriz simetrica. Entonces p0 , x0 q es un valorvector propio de A si y solo si x0 es un punto estacionario o crtico de Rpxq y
Rpx0 q  0 . Esto es,
Rpx0 q  0 y Rpx0 q  0
donde Rpxq es el gradiente de Rpxq.

Demostraci
on: Debemos demostrar que p0 , x0 q es un valor-vector propio de
xT Ax
B
R
p
x0 q  0, i  1, . . . , n y Rpx0 q  0 . En el caso real Rpxq  T .
A si y solo si
B xi
x x
Bp
xT Axq
T
Calculamos primero
Bxi y luego haremos lo mismo con x x. En primer lugar
x Ax 
T

ajk xj xk ,

j,k 1

as que

n
n

BpxT Axq 
aik xk
aji xj .
B xi
j

1
k1
Como A es simetrica, aji  aij y entonces
n
BpxT Axq  2
aij xj  2pAxqi
B xi
j 1


10.4. EL METODO
DEL COCIENTE DE RAYLEIGH

239

siendo pAxqi la i-esima componente del vector Ax.


De la misma forma xT x 

n


x2j y

j 1

BpxT xq  2x .
i
B xi
Por lo tanto

BR  2pxT xqpAxqi  2pxT Axqxi  2 pAxq  xT Ax x



i
i
B xi
pxT xq2
xT x
xT x
 xT2x ppAxqi  Rpxqxiq  xT2x pAx  Rpxqxqi

donde pAx  Rpxqxqi q es la i-esima componente del vector Ax  Rpxqx. Ahora es


claro que Rpx0 q  0 y Rpx0 q  0 si y solo si Ax0  0 x0  0; i.e., p0 , x0 q es un
valor-vector propio de A.
Tal y como habamos anunciado una consecuencia interesante de este Teorema
es

Corolario 10.12 Si para una matriz simetrica A y un vector q0 el algoritmo del


cociente de Rayleigh converge, lo hace, a partir de un cierto momento, cuadraticamente.

Demostraci
on: Ya sabemos que si el algoritmo del cociente de Rayleigh converge, lo hace a un valor-vector unitario propios, p0 , x0 q, de A. Es decir, el algoritmo
produce una secuencia pk , k qk q de valores-vectores propios aproximados de A que
converge a p0 , x0 q. Pero k  Rpk qk q y desarrolando Rpxq en serie de Taylor
alrededor de x0 tenemos que
Rpxq  Rpx0 q  Rpx0 qpx  x0 q

Op}x  x0 }2 q  Op}x  x0 }2 q

por ser x0 un vector propio de A. Esto implica que para k suficientemente grande
Rpk qk q  Rpx0 q  Op}qk  x0 }2 q. Como qk converge a x0 linealmente
(al menos), el residuo converge a cero, a partir de ese k suficientemente grande,
cuadraticamente (al menos).

240

El problema de valores propios

10.5.

El algoritmo QR con desplazamiento explcito

Todos los algoritmos tienen como objetivo u


ltimo reducir una matriz dada A P

F  , a una forma de Schur (real o compleja) para extraer de ah la informacion


n n

correspondiente a los valores y vectores propios. La finalidad de los que hemos visto
hasta ahora era obtener un vector propio unitario (siempre que se den las condiciones
apropiadas) y a partir de ah, usando el cociente de Rayleigh, el correspondiente valor
propio. Este es el primer paso para obtener la forma de Schur compleja porque, tal
y como mostramos en la demostracion del Teorema de Schur, una vez
 obtenidos,

r , para
digamos p1 , q1 q, se puede construir una matriz unitaria, digamos Q  q Q
la que


1 b

Q AQ 
.
0 B
A continuacion se aplica el algoritmo correspondiente a B y as sucesivamente. Este
proceso de ir aplicando el algoritmo a matrices cada vez mas peque
nas se llama deflaci
on. Si se dan las condiciones apropiadas (valores propios con modulos diferentes
y proyeccion espectral no nula sobre los correspondientes subespacios propios) el resultado de este proceso de deflacion es una matriz triangular superior unitariamente
semejante a A; i.e., una forma de Schur de A.
El algoritmo QR comparte el mismo objetivo: reducir A a una forma de Schur.
La forma en que este proceso se lleva a cabo, sin embargo, parece no tener nada que
ver con los algoritmos que hemos visto hasta ahora. Esta es la primera version del
algoritmo QR con desplazamiento explcito:

Dada A P Fnn
A0  A
for k  0, 1, 2, . . . hasta convergencia
Eljase un desplazamiento k
Calc
ulese la descomposicion QR de Ak  k In : Ak  k In
Reviertanse los factortes: Ak 1  Rk Qk k In
end for

 Qk Rk

En resumen, el algoritmo construye una sucesion de matrices tAk u a partir de

10.5. EL ALGORITMO QR CON DESPLAZAMIENTO EXPLICITO

241

una dada A  A0 calculando la factorizacion QR de Ak  k In (para un k que


se elige expltamente en cada paso) y definiendo la siguiente matriz de la sucesion,
Ak 1 , multiplicando los factores Q y R al reves y a
nadiendo el desplazamiento. Por
que hacer tal cosa produce algo significativo en relacion con el calculo de los valores
y vectores propios de A? La historia empieza con John Francis y Eva Kublanovskaya
que lo desarrollaron independientemente hacia 1959 en Inglaterra y la extinta Union
Sovietica. Se tardo muchos a
nos, sin embargo, en comprenderlo bien. La razon de por
que este algoritmo calcula valores y vectores propios de A es, esencialmente, porque
es una forma elegante de implementar el algoritmo del cociente de Rayleigh y, cuando
se toma desplazamiento k  0 (algoritmo QR a secas, sin desplazamiento), entonces
calcula las mismas matrices que el algoritmo de iteracion simultanea (u ortogonal)
que es una generalizacion del algoritmo de las potencias. En este curso solo veremos
la relacion entre el algoritmo QR con desplazamiento explcito y el del cociente de
Rayleigh. Pero antes de nada es importante observar que todas las matrices en la
sucesion tAk u que construye el algoritmo son unitariamente semejantes.
Lema 10.13 Las matrices Ak que construye el algoritmo QR con desplazamiento
explcito son todas unitariamente semejantes.
Demostraci
on: Para un k  0, 1, 2, . . . arbitario, supongamos dada Ak y veamos
que Ak 1 es unitariamente semejante a Ak . Esto demuestra que todas las matrices
de la sucesion son unitariamente semejantes. Sea Ak  k In  Qk Rk la factorizacion
QR de Ak  k In .
Ak




por lo que Ak

Rk Qk k In  Qk pAk  k In qQk k In


Qk Ak Qk  k Qk Qk k In  Qk Ak Qk ,
1

pRk  Qk pAk  k Inq

y Ak son unitariamente semejantes.

 1, 2, . . .
Ak  Qk1 Ak1 Qk1  Qk1 Qk2 Ak2 Qk2 Qk1      Qk1    Q0 A0 Q0    Qk1
Este Lema tiene una consecuencia importante: Para cada k

Es decir, el algoritmo QR no solo proporciona una sucesion de matrices unitariamente semejantes a A sino que nos da tambien la matriz unitaria que conecta A
con cada una de las matrices de la sucesion: es el producto de los factores Q en la
factorizacion QR de Ak  k In . Si para alg
un valor de k la matriz Ak es (casi) una
forma de Schur de A tendremos ademas la matriz unitaria que convierte A en dicha
(casi) forma de Schur.

242

10.5.1.

El problema de valores propios

El algoritmo QR y el cociente de Rayleigh

Para ver que el algoritmo QR converge en las mismas condiciones que el algoritmo del cociente de Rayleigh vamos a ver que ambos son esencialmente lo mismo.
En realidad el algoritmo QR aplica el metodo del cociente de Rayleigh para calcular
vectores propios por la izquierda en vez de hacerlo para calcular vectores propios
por la derecha. Como sera el metodo del cociente de Rayleigh en este caso? Igual
que el ya visto pero operando con vectores filas: Dada A, un vector fila inicial x0 el
algoritmo del cociente de Rayleigh consta de 4 pasos para j  1, 2, . . .:
1. Elegir un desplazamiento j , que es el cociente de Rayleigh de la iteracion
anterior,
2. Resolver el sistema yj pA  j In q  xj 1 ,
3. Normalizar xj

 }yyj}

(vector propio aproximado por la izquierda), y

j 2

4. Calcular el nuevo cociente de Rayleigh j


ximado)

 xj Axj (nuevo valor propio apro-

Cuando el algoritmo converge lo hace a un valor-vector propio unitario por la iz-


p q
quierda p, q q de A. Con este q podemos formar una matriz unitaria Q  Q
de forma que (vease la Seccion ?? del Captulo ?? sobre vectores propios por la
izquierda)
 
B b

Q AQ 
0
Ahora procederamos por deflacion aplicando el algoritmo por filas a B y as sucesivamente.
Supongamos ahora que hacemos una sola iteracion del algoritmo del cociente de
Rayleigh por filas con vector inicial x0  en . El desplazamiento inicial sera
en Aen

 .

Sea q el vector unitario que obtenemos al aplicar esta iteracion (quitamos los subndices porque solo hablamos de una iteracion y por comodidad):
q


In q1
 }eenppAAI
q1}
n

(10.3)
2

10.5. EL ALGORITMO QR CON DESPLAZAMIENTO EXPLICITO

243

Analicemos una iteracion del algoritmo QR con el mismo desplazamiento


en Aen . Calculamos la descomposicion QR de A  In :
A  In
Entonces
y

Q

 QR.

 RpA  Inq1

en Q

 enRpA  Inq1  rnnenpA  Inq1.


ltima fila de Q . Denotemosla por qr . Este vector es unitario
Ahora bien, en Q es la u
y acabamos de ver que

qr

 rnnenpA  Inq1.

De aqu deducimos (recordamos que los elementos diagonales de R son n


umeros
reales positivos)
1
rnn  
}enpA  Inq1}2 ,
y en consecuencia, comparando con (10.3)
q  q.
En palabras: la u
ltima fila de la matriz Q en la factorizacion QR de A  In con
 en Aen coincide con el vector propio por la izquierda unitario aproximado, q, de
A que calcula el metodo del cociente de Rayleigh cuando se emplea en como vector
inicial en la primera iteracion . Es decir,

r q
Q Q

(10.4)

r
El valor propio aproximado que nos proporciona el cociente de Rayleigh sera
q  Aq y el residuo (recordemos que estamos calculando vectores propios por la izquierrq. Estos calculos concluyen la iteracion del metodo del cociente
da) r  q  A 
de Rayleigh.
Respecto al algoritmo QR con desplazamiento, la segunda y u
ltima etapa consiste en calcular la siguiente matriz en la sucesion revirtiendo los factores Q y R de
la factorizacion QR de A y sumando el desplazamiento:

p  RQ
A

In

 QpA  InqQ

In

 QAQ.

244

El problema de valores propios

Escribiendo Q como en (10.4)

p
A

 QrAQr QrAq
r q   r 
Q
q AQ q Aq

 r  
Q
q

r y qA  r rq. Por ello, teniendo en cuenta que q es


Ahora bien, q  Aq 
r
ortogonal a todas las columnas de Q,
r  rQr
q  AQ

rqQr  rQr

(10.5)
}qAQr}22  }rQr}22  rQrQrr.
r}2  }r}2. Para ello debemos recordar
Nuestro objetivo es demostrar que }q  AQ
r es la solucion del problema de
el Teorema 10.10. De acuerdo con este Teorema,
mnimos cuadrados consistente en calcular el n
umero complejo, , que hace mnima


la distancia q  q A. Es decir,

}r}2  }rq  qA}2  m


n }q   q  A}2 .
P C

Recordemos tambien (Teorema ?? del Captulo 7) que para el problema de mnimos


cuadrados mnn }By  c}2 , y0 es una solucion si y solo si By  c P pIm B qK . En nuestro

y C

rq  qA P pIm qqK o equivalentemente qr  0. Es


caso, debe suceder que r 
r Con esto en mente, podemos demostrar que }qAQr}2  }r}2. En
decir, r P Im Q.
efecto, por (10.5)
}qAQr}22  rQrQrr,
rQr es la proyeccion ortogonal sobre Im Qr y r P Im Q;
r por lo tanto QrQrr
pero Q
r}22  rr  }r}22 tal y como deseabamos demostrar. En definitiva
y }q  AQ


r QrAq
p  QrAQ
A
r r
q AQ

r

r}2  }r}2 siendo r  qA  rq es el residuo del algoritmo del cociente
y }q  AQ
de Rayleigh aplicado por filas a la matriz A con vector inicial en . En conclusion
Teorema 10.14 Para una matriz A P Fnn el algoritmo QR con desplazamiento
explto k  en Ak en produce
sucesion de matrices
tAk uk0 tales que si pa
 pkuna
p
kq
q
p
kq
p
kq
ra k  0, 1, 2, . . ., an  an1    ann1 ann es la u
ltima fila de Ak , Ak 

10.5. EL ALGORITMO QR CON DESPLAZAMIENTO EXPLICITO

pk1q

245

pkq pk1q

Qk1 Ak1 Qk1 y qn


es la u
ltima fila de Qk1 entonces pann , qn
q es el valorvector propio unitario por la izquierda aproximados que produce el algoritmo del
cociente
Rayleigh aplicado
a Ak1 con vector inicial en . Ademas la norma del
 de

kq
vector apn1
   apnnkq1 es igual a la norma del residuo producido por el algoritmo
del cociente de Rayleigh.

Este resultado nos indica que si el algoritmo del cociente de Rayleigh converge
para la matriz A con vector inicial en entonces usando como desplazamiento explcito
el elemento en la posicion pn, nq de la matriz obtenida en cada iteracion, el algoritmo
QR con estos desplazamientos produce una sucesion de matrices que converge a una
matriz con la forma

B c
0

siendo un valor propio de A. Ademas , el vector formado por los elementos diagonales de la u
ltima fila de la matriz producida en cada iteracion tiene la misma
norma que el residuo producido por el algoritmo del cociente de Rayleigh. Podemos
usar como criterio para terminar el proceso iterativo que la norma de este vector
sea menor que una cantidad previamente especificada. Una vez obtenido un vector
suficientemente peque
no sustituiramos los elementos no diagonales de la u
ltima fila
por cero y procederamos a deflactar la matriz hasta obtener, si hay convergencia,
una matriz en forma de Schur. El proceso, ademas, produce las matrices unitarias
de paso.
El algoritmo en cada etapa sera el siguiente:

246

El problema de valores propios

Una etapa del algoritmo QR


Datos: A P Fnn ,  0 e itermax
Objetivo: Obtener una matriz T , semejante a A, cuyos elementos en la u
ltima
fila sean todos cero excepto el de la diagonal, y la matriz unitaria de semejanza
Q.
normA=}A}F
T  A, Q  In
d  T pn, 1 : n  1q, iter=0
while }d}2  normA e iter itermax
s  T pn, nq
(desplazamiento)
T  sIn  Q1 R1
(factorizacion QR de T  sIn )
T  R1 Q1 sIn
(revertimos los factores)
d  T pn, 1 : n  1q (nuevos elementos no diagonales)
Q  QQ1
(actualizamos la matriz unitaria de paso)
iter=iter+1
end while
if iteritermax
T pn, 1 : n  1q  0
end if

10.5.2.

(para que quede bonito)

An
alisis de la velocidad de convergencia del algoritmo QR

Para analizar la velocidad de convergencia del algoritmo QR vamos a determinar


pk 1q
pk q
una cota de }an }2 en terminos de }an }2 . Para no arrastrar los subndices todo
p  Ak 1. La notacion sera similar al referirnos
el rato, vamos a poner A  Ak y A
a los diversos elementos y matrices relacionados con Ak y Ak 1 . As, pondremos
p  In  RQ.
A  In  QR y A
Consideremos A, Q y R particionadas como sigue:
A  In
Entonces

B  In1
h
g


 
 
P f S r
 e 0  QR.

p
ph  S r   P f 
B  In1
p
A  In 
p   0 e .
gp

(10.6)

(10.7)

10.5. EL ALGORITMO QR CON DESPLAZAMIENTO EXPLICITO

247

El objetivo es acotar gp en funcion de g.


En primer lugar, como Q es unitaria, la norma de cada una de sus filas y columnas es 1. En particular, }e}22 | |2  }f }22 | |2 , de donde concluimos que

}e}2  }f }2.
Por otra parte, en (10.6)

g

 eS.
Suponiendo que S es no singular y  }S 1 }2 , tenemos que
}e}2 }g}2.
Ahora como Q es unitaria, despejando R en (10.6) obtenemos

S r
0

   
n1
 Pf  e B gI


De aqu sacamos que  f  h


p  q. Como | | 1, }e}2
y, por la desigualdad de Cauchy-Schwarz, |f  h| }f }2 }h}2 :

 }f }2, }e}2 }g}2

|| }g}2}h}2 |  |.
Finalmente de (10.7) obtenemos gp  e . Poniendo todo junto y teniendo en cuenta,
otra vez, que }e}2 }g }2 conclumos
}gp}2 2}h}2}g}22 |  |}g}2,
o, con los subndices restaurados,

}gk 1}2 k2}hk }2}gk }22

k |k  k |}gk }2 .

Notemos finalmente que para todo k  1, 2, . . . }hk }2 }A}2 . En efecto, todas las
matrices Ak que se van construyendo mediante el algoritmo QR son unitariamente
semejantes (Ak 1  Qk Ak Qk ), de modo que }Ak }2  }A}2 . Pero

}hk }22 }hk }22 ||2  }Ak en}22 }Ak }22}en}22  }Ak }22.
En conclusion, existe un n
umero real 0 tal que }hk }2 para todo k  1, 2, . . ..

Entonces

}gk 1}2 k2}gk }22

k |k  k |}gk }2 .

(10.8)

248

El problema de valores propios

Lo primero que sugiere esta expresion es, tal y como ya hemos deducido al
comparar los algoritmos QR y cociente de Rayleigh, que el desplazamiento apropiado
en cada iteracion es k  k porque esta eleccion proporciona una cota de gk 1 en
terminos del cuadrado de }gk }2 . En tal caso, la cota queda

}gk 1}2 k2}gk }22


Vamos a suponer que existe un n
umero real 0 tal que para todo k  1, 2, . . .
}Sk1}2 .
Se puede demostrar que, de hecho, esta propiedad es verdadera para valores de gk
suficientemente peque
nos.
En estas condiciones

}gk 1}2 2}gk }22.

As pues, cuando el algoritmo QR converge a un valor propio simple y }Sk1 }2


para todo k, la norma de gk 1 esta acotada por una cantidad que es proporcional
al cuadrado de la norma de gk . Se dice que la sucesion t}gk }2 u converge cuadraticamente, al menos, a cero.
Tal y como ya hemos dicho la condicion }Sk1 }2 se cumple para valores
de gk suficientemente peque
nos, as que no podemos decir que la convergencia es
siempre cuadratica. Al principio puede no serlo, pero llegara un momento en el que
lo sera con seguridad. Se dice que la convergencia del algoritmo QR es localmente
cuadr
atica.
La convergencia cuadratica es muy conveniente porque, una vez que empieza, es
muy rapida. Para hacernos una idea, si 2  1 y }g0 }2  101 , entonces

}g1}2 102
}g2}2 104
}g3}2 108
}g4}2 1016
Cuatro iteraciones bastan para reducir el error por debajo de la unidad de redondeo
para la doble precision.
Si A fuera hermtica, entonces tambien lo seran cada una de las Ak (Recordemos
que Ak  Qk1 Ak1 Qk1 ). En particular tendramos que hk  gk , de modo que

10.6. CONSIDERACIONES FINALES

249

podemos reemplazar por }gk }2 y la acotacion sera

}gk 1}2 2}gk }32.


Este tipo de convergencia se llama c
ubica.
Observaciones 10.15 El analisis de la convergencia que hemos hecho es local; esto
es, se supone que gk es suficientemente peque
no (o, equivalentemente, k suficientemente proximo a un valor propio). No hay teoremas para la convergencia global
del algoritmo QR aplicables a cualquier matriz. El comportamiento tpico del algoritmo parece ser el siguiente: se consumen unas cuantas iteraciones en las que la
convergencia puede ser muy lenta o parecer, incluso, que no hay convergencia y en
un momento dado emp`eza la convergencia de manera muy rapida. Para el calculo
de los siguientes valores propios se necesitan cada vez menos iteraciones. La razon
de esta u
ltima caracterstica del comportamiento del algoritmo QR se puede explicar, al menos parcialmente, por la relacion entre este algoritmo y el del metodo de
iteracion ortogonal o simultanea que no abordaremos en este curso.

10.6.

Consideraciones finales

Hay muchas mas cosas que decir sobre el algoritmo QR. En particular, su relacion
con el algoritmo de iteracion simultanea, que es una generalizacion del metodo de
las potencias, es muy importante porque sirve para establecer condiciones suficientes
de convergencia. Otro aspecto importante es la relacion entre el algoritmo QR y la
reduccion a forma Hessenberg y, en general, la implementacion practica del algoritmo
QR (algoritmo QR con desplazamiento implcito). Tambien es importante la eleccion
de los desplazamientos y la reduccion a forma de Schur real cuando la matriz es real.
Genericamente las matrices complejas tienen valores propios distintos en modulo,
pero esto no es verdad para las matrices reales en las que cuando aparecen valores
propios complejos estos vienen conjugados a pares. Es por eso que la reduccion a
forma de Schur real es tan importante para estas matrices.
De vez en cuando surgen tipos de matrices para las que el algoritmo QR con los
desplazamientos conocidos no converge. Lo habitual en tales casos es a
nadir nuevos
desplazamientos a la lista de los ya conocidos. Sin embargo, por ahora no hay un
algoritmo universal eficiente para todas las matrices.

250

El problema de valores propios

Finalmente, los algoritmos para el calculo de los valores propios no terminan


con el algoritmo QR aunque este sea el algoritmo de proposito general que mas
se utiliza. Para matrices con estructura existen algoritmos especiales. Por ejemplo,
para matrices simetricas o hermticas que son unitariamente diagonalizables ademas
del algoritmo QR existen otros que aprovechan la estructura de estas matrices. Otro
caso es el de las matrices con muchos elementos iguales a cero (sparse matrices en
ingles). Los algoritmos para el calculo de valores propios han sido y sigue siendo un
campo de mucha actividad investigadora.

Potrebbero piacerti anche