Valores y vectores propios - personales.upv.espersonales.upv.es/jromero1/valores y vect.pdf · 15...
Transcript of Valores y vectores propios - personales.upv.espersonales.upv.es/jromero1/valores y vect.pdf · 15...
Conceptos básicos
v vector propio asociado al valor propio λ
A v = λ vPolinomio característico de la matriz A
p(λ) = det(A- λ I)Ecuación característica
p(λ) = 0
Resultados de álgebra
TeoremaSi una Matriz A nxn tiene n valores propios
distintos es diagonalizable y sus
correspondientes n vectores propios son
independientes,A = S D S-1
Ak-1 = S Dk-1 S-1
S y D:∃
Ejemplo 1: Cadena de MarkovUna máquina se inspecciona cada día para comprobar si esta funcionando, estropeadao esta siendo reparada, las probabilidades de pasar de un estado a otro vienen dadas por:
0.90.80.1R
000.2E
0.10.20.7F
REF
Proceso matricial recursivo1
1
1
0.7 0.2 0.10.2 0 00.1 0.8 0.9
k k
k k
k k
F FE ER R
−
−
−
=
Por recurrencia podemos expresar el estado de un día cualquiera en función del primer día del mes:
D2 = A D1D3 = A D2 = A2 D1D4 = A D3 = A3 D1
...Dk = A Dk-1 = Ak-1 D1
Problema de valor propio
11
13
12
11
111
000000
DSSDSSDDk
k
k
kk
−
−
−
−
−−
==λ
λλ
( )'cc 32,111
,cDSc == −
31
3321
2211
11
3
2
1
31
321
211
1 ),,( vcvcvcccc
vvvD kkkkkkk
−−−−−− ++=
= λλλλλλ
Sistema mecánico de masas y resortes
x1
m1 m2
x2
k1 k2 k3
Ecuaciones de movimiento para el sistema
0)(0)(
2321222
2212111
=++−=−++
xkkxkxmxkxkkxm
&&
&&
Solución del problema
Si la solución es armónica cada coordenada
xi(t) = Ai sin(wt + φi) i=1,2.
w es una constante que corresponde a la frecuencia de la oscilaciónAi la amplitud φi la fase de la oscilación.
Problema de valor propioDerivando la ecuación del movimiento
2 2sin( )i i i ix w A wt w xφ= − + = −&&( ) sin( )i i ix t A wt φ= +
Datos del problema m1= m2=1 kg, k1=5 kN/m, k2=10 kN/m y k3= 15 kN/m
21 1 215 10 0w x x x− + − =
22 1 210 25 0w x x x− − + =
Expresión matricial-w2x1 + 15 x1-10 x2 = 0-w2x2 - 10 x1 +25 x2 = 0
Expresado en notación matricial nos proporciona un problema de valores propios:
Kx xλ=
1 12
2 2
15 1010 25
x xw
x x−
= −
Métodos numéricos para hallar valores y vectores propios
Método de las potencias
Método de las potencias inverso
Desplazamiento con el método de las
potencias
Instrucciones de MATLAB
Método 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 normalización sea despreciable.
Método de las potenciasInicializamos
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;
Método de las potenciasProceso 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 precisión que desees.
Métodos Iterativos
Estimación inicial
x1
Proceso iterativo
x2, x3, ... , xk, ... → x*
Criterio de parada
|xk+1 − xk| < tol ó k ≥ maxiter
Convergencia del método de las potencias
Si A es diagonalizable y posee un valor propio λ idominante El método es convergente
Tipos de convergencia
Error del paso k
ek = |xk+1 − xk|
Convergencia lineal
ek+1 / ek → cte < 1
Convergencia cuadrática
ek+1 / ek2 → cte < 1
Sintaxis de la instrucción WHILE
Bucle controlado por una condición
Sintaxis:while condición
instruccionesend
Las instrucciones se repiten mientras la condición se verifique.
Sintaxis de la instrucción IF
Bifurcación condicionalSintaxis:
if condicióninstrucciones
endLas instrucciones se realizan si la condición se verifica.
Sintaxis de la instrucción IF - ELSE
Dilemaif condición
instrucciones ciertaelse
instrucciones falsaend
Se ejecutan unas u otras instrucciones según se verifique o no la condición.
Comparaciones y operaciones lógicas
Comparaciones Menor <Mayor >Mayor o igual >=Menor o igual <=Igual ==Distinto ~=
Operaciones lógicas
Conjunción &
Disyunción |
O exclusiva xor
Negación ~
Algoritmo potenciasEntrada: A, u, tol, maxiterSalida: lambda, u, kProceso:
Inicializar las variablesMientras no converja o no hayamos llegado a maxiter
Multiplicar A*u.Normalizar el vector resultante Calcular el error o incrementoIncrementar el contador de iteraciones
fin mientrasAdvertir 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 número de operaciones hasta obtener la
solución.Tipo de convergencia» e = abs(diff(lambda));» m = length(e);» r = e(2:m)./e(1:m-1)
Método de las potencias inverso
A-1
λ v.p. de A-1 mayor en valor absoluto
1/λ v.p. de A menor en valor absoluto
método potencias
El vector propio correspondiente es el mismo
A-1v =λ i v multiplicando por Av = λ i A v multiplicando por 1/λ i
v = A v 1
iλ
EjemploObtención 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,maxiter);
» 1/lambda(5)
Desplazamiento con el método de las potencias
Aλ v.p. de A mayor en valor absoluto
λ+k v.p. de A+kI
método potencias
λ+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 rápida con el método de las potencias.
EjemploObtención 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,tol,maxiter) » 1/lambda(10)+d
Valores y vectores propios en MATLAB
Polinomio característicoP = poly (A)
Valores propiosr = roots (P)
Directamente los valores propiosr = eig(A)
Vectores y valores propios[S, D] = eig(A); A = S D S-1.
Descomposición en valores singulares de la matriz A
m n m m m n n nA U S V ∗× × × ×=
Con U y V unitarias y S “diagonal” con
elementos no negativos en la diagonal,
donde p = min(m,n)
,0σσσ 21 ≥≥≥≥ pL
Teorema a) El rango k de A es igual al número 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 mínimo a
entre todas las matrices pxq, Ar de rango r viene dada por 1 1 1 2 2 2 ... T T T
r r r rA u v u v u vσ σ σ= + + +
2rA A−
12y el mínimo es - r rA A σ +=
Comprensión de datosFoto discretizada
1000 1000
A×
=
Aproximación de bajo rango 1 1 1 2 2 2 ... T T T
r r r rA u v u v u vσ σ σ= + + +
1000 1 1000 1
, , 1,...,i i iu v i rσ× ×
= = =
2 1000 elementos r r× × +
Ahorro r=5, 106 10005 99%
Foto (matriz e imagen)function A=fotoxdp=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;
Obtención de la SVD» [V,S,U] = svd(A); » S = diag(S)
1 2 3 4 5
6 7 8 9 10
i
5.8, 5.3 4.6 3.6 2.5 1.8 1.4 1.3 0.6 0.3 y los otros 0
σ σ σ σ σ
σ σ σ σ σ
σ
≈ ≈ ≈ ≈ ≈
≈ ≈ ≈ ≈ ≈
≈
20 20 : ( ) 10A rg A× =
Aproximación de grado 2
A2=A1+S(2)*U(:,2)*V(:,2)'
2 4 6 8 10 12 14 16 18 20
2
4
6
8
10
12
14
16
18
20
Aproximación 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)'