Métodos numéricos para el cálculo de eigenvalores y una aplicación encadenas de Markov

Arnaldo Andreé Rebolledo Peba 27 de noviembre de 2011

1.

Eigenvalores y eigenvectores

λ y un vector no nulo

El problema algebráico de eigenvalores es el siguiente: Dada una matriz A, encontrar un escalar x tales que

Al escalar λ lo llamaremos eigenvalor, y
1.1. Polinomio característico

x es su correspondiente eigenvector.

Ax = λx

La ecuación

Ax = λx es equivalente a
(

A − λI)x = 0 A − λI) = 0.

Ésta ecuación homogenea tiene solución sólo si la matriz es singular. Entonces los eigenvalores de A son los valores de λ tales que Ahora det(A − λI) es un polinomio de grado n en λ, llamado polinomio característico de A, cuyas raíces son los eigenvalores de A.
1.2. Diagonalizabilidad

det(

Una matriz de n × n que tiene menos de n eigenvectores linealmente independientes decimos que es defectuosa. Si la matriz A es no defectuosa, entonces tiene un conjunto completo de eigenvectores x 1 , . . . , xn correspondiente a los eigenvalores λ1 , . . . , λn . Si hacemos D = diag(λ1 , . . . , λn ) y X = [x 1 , . . . , x n ], y X es no singular y tenemos

y diremos entonces que A es diagonalizable. En particular si los eigenvalores de la matriz son todos distintos, la matriz es necesariamente no defectiva y entonces diagonalizable.
2.
2.1.

AX X AX
−1

= =

XD D,

Métodos para el cálculo de eigenvalores
Iteración por potencias

Método de la Potencia

El métod más simple para clacular un simple eigenvalor y eigenvector de una matriz es el . Asúmase que una matriz tiene un único eigenvalor λ1 de módulo máximo, con su correspondiente eigenvector u1 . Entonces, comenzando de un vector no cero x0 , el esquema de iteración es,

xk = Axk−1
1

la iteración inversa converge rápidamente a un eigenvector si el igenvalor asociado es usado como camio. sabemos que los eigenvalores de la matriz A−1 tienen la siguiente la forma λ = 1/λA donde λA es un eigenvalor de la matriz. la solución de mínimos cuadrados esta dada por λ= el cual es llamado el cociente de Rayleigh. entonces la determinación de la mejor estimación para el correspondiente eigenvalor λ puede considerarse como un problema de mínimos cuadrados 2. es decir. . por lo que el método queda de la siguiente manera: Obteniendo mediante éste un eigenvalor de modulo minimo para la matriz A − σId . para ello se puede utilizar una generalización del método antes descrito mediante la implementación de un cambio. .2. en cuyo caso la iteración puede converger a un vector que es combinación lineal de los correspondientes eiegnvalores. el Cociente de Rayleigh da una buena estimación al eigenvalor asociado. El método por potencias aplicado a la matriz inversa se ve de la siguiente manera: 2. Para la ecuación nornal x T x λ = x T Ax . Iteración del cociente de Rayleigh ( A − σId)xk = yk−1 para k = 1. . Iteración inversa xk yk = = A−1yk−1 xk para k = 1. 2. trabajar con la matriz de la forma A − σId . . Conversamente. . xk para k = 1. es decir. Podrían haber mas de un eigenvalor con el mismo módulo (máximo). En la práctica usualmente se necesita calcular para una matriz A el eigenvalor de modulo minimo en lugar del eigenvalor de modulo máximo. lo cual signica que se obtiene un eigenvalor cuyo valor es muy cercano a el valor de σ . . la iteración puede nunca converger a un vector complejo. x T Ax xTx Dado un igenvector aproximado. El vector inicial puede no tener ninguna componente en el vector propio dominante u1 .3. por lo que este método es usado para aproximar eigenvalores cuando se tiene cierta información del valor que posiblemente tenga ya sea obteniendolo de manera teórica o experimental. . el eigenvector correspondiente al eigenvalor dominante λ1 . x λ ≈ Ax Una forma para solucionar un problema de mínimos cuadrados es por medio de las ecuaciones normales. . En la práctica el método de la la potencia es el más usado. por lo que para calcular el eigenvalor de modulo minimo podemos aplicar el método de la potencia a la matriz A−1 pero ello calcular una inversa lo cual es costoso computacionalmente. 2. porque el error de redondeo por lo general introduce una componente en cualquier caso. lo cual puede ser escrito del siguiente modo: Axk = yk−1 Una de las aplicaciones del método de iteración inversa es estimar valores aproximados de cualquier eigenvalor λ de la matriz A. por lo tanto veamos un método que sirve para este proposito. Esta posibilidad no es un problema en la práctica. . Si x es un eigenvector aproximado para la matriz A. el cual puede ser un valor real o complejo. pero puede fallar por diveresas razones. El algoritmo de la iteración del Cociente de Rayleigh esta dado por: 2 . α1 = 0.y converge a un multiplo de u1 . Para una matriz y vector inicial real. 2.

. σk = x T Ax k−1 /x T x k−1 k−1 k−1 Resolver (A − σk I)y k = x k para y k y k = y k/ y k ∞ for end (se calcula el cambio) (se genera el nuevo vector) (se normaliza) La itaración del Cociente de Rayleigh converge rápidamente: su su velocidad de convergencia es al menos cuadrática para cualquier valor propio no defectuoso. x (0) los p vectores iniciales p 1 linealmente independientes. usando cualquiera de los métodos de factorización QR vistos en capítulos anteriores. se tiene que el costo en cada iteración es elevado a menos que la matriz sea de forma especial. y cúbico para cualquier matriz normal. Aplicando la iteración por potencias a cada uno de éstos vectores obtenemos el siguiente algoritmo conocido como iteraciones simultaneas. al usar le iteración por potencias a cada iteración. las columnas de X k tendrán que ser redimensionadas en cada iteración para evitar un eventual desbordamiento superior ó inferior. . Sean x (0) . 2. . . La forma más sencilla de hacer ésto es usar la iteración por potencias con diferentes vectores iniciales. (Se normaliza) (Se genera la siguiente matriz) end Podemos notar que la ortogonalización requerida en cada iteración puede resultar cara computacionalmente. Los dígitos de presición en el eigenvector es al menos double (en cada iteración). Ahora consideraremos métodos que hallen varias parejas a de eigenvalor-eigenvector al mismo tiempo. 2.Cociente de Rayleigh x 0= un vector arbitrario distinto de cero k =1. . Ésto produce el algoritmo conocido cómo iteración ortogonal. . . 2.5. Como el cambio es diferente en cada iteración.2. los cuales forman las columnas de la matriz X 0 de n × p de rango p. Se utiliza el siguiente algoritmo Iteración QR 3 . Para solucionar éste problema se pueden ortonormalizar las columnas de X k . . Iteraciones Simultaneas Todos los métodos que se han considerado hasta ahora están diseñados para hallar un simple par de eigenvalor-eigenvector dada una matriz... dependiendo de la razón de las magintudes de eigenvalores consecutivos. y la convergencia del método puede ser lenta. Iteración Ortogonal for X 0 = matriz arbitraria de n × p con rango p ˆ Q k Rk = X k−1 ˆ X k = AQ k Calcular la factorización reducida QR k = 1.4. X k = AX k−1 (Se genera la siguiente matriz) Pero.. Iteracion QR Éste método usa repetidamente la factorización QR para producir una tarnsformación de la matriz a una forma diagonal o triangular. . Iteraciones Simultaneas for end X 0 = matriz arbitraria de n × p con rango p k = 1. 2. .

Tenemos entonces que Q nRn =K n Q H AQ n = (K nR−1)−1AK nR−1 =RnK −1AK nR−1 =RnC nR−1 ≡H n n n n n n la cual.. entonces denimos la matriz de Krylov de tamaño Ax Métodos de los espacios de Krylov K k = [x 0 x 1 .. la convergencia de las columnas suscesivas de K n para el eigenvector dominante de A dice que K n está cerca de ser una base mal condicionada para Kn .. Observe que para k = n AKn = [Ax0 . x k−1] = [x 0 0 . al menos cuadráticamente y frecuente cúbicamente. la secuencia generada por simples iteraciones potencia comenzando con x 0 ). 2. n. Para cada k = 1. . n a] ≡ K n n donde a =K −1 x n .. 4 . Desafortunadamente. hay algunas instancias.A0 = A for end Qk Rk = Ak−1 Ak = R k Q k Calcular la factorización QR k = 1. La iteración QR con cambios converge casi siempre rápidamente. Sin embargo. Tenemos por tanto n K −1AK n =C n n donde A es similar a n . L relación se da por el algoritomo iteración de Arnoldi el cual es análogo al procedimineto de ortogonalización de Gram-Schimdt.. 2. .. (normalizar) (Se genera la siguiente matriz) La tasa de convergencia de la iteración QR puede acelerarce incorporando cambios de la siguiente forma Ak−1 − σk I = Qk Rk .. es una matriz Hessenberg superior la cual es unitaria similar a A. por ejemplo cuando el cambio es exactamente la mitad entre dos eigenvalores y por tanto no distingue entre ambos. . asumiendo n una matriz no singular.. . . desde la forma superior de Hessenberg de Cn . en el cual el cambio del cociente simple de Rayleigh falla. . Ak−1x 0] y el correspondiente subespacio de Krylov Kk =span(K k ). x 0 un vector arbitrario diferente de cero y para k > 0 dena la secuencia de Krylov x k =Axk−1 (es decir.6.. está preservada la multiplicación entre pre y post por multiplicación por una matriz triangular superior. Hemos derivado un método similar a la reducción por Hesenberg usando solo multiplicación de matrices. la cual es una matriz superior de Hessenberg. 2. xk−1 xn ] = K n [ 2 . n×n Sea A una matriz de n × n. forman una base ortonormal para Kn . pero podemos e e C K C remediar esto por medio del cálculo de la factorización QR las columnas de la matriz Q n . Axn−2Ax n−1] = [x 1 . . Ak = Rk Qk + σk I donde σk es una aproximación de un eigenvalor. .

Aunque el método de Jacobi es conable. posteriormente pueden otra vez llegar a ser distintas de cero. n.. la cual usa la transformación de similitud basada en la rotación del plano (matriz ortogonal que diere de la matriz identidad sólo en cuatro entradas y esta submatriz de orden 2 tiene la forma c s −s c donde c y s son el coseno y el seno del ángulo de rotación respectivamente y tales que c2 + s2 = 1).. donde t es la tangente del ángulo de rotación.7. La matriz se vuelve dagonal si c2 b + cs(a − d) − s2 b = 0. 2. . En la elección sistemática de varios valores de σ y el recuento del seguimiento resultante. el método de Jacobi por lo general requiere de 5 a 10 veces más trabajo que los métodos más modernos. La inercia de A es una terna de enteros consistente en eigenvalores positivo. del cual c b √ podemos recuperar c = 1/ 1 + t2 y s = s · t. Los determinantes pk (σ) son fáciles de calcular si A es transforada a una forma tridiagonal antes de aplicar la técnica de la secuencia de Sturm.. hace la inercia de la matriz simétrica A fácil de determinar. para k = 1. también es dicil de generalizar más allá de matrices simétricas. Método de Jacobi Uno de los métdos más antiguos para calcular eigenvalores es el método de Jacobi.8. igual al número de eigenvalores de A es estrictamente mayor que σ . Mediante la aplicación de la factorización A − σI para varios valores de σ . Para una matriz real simétrica hay varios métodos para determinar el número de eigenvalores que son menores a un número real dado σ . Sea A una matriz simétrica y. La suceción de rotaciones de planos elegidas para eliminar pares enteros de las entradas de matrices simétricas a la larga convergen en forma diagonal. Para eliminar un par fuera de la diagonal se eligen c y s tales que J T AJ = = c −s s c 2 a b b d c −s s c c2 a − 2csb + s2 d c b + cs(a − d) − s2 b c2 b + cs(a − d) − s2 b c2 d + 2csb + s2 a 2 donde b = 0. eigenvalores individuales pueden ser aislados con la mayor precisión que se desee mediante la técnica del intervalo de bisección. 5 .2. El método spectrum-slicing más común para el cálculo de eigenvalores individuales se basa en la propiedad de la secuencia de Sturm de matrices simétricas. Excepto por problemas muy pequeños. negativo y cero. converge más lentamente. La factorización indenida simétrica A = LDLT (L triangular inferior unitaria y D diagonal). fácil de programar y de gran precisión. Bisección Otra familia de métodos está basado en el conteo de eigenvalores. sea pk (σ) el determinante del menor índice principal de orden k de A − σI . Una fuente de ineciencia es que las entradas previamente eliminadas. Entonces los ceros de pk (σ) claramente separados de los pk−1 (σ) y el número de acuerdos en el signo de los sucesivos miembros de la secuencia pk (σ). Sea A una matriz real simétrica. cualquier eigenvalor se puede aislar con cualquier presición dada. Es numericamente ventajoso usar la raíz de menor magnitud de la ecuación de t. de donde 1 + s (a−d) − s2 = 0. c b c Haciendo t = s se tiene 1 + t (a−d) − t2 = 0.

1 0. Si el vector de distribución de probabilidad inicial es x(0) .1  0.1 0.1 0. ¾es éste comportamineto cíclico posible? Si no.12.8 = 0. entonces el vector de probabilidades después de k pasos está dado por Entonces. y por x(k) la probabilidad de que el sistema esté en el estado i luego i de la transición k. (f ) ¾El 1 es siempre un eigenvalor de la matriz de transición de una cadena de Markov?¾por qué? (g ) Un vector de probabilidades se dice estacionario si Ax = x ¾Cómo puedes determinar un valor estacionario x usando los eigenvalores y eigenvectores de A? (h ) ¾Cómo puedes determinar un valor estacionario eigenvectores A? x sin conocimiento de los eigenvalores y (i ) ¾En éste ejemplo en particular.175 . 0.238 0. La probabilidad de pasar del estado j al estado i esta dada por aij . probabilidades de que se inicie en el estado 2 o 3 es claramente 0. (a ) ¾Cuál es el vector de probabilidades después de 3 pasos? (b ) ¾Cuál es valor a largo plazo del vector de probabilidades? (d ) ¾Cuál es el valor de l´ k→∞ Ak .587 = 0. sin ser una distribución estacionaria? Para una cadena de Markov en general. Denotemos por A la matriz de i=1 probabilidades de transición. si no.2 0. (a ) Cómo se inició en el estado 1.3 . da un ejemplo. da un ejemplo. Solución. (j ) ¾Puede haber más de un vector estacionario dada una cadena de Markov?. el comportamiento a largo plazo del sistema está determinado por el valor de l´ k→∞ Ak ım Considere un sistema con tres estados y matriz de transición x(k) = Ax(k−1) = Ak x(0).7 0. es posible para un vector de distribución previo repetirse. donde 0 ≤ aij ≤ 1 y n aij . Ejercicio Ejercicio 4. el vector de probabilidad inicial está dado por x(0)   1 = 0 .6 A y supongase que el sistema inicia en le estado 1.  0. y qué rango tiene la matriz? ım (c ) ¾Depende el valor anterior del valor inicial x(0) ? (e ) Explica los resultados anteriores en terminos de los eigenvalores y eigenvectores de A. ¾por qué? Si sí. ¾por qué? Si sí.3. Entonces x(3) = A3x(0) (b ) 6   0. 0 es decir. Una cadena de Markov es un sistema que tiene n posible estados y que pasa a traves de una serie de transiciones de un estado a otro.

8165 0.35 0.6000 0 0 0 0.5793 -0.35 0.0000 0 0 0 0. (f ) 7 .35 0. Entonces A = XDX−1 An de donde l´ ım = = ( ( XDX−1) · · · (XDX−1) n veces XDnX−1)  n→∞ An = X X =  0 0 1n 0  l´  0 0.6n ım n→∞ 0 0 0.5n   1 0 0 0 0 0 −1 0 0 0 X−1 X Las relaciones anteriores permitieron responder los primeros 4 incisos.2  (c ) (d ) No.Éste valor está determinado por l´ ım k→∞ Ak x(0)  0.45 0. la matriz es diagonalizable.4082 A utilizando una rutina de MATLAB como los eigenvalores son distintos.2  0.5000 -0.0000 0.7071 0.45 = 0.3310 D = 1.2  0.4082 -0. para los 3 estados se obtiene el mismo valor k→∞ l´ ım Ak 0.7071 0.35 0.D]=eig(A) X = -0.7448 -0. (e ) Primero se hallaron los eigenvalores e eigenvectores de >> [X.2 donde ésta matriz tiene claramente rango 1. luego tenemos la igualdad donde D es la matriz diagonal que tiene los eigenvalores de la matriz y las columnas de X son sus respectivos eigenvectores.45 = 0.45 0.

ann − 1 a2n a1n  se satisface para las constantes c1 = c2 = . entonces λ es eigenvalor de A si det(A − λIn×n ) = 0. lo cual ocurre para λ = 1 pues la relación      an1 a21 a11 − 1  a12   an2  a22 − 1        . Como λ = 1 es siempre un valor propio de la matriz A. donde el sistema tiene innidad de soluciones pues λ = 1 es eigenvalor. los vectores estacionarios se pueden obtener de solucionar el sistema (A − In×n )x = 0n×n agregando la ecuación x1 + x2 + .  . pues las entradas de cada columnas de la matriz de transición suman 1. entonces podrá igualarse al vector de distribución límite. por lo que se concluye que sólo éste es vector estacionario para la cadena de Markov.  c1 +  . pues si se supone un vector es estacionario. .  c2 + · · · +  . se puede proceder como en el inciso anterior. lo cual ocurre si las las de la matriz A − λIn×n son linealmente dependientes. + xn = 1.  .Sí. . . lo cual ⇒ Ak x(0) = x(0) ⇒ Ank x(0) = x(0) ∀n ∈ N l´ Ank x(0) = x(0) = l´ Ak x(0) ım ım n→∞ k→∞ = = pero entonces si sería un vector estacionario pues: Ax(0) (j ) A k→∞ Ak x(0) l´ ım l´ Ak+1 x(0) ım k→∞ = x(0) No. (h ) Como se debe cumplir la relación Ax = x. . en general no es posible. Lo que se pide es que exista k > 1 tal que implica que (g ) (i ) x(k) = x(0). . = cn = 1. Para probar ésto supongamos la matriz de transición A = {aij }n×n .  cn = 0 . No.    .  . λ = 1 es siempre un valor propio de una matriz de transición. 8 .

Sign up to vote on this title
UsefulNot useful