You are on page 1of 3

Anlisis Numrico I (2012)

PRACTICA 3c
Clculo numrico de
autovalores y autovectores.
Muchos problemas de inters conducen al clculo, o
por lo menos a la estimacin, de los autovalores de una
matriz asociada con un sistema lineal de ecuaciones.
Algebraicamente el problema consiste en, dada una
matriz A de n n elementos reales, encontrar los
escalares (generalmente complejos), , los autovalores
de A, y los vectores no nulos x, los autovectores de A
asociados a , tales que
Ax = x.
Sabemos que tal matriz A tiene precisamente n au-
tovalores, no necesariamente distintos, que son las
races del polinomio caracterstico de grado n:
p() = det (AI).
Adems, si A es una matriz real simtrica, entonces
todos sus autovalores son reales. En el caso general,
si A tiene elementos reales, sus posibles autovalores
complejos apareceran en pares conjugados (al igual
que sus autovectores). Formalmente, los autovalores
de A se pueden obtener encontrando las n races de
p(). Sin embargo, en la prctica, sto puede llevar-
se a cabo slo con matrices de pequeo tamao o
de formas particulares. En general, sabemos que la
determinacin de las races de un polinomio es un
problema difcil, puesto que, excepto para valores pe-
queos de n, no es un problema cerrado (esto es, no
hay frmulas explcitas para las races) y es adems
un problema mal condicionado. En consecuencia es
necesario considerar algoritmos numricos que permi-
tan la determinacin de los autovalores de una matriz
en forma eciente y sean numricamente estables.
Teorema de Gerschgorin. De acuerdo al teorema
de Gerschgorin, los autovalores de una matriz A de
n n estn contenidos en la unin de los crculos del
plano complejo C dados por
[z a
ii
[ r
i
, donde r
i
=
n

j=1
j=i
[a
ij
[,
para i = 1, 2, . . . , n. Adems, la unin de cualesquiera
k de estos crculos que no intersecten a los (n k)
restantes, debe contener precisamente k (contando
multiplicidades) autovalores.
Ejercicio 1. Utilizar el teorema de Gerschgorin para
localizar los autovalores de las siguientes matrices
y determinar una cota del radio espectral (A) =
m ax
1in
[
i
[,

4 1 1
0 2 1
2 0 9

5 1 1
0 6 1
1 0 5

3 2 1
2 3 0
1 0 3

.
Mtodo de potencia. Si A es una matriz n n
diagonalizable y tiene un autovalor dominante
1
,
esto es,
[
1
[ > [
2
[ [
3
[ [
n
[,
sabemos que la sucesin de vectores x
(k)

k=0
, ge-
nerada a partir de un vector inicial cualquiera x
(0)
(en tanto su representacin en trminos de los auto-
vectores de la matriz contenga una contribucin no
nula del autovector asociado al autovalor dominante),
segn
x
(k)
= Ax
(k1)
,
tiende a la direccin del autovector correspondiente
a
1
. Escalando la sucesin de vectores en forma
apropiada se puede lograr que el lmite sea un vector
nito y no nulo y obtener as el autovalor
1
en el
proceso. La descripcin algoritmica del procedimiento
es como sigue.
Mtodo de potencia (norma l

)
Dada A de n n y un vector no nulo x
(0)
.
Encontrar p (1 p n) tal que |x
(0)
p
| = x
(0)

.
Tomar x
(0)
= x
(0)
/x
(0)
p
.
Para k = 0, 1, 2, . . .
Tomar y
(k+1)
= Ax
(k)
.
Tomar
k+1
= y
(k+1)
p
Encontrar p (1 p n) tal que |y
(k+1)
p
| = y
(k+1)

.
Tomar x
(k+1)
= y
(k+1)
/y
(k+1)
p
.
Entonces la sucesin de valores
k
tiende al au-
tovalor dominante y la sucesin de vectores x
(k)

se aproxima al subespacio propio correspondiente a


dicho autovalor dominante. Esto ltimo quiere decir
que dado cualquier nmero real > 0 podemos encon-
trar un entero positivo k, sucientemente grande, y
un vector propio v
k
asociado al autovalor dominante,
tales que |x
(k)
v
k
| < . Como en todo mtodo
iterativo, debe establecerse un criterio de paro para
las iteraciones, el cual, en este contexto, puede ser:
[
k

k1
[/[
k
[ <
para cierta tolerancia prejada.
Ejercicio 2. Implementar el mtodo de la potencia
como una subrutina Fortran (Ayuda: para la deter-
minacin del ndice p considere el uso de la funcin
intrnseca MAXLOC).
Ejercicio 3. Utilizar la subrutina anterior para esti-
mar el autovalor de mayor magnitud de las matrices
del ejercicio 1.
Mtodo de factorizacin QR. Los mtodos que
proveen aproximaciones para todos los autovalores de
una matriz basan su procedimiento en la generacin
de una sucesin de matrices semejantes unas a otras
de manera tal que se obtengan matrices que permitan
determinar los autovalores de la forma ms simple
Prctica 3c 1
Anlisis Numrico I (2012)
posible. Recordemos que B es semejante a A si existe
una matriz inversible P tal que B = P
1
AP. Enton-
ces, si By = y, se sigue que P
1
APy = y, y por lo
tanto, A(Py) = (Py). Esto es, A y B tienen los mis-
mos autovalores y, si y es un autovalor de B, x = Py
es un autovector de A. As, una transformacin de
semejanza preserva los autovalores y, aunque no pre-
serva los autovectores, stos pueden ser fcilmente
determinados. Dentro de las transformaciones de se-
mejanza est incluida un tipo de transformacin ms
restrictivo: la transformacin ortogonal, donde la in-
versa de P es su transpuesta, P
1
= P
t
. Una transfor-
macin ortogonal no slo preserva los autovalores sino
tambin la simetra si sta existe. En efecto, si A es
una matriz simtrica y B es ortogonalmente semejante
a A, entonces B
t
= (P
t
AP)
t
= T
t
A
t
T = T
t
AT = B,
es decir, B es simtrica.
Los mtodos de factorizacin para el clculo de
todos los autovalores de A parten de la suposicin
de que la matriz A puede ser factorizada en una
matriz a izquierda F
L
y una matriz a derecha F
R
,
esto es, A = F
L
F
R
. Si ahora invertimos los factores
obtenemos la matriz A

= F
R
F
L
= F
1
L
AF
L
, la cual
es semejante a A a travs de la transformacin F
L
.
As, cualquier factorizacin de A al ser multiplicada
en orden inverso, constituye una transformacin de
semejanza. Los mtodos de factorizacin explotan
este idea, pero para que el algoritmo sea prctico,
la factorizacin debe ser tal que el mtodo converja,
sea numricamente estable y computacionalmente
eciente. Uno de los mejores mtodos de factorizacin
conocidos es el mtodo QR.
El mtodo QR genera una sucesin de matrices
A
0
, A
1
, A
2
, . . . comenzando con A
0
= A y calculando
en el paso ksimo la factorizacin QR de A
k
, es
decir, genera matrices Q
k
y R
k
tales que A
k
= Q
k
R
k
donde Q
k
es una matriz ortogonal (Q
1
k
= Q
t
k
) y
R
k
es una matriz triangular superior. Una factoriza-
cin de este tipo siempre existe y es posible de ser
calculada en forma numricamente estable (los tres
mtodos usuales son a travs de transformaciones de
Householder, o transformaciones de Givens u ortogo-
nalizacin de Gram-Schmidt, siendo el primer mtodo
el ms efectivo tanto en costo computacional como
en almacenamiento). A continuacin el mtodo toma
como siguiente matriz de la sucesin A
k+1
= R
k
Q
k
.
La transformacin que lleva A
k
a A
k+1
no slo es de
semejanza, sino que tambin es ortogonal. En efec-
to, ya que Q
k
es ortogonal, R
k
= Q
t
k
A
k
y por lo
tanto A
k+1
= Q
t
k
A
k
Q
k
. Puede mostrarse que, bajo
ciertas circunstancias generales (en particular, si los
autovalores de A tienen todos sus mdulos distintos),
entonces la sucesin de matrices A
k
converje a una
matriz triangular superior para una matriz inicial
general, y a una matriz diagonal si la matriz inicial
es simtrica. En ambos casos, las aproximaciones a
los autovalores se encuentran en los elementos de las
diagonal principal de las matrices generadas.
En los siguientes ejercicios consideraremos una im-
plementacin nave del mtodo QR, pero que, sin
embargo, permite ilustar las ideas descritas. Para ello
necesitamos implementar en primer lugar la factoriza-
cin QR de una matriz. Por simplicidad, considerare-
mos aqu el mtodo (modicado) de ortogonalizacin
de Gram-Schmidt. Aunque en nuestro problema A
es una matriz cuadrada, consideraremos la situacin
general de una matriz rectangular puesto que la fac-
torizacin obtenida resulta tambin de gran utilidad
para el problema de mnimos cuadrados que discu-
tiremos en una prctica posterior. Sea, entonces, A
una matriz de mn con m n. Si las columnas de
A son linealmente independientes, esto es, si el rango
de A es n, entonces existe una matriz Q ortogonal de
mn y una matriz triangular superior R de n n,
con elementos positivos sobre su diagonal, tal que
A = QR. El mtodo (modicado) de ortogonalizacin
de Gram-Schmidt permite obtener una representacin
explcita de Q y R ortonormalizando las columnas de
A como sigue. Sea a
j
para j = 1, 2, . . . , n las columnas
de A, esto es, A = [ a
1
[a
2
[ [a
n
]. Sea v[u) = v
t
u
el producto interno cannico en R
m
y |v| =

v[v)
la norma asociada. Entonces la implementacin algo-
ritmica del mtodo es como sigue:
Dadas a
1
, a
2
, . . . , a
n
Para j = 1, 2, . . . , n
Tomar q
j
= a
j
Para i = 1, 2, . . . , j 1
Calcular r
ij
= q
i
[q
j
)
Tomar q
j
= q
j
r
ij
q
i
Calcular r
jj
= |q
j
|
Tomar q
j
= q
j
/r
jj
De este modo, Q = [ q
1
[q
2
[ . . . [q
n
] y R = (r
ij
).
Ejercicio 4. Implementar la factorizacin QR de una
matriz A de mn como una subrutina Fortran (N-
tese que Q puede ser devuelta en A).
Ejercicio 5. Utilizando la subrutina anterior imple-
mentar un programa Fortran para calcular los auto-
valores de una matriz por el mtodo QR.
Ejercicio 6. Obtener los autovalores y visualizar la
sucesin de matrices obtenidas por el mtodo QR
para la matriz

7 2
2 4

cuyos autovalores exactos son 8 y 3.


Para una matriz A densa, el costo computacional
por iteracin del mtodo QR es O(n
3
). Este costo
puede ser reducido si la matriz es inicialmente trans-
formada, va semejanza, a una forma ms simple. En
general, toda matriz puede ser reducida por transfor-
maciones de semejanza ortogonales en un nmero
nito de pasos a una matriz de Hessenberg superior.
Una matriz de Hessenberg superior tiene todos sus
Prctica 3c 2
Anlisis Numrico I (2012)
elementos nulos debajo de la diagonal inferior, esto es,
es prxima a una matriz triangular superior excepto
por la diagonal adicional de elementos no nulos inme-
diatamente debajo de la diagonal principal. En el caso
particular de una matriz simtrica sta es reducida
a una matriz tridiagonal
1
. El costo computacional
en la obtencin de la forma reducida es O(n
3
), pero
ahora, puesto que puede mostrarse que el mtodo QR
preserva la forma de la matriz de Hessenberg superior
o la tridiagonal en sus iteraciones, el costo compu-
tacional por iteracin del mtodo QR es O(n
2
) en el
caso general y O(n), en el caso simtrico. As pues,
el mtodo QR es implementado como un proceso de
dos etapas:
Matriz general Hessenberg triangular.
Matriz simtrica tridiagonal diagonal.
Implementaciones ecientes del mtodo QR estn
disponibles en Lapack95 en las subrutinas la_syev
y la_geev para matrices simtricas y generales, res-
pectivamente.
Ejercicio 7. Utilizando la subrutina la_syev de
Lapack95, encontrar aproximaciones para los autova-
lores de las siguientes matrices simtricas.

12 10 4
10 8 5
4 5 3

2 0 1
0 3 2
1 2 1

4 1 1 0
1 4 0 1
1 0 4 1
0 1 1 4

4 2 0 0 0
2 4 2 0 0
0 2 4 2 0
0 0 2 4 2
0 0 0 2 4

.
Ejercicio 8. Utilizando la subrutina la_geev en-
contrar aproximaciones a los autovalores de las si-
guientes matrices.

5 2 0
1 4 1
0 3 7

6 2 0 0
3 4 1 0
0 0 5 1
0 0 2 3

.
Ejercicio 9. Determinar estimaciones para los auto-
valores de las siguientes matrices.

149 50 154
537 180 546
27 9 25

149 50 154
537 180.01 546
27 9 25

.
Qu puede concluirse de los resultados?
1
Ntese que una matriz de Hessenberg simtrica es tridia-
gonal.
Aplicacin a las ecuaciones algebraicas. Los
mtodos numricos para calcular autovalores no invo-
lucran al polinomio caracterstico, pues, como hemos
indicado, la determinacin de sus races es en general
un problema mal condicionado. De hecho, podemos, a
la inversa, utilizar los mtodos numricos de clculo de
autovalores para obtener los ceros de una ecuacin al-
gebraica de la forma x
n
+a
n1
x
n1
+ +a
1
x+a
0
= 0
notando que ellos son las races del polinomio carac-
terstico de la siguiente matriz acompaante,

0 0 0 a
0
1 0 0 a
1
0 1 0 a
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 1 a
n1

.
Ejercicio 10. Determinar los ceros de la ecuacin
2x
5
12x
4
+ 24x
3
24x
2
+ 22x 12 = 0 utilizando
el procedimiento descrito.
Prctica 3c 3

You might also like