Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lec10 PDF
Lec10 PDF
10.1. Introduccion
215
216 El problema de valores propios
Los primeros buscan obtener todos los valores propios y (opcionalmente) los vecto-
res propios; es decir, la forma de Schur de la matriz. Los metodos iterativos tratan
de calcular un valor propio seleccionado y un vector propio, y de forma reiterada
llegar a encontrar, si es posible, todos ellos. El algoritmo QR es el paradigma de los
metodos directos y el Metodo de las Potencias el de los metodos iterativos. En este
Captulo trataremos los metodos iterativos.
analisis del error muy riguroso, adoptaremos la segunda aproximacion, que es mas
rapida.
Ahora, Mn,d pFq es un conjunto abierto de Fnd que podemos considerar dotado
de la topologa relativa. En este caso, U Mn,d pFq es abierto en Mn,d pFq si lo es
en Fnd . Con esta topologa en Mn,d pFq podemos dotar a Grd pFn q de la topologa
M pFq
cociente en Gln,d
d pFq
: Si
: Mn,d pFq GrdpFnq
X X
es la proyeccion canonica, U Grd pFn q es abierto si y solo si 1 pU q es abierto en
Mn,d pFq. As pues, la topologa de Grd pFn q es la topologa mas fina que hace de
una aplicacion continua. Tenemos ademas
1 p pU qq tXP : X P U y P P GldpFqu
Para demostrar que 1 p pU qq es abierto tenemos que ver que si X P 1 p pU qq
existe un r 0 tal que si }X Y } r entonces Y P 1 p pU qq. Tomamos, como
norma, cualquier norma de matriz y sea X P 1 p pU qq. Entonces XP P U para
alguna matriz P P Gld pFq. Como U es abierto, existe s 0 tal que si }XP Z } s
entonces Z P U. Sea
0r
s
}P }
y supongamos }X Y } r. Como }XP Y P } }X Y }}P } resulta que }XP
Y P } s; por lo que Y P P U. Es decir, Y P 1 p pU qq tal y como se deseaba
demostrar.
(iii) Ya hemos dicho que a Grd pFn q se le puede dotar de una estructura de espacio
metrico con la llamada metrica gap. Somos ahora un poco mas precisos en
este punto: Dados dos subespacios S1 , S2 P Grd pFn q se define la distancia gap
entre S1 y S2 como
pS1 , S2 q }P1 P2 }2
siendo Pi la proyeccion ortogonal sobre Si . Esta definicion es una generalizacion
de un hecho bastante natural para subespacios de dimension 1. Si dim S1
dim S2 1 entonces S1 x y S2 y , digamos, con x 0, y 0.
En este caso resulta (aunque no es trivial demostrarlo) que }P1 P2 }2 sen
siendo el angulo agudo que forman x, y. Es claro que en este caso pS1 , S2 q
sen define una metrica.
En cualquier caso, Grd pFn q con la topologa derivada de la metrica gap y
n,dpFq{UdpFq son homeomorfos. La
los espacios cocientes Mn,d pFq{ Gld pFq y M
demostracion de este resultado tampoco es trivial.
(v) Se demuestra facilmente que Mn,dpFq es cerrado y acotado; por lo tanto com-
pacto (por ser subespacio de Fnd y F R o C). Como la proyeccion canonica
n,dpFq pq
r:M p q es continua, Grd pF q es compacto.
Mn,d F n
Ud F
Teorema 10.2 Sea tSk uk0,1,2,... Grd pFn q una sucesion de subespacios y S P
Grd pFq. Sea X P Mn,d pFq una matriz base de S y, para k 0, 1, 2, . . . Xk una
matriz base de Sk . Entonces Sk S si y solo si para cada k 0, 1, 2, . . . existe una
matriz invertible d d Pk tal que Xk Pk X.
Teorema 10.3 Sea tSk uk0,1,2,... Grd pFn q una sucesion de subespacios y S P
Grd pFq. Sea Q P M n,dpFq una matriz base ortonormal de S y, para k 0, 1, 2, . . .
Qk una matriz base ortonormal de Sk . Entonces Sk S si y solo si para cada
k 0, 1, 2, . . . existe una matriz unitaria d d Zk tal que Qk Zk Q.
Teorema 10.4 Sea X P Mn,d pFq y A P Fnn una matriz tal que rangpAk X q d
para todo k 1, 2, . . .. Si la sucesion de subespacios t Ak X u converge, lo hace a
un subespacio S P Grd pFn q que es A-invariante.
Corolario
10.6 Sea A P Fnn y q P Fn un vector unitario. Si la sucesion de subes-
Ak q
pacios
}Ak q}2 converge a un subespacio y no nulo entonces y es un vector
propio unitario de A.
Este resultado es la base del metodo de las potencias cuya primera version es la
siguiente:
222 El problema de valores propios
xj 1 Aqj
1
xj 1
qj (vector propio unitario aproximado)
k xj 1 k
j 1 qj 1 Aqj 1 (valor propio aproximado)
end for.
A q0
Es decir, el algoritmo construye la sucesion
}Ak q0}2 del Corolario 10.6. Por
lo tanto, si esta sucesion converge lo hace a un vector propio unitario de A. No
obstante, esta sucesion
k puede no converger y sin embargo s hacerlo la sucesion
A q0
de subespacios
}Ak q0}2 . Esto es lo importante. En tal caso, de acuerdo con
el Corolario 10.6, obtendremos un subespacio propio de A como lmite.
j
Recuerdese que la expresion }zj qj v1 }2 O 2
significa que para j sufi-
1
}xj }2
v
|j | pv1 xj q pv1 xj q
1 1 1
1 } xj } 2 1 }xj }2 1 }xj }2
zj qj 1 1 xj .
que escogido un vector al azar, este sea colineal con uno de los vectores dados. De
la misma forma, si escogemos x0 al azar es casi seguro que su componente en la
direccion del subespacio propio asociado al valor propio dominante sea no nula. Una
buena practica consiste en NO tomar x0 un vector con estructura (por ejemplo,
x0 p1, 0, . . . , 0q) sino al azar.
Si la matriz tiene valores propios complejos aun cuando sus valores propios sean
distintos pueden tener igual modulo. Esto es claro si la matriz es real con valores
propios complejos, pero puede suceder, incluso, con matrices complejas. Por ejemplo,
la matriz
A =
1.0000 + 1.0000i 0 + 2.0000i 0
0 1.0000 - 1.0000i 0
0 - 1.0000i -3.0000 1.0000
>> eig(A)
ans =
1.0000
1.0000 + 1.0000i
1.0000 - 1.0000i
>> x0=rand(3,1)
x0 =
0.8147
0.9058
0.1270
e
2ksi
t 1 v1 2 v 2 , k 1, . . . , t.
ie p1 iq, de modo que 24 y t 4.
2i
En el ejemplo de arriba 1 4
Hay otros casos en los que no cumpliendose la condicion (10.1) todava se puede
asegurar la convergencia. Recordemos que A es diagonalizable y supongamos que 1
es un valor propio semisimple pero 1 2 r |r 1 | con r n
o 1 n con |n | 0 (el caso A diagonalizable y i 0 para i 1, . . . , n
implica que A 0). En estas condiciones
r
k
n
Ak x 1 k i
i vi i vi
i 1
i r 1
1
As pues, solo habra que modificar el algoritmo para que se ejecutara el calculo de qj
hasta que }qj qj qj 1 qj 1 }2 fuera menor que una cantidad previamente especificada.
Podemos interpretar este resultado como una especie de estabilidad hacia atras.
En efecto, esta proposicion dice que los valores-vectores propios aproximados de A
son valores-vectores propios exactos de matrices proximas a A. La demostracion se
deja como ejercicio.
}E }F }r}2
}A}F }A}F
El calculo del residuo r es muy facil 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 proxima a A como necesitemos.
Dado que puede no haber convergencia, habra que tomar las precauciones nece-
sarias por si el error relativo nunca alcanza a ser menor que la cantidad prefijada.
Con todo esto en mente, la version final del algoritmo de las potencias es la
siguiente:
10.3. EL METODO DE ITERACION INVERSA 231
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)
x
y
}y}2 (normalizacion)
iter=iter+1
end while
Es decir, v es tambien vector propio de ppAq para pp0 q. Se prueba de forma similar
que si ppAq es invertible entonces pp0 q1 es valor propio de ppAq1 y v es vector
propio de esta matriz para dicho valor propio:
1 1 , . . . n 1
1 n
pIn Aqqj 1 qj .
Ambas operaciones son teoricamente equivalentes pero la segunda requiere menos
operaciones. De hecho, genericamente In A admite una descomposicion LU que
conviene calcular de una vez por todas y usar solo sustituscion hacia delante y hacia
atras para resolver el sistema pIn Aqqj 1 qj . En nuestra implementacion del
algoritmo, y puesto que practicaremos con MATLAB, dejaremos que sea este quien
se encargue de resolver este sistema. Para ello usaremos la orden qj 1 pIn Aqzqj .
Dicho de otra manera mas intuitiva, la mayor parte de las veces la propagacion
del error juega a nuestro favor porque cuando esta muy cerca de un valor propio
de A, el vector y se calcula, en efecto, de manera inexacta pero, tal y como vimos
en la demostracion del Teorema 10.7,
Esto significa que cuanto mas proximo este a 1 mayor sera la componente de
pIn Aqk q0 en la direccion de v1, de manera que los errores en el redondeo redundan
234 El problema de valores propios
x
x0
}x0}2
res=1
iter=0
normA=}A}F
while res normA e iter itermax
y pIn Aqzx ( pA In qy x)
x
y
}y }2 (vector propio unitario aproximado)
x Ax (valor propio aproximado)
res=}x Ax}2 (nuevo residuo)
iter=iter+1
end while
y pIn Aq1x
p su actualizacion:
y con x
p
x
y
}y}2 .
10.3. EL METODO DE ITERACION INVERSA 235
De esta forma
pIn Aqxp pIn}y} Aqy }yx} .
2 2
con
ppIn Aqxp xpw.
x
Finalmente el residuo es
Con todo esto en mente el algoritmo de iteracion inversa queda como sigue:
x
x0
}x0}2
res=1
iter=0
normA=}A}F
while res normA e iter itermax
y pIn Aqzx
w
x
}y}2
x
y
}y}2
x w
res=}w x}2
iter=iter+1
end while
236 El problema de valores propios
r }x Ax}
donde y x son el valor y vector unitario propios aproximados que se calculan en
cada iteracion. Puesto que es un valor propio aproximado (que esta variando en
cada iteracion) bien podemos hacer uso de el en cada iteracion. La pregunta es cual
es el valor de que hace mnimo el residuo? Nos preguntamos por el problema de
hallar
mn }x Ax}2
P
F
x x0 xAx
Por lo tanto
0 xxAx
x
es el numero que minimiza el residuo.
x
x0
}x0}2
x Ax
res=1
iter=0
normA=}A}F
while res normA e iter itermax
y pIn Aqzx
w
x
}y}2
x
y
}y}2
x w
res=}w x}2
iter=iter+1
end while
y y yy
xp Axp.
En los ejercicios veremos que, en general, la convergencia del metodo del cociente
de Rayleigh sigue siendo lineal, pero si la matriz es simetrica es, al menos, cuadratica.
Ello es debido al siguiente resultado, que se conoce con el nombre de propiedad
estacionaria de los vectores propios de las matrices simetricas.
as que
BpxT Axq n n
B xi k1
aik xk
j 1
aji xj .
BpxT Axq 2 n
aij xj 2pAxqi
B xi j 1
10.4. EL METODO DEL COCIENTE DE RAYLEIGH 239
BpxT xq 2x .
B xi i
Por lo tanto
BR 2pxT xqpAxqi 2pxT Axqxi 2 pAxq xT Ax x
B xi pxT xq2 xT x
i
xT x
i
por ser x0 un vector propio de A. Esto implica que para k suficientemente grande
Rpk qk q Rpx0 q Op}qk x0 }2 q. Como qk converge a x0 linealmente
(al menos), el residuo converge a cero, a partir de ese k suficientemente grande,
cuadraticamente (al menos).
240 El problema de valores propios
Todos los algoritmos tienen como objetivo ultimo reducir una matriz dada A P
F , a una forma de Schur (real o compleja) para extraer de ah la informacion
n n
correspondiente a los valores y vectores propios. La finalidad de los que hemos visto
hasta ahora era obtener un vector propio unitario (siempre que se den las condiciones
apropiadas) y a partir de ah, usando el cociente de Rayleigh, el correspondiente valor
propio. Este es el primer paso para obtener la forma de Schur compleja porque, tal
y como mostramos en la demostracion del Teorema de Schur, una vez obtenidos,
digamos p1 , q1 q, se puede construir una matriz unitaria, digamos Q q Q r , para
la que
1 b
Q AQ .
0 B
A continuacion se aplica el algoritmo correspondiente a B y as sucesivamente. Este
proceso de ir aplicando el algoritmo a matrices cada vez mas pequenas se llama de-
flacion. Si se dan las condiciones apropiadas (valores propios con modulos diferentes
y proyeccion espectral no nula sobre los correspondientes subespacios propios) el re-
sultado de este proceso de deflacion es una matriz triangular superior unitariamente
semejante a A; i.e., una forma de Schur de A.
Dada A P Fnn
A0 A
for k 0, 1, 2, . . . hasta convergencia
Eljase un desplazamiento k
Calculese la descomposicion QR de Ak k In : Ak k In Qk Rk
Reviertanse los factortes: Ak 1 Rk Qk k In
end for
Para ver que el algoritmo QR converge en las mismas condiciones que el algo-
ritmo del cociente de Rayleigh vamos a ver que ambos son esencialmente lo mismo.
En realidad el algoritmo QR aplica el metodo del cociente de Rayleigh para calcular
vectores propios por la izquierda en vez de hacerlo para calcular vectores propios
por la derecha. Como sera el metodo del cociente de Rayleigh en este caso? Igual
que el ya visto pero operando con vectores filas: Dada A, un vector fila inicial x0 el
algoritmo del cociente de Rayleigh consta de 4 pasos para j 1, 2, . . .:
4. Calcular el nuevo cociente de Rayleigh j xj Axj (nuevo valor propio apro-
ximado)
Supongamos ahora que hacemos una sola iteracion del algoritmo del cociente de
Rayleigh por filas con vector inicial x0 en . El desplazamiento inicial sera
en Aen .
Sea q el vector unitario que obtenemos al aplicar esta iteracion (quitamos los subndi-
ces porque solo hablamos de una iteracion y por comodidad):
}eenppAAI
In q1
q
n q1}
n 2
(10.3)
10.5. EL ALGORITMO QR CON DESPLAZAMIENTO EXPLICITO 243
A In QR.
Entonces
Q RpA Inq1
y
en Q enRpA Inq1 rnnenpA Inq1.
Ahora bien, en Q es la ultima fila de Q . Denotemosla por qr . Este vector es unitario
y acabamos de ver que
qr rnnenpA Inq1.
De aqu deducimos (recordamos que los elementos diagonales de R son numeros
reales positivos)
rnn
1
}enpA Inq1}2 ,
y en consecuencia, comparando con (10.3)
q q.
En palabras: la ultima fila de la matriz Q en la factorizacion QR de A In con
en Aen coincide con el vector propio por la izquierda unitario aproximado, q, de
A que calcula el metodo del cociente de Rayleigh cuando se emplea en como vector
inicial en la primera iteracion . Es decir,
r q
Q Q (10.4)
y
}qAQr}22 }rQr}22 rQrQrr. (10.5)
Nuestro objetivo es demostrar que }q AQr}2 }r}2. Para ello debemos recordar
el Teorema 10.10. De acuerdo con este Teorema, r es la solucion del problema de
mnimos cuadrados consistente en calcular el numero complejo, , que hace mnima
la distancia q q A. Es decir,
r}2 }r}2 siendo r qA rq es el residuo del algoritmo del cociente
y }q AQ
de Rayleigh aplicado por filas a la matriz A con vector inicial en . En conclusion
Este resultado nos indica que si el algoritmo del cociente de Rayleigh converge
para la matriz A con vector inicial en entonces usando como desplazamiento explcito
el elemento en la posicion pn, nq de la matriz obtenida en cada iteracion, el algoritmo
QR con estos desplazamientos produce una sucesion de matrices que converge a una
matriz con la forma
B c
0
siendo un valor propio de A. Ademas , el vector formado por los elementos dia-
gonales de la ultima fila de la matriz producida en cada iteracion tiene la misma
norma que el residuo producido por el algoritmo del cociente de Rayleigh. Podemos
usar como criterio para terminar el proceso iterativo que la norma de este vector
sea menor que una cantidad previamente especificada. Una vez obtenido un vector
suficientemente pequeno sustituiramos los elementos no diagonales de la ultima fila
por cero y procederamos a deflactar la matriz hasta obtener, si hay convergencia,
una matriz en forma de Schur. El proceso, ademas, produce las matrices unitarias
de paso.
if iteritermax
T pn, 1 : n 1q 0 (para que quede bonito)
end if
Entonces p ph S r P f
p B In1
A In
gp p 0 e .
(10.7)
10.5. EL ALGORITMO QR CON DESPLAZAMIENTO EXPLICITO 247
En primer lugar, como Q es unitaria, la norma de cada una de sus filas y colum-
nas es 1. En particular, }e}22 | |2 }f }22 | |2 , de donde concluimos que
}e}2 }f }2.
Por otra parte, en (10.6)
g
eS.
Suponiendo que S es no singular y }S 1 }2 , tenemos que
}e}2 }g}2.
Ahora como Q es unitaria, despejando R en (10.6) obtenemos
S r
0
Pf e B gI
n1 h
.
|| }g}2}h}2 | |.
Finalmente de (10.7) obtenemos gp e . Poniendo todo junto y teniendo en cuenta,
otra vez, que }e}2 }g }2 conclumos
Notemos finalmente que para todo k 1, 2, . . . }hk }2 }A}2 . En efecto, todas las
matrices Ak que se van construyendo mediante el algoritmo QR son unitariamente
semejantes (Ak 1 Qk Ak Qk ), de modo que }Ak }2 }A}2 . Pero
}hk }22 }hk }22 ||2 }Ak en}22 }Ak }22}en}22 }Ak }22.
En conclusion, existe un numero real 0 tal que }hk }2 para todo k 1, 2, . . ..
Entonces
}gk 1}2 k2}gk }22 k |k k |}gk }2 . (10.8)
248 El problema de valores propios
Lo primero que sugiere esta expresion es, tal y como ya hemos deducido al
comparar los algoritmos QR y cociente de Rayleigh, que el desplazamiento apropiado
en cada iteracion es k k porque esta eleccion proporciona una cota de gk 1 en
terminos del cuadrado de }gk }2 . En tal caso, la cota queda
}Sk1}2 .
Se puede demostrar que, de hecho, esta propiedad es verdadera para valores de gk
suficientemente pequenos.
En estas condiciones
}gk 1}2 2}gk }22.
As pues, cuando el algoritmo QR converge a un valor propio simple y }Sk1 }2
para todo k, la norma de gk 1 esta acotada por una cantidad que es proporcional
al cuadrado de la norma de gk . Se dice que la sucesion t}gk }2 u converge cuadratica-
mente, al menos, a cero.
}g1}2 102
}g2}2 104
}g3}2 108
}g4}2 1016
Cuatro iteraciones bastan para reducir el error por debajo de la unidad de redondeo
para la doble precision.
Hay muchas mas cosas que decir sobre el algoritmo QR. En particular, su relacion
con el algoritmo de iteracion simultanea, que es una generalizacion del metodo de
las potencias, es muy importante porque sirve para establecer condiciones suficientes
de convergencia. Otro aspecto importante es la relacion entre el algoritmo QR y la
reduccion a forma Hessenberg y, en general, la implementacion practica del algoritmo
QR (algoritmo QR con desplazamiento implcito). Tambien es importante la eleccion
de los desplazamientos y la reduccion a forma de Schur real cuando la matriz es real.
Genericamente las matrices complejas tienen valores propios distintos en modulo,
pero esto no es verdad para las matrices reales en las que cuando aparecen valores
propios complejos estos vienen conjugados a pares. Es por eso que la reduccion a
forma de Schur real es tan importante para estas matrices.
De vez en cuando surgen tipos de matrices para las que el algoritmo QR con los
desplazamientos conocidos no converge. Lo habitual en tales casos es anadir nuevos
desplazamientos a la lista de los ya conocidos. Sin embargo, por ahora no hay un
algoritmo universal eficiente para todas las matrices.
250 El problema de valores propios