You are on page 1of 36

Cap

tulo 10

El problema de valores propios

10.1.

Introduccin
o

El objetivo de este cap


tulo es estudiar los algoritmos ms importantes para calcular
a
los valores propios de matrices generales; es decir, matrices que no son simtricas
e
o herm
ticas. Los algoritmos que veremos aqu son aplicables tambin a matrices

e
simtricas y herm
e
ticas pero para stas hay, adems, otros algoritmos espec
e
a
cos.

En Algebra Lineal Numrica se suele hablar de algoritmos directos y de algoritmos


e
iterativos para distinguir entre los algoritmos que producen el resultado deseado
tras un nmero nito de iteraciones (algoritmos directos como los de Gauss o QR)
u
y aquellos que tienen como objetivo la construccin de una sucesin de objetos
o
o
que converge al resultado deseado. Como veremos enseguida hay una razn muy
o
poderosa para que los algoritmos para el clculo de valores y vectores propios sean
a
del segundo tipo. Y siendo las cosas as se habla de mtodos directos e iterativos para

e
el clculo de valores y vectores propios con un signicado diferente a los anteriores.
a
Los primeros buscan obtener todos los valores propios y (opcionalmente) los vectores
215

216

El problema de valores propios

propios; es decir, la forma de Schur de la matriz. Los mtodos iterativos tratan de


e
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 mtodos
e
directos y el Mtodo de las Potencias el de los mtodos iterativos. En este Cap
e
e
tulo
trataremos los mtodos iterativos.
e

10.2.

El mtodo de las potencias


e

El objetivo del mtodo de las potencias es calcular un vector propio de una matriz
e
dada A Fnn . Es extremadamente simple: Dado un vector no nulo x Fn se construye la sucesin tAk xu, k  1, 2, . . .. Esta sucesin de vectores puede no converger
o
o
a un vector, pero frecuentemente la sucesin de los subespacios generados por sus
o
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 buscar un subespacio propio de A y despus escoger un vector propio particular; por
e
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 dimensin d se le llama Grasso


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

Fn : S subespacio de dimensin du
o

Para poder hablar de convergencia de subespacios, debemos dotar a Grd pFn q de una
estructura topolgica. Hay dos formas clsicas de hacerlo que producen la misma
o
a
topolog denir una distancia entre subespacios, llamada distancia gap, o identia:
car el conjunto de subespacios de dimensin d con un conjunto cociente de matrices
o
y denir en ste la topolog cociente. Aunque la primera forma de proceder es ms
e
a
a
apropiada para el anlisis numrico porque proporciona cotas cuantitativas en el
a
e
anlisis del error, es tambin la ms larga. Como, adems, no haremos un anlisis
a
e
a
a
a
del error muy riguroso, adoptaremos la segunda aproximacin, que es ms rpida.
o
a a

10.2 El mtodo de las potencias


e

217

Dado un subespacio S de dimensin d en Fn y dada una base tx1 , . . . , xd u, llamao



$
remos matriz base de S a la matriz X  x1 xd . Las matrices base de los
subespacios de dimensin d tienen la particularidad de ser matrices de tamao n d
o
n
y de rango d. Y toda matriz con estas propiedades genera un subespacio de dimensin d. Pero puede haber ms de una matriz n d de rango d que genere el mismo
o
a
subespacio: todas las matrices base deben estar relacionadas mediante una matriz
de cambio de base. Es decir, X1 , X2 Fnd generan el mismo subespacio de dimensin d si y slo si rang X1  rang X2  d y existe una matriz invertible P Fdd
o
o
tal que X1  X2 P . Ahora bien, la relacin X1  X2 si y slo si existe P Fdd
o
o
tal que X1  X2 P es una relacin de equivalencia en el conjunto Mn,d pFq de las
o
matrices n d de rango d con elementos en F. Y cada subespacio de dimensin d
o
puede identicarse con una clase de equivalencia. As identicaremos
,
Grd pFn q 
M

Mn,d pFq
Gld pFq

pFq

n,d
donde Gld pFq representa el conjunto de clases de equivalencia por la relacin que
o
acabamos de denir. En concecuencia, dada una matriz X Mn,d pFq denotaremos
por X 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 topolog relativa. En este caso, U Mn,d pFq es abierto en Mn,d pFq si lo es
a
en Fnd . Con esta topolog en Mn,d pFq podemos dotar a Grd pFn q de la topolog
a
a
Mn,d pFq
cociente en Gld pFq : Si
: Mn,d pFq
X

GrdpFnq
X

es la proyeccin cannica, U Grd pFn q es abierto si y slo si 1 pU q es abierto en


o
o
o
n
Mn,d pFq. As pues, la topolog de Grd pF q es la topolog ms na que hace de

a
a a
una aplicacin continua. Tenemos adems
o
a
Lema 10.1 es una aplicacin abierta.
o
Demostracin.- Hay que probar que si U Mn,d pFq es abierto entonces pU q
o
es abierto en Grd pFn q. Y, de acuerdo con la denicin de la topolog denida
o
a
n
1 p pU qq es abierto en Mn,d pFq. Ahora bien, Y
en Grd pF q, esto signica que

218

El problema de valores propios

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


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

Y  X para

U y P GldpFqu

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


existe un r 0 tal que si }X Y } r entonces Y 1 p pU qq. Tomamos, como
norma, cualquier norma de matriz y sea X 1 p pU qq. Entonces XP U para
alguna matriz P Gld pFq. Como U es abierto, existe s 0 tal que si }XP Z } s
entonces Z U. Sea
s
0r
}P }
y supongamos }X Y } r. Como }XP Y P } }X Y }}P } resulta que }XP
Y P } s; por lo que Y P U. Es decir, Y 1 p pU qq tal y como se deseaba
demostrar.
Hay algunas propiedades topolgicas importantes de Grd pFn q que utilizaremos pero
o
que no vamos a demostrar. Son las siguientes:

(i) Si Mn,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 tamao d d entonces Mn,d pFq{ Gld pFq y Mn,d pFq{Ud pFq son
n

homeomorfos. Se entiende que Mn,d pFq est dotado de la topolog relativa


a
a

como subconjunto de Mn,d pFq y Mn,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 Mn,d pFq estn relacionadas si y slo si


a
o
n,d pFq{Ud pFq se
existe U Ud pFq tal que Q2  Q1 U . El espacio cociente M
supone dotado con la correspondiente topolog cociente.
a

La prueba de que Mn,d pFq{ Gld pFq y Mn,d pFq{Ud pFq son homeomorfos se puede
obtener como consecuencia de que los factores Q y R en la factorizacin QR
o
de A (recordemos que por ser A de rango completo es unica) son funciones

continuas de A.

(ii) Si V

Mn,dpFq entonces
r r
1 p pV qq  tQZ : Q V y Z Ud pFqu,

r
y se demuestra igual que en el Lema 10.1 que es una aplicacin abierta.
o

10.2 El mtodo de las potencias


e

219

(iii) Ya hemos dicho que a Grd pFn q se le puede dotar de una estructura de espacio
mtrico con la llamada mtrica gap. Somos ahora un poco ms precisos en
e
e
a
n
este punto: Dados dos subespacios S1 , S2 Grd pF q se dene la distancia gap
entre S1 y S2 como
pS1 , S2 q  }P1 P2 }2
siendo Pi la proyeccin ortogonal sobre Si . Esta denicin es una generalizacin
o
o
o
de un hecho bastante natural para subespacios de dimensin 1. Si dim S1 
o
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 dene una mtrica.


e
En cualquier caso, Grd pFn q con la topolog derivada de la mtrica gap y
a
e
n,d pFq{Ud pFq son homeomorfos. La
los espacios cocientes Mn,d pFq{ Gld pFq y M
demostracin de este resultado tampoco es trivial.
o
(iv) Como todo espacio mtrico es Hausdor, Grd pFn q es Haussdor.
e

(v) Se demuestra fcilmente que Mn,d pFq es cerrado y acotado; por lo tanto coma
pacto (por ser subespacio de Fnd y F  R o C). Como la proyeccin cannica
o
o
r
: Mn,d pFq

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

Mn,d F
Ud F

El siguiente resultado muestra que la convergencia de sucesiones de subespacios


puede estudiarse a partir de la convergencia de matrices bases de los mismos.
Teorema 10.2 Sea tSk uk0,1,2,... Grd pFn q una sucesin de subespacios y S
o
Grd pFq. Sea X 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 slo si para cada k  0, 1, 2, . . . existe una
o
matriz invertible d d Pk tal que Xk Pk X.
Demostracin.- La demostracin es elemental. Supongamos Sk S y sea UX un
o
o
entorno abierto de X. Como es abierta VS  pUX q es un entorno abierto de S y
como Sk S, existe un nmero natural N tal que si k N entonces Sk VS . Dado
u
que VS  pUX q, para cada k N existe una matriz Yk UX tal que Sk  Yk .
Es decir, para cada k N existe una matriz invertible Pk tal que Xk Pk UX . Esto
signica que Xk Pk X.

220

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 UX pero VS  pUX q. Por lo tanto, para k N se tiene que Sk  pXk Pk q
VS . Es decir, Sk S.
r
Usando que es abierta, la demostracin del siguiente resultado es igual que la del
o
Teorema 10.2

Teorema 10.3 Sea tSk uk0,1,2,... Grd pFn q una sucesin de subespacios y S
o

Grd pFq. Sea Q Mn,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 slo si para cada
o
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 Mn,d pFq y A Fnn una matriz tal que rangpAk X q  d
para todo k  1, 2, . . .. Si la sucesin de subespacios t Ak X u converge, lo hace a
o
n
un subespacio S Grd pF q que es A-invariante.
Demostracin.- Supongamos que Ak X S. Como rangpAk X q  d para
o
cada k 0 el subespacio Ak X Grd pFn q. Ahora bien, Grd pFn q es un espacio
compacto y Hausdor, por lo tanto cerrado. Si Ak X converge debe hacerlo
a un subespacio de Grd pFn q. Veamos que, adems, ste debe ser A-invariante. En
a e
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 Ak1 X AY . Pero por hiptesis Ak1 X Y . Como Grd pFq
o
es Haussdorf, el l
mite es unico. Por lo tanto, AY  Y  S. Ahora es fcil

a
deducir que AS S. En efecto, si x S entonces x  Y y Ax  AY AY 
S.

10.2 El mtodo de las potencias


e

10.2.2.

221

El algoritmo del mtodo de las potencias


e

Aplicamos el Teorema 10.4 al mtodo de las potencias.


e

Corolario 10.5 Sea A Fnn y x Fn un vector no nulo. Si la sucesin de subeso


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

Demostracin.- En primer lugar, si Ak x y con y $ 0 entonces Ak x $ 0


o
para todo k  1, 2, . . .. Por el Teorema 10.4 y es A-invariante, lo cual signica
que Ay y . Es decir, Ay  y para algn F. Por lo tanto, y es un vector
u
propio de A asociado al valor propio .

Ntese que de acuerdo con la demostracin del corolario, si A y x son reales y


o
o

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 Fnn y q Fn un vector unitario. Si la sucesin de subeso


k
A 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 mtodo de las potencias cuya primera versin es la
e
o
siguiente:

222

El problema de valores propios

Mtodo de las Potencias (Primera Versin)


e
o
Dada A Rnn
Paso 1: El
jase x0 Fn1 (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
(vector propio unitario aproximado)
q j 1 
xj 1

j 1  qj 1 Aqj 1 (valor propio aproximado)


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

qi

A
 }Aiqq0}

0 2

Ak q0
Es decir, el algoritmo construye la sucesin
o
}Ak q0}2 del Corolario 10.6. Por
lo tanto, si esta sucesin converge lo hace a un vector propio unitario de A. No
o
obstante, esta sucesin puede no converger y sin embargo s hacerlo la sucesin
o

o
Ak q0
de subespacios
}Ak q0}2 . Esto es lo importante. En tal caso, de acuerdo con
el Corolario 10.6, obtendremos un subespacio propio de A como l
mite.
2. Se usa provisionalmente la expresin hasta convergencia para indicar que,
o
en caso de que la sucesin de subespacios converja, la rutina for se realio
zar un nmero suciente de veces. Ms adelante estudiaremos un criterio de
a
u
a
terminacin de esta rutina.
o

10.2 El mtodo de las potencias


e

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 .

u
4. Con cada vector qj se calcula qj Aqj que es un nmero en F. Si qj fuera un
Aqj ser un valor propio exacto. En efecto:
a
vector propio exacto entonces qj
Aqj

 qj qjAqj  qjqj 

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


o
j  q Aqj es, por continuidad, un nmero prximo a un valor propio de A.
u
o

j
Por eso le llamamos valor propio aproximado. Adems, si A es real y x0 es
a
real, entonces todo se realiza en aritmtica real. Es decir, los vectores y valores
e
propios aproximados calculados son reales.
5. An cuando la sucesin qj no converja, si qj converge lo hace a un subesu
o
pacio propio y los vectores qj seguirn siendo vectores propios aproximados.
a
En consecuencia, si qj converge, la sucesin j converger a un valor proo
a
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 aritmtica en punto otante que se utilice) de A. Pero
e
dado que los vectores propios pueden cambiar de direccin, los criterios para
o
terminar el algoritmo debern tener en cuenta tanto a los vectores propios
a
como a los valores propios.

10.2.3.

Anlisis de la convergencia del mtodo de las potena


e
cias

La cuestin ahora es establecer condiciones sucientes lo ms amplias posible sobre


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

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

(10.1)

224

El problema de valores propios

Entonces qj v1 si y slo si 1 $ 0. Ms an, en tal caso, para j


o
a u
0, 1, 2, . . . existen nmeros complejos zj de mdulo 1 tales que
u
o

}zj qj v1}2 
Recurdese que la expresin }zj qj
e
o


2 j
O .

v1}2 


2 j
O 1 signica que para j sucien-

temente grande existe una constante positiva K tal que

}zj qj v1}2

j
2
K .

1

Por lo tanto, la segunda parte del Teorema nos dice que, cuando hay convergencia,
4 B
2 j
sta se produce a la misma velocidad a la que la sucesin 1 converge a 0.
e
o
Demostracin.- Es fcil ver que si Avi  i vi entonces Aj vi  j vi y, en conseo
a
i
cuencia,
Aj q0  1 Aj v1 n Aj vn  1 j v1 n j vn .
1
n
Si 1
As j

j
$ 0, como 1 $ 0 porque |1| |2| 0, podemos denir j  }A q0j}2 .

$ 0 y recordando que qj 
j qj

 v1



Como por hiptesis 2
o
1

2
1

1 1

Aj q0
}Aj q0}2 tenemos que

2
1

j

1, tenemos
concluimos que qj v1 .

v2

n
1

que l j qj
m
j

n
1

j

vn .

(10.2)

v1 . Por el Teorema 10.2

Rec
procamente, supongamos qj v1 . Por el Teorema 10.2 existen nmeros
u
j tales que j qj v1 . Sea P la proyeccin sobre v1 a lo largo de v2 , . . . , vn .
o
Entonces P pj qj q P v1  v1 . Pero
P pj qj q 

j
j
j
j
P pAj q0 q 
P p1 j v1 2 j v2 n j vn q 
1
2
n
}Aj q0}2
}Aj q0}2
}Aj q0}2 11v1.

10.2 El mtodo de las potencias


e

225

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

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


o
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

}xj }2

La sucesin
o

j
2 2
v2

1 j 1

2 2

 1,

j
3 3
v3
2

1 j 1
3 3

j
n n
vn
2

1
1
j 
n n

j
3 3

j
n n

} }


2


1

} }

} }2 

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


o
una cota superior (por ejemplo, K puede tomarse el elemento de la sucesin correso
pondiente a j  0). As

j

}xj }2 K 2 .
1
Por otra parte, como j qj  v1 xj y l xj  0 tenemos que l j qj  v1 .
m
m
j

Adems, la norma es una funcin continua, de modo que l |j |


a
o
m

}qj }2  }v1}2  1. Ms an,


a u

A q0 2

1
j

1 1

1 j
A q0

 1 dado que

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


| |
|11|

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

226

El problema de valores propios

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


en adelante que j es sucientemente grande como para que se cumpla esta condicin.
o
j
Ahora si zj  |j | entonces |zj |  1 y
zj qj

1
pv1 xj q 1 1x } pv1 xj q 
|j |
}j2

}xj }2  v 1 x .
1
1
j
1 }xj }2
1 }xj }2

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

 1,
}zj qj v1}2 1 2}xjx}2}
} j 2
Para j sucientemente grande 1 }xj }2 1 , por lo que
2
}zj qj v1}2 4}xj }2.

Finalmente, como }xj }2

j
2
mos que
K , conclu

1

}zj qj v1}2

j
2
4K

1

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


La condicin suciente de convergencia del Teorema 10.7 requiere que la matriz
o
A tenga un valor propio dominante en mdulo y que para el vector inicial x0 la
o
componente de ste en la direccin del subespacio propio asociado a dicho valor
e
o
propio dominante sea no nula. Ambas condiciones son genricas (es decir, casi todas
e
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 condicin de tener
o
un valor propio dominante en mdulo es genrica salvo que la matriz sea real y tenga
o
e
valores propios complejos. Esta situacin la analizamos enseguida. En el supuesto
o
de que la matriz dada tenga un valor propio dominante en mdulo, la eleccin de
o
o
un vector x0 que no tenga componente nula en la direccin del correspondiente
o
subespacio propio no presenta problemas. Prcticamente cualquier vector cumple
a
esta condicin. Pensemos, por ejemplo, en la siguiente situacin: sabemos que alguien
o
o
2
ha dibujado dos vectores linealmente independientes en R con origen en p0, 0q pero
desconocemos qu vectores son. Qu posibilidades tenemos de dar un vector que sea
e
e
colineal con uno de ellos? Convendremos inmediatamente que es muy improbable

10.2 El mtodo de las potencias


e

227

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

0 + 2.0000i
1.0000 - 1.0000i
-3.0000

0
0
1.0000

tiene como valores propios:


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

228

El problema de valores propios

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


e
|1|  |2| |3| . Supongamos tambin que 1 $ 2 y que las componentes, 1
e
y 2 , de x en las direcciones de los vectores propios v1 y v2 no son cero. Supongamos
nalmente que 1  ei 2 , 0 2. Entonces
Ak x  k
2

eik 1 v1 2 v2 3

3
2

k

v3 n

n
2

k

vn

Recordemos ahora que en el mtodo de las potencias la convergencia que se analiza


e
es la de los subespacios generados por los vectores propios aproximados, Teorema
10.7, y no la de los vectores mismos. As pues, si existe un nmero racional p  t{@

u
s
2
2
k
o
tal que  p entonces hay t subsucesiones en la sucesin de subespacios A x
que convergen, cada una de ellas, a los subespacios generados por los vectores
e

2ksi
t

1 v1 2 v2 ,

En el ejemplo de arriba 1 i  e

2i
4

 1, . . . , t.

p1 iq, de modo que  2 y t  4.


4

Hay otros casos en los que no cumplindose la condicin (10.1) todav se puede
e
o
a
asegurar la convergencia. Recordemos que A es diagonalizable y supongamos que 1
es un valor propio semisimple pero 1  2   r |r1 | 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
Ak x  k
1

i vi

i 1

i r 1

i
1

k

vi

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


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

i 1

i vi

0) tales que k Ak x

i 1

i vi . Es decir,

Ak x

i 1

i vi

. Pero

Kerp1In Aq, de modo que ste es un vector propio de A asociado al


e

valor propio 1 .

10.2 El mtodo de las potencias


e

229

Un ultimo aspecto a considerar es el de la velocidad de convergencia cuando sta

e
se da. Tal y como comentamos antes de la demostracin del Teorema 10.7, la seo
gunda parte de ste nos indica que cuando se dan las condiciones de convergencia,
e
la velocidad a la que los subespacios Aj x0 convergen al subespacio propio correspondiente al valor propio de mayor mdulo es aproximadamente la misma que
o
2 j
la velocidad de convergencia de la sucesin . Si el cociente |2 |{|1 | es prximo
o
o
1
a 1 debemos esperar una convergencia lenta y cuanto ms pequeo sea esta razn,
a
n
o
la convergencia ser ms rpida. En cualquier caso se trata de una razn de convera a a
o
gencia lineal porque depende del cociente |2 |{|1 | y no de su cuadrado, o su cubo,
etc.
Cuando se pretende calcular un unico valor y vector propio, el mtodo de las potencia

e
puede ser una primer algoritmo para conseguir en unas pocas iteraciones un vector
y un valor propio aproximados que puedan servir como valores iniciales para otros
mtodos que convergen ms rpidamente.
e
a a

10.2.4.

Criterios de terminacin del algoritmo


o

Recordemos que al escribir el algoritmo fuimos muy imprecisos sobre cuando deber
a
terminar. Dec
amos que se ejecutar un bucle para calcular los sucesivos vectores
a
unitarios propios aproximados y los correspondientes valores propios aproximados
hasta la convergencia(cuando la haya). Ahora vamos a ser ms precisos.
a
Un posible criterio de nalizacin del algoritmo podr ser cuando la distancia entre
o
a
dos subespacios prximos propios aproximados sea menor que una cantidad previao
mente especicada. Para ello bastar almacenar los vectores propios aproximados
a
calculados en dos pasos sucesivos, digamos qj y qj 1 , y calcular la distancia entre
ellos utilizando la mtrica gap. Esto es sencillo porque sabemos que si Xj  qj
e
y Xj 1  qj 1 entonces
pXj , Xj 1 q  }PXj

PX }2
j 1

siendo PX la proyeccin ortogonal sobre X . Ahora bien como qj y qj 1 son unitarios


o
PXj

 qj qj

y PX j 1

 qj1qj1.

As pues, slo habr que modicar el algoritmo para que se ejecutara el clculo de qj

o
a
a
qj 1 q }2 fuera menor que una cantidad previamente especicada.
hasta que }qj qj
j 1

230

El problema de valores propios

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
e
siguiente resultado:
Proposicin 10.8 Sea A Fnn , x Cn un vector unitario y C. Sea r
o
Ax x. Existe una matriz E Cnn tal que E F  }r}2 y pA E qx  x.

Podemos interpretar este resultado como una especie de estabilidad hacia atrs.
a
En efecto, esta proposicin dice que los valores-vectores propios aproximados de A
o
son valores-vectores propios exactos de matrices prximas a A.
o
Demostracin.- La matriz E que se necesita es de rango 1:
o
E

 rx

Teniendo en cuenta que x es unitario tenemos que

pA E qx  Ax rxx  Ax r  x

porque r

 Ax x. Adems
a
}E }2  trpEE q  trprxxrq  trprrq  }r}2,
F
2

que es lo que se quer demostrar.


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

}E }F  }r}2
}A}F }A}F

El clculo del residuo r es muy fcil en el proceso que dene el algoritmo de las
a
a
}F
potencias y consideraremos obtenida la convergencia cuando el error relativo }E}F
}A
sea menor que una cantidad predeterminada. Es decir, cuando hayamos calculado
r
un valor-vector propio exactos de una matriz A tan prxima a A como necesitemos.
o
Dado que puede no haber convergencia, habr que tomar las precauciones necesarias
a
por si el error relativo nunca alcanza a ser menor que la cantidad prejada.
En conclusin, jaremos un 0 y un nmero mximo de iteraciones y el algoritmo
o
u
a
terminar cuando el error relativo sea menor que o cuando se sobrepase el nmero
a
u
de iteraciones mximo.
a
Con todo esto en mente, la versin nal del algoritmo de las potencias es la siguiente:
o

10.3 El mtodo de iteracin inversa


e
o

231

Mtodo de las Potencias (Versin Final)


e
o
Datos: A Fnn , x0 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  Ax
(siguiente potencia)
 x y
(valor propio aproximado)
res=}y x}2
(residuo)
y
(normalizacin)
o
x
}y}2
iter=iter+1
end while

10.3.

El mtodo de iteracin inversa


e
o

El objetivo del mtodo de iteracin inversa es mejorar la velocidad de convergencia


e
o
del mtodo de las potencias y posibilitar la obtencin de un valor-vector propio
e
o
que no se tenga que corresponder necesariamente con el valor propio dominante. Se
parte de la siguiente observacin: si 0 es un valor propio de A Fnn y ppq 
o
pd d pd1 d1 p1 p0 es un polinomio cualquiera entonces pp0 q es un
valor propio de la matriz
ppAq  pd Ad pd1 Ad1 p1 A p0 In .
En efecto, si v es un vector propio de A para 0 entonces Av
Por lo tanto
ppAqv

 0v y Aj v  j0v.

 pdAdv pd1Ad1v p1Av p0v 


 pddv pd1d1v p10v p0v 
0
0
 pp0qv.
Es decir, v es tambin vector propio de ppAq para pp0 q. Se prueba de forma similar
e
que si ppAq es invertible entonces pp0 q1 es valor propio de ppAq1 y v es vector

232

El problema de valores propios

propio de esta matriz para dicho valor propio:

 pp0qv v  pp0qppAq1v pp0q1v  ppAq1v.


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

1


, . . . n

1


El mtodo de iteracin inversa es el mtodo de las potencias aplicado a la matriz


e
o
e
pIn Aq1 para algn nmero . A este nmero se le suele llamar desplazamiento
u u
u
o precondicionamiento y se suele usar para aumentar la velocidad de convergencia
del mtodo de las potencias y para obtener un valor-propio particular de la matriz A
e
cuando se tiene un cierto conocimiento de ellos. Veamos como se hace. Supongamos
r
que por el medio que sea conocemos un valor propio aproximado 0  i de A (por
ejemplo con una o dos cifras decimales de precisin) pero i no tiene por qu ser el
o
e
r
valor propio dominante de A. Tomamos  0 de modo que  i y es muy
diferente de los dems valores propios de A. Esto signica que
a

| 1 | 

j 

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


aplicamos el mtodo de las potencias a pIn Aq1 tenemos que si |2 | |3 |
e
k

|n| entonces la velocidad de convergencia ser del orden de 2 , tanto
a
1
ms grande cuanto ms prximo est a i . En estas condiciones el mtodo de
a
a
o
e
e
1 proporcionar supuesto que
las potencias aplicado directamente a pIn Aq
a,
converja, un valor-vector propio de esta matriz; digamos, 1 y v1 . Pero, tal y como
hemos visto ms arriba v1 ser tambin un vector propio de A para i y podemos
a
a
e

usar este vector propio para calcular directamente el valor propio de A: i  v1 Av1 .
En otras palabras, modicaremos el mtodo de las potencias para, haciendo uso de
e
los vectores propios unitarios aproximados qj , obtener valores propios aproximados

de A en la forma qj Aqj .
Hay otra modicacin en la implementacin del mtodo de iteracin inversa respecto
o
o
e
o
del de las potencias. El primer paso en el algoritmo del mtodo de las potencias
e

10.3 El mtodo de iteracin inversa


e
o

233

consiste en calcular qj 1  Aqj . Si lo aplicamos directamente a la matriz pIn Aq1


habr que hacer qj 1  pIn Aq1 qj . En vez de calcular la inversa, lo que se hace
a
es resolver el sistema
pIn Aqqj1  qj .
Ambas operaciones son tericamente equivalentes pero la segunda requiere menos
o
operaciones. De hecho, genricamente In A admite una descomposicin LU que
e
o
conviene calcular de una vez por todas y usar slo sustituscin hacia delante y hacia
o
o
atrs para resolver el sistema pIn Aqqj 1  qj . En nuestra implementacin del
a
o
algoritmo, y puesto que practicaremos con MATLAB, dejaremos que sea ste quien
e
se encargue de resolver este sistema. Para ello usaremos la orden qj 1  pIn Aqzqj .
Se podr argumentar que en cualquier caso la mariz In A est tanto ms cerca
a
a
a
de ser singular cuanto ms cerca de un valor propio exacto de A, y que esto hace
a
que los errores de redondeo se magniquen 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?
e
La respuesta a esta cuestin est en el anlisis del error en el algoritmo que se emplee
o
a
a
para resolver los sistemas linales. Si este algoritmo es estable hacia atrs (como por
a
ejemplo lo es para casi todas las matrices el de la eliminacin gaussiana), la solucin
o
o
calculada para el sistema (pIn Aqy  x es la solucin exacta de algn sistema
o
u
pIn A E qy  x conde el error relativo }E }F {}A}F es del orden del epsilon de
la mquina. Si el valor-vector propio (exacto) que estamos buscando est bien
a
a
condicionado, ser muy parecido al de pIn A E q y la sucesin de valores-vectors
a
o
propios calculados seguir convergiendo hacia una valor-vector propio de In A.
a
Dicho de otra manera ms intuitiva, la mayor parte de las veces la propagacin del
a
o
error juega a nuestro favor porque cuando est muy cerca de un valor propio de
a
A, el vector y se calcula, en efecto, de manera inexacta pero, tal y como vimos en
la demostracin del Teorema 10.7,
o

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


n
1
2
Esto signica que cuanto ms prximo est a 1 mayor ser la componente de
a
o
e
a
k q0 en la direccin de v1 , de manera que los errores en el redondeo redundan
pIn Aq
o
en una potenciacin de la direccin en la que queremos que converjan los subespacios
o
o
propios aproximados. De hecho, si y 1 son casi iguales, una sola iteracin nos
o
proporciona un vector que es ya casi un vector propio porque la proyeccin espectral
o

234

El problema de valores propios

de ste sobre el subespacio v2 , . . . , vn


e
proyeccin espectral sobre v1 .
o

es insignicante en comparacin con la


o

En resumen, el algoritmo para el mtodo de iteracin simultnea es el siguiente:


e
o
a

Mtodo de Iteracin Inversa (Primera Versin)


e
o
o
Datos: A Fnn , x0 Fn , , 0 e itermax
Objetivo: calcular un par p, xq valor-vector propio aproximado de A.
x

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

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


nmero de operaciones evitando sucesivas multiplicaciones de A por x, que es la
u
parte ms costosa. Concretamente, en la notacin del algoritmo representamos con
a
o
el mismo s
mbolo x dos nmeros diferentes en las dos primeras l
u
neas del bucle
while. Vamos a mantener el s
mbolo x para el primero; i.e.
y
p
y con x su actualizacin:
o

De esta forma

 pIn Aq1x
p
x

y
}y}2 .

p
pIn Aqx  pIn y Aqy  }yx}
}}
2

10.4 El mtodo del cociente de Rayleigh


e

Pongamos w

 }yx}

235

. Entonces

p p
p
p
 x Ax  x pIn Aqx 

con

p
p p
 x pIn Aqx  x w.

Finalmente el residuo es
r

 x Ax  pIn Aqx x  w x.
p
p
p
p
p

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

Mtodo de Iteracin Inversa (Versin Final)


e
o
o
nn
n
Datos: A F , x0 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

10.4.

itermax

El mtodo del cociente de Rayleigh


e

El mtodo del cociente de Rayleigh es exactamente igual que el de iteracin inversa


e
o
pero con un desplazamiento que var en cada iteracin. La cuestin es cmo elegir
a
o
o
o

236

El problema de valores propios

el desplazamiento para hacer que el residuo sea lo ms pequeo posible en cada


a
n
iteracin? La respuesta es sencilla porque se trata de calcular la solucin de un
o
o
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 iteracin. Puesto que es un valor propio aproximado (que est variando en
o
a
cada iteracin) bien podemos hacer uso de l en cada iteracin. La pregunta es cul
o
e
o
a
es el valor de que hace m
nimo el residuo? Nos preguntamos por el problema de
hallar
m }x Ax}2
n

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


vector de trminos independientes es Ax (tambin n 1). Recordemos que una
e
e
forma resolver el problema de m
nimos cuadrados m yFn }By c}2 con B Fmn
n
m1
y c F
es resolviendo el sistema de ecuaciones normales: B By0  B c. En
nuestro caso el sistema de ecuaciones normales es
x x0
Por lo tanto
0

 xAx

Ax
 xxx

es el nmero que minimiza el residuo.


u
Denicin 10.9 Para A
o
nmero
u

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


Rpxq 

x Ax
x x

As pues, lo que hemos demostrado ms arriba es

a
Teorema 10.10 Si A Fnn y x Fn entonces el cociente de Rayleigh de A en x
es el nmero donde se alcanza el mnimo del residuo }x Ax}2 . Es decir
u

m }x Ax}2
n

 }Rpxqx Ax}2.

10.4 El mtodo del cociente de Rayleigh


e

237

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


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

Mtodo del cociente de Rayleigh


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

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

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

itermax

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


Rpxq en cada iteracin. Para verlo basta deshacer los cambios que hicimos en el
o
algoritmo de iteracin inversa. En efecto, al igual que en aquel caso denotamos con
o
p p
x y los valores actualizados y con x y los que entran en la iteracin. Debemos
o
p  Rpxq  x Ax. Para ello, en la iteracin  . Entonces
p
ver que
p
p p
o
p

 }y } }yx}  y pIyn Aqy 


y 2
y
2
y y y Ay
p p
 yy yy  xAx.

 x w
p

238

El problema de valores propios

En los ejercicios veremos que, en general, la convergencia del mtodo del cociente de
e
Rayleigh sigue siendo lineal, pero si la matriz es simtrica es, al menos, cuadrtica.
e
a
Ello es debido al siguiente resultado, que se conoce con el nombre de propiedad
estacionaria de los vectores propios de las matrices simtricas.
e
Teorema 10.11 Sea A Rnn una matriz simtrica. Entonces p0 , x0 q es un valore
vector propio de A si y slo si x0 es un punto estacionario o crtico de Rpxq y
o

Rpx0 q  0 . Esto es,


Rpx0 q  0 y Rpx0 q  0
donde

Rpxq es el gradiente de Rpxq.

Demostracin: Debemos demostrar que p0 , x0 q es un valor-vector propio de A si


o
fR px q  0, i  1, . . . , n y Rpx q  . En el caso real Rpxq  xT Ax .
y slo si
o
0
0
f xi 0
xT x
T
fpx Axq y luego haremos lo mismo con xT x. En primer lugar
Calculamos primero
f xi
x Ax 
T

ajk xj xk ,

j,k 1

as que

n
n
fpxT Axq  a x a x .
ik k
ji j
f xi
j 1
k1
Como A es simtrica, aji  aij y entonces
e
n
fpxT Axq  2 a x  2pAxq
ij j
i
f xi
j 1

siendo pAxqi la i-sima componente del vector Ax.


e
De la misma forma xT x 

x2 y
j

j 1

fpxT xq  2x .
i
f xi

10.5 El algoritmo QR con desplazamiento expl


cito

239

Por lo tanto

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


i
i
f xi
pxT xq2
xT x
xT x
2
2
 xT x ppAxqi Rpxqxiq  xT x pAx Rpxqxqi

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


e
claro que Rpx0 q  0 y Rpx0 q  0 si y slo si Ax0 0 x0  0; i.e., p0 , x0 q es un
o
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 simtrica A y un vector q0 el algoritmo del
e
cociente de Rayleigh converge, lo hace, a partir de un cierto momento, cuadrticaa
mente.
Demostracin: Ya sabemos que si el algoritmo del cociente de Rayleigh converge, lo
o
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 sucientemente 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 sucientemente grande,
cuadrticamente (al menos).
a

10.5.

El algoritmo QR con desplazamiento expl


cito

Todos los algoritmos tienen como objetivo ultimo reducir una matriz dada A

Fnn , a una forma de Schur (real o compleja) para extraer de ah la informacin

o
correspondiente a los valores y vectores propios. La nalidad de los que hemos visto

240

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 demostracin del Teorema de Schur, una vez obtenidos,
o

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

&
AQ  1 b .
Q
0 B
A continuacin se aplica el algoritmo correspondiente a B y as sucesivamente. Este
o

proceso de ir aplicando el algoritmo a matrices cada vez ms pequeas se llama dea


n
acin. Si se dan las condiciones apropiadas (valores propios con mdulos diferentes
o
o
y proyeccin espectral no nula sobre los correspondientes subespacios propios) el reo
sultado de este proceso de deacin es una matriz triangular superior unitariamente
o
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 versin del
o
algoritmo QR con desplazamiento expl
cito:

Dada A Fnn
A0  A
for k  0, 1, 2, . . . hasta convergencia
El
jase un desplazamiento k
Calclese la descomposicin QR de Ak k In : Ak k In
u
o
Revirtanse los factortes: Ak1  Rk Qk k In
e
end for

 Qk Rk

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


o
dada A  A0 calculando la factorizacin QR de Ak k In (para un k que se
o
elige expl
tamente en cada paso) y deniendo la siguiente matriz de la sucesin,
o
Ak1 , multiplicando los factores Q y R al revs y aadindo el desplazamiento. Por
e
n e
qu hacer tal cosa produce algo signicativo en relacin con el clculo de los valores
e
o
a
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 Unin
o
Sovitica. Se tard muchos aos, sin embargo, en comprenderlo bien. La razn de por
e
o
n
o

10.5 El algoritmo QR con desplazamiento expl


cito

241

qu este algoritmo calcula valores y vectores propios de A es, esencialmente, porque


e
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 iteracin simultnea (u ortogonal)
o
a
que es una generalizacin del algoritmo de las potencias. En este curso slo veremos
o
o
la relacin entre el algoritmo QR con desplazamiento expl
o
cito y el del cociente de
Rayleigh. Pero antes de nada es importante observar que todas las matrices en la
sucesin tAk u que construye el algoritmo son unitariamente semejantes.
o
Lema 10.13 Las matrices Ak que construye el algoritmo QR con desplazamiento
explcito son todas unitariamente semejantes.

Demostracin: Para un k  0, 1, 2, . . . arbitario, supongamos dada Ak y veamos


o
que Ak1 es unitariamente semejante a Ak . Esto demuestra que todas las matrices
de la sucesin son unitariamente semejantes. Sea Ak k In  Qk Rk la factorizacin
o
o
QR de Ak k In .
Ak1




Rk Qk k In  Q pAk k In qQk k In
k
Q Ak Qk k Q Qk k In  Q Ak Qk ,
k
k
k

pRk  QpAk k Inq


k

por lo que Ak1 y Ak son unitariamente semejantes.

 1, 2, . . .
Ak  Q1 Ak1 Qk1  Q1 Q2 Ak2 Qk2 Qk1   Q1 Q A0 Q0 Qk1
k
k
k
k
0

Este Lema tiene una consecuencia importante: Para cada k

Es decir, el algoritmo QR no slo proporciona una sucesin de matrices unitariao


o
mente semejantes a A sino que nos da tambin la matriz unitaria que conecta A
e
con cada una de las matrices de la sucesin: es el producto de los factores Q en la
o
factorizacin QR de Ak k In . Si para algn valor de k la matriz Ak es (casi) una
o
u
forma de Schur de A tendremos adems la matriz unitaria que convierte A en dicha
a
(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

242

El problema de valores propios

realidad el algoritmo QR aplica el mtodo del cociente de Rayleigh para calcular


e
vectores propios por la izquierda en vez de hacerlo para calcular vectores propios
por la derecha. Cmo ser el mtodo del cociente de Rayleigh en este caso? Igual
o
a
e
que el ya visto pero operando con vectores las: Dada A, un vector la inicial x el
0
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 iteracin
o
anterior,

2. Resolver el sistema yj pA j In q  x1 ,
j
3. Normalizar xj

 }yyj}

(vector propio aproximado por la izquierda), y

j 2

4. Calcular el nuevo cociente de Rayleigh j


ximado)

 xAxj (nuevo valor propio aproj

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


%
p
quierda p, q q de A. Con este q podemos formar una matriz unitaria Q  Q q
de forma que (vase la Seccin 9.4 del Cap
e
o
tulo 9 sobre vectores propios por la
izquierda)

&
AQ  B b
Q
0
Ahora proceder
amos por deacin aplicando el algoritmo por las a B y as suceo

sivamente.
Supongamos ahora que hacemos una sola iteracin del algoritmo del cociente de
o
. El desplazamiento inicial ser
Rayleigh por las con vector inicial x0  en
a
e Aen
n

 .

Sea q el vector unitario que obtenemos al aplicar esta iteracin (quitamos los sub
o
ndices porque slo hablamos de una iteracin y por comodidad):
o
o
q

A I 1
 }eenppA I nqq1}
n

(10.3)
2

Analicemos una iteracin del algoritmo QR con el mismo desplazamiento


o
Calculamos la descomposicin QR de A In :
o
A In

 QR.

 e Aen.
n

10.5 El algoritmo QR con desplazamiento expl


cito

Entonces
y

Q
e Q
n

243

 RpA Inq1

 e RpA Inq1  rnne pA Inq1.


n
n

r
Ahora bien, e Q es la ultima la de Q . Denotmosla por q . Este vector es unitario

e
n
y acabamos de ver que
r
q  rnn e pA In q1 .
n

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

u
reales positivos)
1
rnn 
}enpA Inq1}2 ,
y en consecuencia, comparando con (10.3)
q  q.

En palabras: la ultima la de la matriz Q en la factorizacin QR de A In con

o
 e Aen coincide con el vector propio por la izquierda unitario aproximado, q, de
n
A que calcula el mtodo del cociente de Rayleigh cuando se emplea e como vector
e
n
inicial en la primera iteracin . Es decir,
o


r
Q Q q

(10.4)

El valor propio aproximado que nos proporciona el cociente de Rayleigh ser 


ar
q Aq y el residuo (recordemos que estamos calculando vectores propios por la izquierr
da) r  q A q . Estos clculos concluyen la iteracin del mtodo del cociente
a
o
e
de Rayleigh.
Respecto al algoritmo QR con desplazamiento, la segunda y ultima etapa consiste

en calcular la siguiente matriz en la sucesin revirtiendo los factores Q y R de la


o
factorizacin QR de A y sumando el desplazamiento:
o
p
A  RQ In

 QpA InqQ In  QAQ.

Escribiendo Q como en (10.4)


p
A

r
Q

&

r
A Q q

r
r r
Q AQ Q Aq
r
q AQ q Aq

'

244

El problema de valores propios

r
r
Ahora bien, q Aq  y q A  r q . Por ello, teniendo en cuenta que q es
r
ortogonal a todas las columnas de Q,
r
r r r
r
q AQ  r Q q Q  r Q

r
r
rr
}qAQ}2  }rQ}2  rQQr.
(10.5)
2
2
r
Nuestro objetivo es demostrar que }q AQ}2  }r }2 . Para ello debemos recordar

r
el Teorema 10.10. De acuerdo con este Teorema, es la solucin del problema de
o
m
nimos cuadrados consistente en calcular el nmero complejo, , que hace m
u
nima
la distancia q q A. Es decir,
r
}r}2  }q qA}2  mC }q qA}2.
n

Recordemos tambin (Teorema 8.3 del Cap


e
tulo 7) que para el problema de m
nimos
cuadrados mn }By c}2 , y0 es una solucin si y slo si By c pIm B qu . En nuestro
n
o
o

y C

r
caso, debe suceder que r  q q A pIm q qu o equivalentemente q r  0. Es
r
r
decir, r Im Q. Con esto en mente, podemos demostrar que }q AQ}2  }r }2 . En
efecto, por (10.5)
r
rr
}qAQ}2  rQQr,
2
rr
r
r
rr
pero QQ es la proyeccin ortogonal sobre Im Q y r Im Q; por lo tanto QQ r
o
AQ}2  r r  }r }2 tal y como desebamos demostrar. En denitiva
r
a
y }q
2
2
p
A

r
r r
Q AQ Q Aq
r
r
q AQ

r

'

r
r
y }q AQ}2  }r }2 siendo r   q A q es el residuo del algoritmo del cociente
de Rayleigh aplicado por las a la matriz A con vector inicial e . En conclusin
o
n

Teorema 10.14 Para una matriz A Fnn el algoritmo QR con desplazamiento


expl k  e Ak en produce una sucesin de matrices tAk uk0 tales que si pato
o
n

%
pk q  pk q
pk q
pkq es la ultima la de A , A 
ra k  0, 1, 2, . . ., an

an1 ann1 ann


k
k

pk1q

pkq pk1q

Q1 Ak1 Qk1 y qn
es la ultima la de Qk1 entonces pann , qn

q es el valork
vector propio unitario por la izquierda aproximados que produce el algoritmo del
cociente de Rayleigh aplicado a Ak1 con vector inicial e . Adems la norma del
a
n
%

pkq apkq
vector an1
nn1 es igual a la norma del residuo producido por el algoritmo
del cociente de Rayleigh.

10.5 El algoritmo QR con desplazamiento expl


cito

245

Este resultado nos indica que si el algoritmo del cociente de Rayleigh converge para
cito el
la matriz A con vector inicial e entonces usando como desplazamiento expl
n
elemento en la posicin pn, nq de la matriz obtenida en cada iteracin, el algoritmo
o
o
QR con estos desplazamientos produce una sucesin de matrices que converge a una
o
matriz con la forma


B c
0

&

siendo un valor propio de A. Adems , el vector formado por los elementos diaa
gonales de la ultima la de la matriz producida en cada iteracin tiene la misma

o
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 especicada. Una vez obtenido un vector
sucientemente pequeo sustituir
n
amos los elementos no diagonales de la ultima la

por cero y proceder


amos a deactar la matriz hasta obtener, si hay convergencia,
una matriz en forma de Schur. El proceso, adems, produce las matrices unitarias
a
de paso.
El algoritmo en cada etapa ser el siguiente:
a

Una etapa del algoritmo QR


Datos: A Fnn , 0 e itermax
Objetivo: Obtener una matriz T , semejante a A, cuyos elementos en la ultima

la 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
(factorizacin QR de T sIn )
o
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

246

El problema de valores propios

if iteritermax
T pn, 1 : n 1q  0
end if

10.5.2.

(para que quede bonito)

Anlisis de la velocidad de convergencia del algorita


mo QR

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


pk1q
pk q
una cota de }an }2 en trminos de }an }2 . Para no arrastrar los sub
e
ndices todo
p  Ak1 . La notacin ser similar al referirnos
el rato, vamos a poner A  Ak y A
o
a
a los diversos elementos y matrices relacionados con Ak y Ak1 . As pondremos
,
p In  RQ.
A In  QR y A
Consideremos A, Q y R particionadas como sigue:
A In
Entonces

p
A In

B In1
h
g

&

p
p
B In1
h

p
p

&

P f
e

&

S r
0

S r
0

&

&

 QR.

(10.6)

&

P f
.
e

(10.7)

p
El objetivo es acotar g en funcin de g.
o

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

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

 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

P e
f

&

&

B In1
h
.
g

10.5 El algoritmo QR con desplazamiento expl


cito

De aqu sacamos que  f h p q. Como | | 1, }e}2

y, por la desigualdad de Cauchy-Schwarz, |f h| }f }2 }h}2 :

247

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

|| }g}2}h}2 | |.
p
Finalmente de (10.7) obtenemos g  e . Poniendo todo junto y teniendo en cuenta,
otra vez, que }e}2 }g }2 conclu
mos
p
}g}2 2}h}2}g}2 | |}g}2,
2
o, con los sub
ndices restaurados,
2
}gk1}2 k }hk }2}gk }2 k |k k |}gk }2.
2

Notemos nalmente 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 (Ak1  Q Ak Qk ), de modo que }Ak }2  }A}2 . Pero
k

}hk }2 }hk }2 ||2  }Ak en}2 }Ak }2}en}2  }Ak }2.


2
2
2
2
2
2
En conclusin, existe un nmero real 0 tal que }hk }2 para todo k  1, 2, . . ..
o
u

Entonces

2
}gk1}2 k }gk }2 k |k k |}gk }2.
2

(10.8)

Lo primero que sugiere esta expresin es, tal y como ya hemos deducido al comparar
o
los algoritmos QR y cociente de Rayleigh, que el desplazamiento apropiado en cada
iteracin es k  k porque esta eleccin proporciona una cota de gk1 en trminos
o
o
e
del cuadrado de }gk }2 . En tal caso, la cota queda
2
}gk1}2 k }gk }2
2
Vamos a suponer que existe un nmero real 0 tal que para todo k  1, 2, . . .
u

}Sk 1}2 .

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


sucientemente pequeos.
n
En estas condiciones

}gk1}2 2}gk }2.


2

248

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 gk1 est acotada por una cantidad que es proporcional
a
al cuadrado de la norma de gk . Se dice que la sucesin t}gk }2 u converge cuadrticao
a
mente, al menos, a cero.

Tal y como ya hemos dicho la condicin }Sk 1 }2 se cumple para valores de gk


o
sucientemente pequeos, as que no podemos decir que la convergencia es siempre
n

cuadrtica. Al principio puede no serlo, pero llegar un momento en el que lo ser con
a
a
a
seguridad. Se dice que la convergencia del algoritmo QR es localmente cuadrtica.
a
La convergencia cuadrtica es muy conveniente porque, una vez que empieza, es
a
muy rpida. Para hacernos una idea, si 2  1 y }g0 }2  101 , entonces
a

}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 precisin.
o
Si A fuera herm
tica, entonces tambin lo ser cada una de las Ak (Recordemos
e
an
Ak1 Qk1 ). En particular tendr
que Ak  Qk1
amos que hk  gk , de modo que
podemos reemplazar por }gk }2 y la acotacin ser
o
a

}gk1}2 2}gk }3.


2

Este tipo de convergencia se llama cbica.


u
Observaciones 10.15 El anlisis de la convergencia que hemos hecho es local; esto
a
es, se supone que gk es sucientemente pequeo (o, equivalentemente, k sucienn
temente prximo a un valor propio). No hay teoremas para la convergencia global
o
del algoritmo QR aplicables a cualquier matriz. El comportamiento t
pico del algoritmo parece ser el siguiente: se consumen unas cuantas iteraciones en las que la
convergencia puede ser muy lenta o parecer, incluso, que no hay convergencia y en
un momento dado emp`
eza la convergencia de manera muy rpida. Para el clculo
a
a
de los siguientes valores propios se necesitan cada vez menos iteraciones. La razn
o
de esta ultima caracter

stica del comportamiento del algoritmo QR se puede explicar, al menos parcialmente, por la relacin entre este algoritmo y el del mtodo de
o
e
iteracin ortogonal o simultnea que no abordaremos en este curso.
o
a

10.6 Consideraciones nales

10.6.

249

Consideraciones nales

Hay muchas ms cosas que decir sobre el algoritmo QR. En particular, su relacin
a
o
con el algoritmo de iteracin simultnea, que es una generalizacin del mtodo de
o
a
o
e
las potencias, es muy importante porque sirve para establecer condiciones sucientes
de convergencia. Otro aspecto importante es la relacin entre el algoritmo QR y la
o
reduccin a forma Hessenberg y, en general, la implementacin prctica del algoritmo
o
o
a
QR (algoritmo QR con desplazamiento impl
cito). Tambin es importante la eleccin
e
o
de los desplazamientos y la reduccin a forma de Schur real cuando la matriz es real.
o
Genricamente las matrices complejas tienen valores propios distintos en mdulo,
e
o
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 reduccin a
e
o
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 aadir nuevos
n
desplazamientos a la lista de los ya conocidos. Sin embargo, por ahora no hay un
algoritmo universal eciente para todas las matrices.
Finalmente, los algoritmos para el clculo de los valores propios no terminan con
a
el algoritmo QR aunque ste sea el algoritmo de propsito general que ms se utie
o
a
liza. Para matrices con estructura existen algoritmos especiales. Por ejemplo, para
matrices simtricas o herm
e
ticas que son unitariamente diagonalizables adems del
a
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
ingls). Los algoritmos para el clculo de valores propios han sido y sigue siendo un
e
a
campo de mucha actividad investigadora.

250

El problema de valores propios