Anda di halaman 1dari 51

ALN -

Valores y vectores propios

In. Co.
Facultad de Ingeniería
Universidad de la República
Versión 1.0 1
 Planteo del problema
 Propiedades matemáticas
 Método de las potencias
 Variantes
 Transformaciones de semejanza
 Givens
 Householder
 Método QR
 Matrices simétricas
 Jacobi
 Sturm (tri-diagonales)
 El problema generalizado
Versión 1.0 2
Definición
 Los vectores propios de una matriz A son
vectores v != 0, tal que 𝐴𝐴𝐴𝐴 = 𝜇𝜇𝑣𝑣 donde 𝜇𝜇 es un
escalar llamado valor propio de A.

 En otras palabras:
 Los vectores propios de A son vectores que no
cambian de dirección al ser transformados por A, sólo
cambian su magnitud o su sentido. El valor propio
asociado a un vector propio controla dicho cambio.

Versión 1.0 3
Definición

vj ≠ 0
Av j = λ j v j → ( A − λ j I )v j = 0 → det( A − λ j I ) = 0

 Dicho de otra forma, los valores propios de una


matriz son las raíces de su polinomio
característico:
x A (λ ) = det( A − λ j I ) = 0

Versión 1.0 4
Propiedades

 Surgen en gran número de problemas:


estabilidad de ecuaciones diferenciales,
fenómenos físicos (resonancia), estadística, etc.

 Los valores propios nos dan mucha información


sobre una matriz
 Ej: número de condición de una matriz!!

Versión 1.0 5
Propiedades

 La suma de los valores propios de una matriz es


igual a la traza de la matriz.

λ1 + λ2 + ... + λn = ∑i =1 aii
n

 El producto de los valores propios de una matriz


es igual al determinante de la matriz.

Versión 1.0 6
Propiedades

 Los valores propios de una matriz simétrica son


reales.
 Una matriz definida positiva tiene valore propios
positivos.
 Los valores propios de una matriz triangular son
los elementos de la diagonal.

Versión 1.0 7
Propiedades
 Av = λv → Ak v = λk v
 Av = λv → ( A + cI )v = (λ + c)v
 Dos matrices (A y B) se dicen semejantes si
−1
∃P / A = PBP . Las dos matrices poseen el mismo
polinomio característico. Tienen los mismos valores
propios y sus vectores propios cumplen x A = PxB
 Si la matriz es simétrica la matriz P es ortogonal

Versión 1.0 8
Propiedades
 Una matriz es diagonizable si es
semejante a una matriz diagonal.
 La matriz D está formada por los valores
propios.
 La matriz P está compuesta por los
vectores propios como columnas

Versión 1.0 9
Propiedades

 Una matriz ortonormal cumple que:


 Las columnas son un conjunto ortonormal
 El producto por Q mantiene la norma Qx = x
 El producto por Q mantiene el producto escalar

Qx, Qy = x, y

Versión 1.0 10
Teorema de Gershgorin
Dada una matriz A, llamamos Ri a la región circular del
j =n
plano complejo con centro en aii y radio ri = ∑a
j =1, j ≠ i
ij

 j =n

Ri =  z ∈ C : z − aii ≤ ∑ aii 
 j =1,i ≠ j 
i =n
 Los valores propios de A están contenidos dentro de R =  Ri
i =1
 La unión de cualesquiera k de estos círculos que sea
disjunta con los n-k restantes debe contener exactamente k
valores propios.
Versión 1.0 11
Teorema de Gershgorin
Ejemplo:  4 1 1
A =  0 2 1
− 2 0 9

>> eig(A)

ans =

8.48534949329733
4.63182668375403
1.88282382294864

Versión 1.0 12
Resolución de la ecuación
característica

Como ya se dijo, una primera forma de cálculo


de los valores propios es resolviendo el
polinomio:
det( A − λ j I ) = 0

Las raíces de un polinomio de alto grado es muy


sensible a perturbaciones en los coeficientes.
Transformamos el problema en mal condicionado
Versión 1.0 13
Método de las potencias

Si se requiere de unos pocos valores (vectores)


propios, puede aplicarse el método de las
potencias.
El método asume que los valores propios
cumplen:

λ1 > λ2 ≥ λ3 ≥  ≥ λn
Versión 1.0 14
Método de las potencias
{x1 , x2 ,....., xn } base de vectores propios
j =n
z0 = α1 x1 + α 2 x2 + .... + α n xn = ∑ α j x j
j =1

z1 = Az0
z1 = Az0 = Aα1 x1 + Aα 2 x2 + .... + Aα n xn =
j =n
α1λ1 x1 + α 2 λ2 x2 + .... + α n λn xn = ∑ α j λ j x j
j =1

Versión 1.0 15
Método de las potencias
j =n
z 2 = A( Az0 ) = A2 z = α1λ12 x1 + α 2 λ22 x2 + .... + α n λ2n xn = ∑ α j λ2j x j
j =1


j =n
z k = A( A z0 ) = A z = α λ x + α λ x + .... + α n λ x = ∑ α j λkj x j
k −1 k k
1 1 1
k
2 2 2
k
n n
j =1

Notese que
λ j =n k
λ j =n k

zk = λ ∑ α j x j = λ1 (α1 x1 + ∑ α j
k k j j
xj)
j =1
1
λ k
1 j =1 λ k
1
Versión 1.0 16
Método de las potencias
Notese que
k
j =n  λj 
z k = λ (α1 x1 + ∑ α j 
k  x j ) ≅ λ1kα1 x1
1 λ 
j =2  1 

zk Tiende a la dirección del vector propio x1


t
z Az k
Y el cociente de Rayleigh σ k = t tiende a λ1
k
zk zk

Versión 1.0 17
Método de las potencias
z0
z0
y0 =
z0
mientras ! finalizar

zi +1 = Ayi
yit Ayi
σk = t
= y t
i z i +1
yi yi
zi +1
yi +1 =
zi +1

Versión 1.0 18
Método de las potencias
Observaciones:

•El criterio de fin puede involucrar al valor o al vector “propio”.


•Nunca fue necesario guardar la potencia de A

•La velocidad de convergencia está vinculada con el cociente


λ2 Si es próximo a uno, el progreso es lento.
λ1
•El método teóricamente falla si α1 = 0 , pero en la práctica los
errores de redondeo afectan favorablemente.

•El número de operaciones requerido en cada paso depende


de la multiplicación Ayi. Es O(n2) en el caso de matrices llenas.
19
Versión 1.0
Iteración inversa
 Si se busca el valor propio con módulo
más pequeño puede utilizarse la misma
idea anterior pero con la matriz inversa.
 Recordar que los valores propios de la
inversa de una matriz son los inversos de
los valores propios de dicha matriz.

Versión 1.0 20
Iteración inversa
z0
z0
y0 =
z0
mientras ! finalizar

Azi +1 = yi
σ i = yit zi +1
zi +1
yi +1 =
zi +1
Versión 1.0 21
Iteración inversa
Observaciones:

• Hay que resolver un sistema lineal en cada paso.

• Se puede usar la descomposición LU.

• La velocidad de convergencia está determinada por el


coeficiente λn
λn −1
• Si se busca un valor propio cercano a un valor λ
*

Versión 1.0 22
Iteración Inversa (con desplazamiento)
z0
z0
y0 =
z0
mientras ! finalizar

( A − λ* I ) zi +1 = yi
σ k = yit zi +1
zi +1
yi +1 =
zi +1
Versión 1.0 23
Deflación
 Una vez encontrado el mayor valor propio, para
encontrar los demás se pueden utilizar técnicas
denominadas deflación.
 Consisten en hallar otra matriz B que tenga los
mismos valores propios de A, excepto el ya
conocido.

Versión 1.0 24
Deflación

 Sea λ1 valor propio con el vector v1


asociado y un vector x tal que x v1 = 1
t

 Sea B = A − λ1v1 x t

Versión 1.0 25
Deflación
1. Comprobamos que 0 es valor propio de B
con vector propio v1

Bv1 = Av1 − λ1v1 x v1 t

=(λ1 − λ1 )v1 = 0

Versión 1.0 26
Deflación
2. Comprobamos que los demás valores
propios de A son valores priopios de B

 Utilizaremos los siguientes resultados sin


demostrarlos:
 Los valores propios de la matriz AT son iguales a los
de A
 Los vectores propios de A y AT que coresponden a
distintos valores propios son ortogonales entre sí.

Versión 1.0 27
Deflación
 Sea wi el vector propio asociado al valor propio λi
de AT.
 Trasponemos y multiplicamos la ec. original por wi

B wi = A wi − λ1 x v wi
T T T
1
v1 wi = 0 ⇒ B wi = λi wi
T T

 Entonces los valores propios λi , i ≠ 1 de A/AT


son también valores propios de B/BT

Versión 1.0 28
Transformaciones de semejanza

 Como ya dijimos, si realizamos una transformación de


semejanza (mediante una matriz P no singular) la nueva
matriz mantiene los valores propios.
 Buscan crear una matriz semejante para la cual sea mas
sencillo hallar los valores propios.
 Para evitar problemas numéricos se estila utilizar P
ortonormal.
 Generalmente se lleva a una matriz de Hessenberg
mediante transformaciones de semejanza.
Versión 1.0 29
Transformaciones de semejanza
 Forma de Hessenberg (superior)
 Los elementos distintos de cero pertenecen al triángulo
superior y a la primer diagonal inferior a la diagonal
principal.
4 6 8 3 1
 
5 5 0 7 4
H = 0 2 5 1 6
 
0 0 6 4 4
0 
 0 0 9 1
Versión 1.0 30
Transformaciones de semejanza
por matrices ortogonales (unitarias)
 Método de Givens (rotaciones)
 Útilespara hacer aparecer 0’s en lugares puntuales
de la matriz
 Reflexiones (matrices de Householder)
 También hacen aparecer 0’s.
 Para un vector y siempre existe una transformación
de Housholder H tal que: Hy=k*e, donde k es un
escalar y e es el primer vector canónico (1,0,…,0)

Versión 1.0 31
Factorización QR

 Toda matriz real se puede


descomponer (en forma única), en un
producto A=QR donde Q es ortogonal
(o unitaria) y R triangular superior.

Versión 1.0 32
Factorización QR
 Si A es una matriz densa general nxn la
factorización QR tiene un costo de O(n3)
operaciones.

 Si la matriz A es Hessenberg la matriz R


puede computarse usando rotaciones de
Givens en O(n).
Versión 1.0 33
Iteración QR para el problema
de valores propios
 Se basa en que es posible llevar cualquier matriz
A nxn a una matriz T triangular superior cuya
diagonal son los valores propios de A mediante
transformaciones unitarias.
 U*AU = T se llama forma de Schur de A
 La iteración QR utiliza la factorización QR para
llevar A a la forma de Schur.
 Versiones eficientes de este método son
ampliamente utilizadas en la práctica.
Versión 1.0 34
Iteración QR
A1=A
Iterar
[Qk,Rk]=qr(Ak)
Ak+1=RkQk

 R=Q’A  A=RQ=Q’AQ
 El limite Ak es una matriz triangular superior a bloques. Si es
simétrica es diagonal a bloques

Versión 1.0 35
Iteración QR
 Implica calcular una factorización QR en cada
paso.
 Si la matriz es densa general el método se vuelve
poco práctico.
 Antes de comenzar la iteración se suele reducir A
a una matriz Hessenberg que conserve los valores
propios de A mediante transformaciones de
similitud.

Versión 1.0 36
4 1 1 4 1 1 21.74018588047121
QR 0
-2
22
0
1 0
9 -2
2 1
0 9
20.68461694582636
4 1 1 4 1 1 8.63941921966259
0 2 1 0 2 1 0.00000000000000
-2 0 9 -2 0 14 2.21908728729055
1.71669066674931

Versión 1.0 37
Iteración QR
 Con desplazamiento

La velocidad de convergencia se puede aumentar si se


incorporan desplazamientos:

Qk Rk = Ak −1 − σ k I
Ak = Rk Qk + σ k I
Con σk una aproximación de un valor propio.

Versión 1.0 38
Extensión del método de las potencias

 La iteración QR puede interpretarse como una


variación del método de las potencias.
 En lugar de usar un solo vector se utiliza una
base ortonormal completa.

X i +1 = AX i

Versión 1.0 39
Extensión del método de las potencias
 Se utiliza la factorización QR para re-ortonormalizar la
matriz que se multiplica por A.

Qi Ri = X i
X i +1 = AQi
 Para A simétrica, el algoritmo converge a AQ=QD donde
D es diagonal y contiene los valores propios de A. Por lo
tanto, Q tamién contiene una base ortonormal de
vectores propios.
Versión 1.0 40
Métodos basados en
subespacios de Krylov
 El método QR se basa en un conjunto de
columnas ortonormal.

 Otra opción es trabajar con una base del espacio


de Krylov
i
[ x0 , Ax0 ,.., A x0 ]
Versión 1.0 41
 Operando
−1
K AK n = C
n

C matriz Hessenberg

Qn Rn = K n

Q AQn = H
H
n

Versión 1.0 42
Iteración de Arnoldi
Qn = [q1 , q2 ,.., qn ]
 Esto se puede ir calculando de a una
columna!
 Igualamos AQn = Qn H

Aqk = h1k q1 + ... + hkk qk + hk +1k qk


 Se llega a h jk = q Aqk
H
j
Versión 1.0 43
Iteración de Arnoldi

 Utiliza un proceso de ortogonalización


(Similar a Gram-Schmidt)

 Esto es costoso

 Muy inestable

 Luego se calculan los valores propios de H

Versión 1.0 44
Iteración de Arnoldi

Versión 1.0 45
Iteración de Lanczos

 Para caso de matrices simétricas (hermíticas)

 H tridiagonal

 Solo se necesitan tres coeficientes

Versión 1.0 46
Iteración de Lanczos

Versión 1.0 47
Otros

 Versión de Lanczos para no simétricas.


t
 Trabaja con A

Versión 1.0 48
Método Sturm
Para matrices tridiagonales simétricas

 El determinante se puede calcular desarrollando


por la última fila.

det( A − λI ) = Dn (λ ) = (an − λ ) Dn −1 (λ ) − bn −1M


Dn (λ ) = (an − λ ) Dn −1 (λ ) − bn −1 Dn − 2 (λ )
2

Versión 1.0 49
Método Sturm
 Para cualquier número λ dado, se demuestra
que el número de coincidencias de signo entre
dos elementos sucesivos de Di (λ ) es igual al
número de valores propios mayores que λ .
 Si encontramos un intervalo [λ1 , λ2 ] en donde
varíe el número de valores propios mayores
podemos localizar el valor propio por ejemplo
con el método de bisección.

Versión 1.0 50
Otro problema
 El problema generalizado de valores
propios

Ax = λBx

Versión 1.0 51

Anda mungkin juga menyukai