Está en la página 1de 8

Mtodos numricos para el clculo de eigenvalores y una aplicacin encadenas de Markov

Arnaldo Andre Rebolledo Peba 27 de noviembre de 2011

1.

Eigenvalores y eigenvectores

y un vector no nulo

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

Al escalar lo llamaremos eigenvalor, y


1.1. Polinomio caracterstico

x es su correspondiente eigenvector.

Ax = x

La ecuacin

Ax = x es equivalente a
(

A I)x = 0 A I) = 0.

sta ecuacin homogenea tiene solucin slo 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 caracterstico de A, cuyas races 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,

Mtodos para el clculo de eigenvalores


Iteracin por potencias

Mtodo de la Potencia

El mtod ms simple para clacular un simple eigenvalor y eigenvector de una matriz es el . Asmase que una matriz tiene un nico eigenvalor 1 de mdulo mximo, con su correspondiente eigenvector u1 . Entonces, comenzando de un vector no cero x0 , el esquema de iteracin es,

xk = Axk1
1

y converge a un multiplo de u1 , el eigenvector correspondiente al eigenvalor dominante 1 . En la prctica el mtodo de la la potencia es el ms usado, pero puede fallar por diveresas razones. El vector inicial puede no tener ninguna componente en el vector propio dominante u1 , es decir, 1 = 0. Esta posibilidad no es un problema en la prctica, porque el error de redondeo por lo general introduce una componente en cualquier caso. Para una matriz y vector inicial real, la iteracin puede nunca converger a un vector complejo. Podran haber mas de un eigenvalor con el mismo mdulo (mximo), en cuyo caso la iteracin puede converger a un vector que es combinacin lineal de los correspondientes eiegnvalores. En la prctica usualmente se necesita calcular para una matriz A el eigenvalor de modulo minimo en lugar del eigenvalor de modulo mximo, sabemos que los eigenvalores de la matriz A1 tienen la siguiente la forma = 1/A donde A es un eigenvalor de la matriz, por lo que para calcular el eigenvalor de modulo minimo podemos aplicar el mtodo de la potencia a la matriz A1 pero ello calcular una inversa lo cual es costoso computacionalmente, por lo tanto veamos un mtodo que sirve para este proposito. El mtodo por potencias aplicado a la matriz inversa se ve de la siguiente manera:
2.2. Iteracin inversa

xk yk

= =

A1yk1 xk para k = 1, 2, . . . xk
para k = 1, 2, . . .

lo cual puede ser escrito del siguiente modo:

Axk = yk1

Una de las aplicaciones del mtodo de iteracin inversa es estimar valores aproximados de cualquier eigenvalor de la matriz A, para ello se puede utilizar una generalizacin del mtodo antes descrito mediante la implementacin de un cambio, es decir, trabajar con la matriz de la forma A Id , por lo que el mtodo queda de la siguiente manera: Obteniendo mediante ste un eigenvalor de modulo minimo para la matriz A Id , lo cual signica que se obtiene un eigenvalor cuyo valor es muy cercano a el valor de , el cual puede ser un valor real o complejo, por lo que este mtodo es usado para aproximar eigenvalores cuando se tiene cierta informacin del valor que posiblemente tenga ya sea obteniendolo de manera terica o experimental. Si x es un eigenvector aproximado para la matriz A, entonces la determinacin de la mejor estimacin para el correspondiente eigenvalor puede considerarse como un problema de mnimos cuadrados
2.3. Iteracin del cociente de Rayleigh

A Id)xk = yk1

para k = 1, 2, . . .

x Ax

Una forma para solucionar un problema de mnimos cuadrados es por medio de las ecuaciones normales. Para la ecuacin nornal x T x = x T Ax , la solucin de mnimos cuadrados esta dada por
=

el cual es llamado el cociente de Rayleigh.

x T Ax xTx

Dado un igenvector aproximado, el Cociente de Rayleigh da una buena estimacin al eigenvalor asociado. Conversamente, la iteracin inversa converge rpidamente a un eigenvector si el igenvalor asociado es usado como camio. El algoritmo de la iteracin del Cociente de Rayleigh esta dado por: 2

Cociente de Rayleigh

x 0= un vector arbitrario distinto de cero k =1,2,... k = x T Ax k1 /x T x k1 k1 k1 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 itaracin del Cociente de Rayleigh converge rpidamente: su su velocidad de convergencia es al menos cuadrtica para cualquier valor propio no defectuoso, y cbico para cualquier matriz normal. Los dgitos de presicin en el eigenvector es al menos double (en cada iteracin). Como el cambio es diferente en cada iteracin, se tiene que el costo en cada iteracin es elevado a menos que la matriz sea de forma especial.
2.4. Iteraciones Simultaneas

Todos los mtodos que se han considerado hasta ahora estn diseados para hallar un simple par de eigenvalor-eigenvector dada una matriz. Ahora consideraremos mtodos que hallen varias parejas a de eigenvalor-eigenvector al mismo tiempo. La forma ms sencilla de hacer sto es usar la iteracin por potencias con diferentes vectores iniciales. Sean x (0) , . . . , x (0) los p vectores iniciales p 1 linealmente independientes, los cuales forman las columnas de la matriz X 0 de n p de rango p. Aplicando la iteracin por potencias a cada uno de stos vectores obtenemos el siguiente algoritmo conocido como iteraciones simultaneas.
Iteraciones Simultaneas

for

end

X 0 = matriz arbitraria de n p con rango p k = 1, 2, . . . X k = AX k1

(Se genera la siguiente matriz)

Pero, al usar le iteracin por potencias a cada iteracin, las columnas de X k tendrn que ser redimensionadas en cada iteracin para evitar un eventual desbordamiento superior inferior. Para solucionar ste problema se pueden ortonormalizar las columnas de X k , usando cualquiera de los mtodos de factorizacin QR vistos en captulos anteriores. sto produce el algoritmo conocido cmo iteracin ortogonal.
Iteracin Ortogonal

for

X 0 = matriz arbitraria de n p con rango p


Q k Rk = X k1 X k = AQ k

Calcular la factorizacin reducida QR

k = 1, 2, . . .

(Se normaliza) (Se genera la siguiente matriz)

end

Podemos notar que la ortogonalizacin requerida en cada iteracin puede resultar cara computacionalmente, y la convergencia del mtodo puede ser lenta, dependiendo de la razn de las magintudes de eigenvalores consecutivos.

2.5.

Iteracion QR

ste mtodo usa repetidamente la factorizacin QR para producir una tarnsformacin de la matriz a una forma diagonal o triangular. Se utiliza el siguiente algoritmo
Iteracin QR

A0 = A
for

end

Qk Rk = Ak1 Ak = R k Q k

Calcular la factorizacin QR

k = 1, 2, . . .

(normalizar) (Se genera la siguiente matriz)

La tasa de convergencia de la iteracin QR puede acelerarce incorporando cambios de la siguiente forma

Ak1 k I = Qk Rk , Ak = Rk Qk + k I

donde k es una aproximacin de un eigenvalor. La iteracin QR con cambios converge casi siempre rpidamente, al menos cuadrticamente y frecuente cbicamente. Sin embargo, hay algunas instancias, por ejemplo cuando el cambio es exactamente la mitad entre dos eigenvalores y por tanto no distingue entre ambos, en el cual el cambio del cociente simple de Rayleigh falla.
2.6.

nn

Sea A una matriz de n n, x 0 un vector arbitrario diferente de cero y para k > 0 dena la secuencia de Krylov x k =Axk1 (es decir, la secuencia generada por simples iteraciones potencia comenzando con x 0 ). Para cada k = 1, 2, ..., n, entonces denimos la matriz de Krylov de tamao
Ax

Mtodos de los espacios de Krylov

K k = [x 0 x 1 ... x k1] = [x 0 0 ... Ak1x 0] y el correspondiente subespacio de Krylov Kk =span(K k ). Observe que para k = n AKn = [Ax0 . . . Axn2Ax n1] = [x 1 . . . xk1 xn ] = K n [ 2 ... n a] K n n donde a =K 1 x n , asumiendo n una matriz no singular. Tenemos por tanto n K 1AK n =C n n donde A es similar a n , la cual es una matriz superior de Hessenberg. Hemos derivado un mtodo similar a la reduccin por Hesenberg usando solo multiplicacin de matrices. Desafortunadamente, 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 , pero podemos
e e C K C

remediar esto por medio del clculo de la factorizacin QR

las columnas de la matriz Q n , forman una base ortonormal para Kn . Tenemos entonces que

Q nRn =K n

Q H AQ n = (K nR1)1AK nR1 =RnK 1AK nR1 =RnC nR1 H n n n n n n

la cual, desde la forma superior de Hessenberg de Cn , est preservada la multiplicacin entre pre y post por multiplicacin por una matriz triangular superior, es una matriz Hessenberg superior la cual es unitaria similar a A. L relacin se da por el algoritomo iteracin de Arnoldi el cual es anlogo al procedimineto de ortogonalizacin de Gram-Schimdt.

2.7.

Mtodo de Jacobi

Uno de los mtdos ms antiguos para calcular eigenvalores es el mtodo de Jacobi, la cual usa la transformacin de similitud basada en la rotacin del plano (matriz ortogonal que diere de la matriz identidad slo 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 rotacin respectivamente y tales que c2 + s2 = 1).

La sucecin de rotaciones de planos elegidas para eliminar pares enteros de las entradas de matrices simtricas 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. La matriz se vuelve dagonal si c2 b + cs(a d) s2 b = 0, de donde 1 + s (ad) s2 = 0. c b c Haciendo t = s se tiene 1 + t (ad) t2 = 0, donde t es la tangente del ngulo de rotacin, del cual c b podemos recuperar c = 1/ 1 + t2 y s = s t. Es numericamente ventajoso usar la raz de menor magnitud de la ecuacin de t. Aunque el mtodo de Jacobi es conable, fcil de programar y de gran precisin, converge ms lentamente, tambin es dicil de generalizar ms all de matrices simtricas. Excepto por problemas muy pequeos, el mtodo de Jacobi por lo general requiere de 5 a 10 veces ms trabajo que los mtodos ms modernos. Una fuente de ineciencia es que las entradas previamente eliminadas, posteriormente pueden otra vez llegar a ser distintas de cero.
2.8. Biseccin

Otra familia de mtodos est basado en el conteo de eigenvalores. Para una matriz real simtrica hay varios mtodos para determinar el nmero de eigenvalores que son menores a un nmero real dado . En la eleccin sistemtica de varios valores de y el recuento del seguimiento resultante, cualquier eigenvalor se puede aislar con cualquier presicin dada. Sea A una matriz real simtrica. La inercia de A es una terna de enteros consistente en eigenvalores positivo, negativo y cero. La factorizacin indenida simtrica A = LDLT (L triangular inferior unitaria y D diagonal), hace la inercia de la matriz simtrica A fcil de determinar. Mediante la aplicacin de la factorizacin A I para varios valores de , eigenvalores individuales pueden ser aislados con la mayor precisin que se desee mediante la tcnica del intervalo de biseccin. El mtodo spectrum-slicing ms comn para el clculo de eigenvalores individuales se basa en la propiedad de la secuencia de Sturm de matrices simtricas. Sea A una matriz simtrica y, sea pk () el determinante del menor ndice principal de orden k de A I . Entonces los ceros de pk () claramente separados de los pk1 () y el nmero de acuerdos en el signo de los sucesivos miembros de la secuencia pk (), para k = 1, ..., n, igual al nmero de eigenvalores de A es estrictamente mayor que . Los determinantes pk () son fciles de calcular si A es transforada a una forma tridiagonal antes de aplicar la tcnica de la secuencia de Sturm.

3.

Ejercicio

Ejercicio 4.12.

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. La probabilidad de pasar del estado j al estado i esta dada por aij , donde 0 aij 1 y n aij . Denotemos por A la matriz de i=1 probabilidades de transicin, y por x(k) la probabilidad de que el sistema est en el estado i luego i de la transicin k. Si el vector de distribucin de probabilidad inicial es x(0) , entonces el vector de probabilidades despus de k pasos est dado por Entonces, 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 transicin

x(k) = Ax(k1) = Ak x(0).


0.8 = 0.1 0.1 0.2 0.7 0.1 0.1 0.3 , 0.6

y supongase que el sistema inicia en le estado 1. (a ) Cul es el vector de probabilidades despus de 3 pasos? (b ) Cul es valor a largo plazo del vector de probabilidades? (d ) Cul es el valor de l k Ak , 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. (f ) El 1 es siempre un eigenvalor de la matriz de transicin de una cadena de Markov?por qu?

(g ) Un vector de probabilidades se dice estacionario si Ax = x Cmo puedes determinar un valor estacionario x usando los eigenvalores y eigenvectores de A? (h ) Cmo puedes determinar un valor estacionario eigenvectores A?

sin conocimiento de los eigenvalores y

(i ) En ste ejemplo en particular, es posible para un vector de distribucin previo repetirse, sin ser una distribucin estacionaria? Para una cadena de Markov en general, es ste comportamineto cclico posible? Si no, por qu? Si s, da un ejemplo. (j ) Puede haber ms de un vector estacionario dada una cadena de Markov?, si no, por qu? Si s, da un ejemplo.
Solucin.

(a )

Cmo se inici en el estado 1, el vector de probabilidad inicial est dado por

x(0)

1 = 0 , 0

es decir, probabilidades de que se inicie en el estado 2 o 3 es claramente 0. Entonces

x(3) = A3x(0)
(b ) 6

0.587 = 0.238 0.175

ste valor est determinado por


l m

Ak x(0)

0.45 = 0.35 0.2

(c ) (d )

No, para los 3 estados se obtiene el mismo valor

l m

Ak

0.45 = 0.35 0.2

0.45 0.35 0.2

0.45 0.35 0.2

donde sta matriz tiene claramente rango 1. (e ) Primero se hallaron los eigenvalores e eigenvectores de
>> [X,D]=eig(A) X = -0.7448 -0.5793 -0.3310 D = 1.0000 0 0 0 0.6000 0 0 0 0.5000 -0.7071 0.7071 0.0000 0.4082 -0.8165 0.4082

A utilizando una rutina de MATLAB

como los eigenvalores son distintos, la matriz es diagonalizable, 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. Entonces

A = XDX1

An
de donde
l m

= =

( (

XDX1) (XDX1)
n veces

XDnX1)

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

X1

Las relaciones anteriores permitieron responder los primeros 4 incisos. (f ) 7

S, = 1 es siempre un valor propio de una matriz de transicin. Para probar sto supongamos la matriz de transicin A = {aij }nn , entonces es eigenvalor de A si det(A Inn ) = 0, lo cual ocurre si las las de la matriz A Inn son linealmente dependientes, lo cual ocurre para = 1 pues la relacin
an1 a21 a11 1 a12 an2 a22 1 . c1 + . c2 + + . cn = 0 . . . . . . ann 1 a2n a1n

se satisface para las constantes c1 = c2 = . . . = cn = 1, pues las entradas de cada columnas de la matriz de transicin suman 1. Como = 1 es siempre un valor propio de la matriz A, los vectores estacionarios se pueden obtener de solucionar el sistema (A Inn )x = 0nn agregando la ecuacin x1 + x2 + . . . + xn = 1. (h ) Como se debe cumplir la relacin Ax = x, se puede proceder como en el inciso anterior, donde el sistema tiene innidad de soluciones pues = 1 es eigenvalor. No, en general no es posible. Lo que se pide es que exista k > 1 tal que implica que (g )

(i )

x(k) = x(0), 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 sera un vector estacionario pues:

Ax(0)
(j )

A k Ak x(0) l m l Ak+1 x(0) m k

x(0)

No, pues si se supone un vector es estacionario, entonces podr igualarse al vector de distribucin lmite, por lo que se concluye que slo ste es vector estacionario para la cadena de Markov.