Está en la página 1de 36

Capı́tulo 10

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.

En Álgebra Lineal Numérica se suele hablar de algoritmos directos y de algoritmos


iterativos para distinguir entre los algoritmos que producen el resultado deseado
tras un número finito de iteraciones (algoritmos directos como los de Gauss o QR)
y aquellos que tienen como objetivo la construcción de una sucesión de objetos
que converge al resultado deseado. Como veremos enseguida hay una razón muy
poderosa para que los algoritmos para el cálculo de valores y vectores propios sean
del segundo tipo. Y siendo las cosas ası́ se habla de métodos directos e iterativos para

227
228 El problema de valores propios

el cálculo de valores y vectores propios con un significado diferente a los anteriores.


Los primeros buscan obtener todos los valores propios y (opcionalmente) los vectores
propios; es decir, la forma de Schur de la matriz. Los métodos 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 métodos
directos y el Método de las Potencias el de los métodos iterativos. En este Capı́tulo
trataremos los métodos iterativos.

10.2. El método de las potencias

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.

10.2.1. Convergencia de subespacios

En primer lugar, al conjunto de subespacios de Fn de dimensión d se le llama Grass-


manniana o Variedad de Grassman, y se representa mediante el sı́mbolo Grd pFn q:

Grd pFn q “ tS Ă Fn : S subespacio de dimensión du

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.

Dado un subespacio S de dimensión d en F“ n y dada una ‰ base tx1 , . . . , xd u, llama-


remos matriz base de S a la matriz X “ x1 ¨ ¨ ¨ xd . Las matrices base de los
subespacios de dimensión d tienen la particularidad de ser matrices de tamaño n ˆ d
y de rango d. Y toda matriz con estas propiedades genera un subespacio de dimen-
sión d. Pero puede haber más 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 Fnˆd generan el mismo subespacio de dimen-
sión d si y sólo si rang X1 “ rang X2 “ d y existe una matriz invertible P P Fdˆd
tal que X1 “ X2 P . Ahora bien, la relación X1 „ X2 si y sólo si existe P P Fdˆd
tal que X1 “ X2 P es una relación de equivalencia en el conjunto Mn,d pFq de las
matrices n ˆ d de rango d con elementos en F. Y cada subespacio de dimensión d
puede identificarse con una clase de equivalencia. Ası́, identificaremos
Mn,d pFq
Grd pFn q ”
Gld pFq
M pFq
donde Gln,d
d pFq
representa el conjunto de clases de equivalencia por la relación que
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 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

π : Mn,d pFq Ñ Grd pFn q


X Ñ ăXą
es la proyección canónica, U Ă Grd pFn q es abierto si y sólo si π ´1 pUq es abierto en
Mn,d pFq. Ası́ pues, la topologı́a de Grd pFn q es la topologı́a más fina que hace de π
una aplicación continua. Tenemos además

Lema 10.1 π es una aplicación abierta.

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,

π ´1 pπpUqq “ tXP : X P U y P P Gld pFqu

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,

r es una aplicación abierta.


y se demuestra igual que en el Lema 10.1 que π
10.2 El método de las potencias 231

(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.

(iv) Como todo espacio métrico es Hausdorff, Grd pFn q es Haussdorff.

(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

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 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.

Demostración.- La demostración 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úmero 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.
232 El problema de valores propios

El recı́proco 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 demostración del siguiente resultado es igual que la del


Usando que π
Teorema 10.2

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.

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 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.

Demostración.- Supongamos que ă Ak X ąÑ S. Como rangpAk Xq “ 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, además, éste 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 hipótesis ă Ak`1 X ąÑă Y ą. Como Grd pFq
es Haussdorf, el lı́mite es único. Por lo tanto, ă AY ą“ă Y ą“ S. Ahora es fácil
deducir que AS Ď S. En efecto, si x P S entonces x “ Y ξ y Ax “ AY ξ Pă AY ą“
S.
10.2 El método de las potencias 233

10.2.2. El algoritmo del método de las potencias

Aplicamos el Teorema 10.4 al método de las potencias.

Corolario 10.5 Sea A P Fnˆn y x P Fn un vector no nulo. Si la sucesión de subes-


pacios ă Ak x ą converge a un subespacio ă y ą no nulo entonces y es un vector
propio de A.

Demostración.- En primer lugar, si ă Ak x ąÑă y ą con y ‰ 0 entonces Ak 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ún α P F. Por lo tanto, y es un vector
propio de A asociado al valor propio α.

Nótese que de acuerdo con la demostración 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
 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

Método de las Potencias (Primera Versión)


Dada A P Rnˆn

Paso 1: Elı́jase x0 P Fnˆ1 (F “ R o C)


x0
Paso 2: q0 “
}x0 }2
Paso 2: for j “ 0, 1, 2, 3, . . . hasta convergencia

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.

Antes de analizar la convergencia de este algoritmo conviene hacer algunas observa-


ciones:

1. En primer lugar, el algoritmo construye la sucesión de vectores unitarios:


q0 , q1 , q2 , . . . donde
Aqi´1
qi “ , i “ 1, 2, . . .
}Aqi´1 }2
Es muy fácil ver que
A i q0
qi “ .
}Ai q0 }2
" k *
A q0
Es decir, el algoritmo construye la sucesión del Corolario 10.6. Por
}Ak q0 }2
lo tanto, si esta sucesión converge lo hace a un vector propio unitario de A. No
obstante, esta sucesión
 k puede  no converger y sin embargo sı́ hacerlo la sucesión
A q0
de subespacios . Esto es lo importante. En tal caso, de acuerdo con
}Ak q0 }2
el Corolario 10.6, obtendremos un subespacio propio de A como lı́mite.

2. Se usa provisionalmente la expresión “hasta convergencia” para indicar que,


en caso de que la sucesión de subespacios converja, la rutina for se reali-
zarı́a un número suficiente de veces. Más adelante estudiaremos un criterio de
terminación de esta rutina.
10.2 El método de las potencias 235

3. El algoritmo calcula vectores unitarios qj que cuando ă qj ąÑă q ą propor-


cionan un vector propio unitario, q, de A. Por eso llamamos vectores propios
aproximados a los vectores qj .
4. Con cada vector qj se calcula qj˚ Aqj que es un número en F. Si qj fuera un
vector propio exacto entonces qj˚ Aqj serı́a un valor propio exacto. En efecto:
Aqj “ λqj ñ qj˚ Aqj “ λqj˚ qj “ λ
porque qj es unitario. Si qj es un vector próximo a un vector propio entonces
λ̃j “ qj˚ Aqj es, por continuidad, un número próximo a un valor propio de A.
Por eso le llamamos ”valor propio aproximado”. Además, si A es real y x0 es
real, entonces todo se realiza en aritmética real. Es decir, los vectores y valores
propios aproximados calculados son reales.
5. Aún cuando la sucesión qj no converja, si ă qj ą converge lo hace a un subes-
pacio propio y los vectores qj seguirán siendo vectores propios aproximados.
En consecuencia, si ă qj ą converge, la sucesión λ̃j convergerá a un valor pro-
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 aritmética en punto flotante que se utilice) de A. Pero
dado que los vectores propios pueden cambiar de dirección, los criterios para
terminar el algoritmo deberán tener en cuenta tanto a los vectores propios
como a los valores propios.

10.2.3. Análisis de la convergencia del método de las poten-


cias

La cuestión ahora es establecer condiciones suficientes lo más 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 Fnˆn 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 también que
|λ1 | ą |λ2 | ě |λ3 | ě ¨ ¨ ¨ ě |λn | (10.1)
236 El problema de valores propios

Entonces ă qj ąÑă v1 ą si y sólo si α1 ‰ 0. Más aún, en tal caso, para j “


0, 1, 2, . . . existen números complejos zj de módulo 1 tales que
˜ˇ ˇ ¸
ˇ λ 2 ˇj
}zj qj ´ v1 }2 “ O ˇˇ ˇˇ .
λ1

ˆˇ ˇ ˙
ˇ ˇ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.

Demostración.- Es fácil ver que si Avi “ λi vi entonces Aj vi “ λji vi y, en conse-


cuencia,
Aj q0 “ α1 Aj v1 ` ¨ ¨ ¨ ` αn Aj vn “ α1 λj1 v1 ` ¨ ¨ ¨ ` αn λjn vn .

}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 ą.

Recı́procamente, supongamos ă qj ąÑă v1 ą. Por el Teorema 10.2 existen números


βj tales que βj qj Ñ v1 . Sea P la proyección sobre ă v1 ą a lo largo de ă v2 , . . . , vn ą.
Entonces P pβj qj q Ñ P v1 “ v1 . Pero
βj βj j j βj
P pβj qj q “ P pA j
q 0 q “ P pα 1 λ 1 v1 `α 2 λ2 v2 `¨ ¨ ¨`α n λj
n vn q “ α1 λj1 v1 .
}Aj q0 }2 }Aj q0 }2 }Aj q0 }2
10.2 El método de las potencias 237

β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 ą.

Para demostrar la segunda parte del teorema partimos de la expresión (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 ˇ ˇ α n ˇ ˇ λn ˇ
}xj }2 ď ˇˇ ˇˇ ˇˇ ˇˇ }v2 }2 ` ˇˇ ˇˇ ˇˇ ˇˇ }v3 }2 ` ¨ ¨ ¨ ` ˇˇ ˇˇ ˇˇ ˇˇ }vn }2 “
α λ α λ α λ1
ˇ 1 ˇj ˜1ˇ ˇ ˇ ˇ ˇ 1 ˇj 1 ˇ ˇ ˇ ˇj ¸1
ˇ λ2 ˇ ˇ α2 ˇ ˇ α3 ˇ ˇ λ3 ˇ ˇ α n ˇ ˇ λn ˇ
“ ˇˇ ˇˇ ˇˇ ˇˇ ` ˇˇ ˇˇ ˇˇ ˇˇ ` ¨ ¨ ¨ ` ˇˇ ˇˇ ˇˇ ˇˇ
λ1 α1 α 1 λ2 α1 λ2

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

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 condición.
β
Ahora si zj “ |βjj | entonces |zj | “ 1 y
ˆ ˙
1 1 }xj }2 1
zj qj “ pv1 ` xj q ď pv1 ` xj q “ 1` v1 ` xj .
|βj | 1 ´ }xj }2 1 ´ }xj }2 1 ´ }xj }2

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

2}xj }2
}zj qj ´ v1 }2 ď
1 ´ }xj }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 ˇˇ ˇˇ , concluı́mos que
λ1
ˇ ˇj
ˇ λ2 ˇ
}zj qj ´ v1 }2 ď 4K ˇˇ ˇˇ
λ1

para j suficientemente grande, tal y como se deseaba demostrar.

La condición suficiente de convergencia del Teorema 10.7 requiere que la matriz


A tenga un valor propio dominante en módulo y que para el vector inicial x0 la
componente de éste en la dirección del subespacio propio asociado a dicho valor
propio dominante sea no nula. Ambas condiciones son genéricas (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 condición de tener
un valor propio dominante en módulo es genérica salvo que la matriz sea real y tenga
valores propios complejos. Esta situación la analizamos enseguida. En el supuesto
de que la matriz dada tenga un valor propio dominante en módulo, la elección de
un vector x0 que no tenga componente nula en la dirección del correspondiente
subespacio propio no presenta problemas. Prácticamente cualquier vector cumple
esta condición. Pensemos, por ejemplo, en la siguiente situación: sabemos que alguien
ha dibujado dos vectores linealmente independientes en R2 con origen en p0, 0q pero
desconocemos qué vectores son. ¿Qué posibilidades tenemos de dar un vector que sea
colineal con uno de ellos? Convendremos inmediatamente que es muy improbable
10.2 El método de las potencias 239

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

tiene como valores propios:

>> eig(A)
ans =
1.0000
1.0000 + 1.0000i
1.0000 - 1.0000i

Aplicando el método 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


240 El problema de valores propios

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


|λ1 | “ |λ2 | ą |λ3 | ě ¨ ¨ ¨ . Supongamos también 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
˜ ˆ ˙k ˆ ˙k ¸
λ 3 λn
Ak x “ λk2 eikθ α1 v1 ` α2 v2 ` α3 v3 ` ¨ ¨ ¨ ` αn vn
λ2 λ2

Si existe un número racional p “ t{s tal que θ “ 2π entonces hay t subsucesiones de


( p
ă A x ą que convergen a los subespacios generados por los vectores
k

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

siendo x1 “ α1 v1 ` ¨ ¨ ¨ ` αr vr la proyección 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 ą“ Kerpλ1 In ´ Aq. Por lo tanto, si la proyección de x
sobre Kerpλ1 In ´ Aq a lo largo de ă vr`1 , . . . , vn ą no es cero, para k “ 0, 1, 2, . . .
1
existen escalares βk “ k (nótese que λ1 ‰ 0 porque o bien |λ1 | ą ¨ ¨ ¨ ą |λn | ě 0
λ1
řr
o λ1 “ ¨ ¨ ¨ “ λn con |λn | ą 0) tales que βk Ak x Ñ αi vi . Es decir, ă Ak x ąÑă
i“1
ř
r ř
r
αi vi ą. Pero αi vi P Kerpλ1 In ´ Aq, de modo que éste es un vector propio de
i“1 i“1
A asociado al valor propio λ1 .

Un último aspecto a considerar es el de la velocidad de convergencia cuando ésta


se da. Tal y como comentamos antes de la demostración del Teorema 10.7, la se-
gunda parte de éste nos indica que cuando se dan las condiciones de convergencia,
10.2 El método de las potencias 241

la velocidad a la que los subespacios ă Aj x0 ą convergen al subespacio propio co-


rrespondiente al valor propio de mayor móduloˇ ˇj es aproximadamente la misma que
ˇ λ2 ˇ
la velocidad de convergencia de la sucesión ˇˇ ˇˇ . Si el cociente |λ2 |{|λ1 | es próximo
λ1
a 1 debemos esperar una convergencia lenta y cuanto más pequeño sea esta razón,
la convergencia será más rápida. En cualquier caso se trata de una razón de conver-
gencia lineal porque depende del cociente |λ2 |{|λ1 | y no de su cuadrado, o su cubo,
etc.

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.

10.2.4. Criterios de terminación del algoritmo

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

Proposición 10.8 Sea A P Fnˆn , x P Cn un vector unitario y µ P C. Sea r “


Ax ´ µx. Existe una matriz E P Cnˆn tal que k E kF “ }r}2 y pA ` Eqx “ µx.

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.

Debe observarse que el error relativo de tomar A ` E por A es

}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.

En conclusión, fijaremos un  ą 0 y un número máximo de iteraciones y el algoritmo


terminará cuando el error relativo sea menor que  o cuando se sobrepase el número
de iteraciones máximo.

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

Método de las Potencias (Versión Final)


Datos: A P Fnˆn , x0 P Fn ,  ą 0 e itermax
Objetivo: calcular un par pλ, xq valor-vector propio aproximado de A.
El algoritmo devolverá, además, el número de iteraciones iter realizado
ası́ como el residuo en la última iteración.
x0
x“
}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
x“ (normalización)
}y}2
iter=iter+1
end while

10.3. El método de iteración inversa

El objetivo del método de iteración inversa es mejorar la velocidad de convergencia


del método de las potencias y posibilitar la obtención de un valor-vector propio
que no se tenga que corresponder necesariamente con el valor propio dominante. Se
parte de la siguiente observación: si λ0 es un valor propio de A P Fnˆn y ppλq “
pd λd ` pd´1 λd´1 ` ¨ ¨ ¨ ` p1 λ ` p0 es un polinomio cualquiera entonces ppλ0 q es un
valor propio de la matriz

ppAq “ pd Ad ` pd´1 Ad´1 ` ¨ ¨ ¨ ` p1 A ` p0 In .

En efecto, si v es un vector propio de A para λ0 entonces Av “ λ0 v y Aj v “ λj0 v.


Por lo tanto

ppAqv “ pd Ad v ` pd´1 Ad´1 v ` ¨ ¨ ¨ ` p1 Av ` p0 v “


“ pd λd0 v ` pd´1 λd´1
0 v ` ¨ ¨ ¨ ` p1 λ0 v ` p0 v “
“ ppλ0 qv.
244 El problema de valores propios

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:

ppAqv “ ppλ0 qv ô v “ ppλ0 qppAq´1 v ô ppλ0 q´1 v “ ppAq´1 v.

En particular si σ R ΛpAq entonces σIn ´ A es invertible y λ0 P ΛpAq si y sólo si


1
P ΛppσIn ´ Aq´1 q. Por lo tanto, si λ1 ,. . . ,λn son los valores propios de A
σ ´ λ0
entonces los valores propios de pσIn ´ Aq´1 son

1 1
µ1 “ , . . . µn “
σ ´ λ1 σ ´ λn

El método de iteración inversa es el método de las potencias aplicado a la matriz


pσIn ´ Aq´1 para algún número σ. A este número se le suele llamar desplazamiento
o precondicionamiento y se suele usar para aumentar la velocidad de convergencia
del método 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
que por el medio que sea conocemos un valor propio aproximado λ r0 « λi de A (por
ejemplo con una o dos cifras decimales de precisión) pero λi no tiene por qué ser el
valor propio dominante de A. Tomamos σ “ λ r0 de modo que σ « λi y σ es muy
diferente de los demás 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 método de las potencias a pσIn ´ Aq´1 tenemos que si |µ2 | ě |µ3 | ě
ˇ ˇk
ˇ µ2 ˇ
¨ ¨ ¨ ě |µn | entonces la velocidad de convergencia serı́a del orden de ˇˇ ˇˇ , tanto
µ1
más grande cuanto más próximo esté σ a λi . En estas condiciones el método de
las potencias aplicado directamente a pσIn ´ Aq´1 proporcionarı́a, supuesto que
converja, un valor-vector propio de esta matriz; digamos, µ1 y v1 . Pero, tal y como
hemos visto más arriba v1 serı́a también 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 método de las potencias para, haciendo uso de
los vectores propios unitarios aproximados qj , obtener valores propios aproximados
de A en la forma qj˚ Aqj .
10.3 El método de iteración inversa 245

Hay otra modificación en la implementación del método de iteración inversa respecto


del de las potencias. El primer paso en el algoritmo del método de las potencias
consiste en calcular qj`1 “ Aqj . Si lo aplicamos directamente a la matriz pσIn ´Aq´1
habrı́a que hacer qj`1 “ pσIn ´ Aq´1 qj . En vez de calcular la inversa, lo que se hace
es resolver el sistema
pσIn ´ Aqqj`1 “ qj .
Ambas operaciones son teóricamente equivalentes pero la segunda requiere menos
operaciones. De hecho, genéricamente σIn ´ A admite una descomposición LU que
conviene calcular de una vez por todas y usar sólo sustitusción hacia delante y hacia
atrás para resolver el sistema pσIn ´ Aqqj`1 “ qj . En nuestra implementación del
algoritmo, y puesto que practicaremos con MATLAB, dejaremos que sea éste quien
se encargue de resolver este sistema. Para ello usaremos la orden qj`1 “ pσIn ´Aqzqj .

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 ą.

En resumen, el algoritmo para el método de iteración simultánea es el siguiente:

Método de Iteración Inversa (Primera Versión)


Datos: A P Fnˆn , x0 P Fn , σ,  ą 0 e itermax
Objetivo: calcular un par pλ, xq valor-vector propio aproximado de A.
x0
x“
}x0 }2
res=1
iter=0
normA=}A}F
while res ą ¨ normA e iter ă itermax
y “ pσIn ´ Aqzx (ô pA ´ σIn qy “ x)
y
x“ (vector propio unitario aproximado)
}y}2
λ “ 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úmero de operaciones evitando sucesivas multiplicaciones de A por x, que es la
parte más costosa. Concretamente, en la notación del algoritmo representamos con
el mismo sı́mbolo x dos números diferentes en las dos primeras lı́neas del bucle
while. Vamos a mantener el sı́mbolo x para el primero; i.e.
y “ pσIn ´ Aq´1 x
p su actualización:
y con x
y
p“
x .
}y}2
De esta forma
pσIn ´ Aqy x
pσIn ´ Aqp
x“ “ .
}y}2 }y}2
10.4 El método del cociente de Rayleigh 247

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:

Método de Iteración Inversa (Versión Final)


Datos: A P Fnˆn , x0 P Fn , σ,  ą 0 e itermax
Objetivo: calcular un par pλ, xq valor-vector propio aproximado de A.
x0
x“
}x0 }2
res=1
iter=0
normA=}A}F
while res ą ¨ normA e iter ă itermax
y “ pσIn ´ Aqzx
x
w“
}y}2
y
x“
}y}2
ρ “ x˚ w
λ“σ´ρ
res=}w ´ ρx}2
iter=iter+1
end while

10.4. El método del cociente de Rayleigh

El método del cociente de Rayleigh es exactamente igual que el de iteración inversa


pero con un desplazamiento que varı́a en cada iteración. La cuestión es ¿cómo elegir
248 El problema de valores propios

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}

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


cada iteración. Puesto que λ es un valor propio aproximado (que está variando en
cada iteración) bien podemos hacer uso de él en cada iteración. La pregunta es ¿cuál
es el valor de λ que hace mı́nimo el residuo? Nos preguntamos por el problema de
hallar
mı́n }αx ´ Ax}2
αPF

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


vector de términos independientes es Ax (también n ˆ 1). Recordemos que una
forma resolver el problema de mı́nimos cuadrados mı́nyPFn }By ´ c}2 con B P Fmˆn
y c P Fmˆ1 es resolviendo el sistema de ecuaciones normales: B ˚ By0 “ B ˚ c. En
nuestro caso el sistema de ecuaciones normales es

x˚ xα0 “ x˚ Ax

Por lo tanto
x˚ Ax
α0 “
x˚ x
es el número que minimiza el residuo.

Definición 10.9 Para A P Fnˆn se llama cociente de Rayleigh de A en x P Fn al


número
x˚ Ax
Rpxq “ ˚
x x

Ası́ pues, lo que hemos demostrado más arriba es

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


es el número donde se alcanza el mı́nimo del residuo }αx ´ Ax}2 . Es decir

mı́n }αx ´ Ax}2 “ }Rpxqx ´ Ax}2 .


αPF
10.4 El método del cociente de Rayleigh 249

En la práctica, el algoritmo del cociente de Rayleigh consiste en sustituir σ por λ en


el algoritmo de iteración inversa iniciando el primer desplazamiento con el cociente
de Rayleigh de la matriz dada en el vector inicial elegido. Nótese que puesto que
los vectores propios aproximados son unitarios, el denominador en el cociente de
Rayleigh es siempre 1.

Método del cociente de Rayleigh


Datos: A P Fnˆn , x0 P Fn ,  ą 0 e itermax
Objetivo: calcular un par pλ, xq valor-vector propio aproximado de A.
x0
x“
}x0 }2
λ “ x˚ Ax
res=1
iter=0
normA=}A}F
while res ą ¨ normA e iter ă itermax
y “ pλIn ´ Aqzx
x
w“
}y}2
y
x“
}y}2
ρ “ x˚ w
λ“λ´ρ
res=}w ´ ρx}2
iter=iter+1
end while

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


Rpxq en cada iteración. Para verlo basta deshacer los cambios que hicimos en el
algoritmo de iteración inversa. En efecto, al igual que en aquel caso denotamos con
pyλ
x p los valores actualizados y con x y λ los que entran en la iteración. Debemos
p “ Rpp
ver que λ xq “ x p˚ Ap p “ λ ´ ρ. Entonces
x. Para ello, en la iteración λ

p “ λ´ρ“λ´x y˚ x y ˚ pλIn ´ Aqy


λ p˚ w “ λ ´ “λ´ “
}y}2 }y}2 y˚y
λy ˚ y y ˚ Ay
“ λ´ ˚ ` ˚ “x p˚ Ap
x.
y y y y
250 El problema de valores propios

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.

Demostración: Debemos demostrar que pλ0 , x0 q es un valor-vector propio de A si


BR xT Ax
y sólo si px0 q “ 0, i “ 1, . . . , n y Rpx0 q “ λ0 . En el caso real Rpxq “ T .
Bxi x x
BpxT Axq
Calculamos primero y luego haremos lo mismo con xT x. En primer lugar
Bxi
ÿ
n
T
x Ax “ ajk xj xk ,
j,k“1

ası́ que
BpxT Axq ÿn ÿn
“ aik xk ` aji xj .
Bxi k“1 j“1

Como A es simétrica, aji “ aij y entonces

BpxT Axq ÿn
“2 aij xj “ 2pAxqi
Bxi j“1

siendo pAxqi la i-ésima componente del vector Ax.


ř
n
De la misma forma xT x “ x2j y
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.

Tal y como habı́amos anunciado una consecuencia interesante de este Teorema es

Corolario 10.12 Si para una matriz simétrica A y un vector q0 el algoritmo del


cociente de Rayleigh converge, lo hace, a partir de un cierto momento, cuadrática-
mente.

Demostración: Ya sabemos que si el algoritmo del cociente de Rayleigh converge, lo


hace a un valor-vector unitario propios, pλ0 , x0 q, de A. Es decir, el algoritmo produce
una secuencia pλk , αk qk q de valores-vectores propios aproximados de A que converge
a pλ0 , x0 q. Pero λk “ Rpαk 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
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).

10.5. El algoritmo QR con desplazamiento explı́ci-


to

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.

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 versión del
algoritmo QR con desplazamiento explı́cito:

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

En resumen, el algoritmo construye una sucesión de matrices tAk u a partir de una


dada A “ A0 calculando la factorización QR de Ak ´ σk In (para un σk que se elige
explı́tamente en cada paso) y definiendo la siguiente matriz de la sucesión, Ak`1 ,
multiplicando los factores Q y R al revés y añadiéndo el desplazamiento. ¿Por qué
hacer tal cosa produce algo significativo en relación con el cálculo 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 Unión
Soviética. Se tardó muchos años, sin embargo, en comprenderlo bien. La razón de por
10.5 El algoritmo QR con desplazamiento explı́cito 253

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.

Lema 10.13 Las matrices Ak que construye el algoritmo QR con desplazamiento


explı́cito son todas unitariamente semejantes.

Demostración: 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 sucesión son unitariamente semejantes. Sea Ak ´ σk In “ Qk Rk la factorización
QR de Ak ´ σk In .
Ak`1 “ Rk Qk ` σk In “ Q˚k pAk ´ σk In qQk ` σk In pRk “ Q˚k pAk ´ σk In q
“ Q˚k Ak Qk ´ σk Q˚k Qk ` σk In “ Q˚k Ak Qk ,
por lo que Ak`1 y Ak son unitariamente semejantes.

Este Lema tiene una consecuencia importante: Para cada k “ 1, 2, . . .

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

Es decir, el algoritmo QR no sólo proporciona una sucesión de matrices unitaria-


mente semejantes a A sino que nos da también la matriz unitaria que conecta A
con cada una de las matrices de la sucesión: es el producto de los factores Q en la
factorización QR de Ak ´ σk In . Si para algún valor de k la matriz Ak es (casi) una
forma de Schur de A tendremos además la matriz unitaria que convierte A en dicha
(casi) forma de Schur.

10.5.1. 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
254 El problema de valores propios

realidad el algoritmo QR aplica el método del cociente de Rayleigh para calcular


vectores propios por la izquierda en vez de hacerlo para calcular vectores propios
por la derecha. ¿Cómo serı́a el método del cociente de Rayleigh en este caso? Igual
que el ya visto pero operando con vectores filas: Dada A, un vector fila inicial x˚0 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 iteración


anterior,
2. Resolver el sistema yj˚ pA ´ σj In q “ x˚j´1 ,
yj
3. Normalizar xj “ (vector propio aproximado por la izquierda), y
}yj }2
4. Calcular el nuevo cociente de Rayleigh λj “ x˚j Axj (nuevo valor propio apro-
ximado)

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


quierda pλ, qq de A. Con este q podemos formar una matriz unitaria Q “ Q p q
de forma que (véase la Sección 9.4 del Capı́tulo 9 sobre vectores propios por la
izquierda) „ 
˚ B b
Q AQ “
0 λ
Ahora procederı́amos por deflación aplicando el algoritmo por filas a B y ası́ suce-
sivamente.

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.

En palabras: la última fila de la matriz Q en la factorización QR de A ´ σIn con


σ “ e˚n Aen coincide con el vector propio por la izquierda unitario aproximado, q, de
A que calcula el método del cociente de Rayleigh cuando se emplea e˚n como vector
inicial en la primera iteración . Es decir,
” ı
Q“ Q r q (10.4)

El valor propio aproximado que nos proporciona el cociente de Rayleigh será λ r“


q ˚ Aq y el residuo (recordemos que estamos calculando vectores propios por la izquier-
da) r˚ “ q ˚ A ´ λqr ˚ . Estos cálculos concluyen la iteración del método del cociente
de Rayleigh.

Respecto al algoritmo QR con desplazamiento, la segunda y última etapa consiste


en calcular la siguiente matriz en la sucesión revirtiendo los factores Q y R de la
factorización QR de A y sumando el desplazamiento:
p “ RQ ` σIn “ Q˚ pA ´ σIn qQ ` σIn “ Q˚ AQ.
A

Escribiendo Q como en (10.4)


„  ” « ff
r ˚ ı r ˚ r r ˚
p“ Q A Q
A r q “ Q AQ Q Aq
q˚ r q ˚ Aq
q ˚ AQ
256 El problema de valores propios

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
λ

r ˚ es el residuo del algoritmo del cociente


r 2 “ }r˚ }2 siendo r “˚ “ q ˚ A ´ λq
y }q ˚ AQ}
de Rayleigh aplicado por filas a la matriz A con vector inicial e˚n . En conclusión

Teorema 10.14 Para una matriz A P Fnˆn el algoritmo QR con desplazamiento


explı́to σk “ e˚n Ak en produce
” una sucesión de matrices
ı tAk ukě0 tales que si pa-
pkq pkq pkq pkq
ra k “ 0, 1, 2, . . ., an “ an1 ¨ ¨ ¨ ann´1 ann es la última fila de Ak , Ak “
pk´1q˚ pkq pk´1q˚
Q˚k´1 Ak´1 Qk´1 y qn es la última fila de Qk´1 entonces pann , qn q es el valor-
vector propio unitario por la izquierda aproximados que produce el algoritmo del
cociente
” de Rayleigh aplicado
ı a Ak´1 con vector inicial e˚n . Además la norma del
vector apkq
n1
pkq
¨ ¨ ¨ ann´1 es igual a la norma del residuo producido por el algoritmo
del cociente de Rayleigh.
10.5 El algoritmo QR con desplazamiento explı́cito 257

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.

El algoritmo en cada etapa serı́a el siguiente:

Una etapa del algoritmo QR


Datos: A P Fnˆn ,  ą 0 e itermax
Objetivo: Obtener una matriz T , semejante a A, cuyos elementos en la ú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 (factorización 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
258 El problema de valores propios

if iterăitermax
T pn, 1 : n ´ 1q “ 0 (para que quede bonito)
end if

10.5.2. Análisis de la velocidad de convergencia del algorit-


mo QR

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


pk`1q pkq
una cota de }an }2 en términos de }an }2 . Para no arrastrar los subı́ndices todo
el rato, vamos a poner A “ Ak y A p “ Ak`1 . La notación será similar al referirnos
a los diversos elementos y matrices relacionados con Ak y Ak`1 . Ası́, pondremos
A ´ σIn “ QR y A p ´ σIn “ RQ.

Consideremos A, Q y R particionadas como sigue:


„  „ „ 
B ´ σIn´1 h P f S r
A ´ σIn “ “ ˚ “ QR. (10.6)
g˚ µ´σ e π 0 ρ

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 .

Por otra parte, en (10.6)


g ˚ “ e˚ S.
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 P e B ´ σIn´1 h
“ .
0 ρ f ˚ π̄ g˚ µ´σ
10.5 El algoritmo QR con desplazamiento explı́cito 259

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 :

|ρ| ď δ}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 concluı́mos

g }2 ď δ 2 }h}2 }g}22 ` δ|µ ´ σ|}g}2 ,


}p

o, con los subı́ndices 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 “ 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 .

En conclusión, existe un número 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)

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

}gk`1 }2 ď ηδk2 }gk }22

Vamos a suponer que existe un número real δ ą 0 tal que para todo k “ 1, 2, . . .

}Sk´1 }2 ď δ.

Se puede demostrar que, de hecho, esta propiedad es verdadera para valores de gk


suficientemente pequeños.

En estas condiciones
}gk`1 }2 ď δ 2 η}gk }22 .
260 El problema de valores propios

Ası́ pues, cuando el algoritmo QR converge a un valor propio simple y }Sk´1 }2 ď δ


para todo k, la norma de gk`1 está acotada por una cantidad que es proporcional
al cuadrado de la norma de gk . Se dice que la sucesión t}gk }2 u converge cuadrática-
mente, al menos, a cero.

Tal y como ya hemos dicho la condición }Sk´1 }2 ď δ se cumple para valores de gk


suficientemente pequeños, ası́ que no podemos decir que la convergencia es siempre
cuadrática. Al principio puede no serlo, pero llegará un momento en el que lo será con
seguridad. Se dice que la convergencia del algoritmo QR es localmente cuadrática.

La convergencia cuadrática es muy conveniente porque, una vez que empieza, es


muy rápida. Para hacernos una idea, si δ 2 η “ 1 y }g0 }2 “ 10´1 , entonces
}g1 }2 ď 10´2
}g2 }2 ď 10´4
}g3 }2 ď 10´8
}g4 }2 ď 10´16
Cuatro iteraciones bastan para reducir el error por debajo de la unidad de redondeo
para la doble precisión.

Si A fuera hermı́tica, entonces también lo serı́an cada una de las Ak (Recordemos


que Ak “ Q˚k´1 Ak´1 Qk´1 ). En particular tendrı́amos que hk “ gk , de modo que
podemos reemplazar η por }gk }2 y la acotación serı́a

}gk`1 }2 ď δ 2 }gk }32 .

Este tipo de convergencia se llama cúbica.

Observaciones 10.15 El análisis de la convergencia que hemos hecho es local; esto


es, se supone que gk es suficientemente pequeño (o, equivalentemente, µk suficien-
temente próximo a un valor propio). No hay teoremas para la convergencia global
del algoritmo QR aplicables a cualquier matriz. El comportamiento tı́pico del al-
goritmo 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 rápida. Para el cálculo
de los siguientes valores propios se necesitan cada vez menos iteraciones. La razón
de esta última caracterı́stica del comportamiento del algoritmo QR se puede expli-
car, al menos parcialmente, por la relación entre este algoritmo y el del método de
iteración ortogonal o simultánea que no abordaremos en este curso.
10.6 Consideraciones finales 261

10.6. Consideraciones finales

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

También podría gustarte