Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El problema de valores
propios
10.1. Introducción
El objetivo de este capı́tulo es estudiar los algoritmos más importantes para calcular
los valores propios de matrices generales; es decir, matrices que no son simétricas
o hermı́ticas. Los algoritmos que veremos aquı́ son aplicables también a matrices
simétricas y hermı́ticas pero para éstas hay, además, otros algoritmos especı́ficos.
227
228 El problema de valores propios
El objetivo del método de las potencias es calcular un vector propio de una matriz
dada A P Fnˆn . Es extremadamente simple: Dado un vector no nulo x P Fn se cons-
truye la sucesión tAk xu, k “ 1, 2, . . .. Esta sucesión de vectores puede no converger
a un vector, pero frecuentemente la sucesión de los subespacios generados por sus
elementos,tă Ak x ąu, sı́. Recordemos que para cada valor propio no hay un vector
propio determinado unı́vocamente, sino todo un subespacio de ellos (exceptuando
el vector cero que no es un vector propio). Por lo tanto, lo que nos interesa es bus-
car un subespacio propio de A y después escoger un vector propio particular; por
ejemplo, un vector propio unitario. Ası́ pues, debemos estudiar la convergencia de
subespacios y no de vectores propiamente.
Para poder hablar de convergencia de subespacios, debemos dotar a Grd pFn q de una
estructura topológica. Hay dos formas clásicas de hacerlo que producen la misma
topologı́a: definir una distancia entre subespacios, llamada distancia “gap”, o identi-
ficar el conjunto de subespacios de dimensión d con un conjunto cociente de matrices
y definir en éste la topologı́a cociente. Aunque la primera forma de proceder es más
apropiada para el análisis numérico porque proporciona cotas cuantitativas en el
10.2 El método de las potencias 229
análisis del error, es también la más larga. Como, además, no haremos un análisis
del error muy riguroso, adoptaremos la segunda aproximación, que es más rápida.
Ahora, Mn,d pFq es un conjunto abierto de Fnˆd que podemos considerar dotado de
la topologı́a relativa. En este caso, U Ă Mn,d pFq es abierto en Mn,d pFq si lo es
en Fnˆd . Con esta topologı́a en Mn,d pFq podemos dotar a Grd pFn q de la topologı́a
M pFq
cociente en Gln,d
d pFq
: Si
Demostración.- Hay que probar que si U Ă Mn,d pFq es abierto entonces πpUq
es abierto en Grd pFn q. Y, de acuerdo con la definición de la topologı́a definida
230 El problema de valores propios
en Grd pFn q, esto significa que π ´1 pπpUqq es abierto en Mn,d pFq. Ahora bien, Y P
π ´1 pπpUqq si y sólo si ă Y ąP πpUq; y esto equivale a que ă Y ą“ă X ą para
alguna matriz X P U. Por lo tanto,
Para demostrar que π ´1 pπpUqq es abierto tenemos que ver que si X P π ´1 pπpUqq
existe un r ą 0 tal que si }X ´ Y } ă r entonces Y P π ´1 pπpUqq. Tomamos, como
norma, cualquier norma de matriz y sea X P π ´1 pπpUqq. 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
0ără
}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πpUqq tal y como se deseaba
demostrar.
Hay algunas propiedades topológicas importantes de Grd pFn q que utilizaremos pero
que no vamos a demostrar. Son las siguientes:
(i) Si MĂn,d pFq es el subconjunto de Mn,d pFq de matrices cuyas columnas son
ortonormales y Ud pFq representa el grupo matrices unitarias (ortogonales si
F “ R) de tamaño d ˆ d entonces Mn,d pFq{ Gld pFq y M Ăn,d pFq{Ud pFq son
homeomorfos. Se entiende que M Ăn,d pFq está dotado de la topologı́a relativa
como subconjunto de Mn,d pFq y M Ăn,d pFq{Ud pFq es el conjunto cociente de
clases de matrices con columnas ortonormales que son matriz base del mismo
espacio vectorial. Es decir, Q1 , Q2 P MĂn,d pFq están relacionadas si y sólo si
existe U P Ud pFq tal que Q2 “ Q1 U . El espacio cociente M Ăn,d pFq{Ud pFq se
supone dotado con la correspondiente topologı́a cociente.
La prueba de que Mn,d pFq{ Gld pFq y MĂn,d pFq{Ud pFq son homeomorfos se puede
obtener como consecuencia de que los factores Q y R en la factorización QR
de A (recordemos que por ser A de rango completo es única) son funciones
continuas de A.
Ăn,d pFq entonces
(ii) Si V Ă M
r´1 pr
π π pVqq “ tQZ : Q P V y Z P Ud pFqu,
(iii) Ya hemos dicho que a Grd pFn q se le puede dotar de una estructura de espacio
métrico con la llamada métrica ”gap”. Somos ahora un poco más 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 proyección ortogonal sobre Si . Esta definición es una generalización
de un hecho bastante natural para subespacios de dimensión 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 ángulo agudo que forman x, y. Es claro que en este caso ΘpS1 , S2 q “
sen θ define una métrica.
En cualquier caso, Grd pFn q con la topologı́a derivada de la métrica gap y
Ăn,d pFq{Ud pFq son homeomorfos. La
los espacios cocientes Mn,d pFq{ Gld pFq y M
demostración de este resultado tampoco es trivial.
(v) Se demuestra fácilmente que M Ăn,d pFq es cerrado y acotado; por lo tanto com-
pacto (por ser subespacio de Fnˆd y F “ R o C). Como la proyección canónica
Ăn,d pFq
r:M
π Ăn,d pFq Ñ M es continua, Grd pFn q es compacto.
Ud pFq
Teorema 10.2 Sea tSk uk“0,1,2,... Ă Grd pFn q una sucesión 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 sólo si para cada k “ 0, 1, 2, . . . existe una
matriz invertible d ˆ d Pk tal que Xk Pk Ñ X.
Teorema 10.3 Sea tSk uk“0,1,2,... Ă Grd pFn q una sucesión de subespacios y S P
Grd pFq. Sea Q P M Ăn,d pFq una matriz base ortonormal de S y, para k “ 0, 1, 2, . . .
Qk una matriz base ortonormal de Sk . Entonces Sk Ñ S si y sólo si para cada
k “ 0, 1, 2, . . . existe una matriz unitaria d ˆ d Zk tal que Qk Zk Ñ Q.
Teorema 10.4 Sea X P Mn,d pFq y A P Fnˆn una matriz tal que rangpAk Xq “ d
para todo k “ 1, 2, . . .. Si la sucesión de subespacios tă Ak X ąu converge, lo hace a
un subespacio S P Grd pFn q que es A-invariante.
Corolario
10.6 Sea A P Fnˆn y q P Fn un vector unitario. Si la sucesión de subes-
Ak q
pacios converge a un subespacio ă y ą no nulo entonces y es un vector
}Ak q}2
propio unitario de A.
Este resultado es la base del método de las potencias cuya primera versión es la
siguiente:
234 El problema de valores propios
xj`1 “ Aqj
xj`1
qj`1 “ (vector propio unitario aproximado)
k xj`1 k
˚
λ̃j`1 “ qj`1 Aqj`1 (valor propio aproximado)
end for.
ˆˇ ˇ ˙
ˇ ˇj
Recuérdese que la expresión }zj qj ´ v1 }2 “ O ˇ λλ12 ˇ significa que para j suficien-
temente grande existe una constante positiva K tal que
ˇ ˇj
ˇ λ2 ˇ
}zj qj ´ v1 }2 ď K ˇˇ ˇˇ .
λ1
Por lo tanto, la segunda parte del Teorema nos dice que, cuando
"ˇ ˇ *hay convergencia,
ˇ ˇj
ésta se produce a la misma velocidad a la que la sucesión ˇ λλ12 ˇ converge a 0.
}Aj q0 }2
Si α1 ‰ 0, como λ1 ‰ 0 porque |λ1 | ą |λ2 | ě 0, podemos definir βj “ . Ası́
α1 λj1
Aj q0
βj ‰ 0 y recordando que qj “ tenemos que
}Aj q0 }2
ˆ ˙j ˆ ˙j
α2 λ2 αn λn
βj qj “ v1 ` v2 ` ¨ ¨ ¨ ` vn . (10.2)
α1 λ1 α1 λ1
ˇ ˇ
ˇ ˇ
Como por hipótesis ˇ λλ21 ˇ ă 1, tenemos que lı́m βj qj “ v1 . Por el Teorema 10.2
jÑ8
concluimos que ă qj ąÑă v1 ą.
βj
Ası́ α1 λj1 v1 Ñ v1 . Como v1 ‰ 0 debe ser α1 ‰ 0. A la proyección sobre ă v1 ą
}A q0 }2
j
a lo largo de ă v2 , . . . , vn ą se le llama proyección espectral sobre el subespacio
propio ă v1 ą.
La sucesión ˇ ˇ ˇ ˇ ˇ ˇj ˇ ˇ ˇ ˇj
ˇ α2 ˇ ˇ α3 ˇ ˇ λ3 ˇ ˇ ˇˇ ˇ
ˇ ˇ ` ˇ ˇ ˇ ˇ ` ¨ ¨ ¨ ` ˇ αn ˇ ˇ λn ˇ
ˇ α1 ˇ ˇ α1 ˇ ˇ λ2 ˇ ˇ α1 ˇ ˇ λ2 ˇ
es monótona decreciente (o mejor, no creciente) y acotada superiormente. Sea K
una cota superior (por ejemplo, K puede tomarse el elemento de la sucesión corres-
pondiente a j “ 0). Ası́
ˇ ˇj
ˇ λ2 ˇ
}xj }2 ď K ˇˇ ˇˇ .
λ1
Por otra parte, como βj qj “ v1 ` xj y lı́m xj “ 0 tenemos que lı́m βj qj “ v1 .
jÑ8 jÑ8
Además, la norma es una función continua, de modo que lı́m |βj | “ 1 dado que
jÑ8
}qj }2 “ }v1 }2 “ 1. Más aún,
ˇ j ˇ
ˇ }A q0 }2 ˇ ˇ ˇ
||βj | ´ 1| “ ˇˇ ´ 1 ˇ “ 1 ˇ}Aj q0 }2 ´ |α1 λj1 |ˇ “
|α1 λj1 | ˇ |α λj |
1 1
1 ˇ j ˇ ˇ
“ }A q 0 }2 ´ }α 1 λj
1 v 1 }2
ˇď
|α1 λj1 |
1
ď }Aj q0 ´ α1 λj1 v1 }2 “ }xj }2 .
|α1 λj1 |
Ası́, para j “ 0, 1, 2, . . .
1 ´ }xj }2 ď |βj | ď 1 ` }xj }2 .
238 El problema de valores propios
2}xj }2
}zj qj ´ v1 }2 ď
1 ´ }xj }2
}zj qj ´ v1 }2 ď 4}xj }2 .
ˇ ˇj
ˇ λ2 ˇ
Finalmente, como }xj }2 ď K ˇˇ ˇˇ , concluı́mos que
λ1
ˇ ˇj
ˇ λ2 ˇ
}zj qj ´ v1 }2 ď 4K ˇˇ ˇˇ
λ1
que escogido un vector al azar, éste 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
dirección del subespacio propio asociado al valor propio dominante sea no nula. Una
buena práctica 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ún cuando sus valores propios sean
distintos pueden tener igual módulo. 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 + 2.0000i 0
0 1.0000 - 1.0000i 0
0 - 1.0000i -3.0000 1.0000
>> eig(A)
ans =
1.0000
1.0000 + 1.0000i
1.0000 - 1.0000i
>> x0=rand(3,1)
x0 =
0.8147
0.9058
0.1270
2ksπi
e t α1 v1 ` α2 v2 , k “ 1, . . . , t.
2πi
En el ejemplo de arriba 1 ` i “ e 4 p1 ´ iq, de modo que θ “ 2π
4
y t “ 4.
Hay otros casos en los que no cumpliéndose la condición (10.1) todavı́a 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
˜ ˆ ˙k ¸
ÿr ÿn
λi
Ak x “ λk1 αi vi ` αi vi
i“1 i“r`1
λ1
Cuando se pretende calcular un único valor y vector propio, el método 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
métodos que convergen más rápidamente.
Recordemos que al escribir el algoritmo fuimos muy imprecisos sobre cuando deberı́a
terminar. Decı́amos que se ejecutarı́a 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 más precisos.
Un posible criterio de finalización del algoritmo podrı́a ser cuando la distancia entre
dos subespacios próximos propios aproximados sea menor que una cantidad previa-
mente especificada. Para ello bastarı́a almacenar los vectores propios aproximados
calculados en dos pasos sucesivos, digamos qj y qj`1 , y calcular la distancia entre
ellos utilizando la métrica “gap”. Esto es sencillo porque sabemos que si Xj “ă qj ą
y Xj`1 “ă qj`1 ą entonces
ΘpXj , Xj`1 q “ }PXj ´ PXj`1 }2
siendo PX la proyección ortogonal sobre X . Ahora bien como qj y qj`1 son unitarios
PXj “ qj qj˚ ˚
y PXj`1 “ qj`1 qj`1 .
Ası́ pues, sólo habrı́a que modificar el algoritmo para que se ejecutara el cálculo 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 él. Este criterio tiene su fundamento en el
siguiente resultado:
242 El problema de valores propios
Podemos interpretar este resultado como una especie de “estabilidad hacia atrás”.
En efecto, esta proposición dice que los valores-vectores propios aproximados de A
son valores-vectores propios exactos de matrices próximas a A. La demostración se
deja como ejercicio.
}E}F }r}2
“
}A}F }A}F
El cálculo del residuo r es muy fácil en el proceso que define el algoritmo de las
potencias y consideraremos obtenida la convergencia cuando el error relativo }E} F
}A}F
sea menor que una cantidad predeterminada. Es decir, cuando hayamos calculado
un valor-vector propio exactos de una matriz A r tan próxima a A como necesitemos.
Dado que puede no haber convergencia, habrá que tomar las precauciones necesarias
por si el error relativo nunca alcanza a ser menor que la cantidad prefijada.
Con todo esto en mente, la versión final del algoritmo de las potencias es la siguiente:
10.3 El método de iteración inversa 243
Es decir, v es también vector propio de ppAq para ppλ0 q. Se prueba de forma similar
que si ppAq es invertible entonces ppλ0 q´1 es valor propio de ppAq´1 y v es vector
propio de esta matriz para dicho valor propio:
1 1
µ1 “ , . . . µn “
σ ´ λ1 σ ´ λn
Se podrı́a argumentar que en cualquier caso la mariz σIn ´ A está tanto más cerca
de ser singular cuanto más 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
qué?
La respuesta a esta cuestión está en el análisis del error en el algoritmo que se emplee
para resolver los sistemas linales. Si este algoritmo es estable hacia atrás (como por
ejemplo lo es para casi todas las matrices el de la eliminación gaussiana), la solución
calculada para el sistema (pσIn ´ Aqy “ x es la solución exacta de algún sistema
pσIn ´ A ` Eqy “ x conde el error relativo }E}F {}A}F es del orden del epsilon de
la máquina. Si el valor-vector propio (“exacto”) que estamos buscando está bien
condicionado, será muy parecido al de pσIn ´ A ` Eq y la sucesión de valores-vectors
propios calculados seguirá convergiendo hacia una valor-vector propio de σIn ´ A.
Dicho de otra manera más intuitiva, la mayor parte de las veces la propagación del
error juega a nuestro favor porque cuando σ está 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 demostración del Teorema 10.7,
α1 α2 αn
pσIn ´ Aq´k q0 “ v1 ` v2 ` ¨ ¨ ¨ ` vn .
pσ ´ λ1 qk pσ ´ λ2 qk pσ ´ λn qk
Esto significa que cuanto más próximo esté σ a λ1 mayor será la componente de
pσIn ´Aq´k q0 en la dirección de v1 , de manera que los errores en el redondeo redundan
en una potenciación de la dirección en la que queremos que converjan los subespacios
246 El problema de valores propios
propios aproximados. De hecho, si σ y λ1 son casi iguales, una sola iteración nos
proporciona un vector que es ya casi un vector propio porque la proyección espectral
de éste sobre el subespacio ă v2 , . . . , vn ą es insignificante en comparación con la
proyección espectral sobre ă v1 ą.
x
Pongamos w “ . Entonces
}y}2
p˚ Ap
λ“x p˚ pσIn ´ Aqp
x“σ´x x“σ´ρ
con
p˚ pσIn ´ Aqp
ρ“x p˚ w.
x“x
Finalmente el residuo es
r “ λp
x ´ Ap
x “ pσIn ´ Aqp
x ´ ρp
x “ w ´ ρp
x.
Con todo esto en mente el algoritmo de iteración inversa queda como sigue:
el desplazamiento para hacer que el residuo sea lo más pequeño posible en cada
iteración? La respuesta es sencilla porque se trata de calcular la solución de un
problema de mı́nimos cuadrados lineal. Recordemos que el residuo es
r “ }λx ´ Ax}
x˚ xα0 “ x˚ Ax
Por lo tanto
x˚ Ax
α0 “
x˚ x
es el número que minimiza el residuo.
En los ejercicios veremos que, en general, la convergencia del método del cociente de
Rayleigh sigue siendo lineal, pero si la matriz es simétrica es, al menos, cuadrática.
Ello es debido al siguiente resultado, que se conoce con el nombre de propiedad
estacionaria de los vectores propios de las matrices simétricas.
Teorema 10.11 Sea A P Rnˆn una matriz simétrica. Entonces pλ0 , x0 q es un valor-
vector propio de A si y sólo si x0 es un punto estacionario o crı́tico de Rpxq y
Rpx0 q “ λ0 . Esto es,
∇Rpx0 q “ 0 y Rpx0 q “ λ0
donde ∇Rpxq es el gradiente de Rpxq.
ası́ que
BpxT Axq ÿn ÿn
“ aik xk ` aji xj .
Bxi k“1 j“1
BpxT Axq ÿn
“2 aij xj “ 2pAxqi
Bxi j“1
BpxT xq
“ 2xi .
Bxi
10.5 El algoritmo QR con desplazamiento explı́cito 251
Por lo tanto
ˆ ˙
BR 2pxT xqpAxqi ´ 2pxT Axqxi 2 xT Ax
“ “ T pAxqi ´ T xi “
Bxi pxT xq2 x x x x
2 2
“ T ppAxqi ´ Rpxqxi q “ T pAx ´ Rpxqxqi
x x x x
donde pAx ´ Rpxqxqi q es la i-ésima componente del vector Ax ´ Rpxqx. Ahora es
claro que ∇Rpx0 q “ 0 y Rpx0 q “ λ0 si y sólo si Ax0 ´ λ0 x0 “ 0; i.e., pλ0 , x0 q es un
valor-vector propio de A.
por ser x0 un vector propio de A. Esto implica que para k suficientemente grande
Rpαk 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,
cuadráticamente (al menos).
Todos los algoritmos tienen como objetivo último reducir una matriz dada A P
Fnˆn , a una forma de Schur (real o compleja) para extraer de ahı́ la información
correspondiente a los valores y vectores propios. La finalidad de los que hemos visto
252 El problema de valores propios
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 demostración del Teorema de Schur, una vez ” obtenidos,
ı
r
digamos pλ1 , q1 q, se puede construir una matriz unitaria, digamos Q “ q Q , para
la que „
˚ λ 1 b˚
Q AQ “ .
0 B
A continuación se aplica el algoritmo correspondiente a B y ası́ sucesivamente. Este
proceso de ir aplicando el algoritmo a matrices cada vez más pequeñas se llama de-
flación. Si se dan las condiciones apropiadas (valores propios con módulos diferentes
y proyección espectral no nula sobre los correspondientes subespacios propios) el re-
sultado de este proceso de deflación es una matriz triangular superior unitariamente
semejante a A; i.e., una forma de Schur de A.
Dada A P Fnˆn
A0 “ A
for k “ 0, 1, 2, . . . hasta convergencia
Elı́jase un desplazamiento σk
Calcúlese la descomposición QR de Ak ´ σk In : Ak ´ σk In “ Qk Rk
Reviértanse los factortes: Ak`1 “ Rk Qk ` σk In
end for
qué 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 iteración simultánea (u ortogonal)
que es una generalización del algoritmo de las potencias. En este curso sólo veremos
la relación entre el algoritmo QR con desplazamiento explı́cito y el del cociente de
Rayleigh. Pero antes de nada es importante observar que todas las matrices en la
sucesión tAk u que construye el algoritmo son unitariamente semejantes.
Ak “ Q˚k´1 Ak´1 Qk´1 “ Q˚k´1 Q˚k´2 Ak´2 Qk´2 Qk´1 “ ¨ ¨ ¨ “ Q˚k´1 ¨ ¨ ¨ Q˚0 A0 Q0 ¨ ¨ ¨ Qk´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
254 El problema de valores propios
Supongamos ahora que hacemos una sola iteración del algoritmo del cociente de
Rayleigh por filas con vector inicial x0 “ e˚n . El desplazamiento inicial serı́a
e˚n Aen “ σ.
Sea q el vector unitario que obtenemos al aplicar esta iteración (quitamos los subı́ndi-
ces porque sólo hablamos de una iteración y por comodidad):
e˚n pA ´ σIn q´1
q˚ “ (10.3)
}e˚n pA ´ σIn q´1 }2
Analicemos una iteración del algoritmo QR con el mismo desplazamiento σ “ e˚n Aen .
Calculamos la descomposición QR de A ´ σIn :
A ´ σIn “ QR.
10.5 El algoritmo QR con desplazamiento explı́cito 255
Entonces
Q˚ “ RpA ´ σIn q´1
y
e˚n Q˚ “ e˚n RpA ´ σIn q´1 “ rnn e˚n pA ´ σIn q´1 .
Ahora bien, e˚n Q˚ es la última fila de Q˚ . Denotémosla por qr˚ . Este vector es unitario
y acabamos de ver que
qr˚ “ rnn e˚n pA ´ σIn q´1 .
De aquı́ deducimos (recordamos que los elementos diagonales de R son números
reales positivos)
1
rnn “ ˚ ,
}en pA ´ σIn q´1 }2
y en consecuencia, comparando con (10.3)
q̃ “ q.
Ahora bien, q ˚ Aq “ λr y q ˚ A “ r˚ ` λq
r ˚ . Por ello, teniendo en cuenta que q es
r
ortogonal a todas las columnas de Q,
q ˚ AQ
r “ r˚ Q r ˚Q
r ` λq r “ r˚ Q
r
y
}q ˚ AQ}
r 2 “ }r˚ Q}
2
r 2 “ r˚ Q
2
rQr˚ r. (10.5)
Nuestro objetivo es demostrar que }q ˚ AQ} r 2 “ }r˚ }2 . Para ello debemos recordar
el Teorema 10.10. De acuerdo con este Teorema, λ r es la solución del problema de
mı́nimos cuadrados consistente en calcular el número complejo, α, que hace mı́nima
la distancia αq ˚ ´ q ˚ A. Es decir,
r ˚ ´ q ˚ A}2 “ mı́n }αq ˚ ´ q ˚ A}2 .
}r˚ }2 “ }λq
αPC
Recordemos también (Teorema 8.3 del Capı́tulo 7) que para el problema de mı́nimos
cuadrados mı́nn }By ´ c}2 , y0 es una solución si y sólo si By ´ c P pIm BqK . En nuestro
yPC
caso, debe suceder que r˚ “ λq r ˚ ´ q ˚ A P pIm q ˚ qK o equivalentemente q ˚ r “ 0. Es
r Con esto en mente, podemos demostrar que }q ˚ AQ}
decir, r P Im Q. r 2 “ }r˚ }2 . En
efecto, por (10.5)
}q ˚ AQ}
r 2 “ r˚ Q
2
rQr˚ r,
pero Q rQ
r˚ es la proyección ortogonal sobre Im Q r y r P Im Q;
r por lo tanto Q rQr˚ r “ r
r 2 “ r˚ r “ }r˚ }2 tal y como deseábamos demostrar. En definitiva
y }q ˚ AQ}2 2
« ff
r ˚ r r ˚
p “ Q AQ Q Aq
A r
q ˚ AQ r
λ
Este resultado nos indica que si el algoritmo del cociente de Rayleigh converge para
la matriz A con vector inicial e˚n entonces usando como desplazamiento explı́cito el
elemento en la posición pn, nq de la matriz obtenida en cada iteración, el algoritmo
QR con estos desplazamientos produce una sucesión de matrices que converge a una
matriz con la forma
„
B c
0 λ
siendo λ un valor propio de A. Además , el vector formado por los elementos dia-
gonales de la última fila de la matriz producida en cada iteración 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ño sustituirı́amos los elementos no diagonales de la última fila
por cero y procederı́amos a deflactar la matriz hasta obtener, si hay convergencia,
una matriz en forma de Schur. El proceso, además, produce las matrices unitarias
de paso.
if iterăitermax
T pn, 1 : n ´ 1q “ 0 (para que quede bonito)
end if
Entonces „ „ „
Bp ´ σIn´1 p
h S r P f
p ´ σIn “
A “ . (10.7)
gp˚ p´σ
µ 0 ρ e˚ π
El objetivo es acotar gp en función 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 .
}e}2 ď δ}g}2 .
De aquı́ sacamos que ρ “ f ˚ h ` π̄pµ ´ σq. Como |π| ď 1, }e}2 “ }f }2 , }e}2 ď δ}g}2
y, por la desigualdad de Cauchy-Schwarz, |f ˚ h| ď }f }2 }h}2 :
Finalmente de (10.7) obtenemos gp˚ “ ρe˚ . Poniendo todo junto y teniendo en cuenta,
otra vez, que }e}2 ď δ}g}2 concluı́mos
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 “ Q˚k Ak Qk ), de modo que }Ak }2 “ }A}2 . Pero
}hk }22 ď }hk }22 ` |µ|2 “ }Ak en }22 ď }Ak }22 }en }22 “ }Ak }22 .
Lo primero que sugiere esta expresión es, tal y como ya hemos deducido al comparar
los algoritmos QR y cociente de Rayleigh, que el desplazamiento apropiado en cada
iteración es σk “ µk porque esta elección proporciona una cota de gk`1 en términos
del cuadrado de }gk }2 . En tal caso, la cota queda
Vamos a suponer que existe un número real δ ą 0 tal que para todo k “ 1, 2, . . .
}Sk´1 }2 ď δ.
En estas condiciones
}gk`1 }2 ď δ 2 η}gk }22 .
260 El problema de valores propios
Hay muchas más cosas que decir sobre el algoritmo QR. En particular, su relación
con el algoritmo de iteración simultánea, que es una generalización del método de
las potencias, es muy importante porque sirve para establecer condiciones suficientes
de convergencia. Otro aspecto importante es la relación entre el algoritmo QR y la
reducción a forma Hessenberg y, en general, la implementación práctica del algoritmo
QR (algoritmo QR con desplazamiento implı́cito). También es importante la elección
de los desplazamientos y la reducción a forma de Schur real cuando la matriz es real.
Genéricamente las matrices complejas tienen valores propios distintos en módulo,
pero esto no es verdad para las matrices reales en las que cuando aparecen valores
propios complejos éstos vienen conjugados a pares. Es por eso que la reducción 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ñadir nuevos
desplazamientos a la lista de los ya conocidos. Sin embargo, por ahora no hay un
algoritmo universal eficiente para todas las matrices.
Finalmente, los algoritmos para el cálculo de los valores propios no terminan con
el algoritmo QR aunque éste sea el algoritmo de propósito general que más se uti-
liza. Para matrices con estructura existen algoritmos especiales. Por ejemplo, para
matrices simétricas o hermı́ticas que son unitariamente diagonalizables además 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
inglés). Los algoritmos para el cálculo de valores propios han sido y sigue siendo un
campo de mucha actividad investigadora.
262 El problema de valores propios