Está en la página 1de 17

Mtodos numricos para la determinacin de autovalores

Pablo J. Santamara

Introduccin
Muchos problemas de inters conducen al clculo, o por lo menos a la estimacin, de los valores caractersticos o autovalores de una matriz asociada con un sistema lineal de ecuaciones. Algebraicamente el problema consiste en, dada una matriz real n n A, 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, x = 0 Sabemos que tal matriz A tiene precisamente n autovalores, no necesariamente distintos, que son las races del polinomio caracterstico de grado n p() = det(A I) As pues, formalmente, los autovalores de A se pueden obtener encontrando las n races de p(). En la prctica esto puede llevarse a cabo con matrices o bien de pequeo tamao o bien de formas particulares. En el caso general el polinomio caracterstico es difcil de obtener y, de cualquier modo, sabemos que la determinacin de las races de un polinomio de grado nsimo es tambin un problema difcil, puesto que, excepto para valores pequeos de n, no es un problema cerrado (esto es, no hay frmulas explcitas). En consecuencia es necesario considerar algoritmos que permitan determinar sistemticamente todos los autovalores de una matriz dada en una forma eciente, esto es, con el menor nmero de operaciones posibles, y adems, dado que operar con grandes matrices involucra muchas sustracciones aritmticas, tales algoritmos deben ser estables de manera que los resultados numricos no sean en realidad nmeros aleatorios en lugar de los autovalores deseados. La estrategia prctica a considerar es dividir el problema en dos partes: en primer lugar se reduce la matriz original A a una matriz B = (bi,j ) de una estructura ms simple (en el sentido de que posea la mayor cantidad de elementos nulos posibles) pero con los mismos autovalores; y luego se calculan los autovalores de esta nueva matriz. Tpicamente, las matrices buscadas son ya sea una matriz tridiagonal bij = 0, o una matriz de Hessenberg (superior) bij = 0, para i j + 2 para |i j| > 1

cuyas formas se ilustran en la g. 0.1. Una matriz tridiagonal tiene elementos nulos fuera de las diagonales principal, superior e inferior. Una matriz de Hessenberg tiene elementos nulos debajo de la diagonal inferior. La utilidad de esta estrategia dual resulta clara si se considera la cantidad de cmputo realizada en la manipulacin de una matriz grande (digamos n = 100 o 200), tal como la multiplicacin por 1

2 6 6 6 6 6 6 6 6 6 6 4

7 7 7 7 7 7 7 7 7 7 5

6 6 6 6 6 6 6 6 6 6 4

3 7 7 7 7 7 7 7 7 7 7 5

(a) Una matriz tridiagonal

(b) Una matriz de Hessenberg

Figura 0.1.

otra matriz. Para una matriz densa (esto es, con pocos elementos nulos) el nmero de operaciones requeridas es del orden de n3 , en tanto que para una matriz de Hessenberg tal clculo requiere en realidad del orden de n2 operaciones y para una matriz tridiagonal el nmero requerido es de orden n. As para una matriz grande la diferencia entre n2 y n3 es apreciable ( sin mencionar n versus n3 !) y por lo tanto la bsqueda de los autovalores de una matriz simplicada resultar ms eciente. Dado que podemos reducir una matriz dada a la forma de Hessenberg (o a la forma tridiagonal en ciertos casos) mediante un nmero nito de pasos aritmticos, la estrategia diseada resulta de suma utilidad prctica. Como las dos etapas de nuestra estrategia son (casi) independientes vamos a discutirlas separadamente. As trataremos en primer lugar la posibilidad de reducir una matriz dada a una forma ms simple. Aqu es donde las cuestiones de la forma de proceder y estabilidad de los mtodos resultan cruciales.

Reduccin de matrices a una forma ms simple


Los mtodos para reducir una matriz general dada a una forma ms simple se basan en las transformaciones de similitud o semejanza. Definicin Dos matrices n A y B se dicen semejantes si existe una matriz T n n no singular tal que B = T1 AT La transformacin de similitud tiene la propiedad de preservar los autovalores. En efecto, a partir de la ecuacin de autovalores Ax = x premultiplicando por T1 tenemos que T1 Ax = T1 x Si denimos T1 x = y, obtenemos T1 ATy = T1 Ty = y es decir tenemos el nuevo problema de autovalores By = y 2 con lo cual x = Ty

para la matriz B que es semejante a la matriz A, donde los nuevos autovectores y estn relacionados en forma simple con los de A, pero los autovalores son los mismos. Este resultado se sigue tambin del hecho de que matrices semejantes tienen el mismo polinomio caracterstico. En efecto, pB () = det (B I) = det (T1 AT T1 T)

= det T1 det (A I) det T = det (A I) = pA () La clase de transformaciones de similitud es muy amplia. Dentro de ella est incluida un tipo de transformacin mucho ms restrictivo, la transformacin ortogonal. Aqu la matriz de transformacin es ortogonal, esto es, su inversa es su traspuesta T1 = Tt Una transformacin ortogonal no solo preserva los autovalores sino tambin la simetra si sta existe. En efecto, si A es una matriz simtrica y B es semejante a A por una transformacin ortogonal, la traspuesta de B es Bt = (Tt AT)t = Tt At T = Tt AT = B es decir, B es tambin simtrica. Recurdese tambin que si una matriz real es simtrica sus autovalores sern necesariamente nmeros reales y no complejos como en el caso general. La estrategia general de los mtodos para calcular los autovalores de una matriz A es realizar primero una sucesin de transformaciones de semejanza A(0) = A A(i) = T1 A(i1) Ti , i i = 1, 2, . . . , m

= det (T1 (A I)T)

para gradualmente transformar la matriz A en una matriz B de forma ms simple B = Am = T1 AT, T = T1 T2 . . . Tm

y entonces determinar los autovalores de B (que sern necesariamente los de A). La matriz B es escogida de manera tal que La determinacin de los autovalores de B sea lo ms simple posible y El problema de autovalores para B no est (sustancialmente) peor condicionado que el de A (esto es, que pequeos cambios en la matriz B no empeoren los autovalores ms que de lo que lo hacen pequeos cambios en A). Si A y B son las matrices que contienen a las perturbaciones en los coecientes de A y B, dado que B = T1 AT B + B = T1 (A + A)T tenemos que B = T1 AT, y por lo tanto A = TBT1 As para una norma vectorial y su correspondiente norma matricial subordinada obtenemos las siguientes estimaciones A cond T B 3 B cond T A

donde cond T = T

T1 es el nmero de condicin de la matriz T. As A 2 B (cond T) A B

Entonces es de esperar que para cond T 1 el problema para B estar peor condicionando que el problema para A. Puesto que cond T = cond (T1 . . . Tm ) cond T1 . . . cond Tm un buen condicionamiento estar asegurado si escogemos matrices de transformacin Ti tales que cond Ti no sea demasiado grande 1 . Este es el caso, en particular, para la norma mxima x = max1in |xi | 2 y las matrices de eliminacin de la forma 1 Ti = Gj = .. . 1 lj+1,j . . . lnj .. . .. 0 . 0 , |lkj | 1 1

la cual es una matriz triangular inferior que diere de la identidad en la columna j-sima y cuya inversa es 1 0 .. . 1 1 Gj = .. . lj+1,j . .. . . . 0 lnj 0 1 Para estas matrices cond Ti 4 Para lo norma euclideana x 2 = xt x 3 un ejemplo son las matrices ortogonales Ti para las cuales cond2 Ti = 1 4 . De acuerdo a lo anterior, es de esperar que algoritmos basados en transformaciones ortogonales sean muy estables (como contrapartida estos algoritmos requieren ms aritmtica que aquellos basados en transformaciones de semejanza generales).
1 Recurdese que cond A 1 para cualquier matriz no singular A. En efecto, 1 = I = AA1 A A1 = cond A . Pn 2 Cuya norma matricial subordinada es A = max 1in j=1 |aij |. 3 Cuya norma matricial subordinada es A 2 = 1 donde 1 es el mximo valor de las races cuadradas no negativas de los autovalores (necesariamente reales y no negativos) de la matriz simtrica semidenida positiva At A. 4 En efecto, si T es ortogonal TTt = I y como los autovalores de la matriz identidad son 1 (con multiplicidad n), cond2 T = T Tt = 1 1 = 1.

La transformacin de Jacobi
Una de las transformaciones ortogonales ms simples es una rotacin en un plano, llamada usualmente transformacin de Jacobi. La matriz de transformacin Ti = j,k es de la forma 1 = ..

. c . . . s ... 1 ... s . . . c .. .

jk

Aqu todos los elementos diagonales son la unidad excepto los dos elementos c en las las (y columnas) j y k. Todos los elementos fuera de la diagonal son nulos excepto los dos elementos s y s. Los nmeros c y s son el seno y el coseno de cierto ngulo de rotacin as que no son, en magnitud, mayores que la unidad y c2 + s2 = 1 Esta relacin de normalizacin implica que solo un valor puede ser escogido libremente. Esta matriz es utilizada para transformar a la matriz segn A = t Ajk jk Ahora bien, la multiplicacin t A cambia solo las las j y k de A, mientras que la multiplicacin jk Ajk cambia solo las columnas j y k. As A diere de A solo en los elementos de las columnas y las j y k. Si realiza la multiplicacin matricial se obtienen frmulas explcitas para los elementos de estas las y columnas. La idea del mtodo de Jacobi es escoger el valor de c de manera de anular el elemento de A situado en la posicin correspondiente a +s en T, esto es, hacer que a = 0 kj Esta condicin permite determinar unvocamente el valor apropiada del ngulo de rotacin y los valores de c y s que denen a la correspondiente matriz de transformacin jk . Ntese que si A es simtrica entonces tambin a = 0 ya que A debe ser simtrica como lo requiere la jk transformacin ortogonal. Sin embargo, aunque podemos producir ceros fuera de la diagonal en forma efectiva con esta transformacin, una sucesin nita de transformaciones de Jacobi no reducirn una matriz simtrica general a una matriz tridiagonal o a otra forma simple, debido a que la siguiente transformacin destruir los ceros obtenidos por la anterior. Para ver sto consideremos la matriz simtrica densa 4 4 de la gura 0.2. Inicialmente podemos elegir libremente cualesquiera dos columnas y sus correspondientes las; los ceros aparecern en las dos intersecciones que no se encuentran sobre la diagonal principal. As si elegimos las dos ltimas las y columnas la transformacin producir los ceros mostrados en la gura y alterar todos los elementos de estas dos las y columnas. Si ahora intentamos anular otro elemento ubicado, por ejemplo, en la ltima columna la siguiente transformacin de Jacobi involucrar esta columna y el cero actualmente localizado en la posicin (3, 4) ser destruido. As no hay posibilidad de alcanzar ninguna forma simple a travs de una sucesin nita de transformaciones de Jacobi eliminando un elemento a la vez. Sin embargo, puede probarse que, para una matriz real simtrica, una sucesin de transformaciones de Jacobi en un orden adecuado 5 hacen cada vez ms y ms pequeos los elementos fuera de la diagonal de las matrices transformadas de tal manera que, para una sucesin innita de transformaciones,
5 A saber, llevando inicialmente a 12 a cero y posteriormente haciendo que a13 , . . . , a1n , a23 , . . . , a2n . . . , an1,n vayan a cero en este orden y repitiendo nuevamente el ciclo.

Figura 0.2.

la matriz A(i) converge a una matriz diagonal, cuyos elementos son precisamente los autovalores buscados. Dado que este proceso es innito, en una implementacin prctica uno debera iterar hasta una matriz A(i) cuya suma de los mdulos de los elementos fuera de la diagonal
n n

i=1 j=1 (j=i)

|aij |

(i)

sea sucientemente pequea dentro de la precisin de los clculos. Los autovalores de A pueden aproximarse entonces por las componentes diagonales de A. Sin embargo, este es un proceso generalmente lento; en la prctica se requieren de alrededor de 6n3 multiplicaciones antes de considerar los elementos fuera de la diagonal sucientemente pequeos, y con matrices grandes esto es mucho trabajo. Otras estrategias que consideraremos que pronto consideraremos realizan una mejor labor. Mencionemos tambin que el mtodo de Jacobi puede ser implementado de manera de llevar una matriz no simtrica a una matriz triangular, proceso que, en general, requerir de alrededor de 12n3 multiplicaciones antes de que converga.

Reduccin de Givens
Aunque la transformacin de Jacobi no es til en la forma presentada, una pequea modicacin permite una estrategia nita para reducir una matriz simtrica A a una forma tridiagonal. En lugar de producir un cero en las esquinas del cuadrado que dena la rotacin en el plano, se escoge el parmetro c de manera de llevar a cero un elemento que no est localizado en una de estas cuatro esquinas, esto es, que no estn en las posiciones ajj , ajk , akk . Especcamente, tomamos primero T1 = 23 de manera de anular el elemento en la posicin a31 (si la matriz es simtrica esto anular tambin a a13 ). Despus elegimos T1 = 23 de manera de anular el elemento en la posicin a41 , etc. En general, elegimos la sucesin de transformaciones Ti dados por 23 , 24 , 34 , ..., ..., 2n 3n . . . n1,n de manera tal que jk , j = 2, . . . , n 1, k = j + 1, j + 2, . . . , n anule el elemento de la posicin ak,j1 . En la gura 0.3 se ilustra el procedimiento para una matriz 4 4.

El mtodo funciona debido a que los elementos en las posiciones fuera del cuadrado que dene la rotacin jk (esto es, arj y ark con r = j, r = k) son simples combinaciones lineales de los valores

anteriores situados en la misma posicin 6 . Es esta simple combinacin lineal la que preserva los ceros obtenidos en el paso anterior, ya que si estos elementos eran ceros, permanecern nulos en la siguiente transformacin. As pues, despus de (n1)(n2)/2 n2 /2 rotaciones, una matriz simtrica es reducida a una forma tridiagonal. Dado que el mtodo involucra solo matrices ortogonales es estable, y requiere de aproximadamente 4n3 /3 multiplicaciones. Esta tcnica es, pues, eciente, la nica desventaja es que existe una tcnica de estrategia similar que realiza la misma tarea con la mitad de trabajo. Tal mtodo ser discutido en la siguiente seccin. Finalmente mencionemos que la tcnica de Givens puede ser implementada para llevar una matriz no simtrica a la forma de Hessenberg. En este caso el nmero de multiplicaciones realizadas en el proceso es alrededor de 10n3 /3.

(a) A(1) = t A(0) 23 23


Figura 0.3.

(b) A(2) = t A(1) 24 24

(c) A(3) = t A(2) 34 34

Reduccin de Householder
Al igual que la tcnica de Givens, el algoritmo de Householder produce ceros a partir de transformaciones ortogonales. Sin embargo, distinto de Givens, cada transformacin est diseada para llevar a cero parte de toda una columna (y su correspondiente la si la matriz es simtrica) de una vez. El ingrediente bsico del algoritmo es una matriz ortogonal simtrica P, llamada matriz de Householder, la cual tiene la forma P = I 2wwt donde w es un vector real con w
2 2

= wt w = 1 7 . Que P es simtrica resulta claro de inmediato Pt = (I 2wwt )t

= I 2(wwt )t = I 2wwt = =P

= I 2(wt )t wt

6 Slo los cuatro elementos que se encuentran en las esquinas del cuadrado tienen frmulas ms complicadas, pero esto no es importante aqu. 7 Ntese que, en P, wwt es una matriz cuadrada, en tanto que wt w es un escalar

La ortogonalidad se deduce como sigue P2 = (I 2wwt )(I 2wwt )

= I 4wwt + 4w(wt w)wt =I

As P1 = P, pero como Pt P, tenemos que P 1 = Pt , lo que prueba la ortogonalidad. El vector w se escoge de manera tal que para un vector x dado Px = ke1 donde e1 es el vector [1, 0, . . . , 0]t ; es decir la matriz P actuando sobre un dado vector x lleva a cero todos sus componentes excepto el primero. Ntese que el mdulo del escalar k es necesariamente la norma euclideana de x 8 . Para reducir una matriz simtrica A a la forma tridiagonal construimos la matriz de transformacin T1 como una matriz particionada que consiste de un 1 en la posicin (1, 1), una matriz P1 de Householder de orden (n 1) (n 1) y ceros en el resto como se muestra a continuacin 1 0 0 0 0 0 T1 = . . . P
1

Ntese que esta matriz as construida es ortogonal y simtrica, con lo cual T1 = Tt = T. 1 1 Si tomamos como vector x los (n 1) elementos inferiores de la primer columna de A, la premultiplicacin por T1 = T1 llevar los (n 2) elementos inferiores de dicha columna a cero 1 a11 a12 a13 a1n 1 0 0 0 a21 0 a31 0 P1 T1 A = . . . . . irrelevante . 0 an1 = a11 k 0 . . . 0 a12 a13 a1n

irrelevante

y la postmultiplicacin por P no destruye los ceros ya que cualquier postmultiplicacin por T no cambia la primer columna, de la misma manera que cualquier premultiplicacin no cambia la primer la. Adems, si la matriz A es simtrica, dado que la simetra debe preservarse por la transformacin ortogonal, tendremos los correspondientes ceros en la primera la de la transformacin completa a11 k 0 0 k 0 T1 AT1 = . . . irrelevante 0
8 En

efecto, siendo P ortogonal, x

2 2

= xt x = xPt Px = (Px)t (Px) = k 2 et e1 = k 2 , de donde x 1

= |k|.

As hemos producido todos los ceros en la primer columna y la que son necesarios para la forma diagonal. Procedemos ahora con la segunda columna, construyendo la matriz de trasformacin T2 en la forma particionada 1 0 0 0 0 1 0 0 T2 = 0 0 . . . . P2 . . 0 0 donde P2 es la matriz de Householder de tamao (n 2) (n 2) que acta sobre el vector x que tiene por componentes los (n 2) elementos inferiores de la segunda columna de A. El bloque identidad en la esquina superior derecha asegura que la tridiagonalizacin alcanzada en el primer paso no sea destruida, mientras que P2 crea una nueva la y columna de la matriz tridiagonal deseada. Claramente, una sucesin de (n 2) de tales transformaciones reducir a la matriz A a la forma tridiagonal. El trabajo total realizado por el algoritmo contiene alrededor de 2n3 /3 multiplicaciones, el cual es la mitad de las operaciones para el algoritmo de Givens. As, pues. para matrices reales simtricas, la tcnica de reduccin de Householder es la estrategia estable ms eciente. Finalmente indiquemos que esta estrategia puede ser implementada para reducir matrices no simtricas a la forma triadiagonal con un costo de 5n3 /3 multiplicaciones.

Reduccin directa a la forma de Hessenberg


Con una pequea prdida en la estabilidad puede implementarse un algoritmo eciente en el nmero de operaciones que el algoritmo de Householder para llevar a una matriz cualquiera a la forma de Hessenberg. Este algoritmo utiliza transformaciones de semejanza que no son ortogonales, y est basado en un procedimiento anlogo a la eliminacin gaussiana con pivoteo (de manera de asegurar estabilidad) y modicado adecuadamente para ser realmente una transformacin de similitud de la matriz. Las matrices de transformacin Ti del mtodo se construyen a partir de matrices de permutacin 1 .. . 1 0 1 1 .. Prs = . 1 1 0 1 ... 1 las cuales consisten en una modicacin de la matriz identidad reemplazando las posiciones (r, r) y (s, s) de la diagonal por ceros y colocando unos en las posiciones (r, s) y (s, r); y matrices de

eliminacin de la forma 1 .. . 1 lj+1,j . . . 0 lnj .. . .. . 0 1 0

Gj =

, |lkj | 1

Estas matrices tienen las propiedades


1 Prs = Prs 1 .. . G1 = j 0

0 1 lj+1,j . . . lnj .. . .. 0 . 1

La premultiplicacin P1 A de A por P1 = Prs tiene el efecto de intercambiar las las r y rs rs s de A, mientras que la postmultiplicacin APrs intercambia las columnas r y s de A. Una premultiplicacin G1 A de A por G1 tiene el efecto de sustraer lrj veces la la j de la la r de j j la matriz A para r = j + 1, j + 2, . . . , n mientras que una postmultiplicacin AGj suma lrj veces la columna r a la columna j de A para r = j + 1, j + 2, . . . , n. El proceso de transformacin de la matriz A a la forma de Hessenberg procede como sigue. Sea A(0) = A y asumamos, por induccin, que A(i1) tiene la forma de una matriz cuyas (i 1) columnas tienen la forma de Hessenberg 0 0 0 0 El paso i-simo consiste entonces de las siguientes operaciones 1. Encontrar el elemento de mxima magnitud en la columna i-sima debajo de la diagonal. Si este es cero, saltar los dos pasos siguientes y considerar esta etapa hecha. De lo contrario, supongamos que el elemento mximo est en la la r. 2. Intercambiar las las r y i + 1. Ese es el procedimiento de pivoteo. Para hacer esta permutacin una transformacin de semejanza se intercambian tambin las columnas r y j + 1. As, en este paso calculamos la matriz A = P1 A(i1) Pr, i + 1 r,i+1 El elemento dominante del paso 1 se encuentra ahora en la posicin (i + 1, i). 10

3. Para j = i + 2, i + 3, . . . , n se calculan los multiplicadores lj,i+1 = aji ai+1,j

y se sustrae lj,i+1 veces la la i+1 de la la j. Para hacer esta eliminacin una transformacin de semejanza, tambin se suma lj,i+1 veces la columna j a la columna i + 1. As en este paso hemos calculado la matriz G1 A Gi+1 i+1 Como resultado de los pasos anteriores la matriz obtenida A(i) = G1 A Gi+1 i+1 = G1 P1 A(i) Prs Gi+1 i+1 rs = T1 A(i1) = Ti , i Ti = Prs Gi+1

tiene sus primeras i columnas en la forma de Hessenberg. Repitiendo este proceso n 2 veces obtenemos la matriz de Hessenberg B = An2 deseada. El nmero de multiplicaciones realizadas por este algoritmo es del orden de 5n3 /6, la mitad de operaciones necesarias para llevar a cabo la misma tarea con el algoritmo de Householder. Ya que en la mayora de los casos prcticos este mtodo no es esencialmente menos estable que el mtodo de Householder, resulta ser el preferido en la prctica para reducir una matriz no simtrica la matriz de Hessenberg.

Mtodos para determinar los autovalores


Aunque, formalmente, los autovalores de una matriz n n son las races su polinomio caracterstico, encontrar la forma explcita de este polinomio y, recin entonces, determinar sus races es un procedimiento demasiado costoso para ser llevado a cabo en una matriz grande. Una estrategia ms razonable a la construccin explcita, es evaluar el polinomio caracterstico directamente para algn valor de prueba. Si nuestro valor de prueba es prximo a un autovalor de la matriz el valor del polinomio ser pequeo, y nulo si nuestra estimacin es exacta (salvo por errores de redondeo en la evaluacin aritmtica). Para una matriz dada la evaluacin del polinomio caracterstico requiere del cmputo de un determinante de orden n. Para una matriz densa el cmputo de tal determinante a travs de su denicin recursiva requiere del orden de n! operaciones por supuesto, tal clculo es tremendamente ineciente En su lugar el uso de un procedimiento de eliminacin gaussiana permite reducir el nmero de operaciones a aproximadamente n3 9 . Ahora bien, para una matriz de Hessenberg tal clculo requiere en realidad de n2 operaciones y para una matriz tridiagonal el nmero es proporcional a n. De aqu nuestro inters en algoritmos que permitan evaluar los polinomios caractersticos de estas matrices especiales.
9 El mtodo se basa en que el algoritmo de eliminacin gaussiana produce una factorizacin A = PLU de una matriz A donde P es una matriz de permutacin determinada por la estrategia de pivoteo, L una matriz triangular inferior con elementos de su diagonal iguales a la unidad y U = (uij ) una matriz triangular superior. Entonces, como el determinante de una matriz triangular (inferior o superior) es el producto de los elementos de su diagonal y el determinante de una matriz de permutacin (la cual intercambia las de la matriz identidad) es 1 o 1 si la permutacin es par o impar, tenemos que n Y det A = (1)p ui,i i=1

donde p es el nmero de intercambios de las realizados durante el algoritmo de eliminacin.

11

Evaluacin del polinomio caracterstico de una matriz tridiagonal (simtrica)


Consideremos una matriz tridiagonal simtrica 1 2 .. . . .. A= 2 .. . . .. n

n n

Sin prdida de generalidad podemos asumir que A es una matriz tridiagonal irreducible, esto es, i = 0 para todo i. De lo contrario, A pude escribirse como una matriz triangular por bloques, cuyos bloques son matrices tridiagonales irreducibles A(i) , i = 1, . . . , k (1) A A(2) A= .. . (k) A Como el polinomio caracterstico de A es el producto de los polinomios caractersticos de los bloques A(i) , los autovalores de A sern los autovalores de A(i) , i = 1, . . . , k. As, pues, es suciente considerar matrices irreducibles A. Escribamos el polinomio caracterstico p () de A como el determinante que lo dene 1 2 2 2 3 3 3 4

p () =

..

. n1 n n n

Desarrollando el determinante por la ltima columna resulta 1 2 p () = (n ) 2 2 3 3 3

..

. n1 n1

1 2 n

2 2 3 3 3

..

. n2 n2 n1 n

Tenemos as un trmino que es el producto de (1 ) por el polinomio caracterstico pn1 () de la submatriz tridiagonal de dimensiones (n 1) (n 1), y otro trmino que es el producto de n por otro determinante de orden (n 1). Desarrollando ste por su ltima la, la cual contiene solo a n obtenemos la frmula
2 p () = (n ) pn1 () n pn2 ()

12

Notando que p1 () = (1 ), y deniendo p0 () = 1 podemos calcular p () de A en forma recursiva. En efecto, 1 pi () = det (Ai I), Ai = 2 calculamos p0 () = 1 p1 () = (1 )
2 pi () = (i ) pi1 () i pi2 (), 2 p2 () = (2 ) p1 () 2

si 2 .. . .. . .. ..

. i

i i

i = 2, 3, . . . , n

con lo cual p () = pn (). Para un valor dado de este algoritmo proporciona una forma razonable de evaluar p (). Podemos entonces utilizar los mtodos numricos clsicos para determinar las races de un polinomio. As utilizando un cierto paso en los valores de prueba podemos evaluar p () hasta obtener un cambio de signo y entonces encerrar la raz dividiendo el intervalo a la mitad este es el mtodo dicotmico. O bien, habiendo obtenido una aproximacin a la raz, utilizar un mtodo como el de la secante o el mtodo de Newton. En este ltimo caso es necesario el conocimiento de la derivada del polinomio p (), pero sta puede ser calculada recursivamente por el algoritmo que resulta de diferenciar la frmula recursiva que permite el clculo del polinomio. Esto conduce a p () = 0 0 p () = 1 1
2 p () = (i ) p () i p () p (), i i1 i2 i1

i = 2, 3, . . . , n

con lo cual p () = p (). n

Evaluacin del polinomio caracterstico de una matriz de Hessenberg


Podemos evaluar el determinante del polinomio caracterstico de una matriz de Hessenberg para un valor de prueba por un mtodo similar al usado con una matriz tridiagonal. Deseamos encontrar el valor numrico de a11 a12 a13 a14 ... a1,n1 a1n b1 a22 a23 a24 a2,n1 a2n b2 a33 a34 a3,n1 a3n b3 a44 a4,n1 a44 p () = . . . . . b4 . an1,n1 an1,n ... bn1 ann donde todas las cantidades en el determinante son nmeros conocidos. Nuestra estrategia consiste en encontrar una combinacin lineal de las (n 1) primeras columnas que, cuando es sumada a 13

la ltima columna, reduzca a sta a ceros excepto la primer posicin. Esto es, queremos encontrar un conjunto de escalares i tales que
n1

Cn +
i=1

i Ci = k()e1

(0.1)

donde los Ci son las columnas de nuestro determinante. Si reemplazamos la ultima columna del determinante por esta combinacin lineal de columnas, el valor numrico del determinante no cambia, y ste tiene ahora la forma a11 a12 a13 a14 ... a1,n1 k b1 a22 a23 a24 a2,n1 0 b2 a33 a34 a3,n1 0 b3 a44 a4,n1 0 p () = . . . . b4 . . an1,n1 0 ... bn1 0 Desarrollando este determinante por la ltima columna obtenemos b1 a22 a23 ... a2,n1 b2 a33 a3,n1 b3 a4,n1 n+1 p () = (1) k() . .. . . . an1,n1 bn1 el cual es el determinante de una matriz triangular y por lo tanto es el producto de los elementos de su diagonal. As
n1

p () = (1)n+1 k()
i=1

bii

(0.2)

Podemos encontrar los i en forma sucesiva a partir de las ecuaciones (0.1) n1 bn1 + (ann ) = 0 n2 bn2 + n1 (an1,n1 ) + an1,n = 0 . . . 1 b1 + 2 (a22 ) + 3 a23 + + n1 a2,n1 + a2n = 0 y por lo tanto obtenemos k de 1 (a11 ) + 2 a12 + + n1 a1,n1 + a1n = k y ahora podemos evaluar p () de (0.2).

Algoritmos de factorizacin
Para nalizar vamos a presentar un conjunto de algoritmos iterativos para calcular los autovalores de una matriz A n n que si bien no convergen exactamente en nmero nito de pasos resultan de suma importancia. Estos algoritmos son conocidos como mtodos de factorizacin ya que se basan en la suposicin de que la matriz A puede ser factorizada en una matriz izquierda FL y una matriz derecha FR A = FL FR 14

Si ahora invertimos el orden de los factores obtenemos una matriz A = FR FL = F1 AFL L (dado que F1 A = FR ) que es semejante a la matriz A a travs de la transformacin FL . As, L cualquier factorizacin en dos matrices al ser multiplicadas en orden inverso constituyen una transformacin de semejanza. Los mtodos de factorizacin explotan esta idea, pero para que el algoritmo sea prctico la factorizacin de ser tal que el mtodo converja, sea estable y eciente. El primero de los dos mtodos que consideraremos es el llamado mtodo LR. Aqu se genera una sucesin de matrices comenzando con A(1) = A, y se utiliza el procedimiento de eliminacin gaussiana para representar la matriz A(i) como el producto de una matriz triangular inferior Li = (ljk ) con ljj = 1 y una matriz triangular superior Ri 1 0 . . .. A(i) = Li Ri , Li = . . . . , Ri = . . . . 1 0 y entonces se toma A(i+1) = Ri Li = Li+1 Ri+1 , i = 1, 2, . . . Ahora bien, sabemos que para una matriz arbitraria A(i+1) no siempre existe tal factorizacin sin intercambio de las. Sin embargo, asumiendo que A(i) puede ser factorizada, es posible asegurar que, bajo ciertas condiciones, la sucesin de matrices A(i) , i = 1, . . . converge a una matriz triangular superior cuyos elementos de la diagonal son los autovalores de A. Para una matriz densa n n, la factorizacin requiere del orden de n3 /3 multiplicaciones, y la multiplicacin matricial en orden inverso de otras n3 /3. As, en cada paso del algoritmo (necesariamente innito) tenemos del orden de n3 operaciones. Por lo tanto, el algoritmo LR no es prctico para matrices generales. Ahora bien, puede vericarse fcilmente que las formas tridiagonales y de Hessenberg se preservan bajo el algoritmo LR. Como la factorizacin de matrices tridiagonales requiere del orden de n multiplicaciones, y n2 para matrices de Hessenberg, vemos que el algoritmo LR puede ser efectivo para encontrar los autovalores de estas matrices particulares. Para una matriz general solo debe reducirse primero a una de las formas anteriores por los mtodos ya discutidos. Sin embargo el mtodo LR adolece de problemas. En primer lugar las iteraciones se detendrn si alguna de las matrices A(i) no tiene la descomposicin triangular, y an, si esta descomposicin existe el problema de calcular L(i) y Ri puede estar mal condicionado al no permitir el intercambio de las con el n de evitar elementos de pivote pequeos. As el mtodo puede ser inestable. Para evitar estas dicultades, y hacer el mtodo numricamente estable, uno podra realizar la descomposicin con pivote parcial 10 P(i) A(i) = Li Ri , Pi matriz de permutacin, P1 = Pt i i

A(i+1) = Ri Pt Li = L1 (Pi A(i) Pt )Li i i i


10 La

cual siempre existe.

15

Sin embargo, hay ejemplos para los cuales este proceso no converge. Por ejemplo, sea A(1) = P1 = 1 3 , 2 0 0 1 , 1 0 1 = 3, 2 = 2 P1 A(1) = 1 2 3 0 3 0 1 0 = 1 2 1/3 1 3 0 = L2 R2 0 2 2 0 1 0 = 1 3 1/2 1 2 0 = L1 R1 0 3

A(2) = R1 Pt L1 = 1 P2 = 0 1 , 1 0

P2 A(1) =

A(3) = R2 Pt L2 = 2

1 3 = A(1) 2 0

Estas dicultades del mtodo LR desaparecen en el llamado mtodo QR. Formalmente, el mtodo comienza con A(1) = A y genera matrices Qi y Ri tales que A(i) = Qi Ri donde Qi es una matriz ortogonal, Qt Q = I y Ri es una matriz triangular superior i . .. Ri = . . . 0 Puede mostrarse que una factorizacin de este tipo siempre existe y puede ser calculada en una manera estable a travs de matrices de Householder que anulen los elementos de las sucesivas columnas A(i) debajo de la diagonal. El mtodo toma ahora como siguiente matriz de la sucesin A(i+1) = Ri Qi La transformacin A(i) A(i+1) no solo es de semejanza, sino que tambin es ortogonal. En efecto, ya que Q es ortogonal, Ri = Q1 A(i) = Qt A(i) y por lo tanto i i A(i+1) = Ri Qi = Qt A(i) Qi i Puede mostrarse que, bajo ciertas condiciones en particular que los autovalores i de A tengan mdulos distintos |1 | > |2 | > > |n |

entonces la sucesin de matrices A(i) converge a una matriz triangular superior siendo sus elementos diagonales los autovalores de A. Adems la velocidad de convergencia con que las componentes debajo de la diagonal principal tienden a cero est determinada por los cocientes | j |, k j>k

As la convergencia puede resultar muy lenta si algunos de estos cocientes son cercanos a la unidad. Sin embargo, con una modicacin del procedimiento se puede acelerar la convergencia. Como en el mtodo LR, un paso en el mtodo QR para una matriz densa n n requiere del orden de n3 operaciones. Debido a esto, el mtodo QR se aplica en la prctica solo a matrices simples, como son las matrices de Hessenberg, o en la caso de matrices simtricas, las matrices tridiagonales (simtricas). As una matriz cualquiera debe ser reducida previamente a una de estas formas por los mtodos ya discutidos. Por supuesto, para que este procedimiento tenga sentido 16

debe mostrarse que estas formas especiales son invariantes por una transformacin QR; esto es, si A(i) es una matriz de Hessenberg (posiblemente simtrica, en cuyo caso es tridiagonal), entonces tambin lo es Ai+1 . Esta invarianza puede ser establecida fcilmente. En primer lugar, si A(i) es simtrica, A(i+1) tambin lo es debido que la transformacin QR es ortogonal. Supongamos ahora que A(i) es una matriz de Hessenberg n n, como ya mencionamos A(i+1) puede ser calculada a partir de una sucesin de transformaciones de Householder, sin embargo, en el caso de matrices de Hessenberg, resulta ms eciente utilizar transformaciones de Givens. Primero, reducimos los elementos de la subdiagonal A(i) a cero a travs de matrices de Givens adecuadas del tipo 21 , . . . , n1,n . .. n1,n 2,3 1,2 A(i) = Ri = . . . 0 A y entonces calculamos A(i+1) A(i+1) = Ri Qi = Ri t t t 12 23 n1,n Debido a la estructura especial de j,j+1 , la matriz triangular superior Ri es transformada por la (i+1) postmultiplicacin con t de la forma de Hessenberg. Ntese que A(i+1) j,j+1 a una matriz A puede ser calculada de A(i) muy ecientemente si las multiplicaciones matriciales son realizadas en el siguiente orden A(i+1) = (n1,n . . . (23 ((12 A(i) )t ))t . . . )t n1,n 23 12 Llevada a cabo de esta manera, un paso en la transformacin de una matriz de Hessenberg n n requiere solo de n2 multiplicaciones y solo n operaciones en el caso simtrico, esto es, en el caso de una matriz tridiagonal simtrica. Aplicado de esta forma, el mtodo QR resulta ser uno de los mejores mtodos conocidos para determinar todos los autovalores de una matriz.
(i)

= Qi R i ,

Qi =

t t 12 23

t n1,n

Referencias
[1] F. S. Acton: Numerical Methods that Work. [2] J. Stoer and R. Bulirsch: Introduction to Numerical Analisis. [3] Numerical Recipes in FORTRAN 77: The art of scientifc computing.

17

También podría gustarte