4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... ·...

35
4. Autovalores y autovectores 4.1 Conceptos b´ asicos Definici´on4.1 [Variedad lineal invariante] Una variedad lineal V de K n se dice que es invariante para una aplicaci´ on A si cualquier vector x V se transforma, mediante A, en otro vector de V Ax V x V Las variedades invariantes m´ as simples son aquellas que tienen dimensi´on 1, por lo que una base est´ a constituida por un ´ unico vector v 6= 0. Podemos observar que, en ese caso, cualquier vector x V puede expresarse de la forma x = αv con α 6= 0 si x 6= 0 y que, por tratarse de una variedad invariante, ha de ser Ax = βv, pero entonces: Ax = Aαv = αAv = βv = Av = β α v = λv Definici´on4.2 [Autovalores y autovectores de una matriz] Las variedades invariantes de dimensi´ on 1 vienen determinadas por un vector v 6= 0 tal que Av = λv. Estos vectores reciben en nombre de autovectores o vectores propios de la matriz A y los correspondientes valores de λ reciben el nombre de autovalores o valores propios de A. Proposici´on4.1 Si v 6=0 es un autovector de la matriz A asociado al au- tovalor λ, cualquier vector v proporcional a ´ el, es tambi´ en autovector de A asociado a λ. 1

Transcript of 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... ·...

Page 1: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

4. Autovalores y autovectores

4.1 Conceptos basicos

Definicion 4.1 [Variedad lineal invariante]

Una variedad lineal V de Kn se dice que es invariante para una aplicacion A

si cualquier vector x ∈ V se transforma, mediante A, en otro vector de V

Ax ∈ V ∀x ∈ V

Las variedades invariantes mas simples son aquellas que tienen dimension 1,

por lo que una base esta constituida por un unico vector v 6= 0.

Podemos observar que, en ese caso, cualquier vector x ∈ V puede expresarse

de la forma x = αv con α 6= 0 si x 6= 0 y que, por tratarse de una variedad

invariante, ha de ser Ax = βv, pero entonces:

Ax = Aαv = αAv = βv =⇒ Av =β

αv = λv

Definicion 4.2 [Autovalores y autovectores de una matriz]

Las variedades invariantes de dimension 1 vienen determinadas por un vector

v 6= 0 tal que Av = λv.

Estos vectores reciben en nombre de autovectores o vectores propios de la

matriz A y los correspondientes valores de λ reciben el nombre de autovalores

o valores propios de A.

Proposicion 4.1 Si v 6= 0 es un autovector de la matriz A asociado al au-

tovalor λ, cualquier vector v proporcional a el, es tambien autovector de A

asociado a λ.

1

Page 2: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

2 Autovalores y autovectores

Demostracion. Por ser v un autovector asociado a λ se tiene que Av = λv.

Si x = αv se verifica que

Ax = Aαv = αAv = αλv = λ(αv) = λx

La proposicion anterior establece que lo que caracteriza a un autovector no es

su norma ni su sentido, sino su direccion.

Proposicion 4.2 Autovectores asociados a autovalores diferentes son lineal-

mente independientes

Demostracion. Sean u y v dos autovectores de la matriz A asociados a los

autovalores λ y µ respectivamente con λ 6= µ.

Si u y v fuesen linealmente dependientes se verificarıa que u = αv con α 6= 0.

Entonces:

λu = Au = A(αv) = αAv = αµv = µ(αv) = µu

y por tanto (λ − µ)u = 0, pero dado que u 6= 0 se tiene que λ = µ en contra

de la hipotesis de que λ 6= µ, lo que prueba el resultado.

Los autovalores de una matriz son, en general, numeros complejos. Sin em-

bargo, las matrices hermıticas (en el caso real, las simetricas) tienen todos sus

autovalores reales como prueba el siguiente teorema.

Teorema 4.3 Los autovalores de una matriz hermıtica son todos reales y au-

tovectores correspondientes a dos autovalores diferentes son ortogonales.

Demostracion. Sea A una matriz hermıtica, es decir, una matriz tal que

A∗ = A y sea λ un autovalor de A asociado al autovector x. Se verifica

entonces que Ax = λx.

Multiplicando la expresion anterior, por la izquierda por x∗ obtenemos que

x∗Ax = x∗λx = λx∗x (4.1)

Trasponiendo y conjugando la expresion (4.1) obtenemos

(x∗Ax)∗ = (λx∗x)∗ =⇒ x∗A∗x = λx∗x =⇒ x∗Ax = λx∗x (4.2)

Si comparamos las expresiones (4.1) y (4.2) obtenemos que

λx∗x = λx∗x

Page 3: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Conceptos basicos 3

y dado que x es un autovector (un vector no nulo) sabemos que x∗x = ‖x‖2 6= 0,

por lo que podemos dividir por x∗x para obtener que λ = λ, es decir, λ ∈ R.

Por otra parte, si x e y son autovectores asociados a dos autovalores λ 6= µ de

una matriz hermıtica A se verifica que

Ax = λx =⇒ (Ax)∗ = (λx)∗ =⇒ x∗A = λx∗

x∗Ay = λx∗y =⇒ x∗µy = λx∗y =⇒ µx∗y = λx∗y =⇒ (λ− µ)x∗y = 0

y dado que λ 6= µ =⇒ λ− µ 6= 0 obtenemos que

x∗y = 0 ⇐⇒ x ⊥ y

Teorema 4.4 Si A una matriz regular y λ un autovalor suyo asociado al

autovector v, se verifica que 1/λ es un autovalor de A−1 asociado al mismo

autovector v.

Demostracion. Si λ es un autovalor de A asociado a v sabemos que Av = λv.

Al tratarse de una matriz invertible (det(A) 6= 0) sus autovalores son todos

no nulos, por lo que podemos dividir por λ y multiplicar por A−1 la ultima

igualdad para obtener que A−1v =1

λv es decir, 1/λ es un autovalor de A−1

asociado a v.

Teorema 4.5 Si λ es un autovalor de una matriz A asociado a un autovector

v y α una constante cualquiera se verifica que λ − α es un autovalor de la

matriz A− αI asociado al mismo autovalor v.

Demostracion. Sabemos, por hipotesis, que Av = λv, por lo que Av − αv =

λv − αv y, por tanto,

(A− αI)v = (λ− α)v

es decir, λ− α es un autovector de A− αI asociado a v.

Teorema 4.6 Si λ es un autovalor de una matriz A asociado a un autovector

v y α (una constante cualquiera) no es autovalor de A entonces 1/(λ− α) es

un autovalor de la matriz (A− αI)−1 asociado al autovector v.

La demostracion se basa en los Teoremas 4.4 y 4.5 y se deja al lector.

Sea A una matriz cuadrada de orden n y supongamos que existen V1, V2, . . . , Vk

subespacios invariantes tales que Kn = V1 ⊕ V2 ⊕ · · · ⊕ Vk.

Page 4: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

4 Autovalores y autovectores

Si {xi1, xi2, . . . , xini} es una base de Vi se tiene que

B = {x11, . . . , x1n1 , x21, . . . , x2n2 , . . . , xk1, . . . , xknk}

constituye una base de Kn. Si P es la matriz del cambio de base de la base

canonica a la base B, se tiene que

P−1AP =

J1 Θ · · · Θ

Θ J2 · · · Θ...

.... . .

...

Θ Θ · · · Jk

donde cada Ji es una caja cuadrada de dimension ri = dim(Vi).

La justificacion es que Axij = (0, . . . , 0, αi1, . . . , αini, 0, . . . , 0)T

B con 1 ≤ i ≤ k,

1 ≤ j ≤ ni y, por tanto, puede verse facilmente que

AP = P

J1 Θ · · · Θ

Θ J2 · · · Θ...

.... . .

...

Θ Θ · · · Jk

Definicion 4.3 [Matriz diagonalizable]

Una matriz A se dice que es diagonalizable, si existe una matriz P , llamada

matriz de paso tal que P−1AP = D siendo D = diag(λ1, . . . , λn) la matriz

diagonal cuyos elementos diagonales son los autovalores de la matriz A.

Es obvio que si A posee un autovector es porque existe un vector v 6= 0 tal que

Av = λv, o lo que es lo mismo, tal que (λI − A)v = 0. Por tanto, el sistema

(λI−A)x = 0 es compatible y ademas indeterminado (infinitas soluciones), ya

que si v 6= 0 es solucion del sistema, cualquier vector proporcional a el tambien

lo es.

Se verifica entonces que rg (λI − A) < n (donde n representa el orden de la

matriz) y, por tanto det(λI − A) = 0.

Definicion 4.4 [Polinomio caracterıstico]

Al polinomio p(λ) = det(λI − A) se le denomina polinomio caracterıstico de

la matriz A y a la ecuacion p(λ) = 0 ecuacion caracterıstica.

Page 5: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Conceptos basicos 5

Notese que si λ es una raız de la ecuacion caracterıstica de la matriz A, existe

un autovector v asociado al autovalor λ. Por tanto, desde el punto de vista

teorico, el problema del calculo de los autovectores de una matriz se reduce

a la resolucion de los sistemas (λiI − A)x = 0 obtenidos para las diferentes

raıces λi de la ecuacion caracterıstica.

Es decir, el calculo de los autovectores de una matriz, una vez calculados los

autovalores, se reduce, teoricamente, a la resolucion de un sistema de ecuacio-

nes por cada autovalor.

Trataremos, por tanto, en primer lugar, de calcular sus autovalores a partir

de la propiedad de ser las raıces del polinomio caracterıstico de la matriz.

Es decir, dada una matriz cuadrada A de orden n pretendemos calcular su

polinomio caracterıstico P (λ) = det(λI − A) para, posteriormente, hallar sus

raıces mediante alguno de los metodos de resolucion de ecuaciones estudiados.

Al ser P (λ) = det(λI−A) su obtencion conlleva el calculo de un determinante

de orden n que no es numerico, pues contiene al parametro λ, lo cual no es

facil de realizar.

¿Como evitar el calculo del determinante con el parametro λ?

Metodo interpolatorio para la obtencion del polinomio carac-

terıstico

Este metodo consiste en dar n valores a λ, para calcular n determinantes y,

posteriormente, resolver el sistema de n ecuaciones con n incognitas resultante.

Sea P (λ) = det(λI − A) = λn + a1λn−1 + · · ·+ an−2λ

2 + an−1λ+ an.

Dando a λ n valores λ1, λ2, . . . , λn se tiene que:

λ = λ1 =⇒ λn1 + a1λ

n−11 + · · ·+ an−2λ

21 + an−1λ1 + an = det(λ1I − A)

λ = λ2 =⇒ λn2 + a1λ

n−12 + · · ·+ an−2λ

22 + an−1λ2 + an = det(λ2I − A)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

λ = λn =⇒ λnn + a1λ

n−1n + · · ·+ an−2λ

2n + an−1λn + an = det(λnI − A)

donde det(λiI − A) 1 ≤ i ≤ n son determinantes numericos.

La solucion del sistema resultante nos proporciona los coeficientes del polino-

mio caracterıstico.

Page 6: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

6 Autovalores y autovectores

Ejemplo 4.1 Dada la matriz A =

1 3 2 5

4 2 −1 0

0 1 0 1

2 −2 −1 1

, su polinomio ca-

racterıstico es de grado cuatro P (λ) = λ4 + a1λ3 + a2λ

2 + a3λ+ a4, por lo que

vamos a dar a λ cuatro valores:

λ = 0 =⇒ a4 = det (−A) = 41

λ = 1 =⇒ 1 + a1 + a2 + a3 + a4 = det(I − A) = 74

λ = −1 =⇒ 1− a1 + a2 − a3 + a4 = det(−I − A) = −20

λ = 2 =⇒ 16 + 8a1 + 4a2 + 2a3 + a4 = det(2I − A) = 67

dado que a4 = 41 el sistema se reduce a

a1 + a2 + a3 = 32

−a1 + a2 − a3 = −62

8a1 + 4a2 + 2a3 = 10

=⇒ a1 = −4, a2 = −15 y a3 = 51

por lo que su polinomio caracterıstico es

P (λ) = λ4 − 4λ3 − 15λ2 + 51λ+ 41 �

4.2 Matrices normales

Un ejemplo de matriz, de orden n, no diagonalizable lo constituyen las matrices

de la forma

A =

0

0 In−1

0

0 0 0 0

cuyo polinomio caracterıstico es PA(λ) = λn y por tanto, con sus n autovalores

nulos.

Si introducimos en la matriz una perturbacion y en vez de la matriz A tomamos

la matriz

B = A+ E =

0

0 In−1

0

ε 0 0 0

Page 7: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Matrices normales 7

siendo ε > 0 muy pequeno (incluso mas pequeno que la resolucion del orde-

nador) se obtiene como polinomio caracterıstico PB(λ) = λn + (−1)nε que

posee n raıces distintas (las raıces n-esimas de (−1)n−1ε), por lo resultan muy

sensibles a cualquier perturbacion que se produzca en la matriz, por pequena

que esta sea.

Nos preguntamos entonces,

¿Como afecta una pequena perturbacion a los autovalores de una matrizdiagonalizable?

Teorema 4.7 Sean A una matriz diagonalizable, B = A+E una perturbacion

de dicha matriz, λi los autovalores de la matriz A y µ uno cualquiera de los

autovalores de la matriz B con λi 6= µ.

En las condiciones anteriores se tiene que

mıni|µ− λi| ≤ ‖P‖

∥∥P−1∥∥ ‖E‖ = ‖E‖κ(P )

donde P representa a la matriz de paso que diagonaliza a la matriz A.

Demostracion. Por ser A diagonalizable existe P tal que P−1AP = D.

Sea x un autovector de B asociado a µ. Entonces Bx = µx o lo que es lo

mismo:

(A+ E)x = µx =⇒ (µI − A)x = Ex =⇒ (µI − PDP−1)x = Ex =⇒

P (µI −D)P−1x = Ex =⇒ (µI −D)(P−1x) = P−1Ex = P−1EPP−1x

Supuesto que µ 6= λi cualquiera que sea i = 1, 2, . . . , n, la matriz µI − D es

regular, por lo que

P−1x = (µI −D)−1(P−1EP )P−1x

y para cualquier norma multiplicativa se tiene∥∥P−1x∥∥ ≤ ∥∥(µI −D)−1

∥∥∥∥P−1EP∥∥∥∥P−1x

∥∥es decir

1 ≤∥∥(µI −D)−1

∥∥∥∥P−1EP∥∥

Dado que (µI −D)−1 = diag

(1

µ− λ1

, . . . ,1

µ− λn

)tenemos que

1 ≤ maxi

{∣∣∣∣ 1

µ− λi

∣∣∣∣} ∥∥P−1∥∥ ‖E‖ ‖P‖

Page 8: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

8 Autovalores y autovectores

por lo que

mıni|µ− λi| ≤

∥∥P−1∥∥ ‖P‖ ‖E‖ = ‖E‖κ(P )

Observese que la perturbacion cometida en los autovalores depende del numero

de condicion de la matriz de paso P y dado que esta no es unica.

Trataremos de elegir, entre todas las posibles matrices de paso, aquella cuyo

numero de condicion sea mınimo.

Corolario 4.8 Si A es unitariamente diagonalizable (diagonalizable mediante

una matriz de paso unitaria), la perturbacion producida en los autovalores es

menor o igual que la perturbacion producida en la matriz.

mıni|µ− λi| ≤ ‖E‖

Por tanto, las mejores matrices para el calculo efectivo de sus autovalores y

autovectores son las diagonalizables unitariamente y estas reciben el nombre

de matrices normales.

Es evidente que no podemos estudiar si una matriz es normal calculando sus

autovalores y autovectores para comprobar que se puede diagonalizar por se-

mejanza mediante una matriz de paso unitaria (matriz constituida por una

base ortonormal de autovectores).

Es necesario, por tanto, encontrar alguna forma de detectar si una matriz es,

o no es, normal sin necesidad de calcular sus autovalores y autovectores para

ver si es posible diagonalizarla mediante una matriz de paso unitaria.

Caracterizacion de las matrices normales

Proposicion 4.9 Sea T una matriz triangular. Si T ∗T = TT ∗ entonces T es

diagonal.

Demostracion. Probaremos que se trata de una matriz diagonal por in-

duccion en el orden de la matriz.

Para n = 1 es obvio. Para n = 2 es T =

(a b

0 c

)=⇒ T ∗ =

(a 0

b c

).

T ∗T =

(a 0

b c

)(a b

0 c

)=

(|a|2 ab

ab |b|2 + |c|2

)

Page 9: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Matrices normales 9

TT ∗ =

(a b

0 c

)(a 0

b c

)=

(|a|2 + |b|2 bc

bc |c|2

)Dado que T ∗T = TT ∗, igualando ambas matrices se obtiene que |b|2 = 0 es

decir b = 0 y, por tanto, T es diagonal.

Supongamos ahora que el teorema es cierto para cualquier matriz triangular

con T ∗T = TT ∗ de orden n y vamos a probarlo para otra de orden n+ 1.

Sean T =

a1 a2 · · · an+1

0... Tn

0

y T ∗ =

a1 0 · · · 0

a2

... T ∗nan+1

TT ∗ =

n+1∑i=1

|ai|2

TnT∗n

T ∗T =

(|a1|2

T ∗nT

)

De la igualacion de ambas obtenemos que

TT ∗ = T ∗T =⇒ |a2|2 + · · ·+ |an+1|2 = 0 =⇒ a2 = a3 = · · · = an+1 = 0

Como, ademas, es TnT∗n = T ∗nTn, por hipotesis de induccion sabemos que Tn

es diagonal y, por tanto, T es diagonal.

Teorema 4.10 [Teorema de Schur]

Cualquier matriz cuadrada A es unitariamente semejante a una triangular

superior T . Es decir, existe una unitaria U tal que

U∗AU = T.

Demostracion. Aplicamos induccion en el orden de la matriz A.

Si n = 1 e obvio. Supuesto cierto para n vamos a probarlo para una matriz

de orden n+ 1.

Sean A ∈ K(n+1)×(n+1), λ un autovalor de A y x un autovector asociado a λ

con ‖x‖ = 1.

Consideremos la matriz P = (x e2 · · · en) en la que sus columnas x, e2, . . . , en

constituyen una base ortonormal de Kn+1

P ∗AP =

(λ αij

Θ An

)

Page 10: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

10 Autovalores y autovectores

Sea Q =

(1 Θ

Θ Un

)en donde Un es la matriz unitaria que, por hipotesis de

induccion, verifica que U∗nAnUn = Triangular superior.

Si consideremos la matriz U = PQ es facil comprobar que U∗AU = Q∗P ∗APQ

es una triangular superior.

Teorema 4.11 [Caracterizacion de las matrices normales]

Una matriz A es normal si, y solo si, AA∗ = A∗A.

Demostracion. Supongamos que AA∗ = A∗A. Por el Teorema 4.10 sabemos

que existe una matriz unitaria U tal que U∗AU = T con T triangular superior.

Entonces A = UTU∗, por lo que

AA∗ = (UTU∗)(UTU∗)∗ = UTU∗UT ∗U∗ = UTT ∗U∗

A∗A = (UTU∗)∗(UTU∗) = UT ∗U∗UTU∗ = UT ∗TU∗

}=⇒ TT ∗ = T ∗T

por lo que al ser T una matriz normal y triangular, la Proposicion 4.9 nos

asegura que es diagonal y, por tanto, A es diagonalizable unitariamente, es

decir, es normal.

Recıprocamente, si A es unitariamente diagonalizable (normal) existe una ma-

triz unitaria U tal que U∗AU = D o lo que es lo mismo, A = UDU∗.

AA∗ = UDU∗(UDU∗)∗ = UDD∗U∗ = U diag(|d1|2 , . . . , |dn|2)U∗

A∗A = (UDU∗)∗UDU∗ = UD∗DU∗ = U diag(|d1|2 , . . . , |dn|2)U∗

}=⇒

AA∗ = A∗A

¿Como podemos prever el comportamiento de los autovalores ante una pertur-

bacion cuando la matriz no es normal?

En otras palabras, ¿como estudiar el condicionamiento de una matriz para el

calculo de sus autovalores?

• Desviacion de la normalidad

Por el Teorema 4.10 cualquier matriz cuadrada A es unitariamente se-mejante a una triangular superior T donde

T =

t11 t12 · · · t1n

0 t22 · · · t2n

......

. . ....

0 0 · · · tnn

=

t11 0 · · · 00 t22 · · · 0...

.... . .

...0 0 · · · tnn

+

0 t12 · · · t1n

0 0 · · · t2n

......

. . ....

0 0 · · · 0

Page 11: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Matrices normales 11

Es decir, T = D +M y, obviamente, A es normal si, y solo si, M = Θ.

La norma de la matrizM recibe el nombre de desviacion de la normalidad

y nos va a medir el condicionamiento del problema.

Ademas, ‖M‖2 no depende de U ni de T sino solo de A ya que

‖M‖22 = ‖T‖22 − ‖D‖22 = ‖U∗AU‖22 − ‖D‖

22 = ‖A‖22 −

n∑i=1

|λi|2 =⇒

‖M‖2 =

√√√√‖A‖22 − n∑i=1

|λi|2

• Matriz conmutatriz

Hemos visto que A es normal si, y solo si,

A∗A = AA∗ ⇐⇒ A∗A− AA∗ = Θ

Se denomina matriz conmutatriz de una matriz cuadrada A a la matriz

C(A) = A∗A− AA∗

Evidentemente, A no es normal si A∗A− AA∗ 6= Θ.

La matriz C(A) = A∗A−AA∗ se le llama matriz conmutatriz y su norma

euclıdea tambien nos permite medir el condicionamiento del problema.

Ambas formas de medir el condicionamiento estan relacionadas como muestra

el siguiente resultado:

Teorema 4.12 Dada una matriz A ∈ Kn×n se verifica:

• ‖C(A)‖226 ‖A‖22

≤ ‖M‖22 Desigualdad de Eberlein.

• ‖M‖22 ≤√n3 − 3

12‖C(A)‖22 Desigualdad de Heurici.

Teorema 4.13 [Teorema espectral para matrices hermıticas]

Sea A una matriz hermıtica de orden n. Existe una base de Cn constituida

por autovectores de A. Dicho de otra forma, toda matriz hermıtica es diago-

nalizable por semejanza (es normal).

Page 12: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

12 Autovalores y autovectores

4.3 Metodos iterados para la obtencion de au-

tovalores y autovectores

Los metodos que veremos a continuacion tratan de encontrar una sucesion

convergente cuyo lımite nos permitira conocer los autovalores y autovectores

de una matriz dada. El primero que estudiaremos consiste en buscar una

sucesion de vectores que convergen a la direccion del autovector asociado al

autovalor de mayor modulo de la matriz dada.

Vamos a comenzar, por ello, a estudiar como podemos aproximar el autovalor

correspondiente a un determinado autovector cuando lo que conocemos es una

aproximacion de este.

Cociente de Rayleigh

Si nos limitamos a calcular la sucesion (xn) hasta obtener una aproximacion x

adecuada del autovector podemos obtener el autovalor resolviendo el sistema

vectorial λx = Ax. Este sistema resulta, en general, incompatible por no

ser x exactamente un autovector sino solo una aproximacion, por lo que la

solucion que mejor se ajusta es la pseudosolucion del sistema, que nos dara

una aproximacion del autovalor λ.

λx∗x = x∗Ax =⇒ λ =x∗Ax

x∗x

Definicion 4.5 [Cociente de Rayleigh]

Dada una matriz cuadrada A y un vector x, se denomina cociente de Rayleigh

del vector x respecto de la matriz A al cociente x∗Axx∗x

.

Podemos, por tanto, obtener una aproximacion del autovector por un metodo

iterado para mas tarde aproximar el autovalor mediante el cociente de Ray-

leigh.

4.3.1 Metodo de la potencia simple y variantes

Metodo de la potencia simple

Sea A ∈ Rn×n una matriz diagonalizable y supongamos que sus autovalores

verifican que:

|λ1| > |λ2| ≥ · · · ≥ |λn|en cuyo caso diremos que λ1 es el autovalor dominante de la matriz.

Page 13: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Metodos iterados para la obtencion de autovalores y autovectores 13

Sea B = {x1, x2, · · · , xn} una base de Rn formada por autovectores asociados

a λ1, λ2, . . . , λn respectivamente. Se verifica entonces que

A2xi = A(Axi) = A(λixi) = λiAxi = λi(λixi) = λ2ixi

por lo que es facil probar, por induccion, que

Akxi = λki xi para cualquier i = 1, 2, . . . , n

Dado un vector z0 ∈ Rn se define, a partir de el, la sucesion (zn) con

zn = Azn−1 = A2zn−2 = · · · = Anz0.

Si las coordenadas del vector z0 respecto de la base B son (α1, α2, . . . , αn) se

tiene que z0 = α1x1 + α2x2 + · · ·+ αnxn, por lo que

zk = Akz0 = Ak(α1x1 + · · ·+ αnxn) = α1Akx1 + · · ·+ αnA

kxn =

= λk1α1x1 + · · ·+ λk

nαnxn = λk1

[α1x1 +

n∑i=2

(λi

λ1

)k

αixi

]

Dado que |λ1| > |λi| se tiene que limk→∞

(λi

λ1

)k

= 0 ∀i = 2, 3, . . . , n.

Se verifica entonces que limk→∞

zk

λk1

= α1x1 que es un autovector de A asociado al

autovalor λ1.

Si k es suficientemente grande, se tiene

Azk = zk+1 ≈ λk+11 α1x1 = λ1(λ

k1α1x1) = λ1zk

por lo que la sucesion (zn) nos proporciona un metodo para aproximar el

autovalor λ1.

Teniendo en cuenta que, para valores de k suficientemente grandes se verifica

que

Azk = zk+1 ≈ λ1zk (4.3)

el metodo no convergera a un vector en concreto ya que

zk+1 ≈ λ1zk 6= zk.

Ahora bien, dado que zk+1 y zk tienen la misma direccion, ambos representan

al autovector buscado.

Page 14: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

14 Autovalores y autovectores

Geometricamente la matriz A transforma al vector zk (para valores de k su-

ficientemente grandes, en otro proporcional a el y dado que se verifica la

ecuacion (4.3) ese factor de proporcionalidad es precisamente el autovalor bus-

cado λ1.

Escalado

Si |λ1| > 1 la sucesion (zn) converge a una direccion determinada (la del

autovector), pero las normas de los vectores van creciendo llegando a diverger

a un vector de coordenadas infinitas. Si, por el contrario, |λ1| < 1, la sucesion

(zn) converge al vector nulo. Es decir: en ninguno de los dos casos podremos

calcular ni el autovalor ni el autovector.

Como solo nos interesa la direccion y los vectores de la sucesion (zn) convergen

a una determinada direccion, podemos dividir o multiplicar en cada paso el

vector zk por una constante sin que ello modifique su direccion. Con ello

conseguiremos que la sucesion (zn) converja a un autovector asociado a λ1.

Este proceso de modificar las normas de los vectores recibe el nombre de

escalado.

La cantidad por la que se escala puede ser arbitraria, pero lo mas util es escalar

por la coordenada de mayor modulo.

De esa forma los vectores escalados wk y wk+1 =zk

‖zk‖∞al ser muy proximos

tendran la coordenada de mayor modulo en en la misma posicion y ademas

valdran 1 por lo que se evita el problema de la divergencia a infinito o la

convergencia al vector nulo. Ademas, dado que llamando α al factor de pro-

porcionalidad se verifica que

αwk = zk = Awk−1

el factor de proporcionalidad α existente entre los vectores zk y wk es precisa-

mente el autovalor λ1 buscado. En otras palabras, escalando los vectores por

su coordenada de mayor modulo, el proceso converge a un autovector cuya

coordenada de mayor modulo (antes de escalar) es el autovalor buscado.

Ejemplo 4.2 Para calcular, por el metodo de la potencia simple, el autovalor

de mayor valor absoluto de la matriz

A =

6 2 5

2 2 3

5 3 6

partiendo del vector z0 = (1 1 1)T obtenemos:

Page 15: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Metodos iterados para la obtencion de autovalores y autovectores 15

z1 =

13.00007.0000

14.0000

z2 =

11.57145.8571

12.1429

z3 =

11.68245.8706

12.2118

z4 =

11.70135.8748

12.2254

z5 =

11.70395.8753

12.2273

z6 =

11.70425.8754

12.2275

z7 =

11.70425.8754

12.2275

El vector z7 es una aproximacion del autovector asociado al autovalor domi-

nante. Su coordenada de mayor modulo es 12.2275, por lo que λ1 ≈ 12.2275.

No obstante, dado que no hemos obtenido el lımite sino una aproximacion, no

todas sus coordenadas tendran el mismo factor de proporcionalidad (variara

en poco, pero variara), por lo que es mas correcto decir: si z7 es un autovector

asociado a λ es porque Az7 = λz7, sistema que, en general es incompatible,

por lo que buscamos λ resolviendo el sistema superdeterminado en termino de

mınimos cuadrados, es decir, mediante el cociente de Rayleigh.

λ1 =zT7 Az7

zT7 z7

= 12.22753579693696. �

Algoritmo de la Potencia Simple

z = ones(length(A),1);

w = zeros(length(A),1);

n = 0;

while norm(z-w)>10^ (-14)n = n + 1;

w = z;

z = A*w;

for i = 1:length(A)

if abs(z(i)) == max(abs(z))

break

end

end

z= z/z(i);

end

n

autovalor = (z’*A*z)/(z’*z)

Error = norm(A*z-autovalor*z)

Page 16: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

16 Autovalores y autovectores

Ejecutando este algoritmo con MatLab para la matriz del Ejemplo 4.2 obtene-

mos la aproximacion 12.22753579693706 del autovalor con un error del orden

de 1.986027322597819 · 10−15 en 17 iteraciones.

Una forma de acelerar el proceso es la siguiente: una vez calculado el va-

lor de wn (vector zn escalado) aproximar el autovector mediante el sistema

homogeneo (A−λI)wn = 0 donde λ es la aproximacion obtenida para el auto-

valor mediante el cociente de Rayleigh aplicado a la matriz A y el vector wn.

Esta aproximacion del autovector es la que utilizaremos en el siguiente paso

del metodo de la potencia simple.

Hay que tener cuidado ya que puede darse le caso de que al aproximar el

autovalor mediante el cociente de Rayleigh (cuando el vector wn esta aun

distante del autovector) nos acerquemos a otro autovalor de la matriz y, al

final, el proceso nos conduzca a un autovalor diferente del dominante.

Algoritmo de la Potencia Simple Mejorado

z = ones(length(A),1);

w = zeros(length(A),1);

n = 0;

while norm(z-w)>10^ (-14)n = n + 1;

w = z;

z = A*w;

l=(z’*A*z)/(z’*z);

if rcond(A-l*eye(length(A)))>10^ (-15)z = (A-l*eye(length(A)))\z;

end

for i = 1:length(A)

if abs(z(i)) == max(abs(z))

break

end

end

z= z/z(i);

end

n

autovalor = (z’*A*z)/(z’*z)

Error = norm(A*z-autovalor*z)

Page 17: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Metodos iterados para la obtencion de autovalores y autovectores 17

Ejecutando este algoritmo con MatLab para la matriz del Ejemplo 4.2 obtene-

mos la aproximacion 12.22753579693706 del autovalor con un error del orden

de 2.664535259100376 ·10−15 en tan solo 4 iteraciones, frente a las 17 que eran

necesarias con algoritmo anterior.

Este metodo solo nos permite calcular, en caso de existir, el autovalor do-

minante de una matriz. Existen sin embargo otras variantes del metodo de

la potencia simple que nos permiten calcular cualquiera de sus autovalores a

partir de una aproximacion de ellos. Debido a la existencia de dichas variantes

es por lo que el metodo estudiado anteriormente es conocido como metodo de

la potencia simple para distinguirlo de los que estudiaremos a continuacion.

Metodo de la potencia inversa

Sea A ∈ Rn×n una matriz diagonalizable regular para la que sus autovalores

verifican que:

0 < |λ1| < |λ2| ≤ · · · ≤ |λn| (4.4)

Los autovalores µ1, µ2, . . . , µn de la matriz A−1 son los inversos de los autova-

lores de A,

µi =1

λi

para i = 1, 2, . . . , n.

Invirtiendo la expresion (4.4) nos queda

1

|λ1|>

1

|λ2|≥ · · · ≥ 1

|λn|⇐⇒ |µ1| > |µ2| ≥ · · · ≥ |µn|

es decir, el autovalor de menor valor absoluto de la matriz A se corresponde

con el de mayor valor absoluto de A−1, por lo que aplicando el metodo de

la potencia simple a la matriz A−1 obtenemos el autovalor de menor valor

absoluto de la matriz A.

Observese que debemos ir calculando, en cada paso, los vectores zn = A−1ωn−1

y ωn =zn

‖zn‖∞. Pues bien, el calculo de zn se realiza resolviendo, por alguno

de los metodos estudiados, el sistema Azn = ωn−1 lo que nos evita calcular

A−1 y arrastrar los errores que se cometan a lo largo de todo el proceso.

Este metodo es conocido como metodo de la potencia inversa y nos permite

calcular, en caso de existir, el autovalor de menor valor absoluto de una matriz

invertible A.

Page 18: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

18 Autovalores y autovectores

Ejemplo 4.3 Para calcular, por el metodo de la potencia inversa, el autovalor

de menor valor absoluto de la matriz del Ejemplo 4.2 aplicamos el metodo de

la potencia inversa y partiendo del vector z0 = (1 1 1)T obtenemos:

z1 =

0.50001.5000−1.0000

z2 =

1.66674.3333−3.6667

z3 =

1.88464.7308−4.0769

z4 =

1.91064.7724−4.1220

z5 =

1.91404.7777−4.1278

z6 =

1.91444.7784−4.1285

z7 =

1.91454.7785−4.1286

z8 =

1.91454.7785−4.1287

z9 =

1.91454.7785−4.1287

Tenemos, por tanto, que z9 es una aproximacion al autovector asociado al

autovalor de menor valor absoluto de la matriz A, por lo que el cociente de

Rayleigh nos proporcionara una aproximacion de este.

λ3 =zT9 Az9

zT9 z9

= 0.20927063325837. �

Algoritmo de la Potencia Inversa

z = ones(length(A),1);

w = zeros(length(A),1);

n = 0;

while norm(z-w)>10^ (-14)n = n + 1;

w = z;

z = A\w;for i = 1:length(A)

if abs(z(i)) == max(abs(z))

break

end

end

z= z/z(i);

end

n

autovalor = (z’*A*z)/(z’*z)

Error = norm(A*z-autovalor*z)

Page 19: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Metodos iterados para la obtencion de autovalores y autovectores 19

Al igual que hicimos con el metodo de la potencia simple, podemos acelerar la

convergencia del metodo de la potencia inversa.

Algoritmo de la Potencia Inversa Mejorado

z = ones(length(A),1);

w = zeros(length(A),1);

n = 0;

while norm(z-w)>10^ (-14)n = n + 1;

w = z;

z = A\w;l=(z’*A*z)/(z’*z);

if rcond(A-l*eye(length(A)))>10^ (-15)z = (A-l*eye(length(A)))\z;

end

for i = 1:length(A)

if abs(z(i)) == max(abs(z))

break

end

end

z = z/z(i);

end

n

autovalor = (z’*A*z)/(z’*z)

Error = norm(A*z-autovalor*z)

Para la matriz de nuestro Ejemplo 4.2 obtenemos, con MatLab, mediante el al-

goritmo del metodo de la potencia inversa, la aproximacion 0.20927063325837

del autovalor de menor modulo con un error 5.119756492560000 · 10−16 en 18

iteraciones, mientras que con el mejorado, obtenemos, en tan solo 8 iteraciones,

la misma aproximacion con un error del orden de 9.723368807669973 · 10−16.

Veamos, por ultimo, una nueva variante de este metodo nos permite calcular

un autovalor cualquiera de una matriz regular A a partir de una aproximacion

suya. Sin embargo, hay que tener en cuenta que si el autovalor que vamos a

aproximar es multiple o existen otros con el mismo modulo aparecen dificul-

tades que solo podremos solventar utilizando otros metodos.

Page 20: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

20 Autovalores y autovectores

Metodo de la potencia inversa con desplazamiento

Consideremos una matriz A regular tal que todos sus autovalores tengan dife-

rente modulo y supongamos conocida una aproximacion α de un determinado

autovalor λk. Si la aproximacion es buena se verificara que |λk −α| < |λi−α|para cualquier i = 1, 2, . . . n con i 6= k.

Dado que 1/(λi − α) son los autovalores de A− αI y esta posee un autovalor

(λk − α) de menor valor absoluto que los demas, el metodo de la potencia

inversa nos proporcionara el valor µk =1

λk − αpudiendose, a partir de este

ultimo, hallar el valor de λk.

Esta variante es conocida como metodo de la potencia inversa con desplaza-

miento.

Ejemplo 4.4 Supongamos ahora que sabemos que el otro autovalor de la

matriz A del Ejemplo 4.2 es aproximadamente 1.5.

Para calcular dicho autovalor, por el metodo de la potencia inversa con des-

plazamiento, aplicamos el metodo de la potencia inversa a la matriz

(A− 1.5I) =

4.5 2 5

2 0.5 3

5 3 4.5

Partiendo del vector z0 = (1 1 1)T obtenemos:

z1 =

−3.14292.57142.0000

z2 =

−15.870113.84428.5455

z3 =

−15.849913.74668.5663

z4 =

−15.823313.72728.5501

z5 =

−15.824413.72808.5508

z6 =

−15.824413.72798.5508

z7 =

−15.824413.72798.5508

Tenemos, por tanto, que z7 es una aproximacion al autovector asociado al

autovalor buscado, por lo que

λ2 =zT7 Az7

zT7 z7

= 1.56319356980456.�

Page 21: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Metodos iterados para la obtencion de autovalores y autovectores 21

Algoritmo de la Potencia Inversa conDesplazamiento

z = ones(length(A),1);

w = zeros(length(A),1);

n = 0;

while norm(z-w)>10^ (-14)n = n + 1;

w = z

z = (A-αI)\w;for i = 1:length(A)

if abs(z(i)) == max(abs(z))

break

end

end

z = z/z(i);

end

n

autovalor = (z’*A*z)/(z’*z)

Error = norm(A*z-autovalor*z)

Para la matriz del Ejemplo 4.2 y conociendo que tiene un autovalor proximo

a 1.5, el algoritmo de la potencia inversa con desplazamiento, ejecutado con

MatLab, nos proporciona la aproximacion 1.56319356980457 del autovalor con

un error de 3.845925372767128 · 10−16 en 12 iteraciones.

Tambien, en este caso, podemos hacer la misma mejora que en los anteriores

algoritmos.

Page 22: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

22 Autovalores y autovectores

Algoritmo de la Potencia Inversa conDesplazamiento Mejorado

z = ones(length(A),1);

w = zeros(length(A),1);

n = 0;

while norm(z-w)>10^ (-14)n = n + 1;

w = z;

z = (A-αI)\w;l=(z’*A*z)/(z’*z);

if rcond(A-l*eye(length(A)))>10^ (-15)z = (A-l*eye(length(A)))\z;

end

for i = 1:length(A)

if abs(z(i)) == max(abs(z))

break

end

end

z = z/z(i);

end

n

autovalor = (z’*A*z)/(z’*z)

Error = norm(A*z-autovalor*z)

Este algoritmo mejorado nos proporciona la aproximacion 1.56319356980456

del autovalor con un error de 5.978733960281817 · 10−16 en tan solo 3 iteracio-

nes.

4.3.2 Algoritmo QR de Francis

Dada una matriz A ∈ Kn×n, se pretende encontrar una sucesion de matrices

(An)n∈N convergente a la matriz triangular de Schur T (en cuya diagonal

aparecen los autovalores de la matriz A).

La construccion de dicha sucesion se hace de la siguiente manera: A0 = A.

Supuesta encontrada An, se realiza la factorizacion An = QnRn mediante

matrices de Householder y An+1 = RnQn. En otras palabras:

Page 23: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Metodos iterados para la obtencion de autovalores y autovectores 23

A0 = A = Q0R0

A1 = R0Q0 = Q∗0AQ0 = Q1R1

A2 = R1Q1 = Q∗1Q∗0AQ0Q1 = Q2R2

...

An+1 = RnQn = Q∗n · · ·Q∗1Q∗0AQ0Q1 · · ·Qn = Qn+1Rn+1

...

=⇒

An+1 = (Q0Q1 · · ·Qn)∗A(Q0Q1 · · ·Qn)

Al ser An semejante a A cualquiera que sea n ∈ N, todas las matrices de las

sucesion tienen los mismos autovalores.

Si λ1, λ2, . . . , λn son los autovalores de una matriz A tales que

|λ1| > |λ2| > · · · > |λn| > 0

el algoritmo converge.

En general, si existen autovalores de igual modulo, la sucesion converge a una

matriz triangular por cajas en la que cada caja contiene a los autovalores del

mismo modulo.

En otras palabras,

• Si todos los autovalores tienen distinto modulo el lımite de la sucesion

es una matriz triangular superior en la que los elementos de su diagonal

son los autovalores de la matriz.

• Si existen autovalores de igual modulo la matriz lımite es una matriz

triangular superior por cajas en la que cada caja de orden k de su diagonal

es una matriz cuyos autovalores son todos los k autovalores de igual

modulo de la matriz A.

Ası, por ejemplo, si una matriz A de orden 3 tiene un autovalor real

y dos autovalores complejos conjugados (por tanto de igual modulo) de

distinto modulo que el autovalor real se llegarıa a una matriz del tipo a11 a12 a13

0 a22 a23

0 a32 a33

Page 24: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

24 Autovalores y autovectores

donde a11 es el autovalor real y los autovalores de la matriz

(a22 a23

a32 a33

)son los dos autovalores complejos de la matriz A.

De forma mas general, si A es una matriz cualquiera (normal o no), al aplicarle

el algoritmo, la sucesion converge (en la mayorıa de los casos) a su forma de

Schur.

Ejemplo 4.5 Para el calculo de los autovalores de la matriz A =

1 2 3

2 2 3

3 3 3

se tiene:

A0 = A =

1 2 3

2 2 3

3 3 3

A1 =

7 −1.9415 0.6671

−1.9415 −0.5385 0.1850

0.6671 0.1850 −0.4615

A2 =

7.5034 0.3365 0.0344

0.3365 −1.1474 −0.1174

0.0344 −0.1174 −0.3554

A3 =

7.5162 −0.0530 0.0016

−0.0530 −1.1758 0.0348

0.0016 0.0348 −0.3404

A4 =

7.5165 0.0083 0.0001

0.0083 −1.1775 −0.0100

0.0001 −0.0100 −0.3390

A5 =

7.5165 −0.0013 0.0000

−0.0013 −1.1776 0.0029

0.0000 0.0029 −0.3389

A6 =

7.5165 0.0002 0

0.0002 −1.1776 −0.0008

0 −0.0008 −0.3389

A7 =

7.5165 0 0

0 −1.1776 0

0 0 −0.3389

Por lo que los autovalores de la matriz A son:

−1.1776 − 0.3389 y 7.5165 �

Ejemplo 4.6 La matriz A =

2 3 5

1 4 6

−1 3 1

tiene por autovalores 7 y ±√

2.

Al tener dos autovalores de igual modulo no converge a una matriz triangular,

sino a la matriz triangular por cajas.

Realizando el proceso con MatLab hemos obtenido en la iteracion 31 que

A31 =

7.0000 6.7412 −0.6901

−0.0000 0.5797 2.4374

0.0000 0.6826 −0.5798

Page 25: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Metodos iterados para la obtencion de autovalores y autovectores 25

por lo que sabemos que un autovalor es 7 y los otros dos son los autovalores

de la matriz

B =

(0.5797 2.4374

0.6826 −0.5798

)cuyos autovalores son ±

√2. �

4.3.3 Metodo de Jacobi para matrices simetricas reales

Comenzaremos viendo el metodo para dimension dos y, mas tarde, generaliza-

remos para una dimension cualquiera.

Dada una matriz simetrica y real A =

(a b

b c

)el metodo trata de buscar un

valor para α de tal forma que la rotacion P =

(cosα senα

− senα cosα

)haga que

la matriz P−1AP sea diagonal.

P−1AP =

(cosα − senα

senα cosα

)(a b

b c

)(cosα senα

− senα cosα

)=

(∗ 0

0 ∗

)Se debe verifica, por tanto, que

(a− c) cosα senα + b(cos2 α− sen2 α) = 0

es decir:

b(cos2 α− sen2 α) = (c− a) cosα senα

Si c = a basta tomar α =π

4.

Si c 6= a podemos dividir por c− a y obtenemos que

2b

c− a=

2 cosα senα

cos2 α− sen2 α=

sen 2α

cos 2α= tg 2α

Llamando m =2b

c− ase tiene que tg 2α = m, por lo que

t = tg α =−1±

√1 +m2

m

y, a partir del valor de t obtenido, se pueden calcular

cosα =1√

1 + t2y senα =

t√1 + t2

valores, estos ultimos, que nos permiten determinar la matriz P .

Page 26: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

26 Autovalores y autovectores

Algoritmo de calculo

a) Dada A =

(a b

b c

)a.1) Si b = 0 FIN.

a.2) Si b 6= 0 y a = c

P =

√2/2

√2/2

−√

2/2√

2/2

y P−1AP =

∗ 0

0 ∗

. FIN.

b) m =2b

c− at =−1±

√1 +m2

m.

c) cosα =1√

1 + t2senα =

t√1 + t2

.

P =

cosα senα

− senα cosα

y P−1AP =

∗ 0

0 ∗

. FIN.

Para dimensiones superiores sea P la matriz diagonal por bloques

P =

Ip−1

Tq−p+1

In−q

en la que

Tq−p+1 =

cosα senα

Iq−p−1

− senα cosα

y todos los demas elementos nulos.

• Si apq = 0, hacemos cosα = 1 y senα = 0.

• Si app = aqq, hacemos cosα = senα =

√2

2.

• Si app 6= aqq llamando m =2apq

aqq − app

y t =−1±

√1 +m2

mhacemos

cosα =1√

1 + t2y senα =

t√1 + t2

Page 27: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Metodos iterados para la obtencion de autovalores y autovectores 27

Entonces, los elementos que ocupan los lugares pq y qp de la matriz P−1AP

son nulos.

El metodo de Jacobi consiste en buscar el elemento apq con p 6= q de mayor

modulo, anularlo mediante una matriz P1, buscar el siguiente elemento de

mayor modulo y anularlo mediante otra matriz P2 y ası sucesivamente hasta

diagonalizar la matriz A.

Dado que las matrices Pk, o matrices de Jacobi, son ortogonales, se verifica

que P−1k = P T

k por lo que se trata, en definitiva, de buscar P1, P2, . . . , Pk de la

forma descrita anteriormente, para obtener

P Tk · · ·P T

1 AP1 · · ·PK = D

Lo mas importante de este metodo es que el calculo de las matrices Pi puede

hacerse simultaneamente ya que no se requiere el conocimiento de ninguna de

ellas en el calculo de cualquier otra. Es decir, el metodo es paralelizable.

Ejemplo 4.7 Consideremos la matriz A =

1 −2 3 1

−2 0 4 2

3 4 1 1

1 2 1 0

que es

simetrica y real.

El elemento extradiagonal de mayor valor absoluto es a23 = 4, por lo que

comenzamos haciendo

m =2a23

a33 − a22

t =−1 +

√1 +m2

mcosα =

1√1 + t2

senα =t√

1 + t2

P23 = I4 p22 = p33 = cosα p23 = −p32 = senα

obteniendose

P23 =

1 0 0 0

0 0.7497 0.6618 0

0 −0.6618 0.7497 0

0 0 0 1

por lo que

P T23AP23 =

1 −3.4848 0.9254 1

−3.4848 −3.5311 0 0.8376

0.9254 0 4.5311 2.0733

1 0.8376 2.0733 0

Page 28: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

28 Autovalores y autovectores

Observese que la transformacion de semejanza solo ha afectado a las filas y

columnas 2 y 3 dejando invariantes a los demas elementos.

Si queremos aplicar el metodo a la matriz P T23AP23 obtenida, utilizando como

referencia el elemento a14 = 1, podemos observar que todos los calculos nece-

sarios para obtener la nueva matriz P14 podıamos haberlos realizados al mismo

tiempo que los realizados para P23 ya que solo necesitamos los valores de los

elementos (1, 1), (1, 4), (4, 1) y (4, 4) de la matriz P T23AP23, que por haber

quedado invariantes son los mismos que los de la matriz A.

Realizando los calculos necesarios de forma analoga al caso anterior obtenemos

P14 =

0.8507 0 0 −0.5257

0 1 0 0

0 0 1 0

0.5257 0 0 0.8507

que aplicarıamos a P T

23AP23 para obtener P T14P

T23AP23P14 = P TAP donde la

matriz P viene dada por P = P23P14.

Ahora bien, la matriz

P = P23P14 =

0.8507 0 0 −0.5257

0 0.7497 0.6618 0

0 −0.6618 0.7497 0

0.5272 0 0 0.8507

puede ser escrita directamente sin necesidad de construir previamente P23 y

P14 y multiplicarlas.

En resumen, se pueden enviar a un ordenador los valores de a22, a23 = a32

y a33 para que calcule el angulo de giro correspondiente y nos devuelva los

valores de p22 = p33 y p23 = −p32, mientras que de forma simultanea enviamos

a otro ordenador los valores de a11, a14 y a44 y nos devolvera los de p11 = p44

y p14 = −p41.

En el ordenador central construimos la matriz P con los datos recibidos y

calculamos

P TAP =

1.6180 −2.5240 1.8772 0

−2.5240 −3.5311 0 2.5445

1.8772 0 4.5311 1.2771

0 2.5445 1.2771 −0.6180

Page 29: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Reduccion del problema a matrices hermıticas 29

que volveremos a renombrar con A.

A la vista de la matriz enviarıamos al Ordenador 1 los datos de los elementos

a22, a24 = a42 y a44 mientras que enviarıamos al Ordenador 2 los de a11,

a13 = a31 y a33 que nos devolverıan los elementos necesarios para construir

una nueva matriz

P =

0.8981 0 0.4399 0

0 0.8661 0 0.5016

−0.4399 0 0.8981 0

0 −0.5016 0 0.8651

y a partir de ella

P TAP =

0.6986 −1.6791 0 −1.6230

−1.6791 −5.0065 −1.5358 0

0 −1.5358 5.4506 0.4353

−1.6230 0 0.4353 0.8573

Reiterando el proceso llegamos a la matriz

2.5892 0 0 0

0 −5.6823 0 0

0 0 5.7118 0

0 0 0 −0.6188

cuyos elementos diagonales son los autovalores de la matriz original. �

4.4 Reduccion del problema a matrices hermı-

ticas

Los autovalores de una matriz normal cualquiera pueden ser reales o com-

plejos mientras que los de una matriz hermıtica son todos reales, por lo que

si pudieramos transformar el calculo de los autovalores de una matriz nor-

mal en los de otra hermıtica habrıamos simplificado el problema. Es mas,

si pudieramos transformarlo en el calculo de los autovalores de una matriz

simetrica real, podrıamos trabajar en el campo real en vez de hacerlo en el

campo complejo y, entre otras cosas, podrıamos utilizar el metodo de Jacobi a

partir de una matriz normal cualquiera, previa transformacion en un problema

de autovalores de una matriz simetrica real.

Page 30: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

30 Autovalores y autovectores

Proposicion 4.14 [Componentes hermıticas de una matriz]

Dada cualquier matriz cuadrada A, existen dos matrices hermıticas H1 y H2

tales que A = H1+iH2 las cuales reciben el nombre de componentes hermıticas

de la matriz A.

Demostracion. Si se quiere que A = H1 + iH2 con H1 y H2 hermıticas, se

tendra que A∗ = H∗1 − iH∗2 = H1 − iH2, por lo que resolviendo el sistema

resultante se tiene que

H1 =A+ A∗

2H2 =

A− A∗

2i

ademas, la solucion es unica.

Teorema 4.15 Sea A = H1+iH2 una matriz normal con H1 y H2 hermıticas.

Si x 6= 0 es un autovector de A asociado al autovalor α + iβ (α, β ∈ R) se

verifica que

H1x = αx y H2x = βx

Demostracion. Por ser A normal, existe una matriz unitaria U tal que

U∗AU = D

D = U∗AU =

α + iβ 0 · · · 0

0 α2 + iβ2 · · · 0...

.... . .

...

0 0 · · · αn + iβn

=⇒

A = U

α 0 · · · 0

0 α2 · · · 0...

.... . .

...

0 0 · · · αn

U∗ + iU

β 0 · · · 0

0 β2 · · · 0...

.... . .

...

0 0 · · · βn

U∗ =⇒

H1 = U

α 0 · · · 0

0 α2 · · · 0...

.... . .

...

0 0 · · · αn

U∗ H2 = U

β 0 · · · 0

0 β2 · · · 0...

.... . .

...

0 0 · · · βn

U∗

donde H1 y H2 son hermıticas. Se tiene entonces que α es un autovalor de

H1 asociado a x (primera columna de U) y β un autovalor de H2 asociado

tambien a x.

Page 31: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Reduccion del problema a matrices simetricas reales 31

Las componentes hermıticas H1 y H2 de una matriz cuadrada A nos propor-

cionan otro metodo para estudiar si la matriz A es, o no es, normal.

Teorema 4.16 Una matriz cuadrada A es normal si, y solo si, sus compo-

nentes hermıticas conmutan.

A es normal ⇐⇒ H1H2 = H2H1

Demostracion.

H1H2 =A+ A∗

2· A− A

2i=A2 − AA∗ + A∗A+ (A∗)2

4i

H2H1 =A− A∗

2i· A+ A∗

2=A2 + AA∗ − A∗A+ (A∗)2

4i

• Si A es normal se verifica que AA∗ = A∗A por lo que

H1H2 =A+ A∗

2· A− A

2i=A2 + (A∗)2

4i

H2H1 =A− A∗

2i· A+ A∗

2=A2 + (A∗)2

4i

=⇒ H1H2 = H2H1

• Si H1H2 = H2H1 se verifica que

A2 − AA∗ + A∗A+ (A∗)2 = A2 + AA∗ − A∗A+ (A∗)2

por lo que

−AA∗+A∗A = A2 +AA∗−A∗A ⇐⇒ 2A∗A = 2AA∗ ⇐⇒ A∗A = AA∗

y, por tanto, A es normal.

4.5 Reduccion del problema a matrices sime-

tricas reales

Sea H una matriz hermıtica y sean hij = aij + ibij con 1 ≤ i, j ≤ n sus

elementos.

Podemos descomponer la matriz H de la forma H = A+ iB donde A y B son

matrices reales con A = (aij) y B = (bij).

Page 32: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

32 Autovalores y autovectores

Por ser H hermıtica se verifica que

A+iB=H=H∗=A∗−iB∗=AT−iBT (por ser A y B reales)=⇒

A=AT

B=−BT

Sea x = a + ib un autovector de H asociado al autovalor α (recuerdese que

α ∈ R por ser H una matriz hermıtica). Se verifica entonces que

Hx = (A+ iB)(a+ ib) = (Aa−Bb) + i(Ab+Ba)

αx = α(a+ ib) = αa+ iαb

Hx = αx⇒

Aa−Bb = αa

Ab+Ba = αb

por lo que (A −BB A

)(a

b

)= α

(a

b

)

Observese ademas que la matriz real

(A −BB A

)es simetrica, ya que

(A −BB A

)T

=

(AT BT

−BT AT

)=

(A −BB A

)

Los autovalores de la matriz

(A −BB A

)son, por tanto, los mismos que los

de H y si un autovector de

(A −BB A

)es (x1, . . . , xn, xn+1, . . . , x2n), el co-

rrespondiente autovector de la matriz H es(

(x1 + ixn+1), . . . , (xn + ix2n))

.

Dada una matriz normal calcularemos sus autovalores de la siguiente forma:

Algoritmo de calculo de los autovalores de una matriz normal

Paso 1 Calcular las componentes hermıticas

H1 =A+ A∗

2y H2 =

A− A∗

2i

de la matriz A.

Page 33: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Aplicacion al calculo de las raıces de un polinomio 33

Paso 2 Calcular los autovalores λi (1 ≤ i ≤ n) de la primera componente

hermıtica H1 y sus autovectores asociados vi reduciendo previamente el

problema al caso de matrices reales y simetricas.

Paso 3 Calcular los cocientes de Rayleigh µi =v∗iH2vi

v∗i vi

.

Como los vectores vi (1 ≤ i ≤ n) son tambien autovectores de H2, los µi

obtenidos son sus autovalores asociados.

Paso 4 Los autovectores de A son los mismos vectores vi y sus autovalores

asociados vienen dados por λi + iµi.

4.6 Aplicacion al calculo de las raıces de un

polinomio

Consideremos el polinomio

P (x) = a0xn + a1x

n−1 + a2xn−2 + · · ·+ an−1x+ an

Dado que el polinomio caracterıstico de la matriz

A =

−a1/a0 −a2/a0 · · · −an−1/a0 −an/a0

In−1

0...

0

(donde In−1 representa la matriz unidad de orden n−1) es precisamente P (x),

la raıces de dicho polinomio coinciden con los autovalores de la matriz A, por

lo que dichas raıces pueden ser obtenidas, en bloque, mediante un metodo

iterado de calculo de autovalores.

Ası, por ejemplo, MATLAB en su comando roots(P) para calcular las raıces

de un polinomio P construye, en primer lugar, la matriz A definida anterior-

mente y se limita luego a calcular sus autovalores aplicando internamente el

comando eig(A) de calculo de los autovalores de una matriz. Este comando

lo que hace, en primer lugar, es aplicar un algoritmo para llevar la matriz A a

una matriz de Hessenberg y posteriormente aplicarle el algoritmo QR mediante

transformaciones de Householder.

Page 34: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los
Page 35: 4.Autovalores y autovectores - ocwus.us.esocwus.us.es/.../PREPARADOAgebraNumerica/Contenido/... · Es decir, el c alculo de los autovectores de una matriz, una vez calculados los

Bibliografıa

[1] Burden, R.L. y Faires, J.D. Analisis Numerico (Sexta edicion). Interna-

cional Thomson Ed. 1998.

[2] Golub, G.H. y Van Loan, C.F. Matrix Computations (Third edition). Johns

Hopkins University Press

[3] Hager, W. Applied Numerical Linear Algebra. Ed. Prentice-Hall Interna-

tional. 1988.

[4] Kincaid, D. y Cheney, W. Analisis Numerico. Ed. Addison-Wesley Ibe-

roamericana. 1994.

[5] Noble, D. y Daniel, J.W. Algebra Lineal Aplicada. Ed. Prentice-Hall. 1989.

[6] Watkins, D.S. Fundamentals of MATRIX Computations. John Wiley &

Sons. 1991.

35