Académique Documents
Professionnel Documents
Culture Documents
10.1.
Introducci
on
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
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
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
218
Y X para
P U y P P GldpFqu
n,dpFq entonces
M
r1prpV qq tQZ : Q P V y Z P UdpFqu,
(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.
pq
n
p q es continua, Grd pF q es compacto.
Mn,d F
Ud F
220
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
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
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
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
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
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
(10.1)
224
j
}zj qj v1}2 O 2 .
1
Recuerdese que la expresion }zj qj v1 }2 O
2
1
j
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
}
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 .
1 j1
As j
2
1
(10.2)
el Teorema 10.2
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
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
1 dado que
226
1
|j | pv1
xj q
1
pv1
1 } xj } 2
xj q
}xj }2
v
1
1 }xj }2
1
xj .
1 }xj }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
228
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.
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
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
10.2. EL METODO
DE LAS POTENCIAS
229
10.2.4.
Criterios de terminaci
on del algoritmo
q }PX PX }2
j
j 1
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
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.
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 .
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
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:
1
, . . . n
1
pIn Aq1 para algun numero . A este numero se le suele llamar desplazamiento
1
1
|1| j
i
j
INVERSA
10.3. EL METODO
DE ITERACION
233
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,
234
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
p su actualizacion:
y con x
pIn Aq1x
p
x
y
}y}2 .
INVERSA
10.3. EL METODO
DE ITERACION
De esta forma
Pongamos w
235
}yx}
. Entonces
Finalmente el residuo es
r
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 m
etodo del cociente de Rayleigh
}x Ax}
xAx
xxAx
x
es el n
umero que minimiza el residuo.
Definici
on 10.9 Para A
n
umero
x Ax
x x
10.4. EL METODO
DEL COCIENTE DE RAYLEIGH
237
}Rpxqx Ax}2.
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
238
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
n
x2j y
j 1
BpxT xq 2x .
i
B xi
Por lo tanto
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
10.5.
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
241
por lo que Ak
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.
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}
j 2
.
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
243
Q
QR.
RpA Inq1
en Q
qr
rnnenpA Inq1.
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
p
A
QrAQr QrAq
r q r
Q
q AQ q Aq
r
Q
q
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,
y C
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
pk1q
245
pkq pk1q
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
10.5.2.
An
alisis de la velocidad de convergencia del algoritmo QR
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)
247
}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
|| }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,
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
k |k k |}gk }2 .
(10.8)
248
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
}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
249
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