Está en la página 1de 41

Valores y vectores propios

Laboratorio de Matemticas

Conceptos bsicos
v vector propio asociado al valor propio

Av= v
Polinomio caracterstico de la matriz A

p() = det(A- I)
Ecuacin caracterstica

p() = 0

Resultados de lgebra
Teorema Si una Matriz A nxn tiene n valores propios distintos es diagonalizable y propios sus son correspondientes n vectores independientes, S y D: A = S D S-1 Ak-1 = S Dk-1 S-1

Ejemplo 1: Cadena de Markov


Una mquina se inspecciona cada da para comprobar si esta funcionando, estropeada o esta siendo reparada, las probabilidades de pasar de un estado a otro vienen dadas por:
F F E R 0.7 0.2 0.1 E 0.2 0 0.8 R 0.1 0 0.9

Proceso matricial recursivo


Fk 0.7 0.2 0.1 Fk 1 = E E 0.2 0 0 k k 1 R 0.1 0.8 0.9 R k k 1

Por recurrencia podemos expresar el estado de un da cualquiera en funcin del primer da del mes:
D2 = A D1 D3 = A D2 = A2 D1 D4 = A D3 = A3 D1 ... Dk = A Dk-1 = Ak-1 D1

Problema de valor propio


k 1 1 0 0 1 k 1 1 k 1 Dk = SD S D1 = S 0 2 0 S D1 0 k 1 0 3

c = S 1 D1 = (c 1, c 2, c 3 )'
c1 k 1 k 1 k 1 k 1 1 k 1 + Dk = (1 v1 , 2 v2 , 3 v3 ) c2 = c11 v1 + c2 k v c 2 2 3 3 v3 c 3

Sistema mecnico de masas y resortes


x1 m1 k1 m2 k2 k3

x2

Ecuaciones de movimiento para el sistema

m2 & x &2 k 2 x1 + (k 2 + k3 ) x2 = 0

m1 & x &1 + (k1 + k 2 ) x1 k 2 x2 = 0

Solucin del problema


Si la solucin es armnica cada coordenada xi(t) = Ai sin(wt + i) i=1,2.

w es una constante que corresponde a la frecuencia de la oscilacin Ai la amplitud i la fase de la oscilacin.

Problema de valor propio


Derivando la ecuacin del movimiento

&& xi = w2 Ai sin( wt + i ) = w2 xi
Datos del problema m1= m2=1 kg, k1=5 kN/m, k2=10 kN/m y k3= 15 kN/m

xi (t ) = Ai sin( wt + i )

w 2 x1 + 15 x1 10 x2 = 0 w 2 x2 10 x1 + 25 x2 = 0

Expresin matricial
-w2x1 + 15 x1-10 x2 = 0 -w2x2 - 10 x1 +25 x2 = 0

Expresado en notacin matricial nos proporciona un problema de valores propios:

Kx = x
x 15 10 x1 2 1 x = w x 10 25 2 2

Mtodos numricos para hallar valores y vectores propios

Mtodo de las potencias Mtodo de las potencias inverso Desplazamiento con el mtodo de las potencias

Instrucciones de MATLAB

Mtodo de las potencias


Valores y vectores propios de A Vector inicial u Paso 1: Multiplicar A*u. Paso 2: Normalizar el vector resultante. Paso 3: Repetir los pasos 1 y 2 hasta que el cambio en el factor de normalizacin sea despreciable.

Mtodo de las potencias


Inicializamos Matriz A=[0.7 0.2 0.1; 0.2 0.0 0; 0.1 0.8 0.9] Vector u=[1, 1, 1]'; Valores propios lambda = []; Contador de iteraciones k=1;

Mtodo de las potencias


Proceso
paso 1: v=A*u; paso 2: [mx,i] =max(abs(v)); lambda = [lambda v(i)]; u = v/v(i); k=k+1; paso 3: actualiza las instrucciones del paso 1 y paso 2, hasta llegar al valor propio y su correspondiente vector propio con la precisin que desees.

Mtodos Iterativos
Estimacin inicial
x1

Proceso iterativo
x2, x3, ... , xk, ... x*

Criterio de parada
|xk+1 xk| < tol k maxiter

Convergencia del mtodo de las potencias


Si A es diagonalizable y posee un valor propio i dominante El mtodo es convergente

Tipos de convergencia
Error del paso k
ek = |xk+1 xk|

Convergencia lineal
ek+1 / ek cte < 1

Convergencia cuadrtica
ek+1 / ek2 cte < 1

La instruccin WHILE
no while condicin

s instruccin

instruccin

end

Sintaxis de la instruccin WHILE


Bucle controlado por una condicin Sintaxis: while condicin instrucciones end

Las instrucciones se repiten mientras la condicin se verifique.

La instruccin IF
no if condicin

s instruccin

instruccin

end

Sintaxis de la instruccin IF

Bifurcacin condicional Sintaxis: if condicin instrucciones end Las instrucciones se realizan si la condicin se verifica.

La instruccin IF - ELSE
if condicin no s

instruccin

instruccin

instruccin

instruccin

end

Sintaxis de la instruccin IF - ELSE

Dilema
if condicin instrucciones cierta else instrucciones falsa end

Se ejecutan unas u otras instrucciones segn se verifique o no la condicin.

Comparaciones y operaciones lgicas

Comparaciones Menor Mayor Mayor o igual Menor o igual Igual Distinto

< > >= <= == ~=

Operaciones lgicas

Conjuncin Disyuncin O exclusiva Negacin

& | xor ~

Algoritmo potencias
Entrada: A, u, tol, maxiter Salida: lambda, u, k Proceso:
Inicializar las variables Mientras no converja o no hayamos llegado a maxiter Multiplicar A*u. Normalizar el vector resultante Calcular el error o incremento Incrementar el contador de iteraciones fin mientras Advertir en caso de no convergencia

Ejemplo
B=[-4 3 2; 4 1 0; 0 3 -1]; u=[1 1 1]'; tol =0.001; maxiter=4;, [lambda,u,k]=potencias(B,u,tol,maxiter) Aumenta el nmero de operaciones hasta obtener la solucin. Tipo de convergencia e = abs(diff(lambda)); m = length(e); r = e(2:m)./e(1:m-1)

Mtodo de las potencias inverso


A-1
mtodo potencias

v.p. de A-1 mayor en valor absoluto

1/ v.p. de A menor en valor absoluto

El vector propio correspondiente es el mismo A-1v =i v multiplicando por A v = i A v multiplicando por 1/i 1 v=Av
i

Ejemplo
Obtencin del valor propio menor en valor absoluto de la matriz A A=[.7 .2 .1;.2 0 0;.1 .8 .9]; u=[1 1 1]'; tol =0.001; maxiter=30; [lambda,u,k]=potencias(inv(A),u,tol,maxi ter); 1/lambda(5)

Desplazamiento con el mtodo de las potencias


A
mtodo potencias

v.p. de A mayor en valor absoluto

+k v.p. de A+kI

A v.p. cerca de k

A-kI v.p. muy cerca de cero


Inv(A-kI) v.p. dominante Convergencia rpida con el mtodo de las potencias.

Ejemplo
Obtencin del valor propio intermedio entre los de mayor y menor en valor absoluto de la matriz A

d= (1.012 + -0.0317)/2; Ad=A-d*eye(3); u=[1 1 1]'; tol =0.001; maxiter=30; [lambda,u,k]=potencias(inv(Ad),u,t ol,maxiter) 1/lambda(10)+d

Valores y vectores propios en MATLAB


Polinomio caracterstico
P = poly (A)

Valores propios
r = roots (P)

Directamente los valores propios


r = eig(A)

Vectores y valores propios


[S, D] = eig(A); A = S D S-1.

Descomposicin en valores singulares de la matriz A


Amn = U mm S
Con U y V
m n n n

unitarias y S diagonal con

elementos no negativos en la diagonal,


1 2 L p 0,

donde p = min(m,n)

Teorema
a) El rango k de A es igual al nmero de valores singulares de A diferentes de cero. b) Si A es una matriz real pxq, de rango k, para un r < k , la matriz Ar de rango r que hace A Ar 2 mnimo a entre todas las matrices pxq, Ar de rango r viene dada por Ar = 1u1v1T + 2u2v2T + ... + rur vrT
y el mnimo es A - Ar
2

= r +1

Comprensin de datos
Foto discretizada
A= 10001000

Aproximacin de bajo rango


Ar = 1u1v1T + 2u2 v2T + ... + r ur vr T

ui = , vi = , i i = 1,..., r 10001 10001

2 r 1000 + r elementos

Ahorro r=5, 106

10005

99%

Ejemplo:
2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20

Foto discretizada de una X (20,20)

Foto (matriz e imagen)


function A=fotox dp=ones(1,20); d1=ones(1,19); a=diag(dp)+diag(d1,-1)+diag(d1,1); b=fliplr(a); A=max(a,b); Af=A+1; image(Af) colormap flag

A=fotox;

Obtencin de la SVD

[V,S,U] = svd(A); S = diag(S)


2 5.3 3 4.6 7 1.4 8 1.3 4 3.6 5 2.5 6 1.8 9 0.6 10 0.3

1 5.8,

y los otros i 0

A2020 : rg ( A) = 10

Aproximacin de grado 1
2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20

A1=S(1)*U(:,1)*V(:,1)'

Aproximacin de grado 2
2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20

A2=A1+S(2)*U(:,2)*V(:,2)'

Aproximacin de grado 3
2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20

A3=A2+S(3)*U(:,3)*V(:,3)'

FIN

También podría gustarte