valorespropios2
TRANSCRIPT
-
8/16/2019 ValoresPropios2
1/43
ETSII-UPM
Valores y vectores propios(métodos numéricos)
Métodos Matemáticos de Especialidad
(Mecánica-Máquinas)
Madrid, 7 de octubre de 2008
Javier García de JalónETSII - Departamento de Matemática Aplicada
a la Ingeniería Industrial
-
8/16/2019 ValoresPropios2
2/43
ETSII-UPM
Familias de métodos
Existen muchos métodos de cálculo, pero no existe un método quesea claramente superior a los demás en todos los casos.
El método a utilizar en un cálculo concreto depende de:
El tipo de problema y las características de las matrices (simétricas, definidas- positivas, grandes, pequeñas, ...).
Los valores y vectores propios que se deseen calcular. En ciertas ocasiones se
desean calcular todos y en otras sólo uno o unos pocos; a veces sólo se
necesitan los valores propios, etc.
Algunas de las familias de métodos más importantes: Métodos basados en la iteración de matrices.
Métodos basados en transformaciones de semejanza. Métodos basados en transformaciones de congruencia.
Métodos basados en la descomposición QR y LLT .
Se considerarán principalmente matrices reales y simétricas.
-
8/16/2019 ValoresPropios2
3/43
ETSII-UPM
Método de la iteración directa (1/3)
Este método calcula el mayor valor propio en valor absoluto:
El algoritmo básico es el siguiente:
Se parte de un vector inicial arbitrario de norma unidad: Este vector se multiplica por la matriz A y se normaliza, repetidamente:
Se demostrará que el módulo de zm tiende al módulo del valor propio λ n y el
vector ym tiende al vector propio xn. Una forma de estudiar la convergencia de la iteración directa
Utilizando la descomposición espectral de las matrices A y Am:
el vector resultante de la iteración m se podrá expresar en la forma:
1 2 ... nλ λ λ < < <
0 1=y
1 0 1 1 1 1
2 1 2 2 2 2
1
1
1
...
1m m m m m m−
= = =
= = =
= = =
z Ay y z z y
z Ay y z z y
z Ay y z z y
1 1 2 2 1 1 2 2... , ...m m m m
r r r r λ λ λ λ λ λ = + + + = + + +A P P P A P P P
0 1 1 0 2 2 0 0 0...m m m m m
m r r r r λ λ λ λ = = + + +y A y P y P y P y P y
-
8/16/2019 ValoresPropios2
4/43
ETSII-UPM
Método de la iteración directa (2/3)
Demostración de la convergencia del método: La primera transformación se puede desarrollar en la forma:
y la transformación m (sin tener en cuenta la normalización):
Todos los cocientes entre valores propios son
-
8/16/2019 ValoresPropios2
5/43
ETSII-UPM
Método de la iteración directa (3/3)
El método de la iteración directa exige que α n≠0. Si αn=0 el proceso converge –en teoría– hacia el segundo valor y vector propio
También es posible que los errores de redondeo –que sí tendrán componentes
según xn – hagan que el proceso converja hacia el mayor valor y vector propio
En la práctica, empezando con un vector aleatorio, esta situación es posible
pero muy poco probable.
La velocidad de convergencia depende del cociente λ n/λ n –1
Desviación de la convergencia a otros valores y vectores propios: Una vez calculado xn, quitándole al vector inicial y0 su componente según el
vector propio xn, el proceso convergerá al par (λ n –1 , xn –1).
Para evitar el efecto de los errores de redondeo es conveniente “limpiar” devez en cuando el vector de la componente en xn que haya podido adquirir.
De la misma forma, una vez calculados los dos mayores valores y vectores
propios, puede hacerse que la iteración directa converja al tercer valor y vector
propio, quitando al vector inicial su componente según dichos vectores propios.
-
8/16/2019 ValoresPropios2
6/43
ETSII-UPM
Método de la iteración inversa (1/3)
El método de la iteración inversa Converge al menor valor propio y al vector propio correspondiente.
Es similar al método de la iteración directa, utilizando la resolución de unsistema de ecuaciones lineales en lugar del producto de matriz por vector.
La iteración inversa requiere algunas operaciones más que la directa, peroconceptualmente es igual de sencilla. La matriz A se factoriza sólo una vez yen cada paso se hace una sustitución hacia delante y otra hacia atrás.
Se parte de un vector arbitrario tal que:
y el proceso se desarrolla del siguiente modo:
Se demuestra que el módulo de zm converge al inverso del menor valor propioλ 1 y el vector ym al vector propio correspondiente x1.
0 1=y
1 0 1 1 1 1
2 1 2 2 2 2
1
1
1
...
1m m m m m m−
= = =
= = =
= = =
Az y y z z y
Az y y z z y
Az y y z z y
-
8/16/2019 ValoresPropios2
7/43
ETSII-UPM
Método de la iteración inversa (2/3)
Demostración de la convergencia del método La primera transformación se puede desarrollar en la forma
y la transformación p (sin tener en cuenta la normalización)
De nuevo todos los cocientes entre valores propios del paréntesis son
-
8/16/2019 ValoresPropios2
8/43
ETSII-UPM
Método de la iteración inversa (3/3)
El método de la iteración inversa exige que α 1≠0: Se pueden hacer consideraciones análogas a las de la iteración directa.
Se puede hacer que el método converja hacia otros valores y vectores propios
quitando al vector inicial sus componentes según los vectores propios ya
calculados.
La velocidad de convergencia depende del cociente λ 2/λ 1
Desviación de la convergencia hacia el valor propio más cercano a un
número dado α :
Recuérdese que los valores propios de (A – α I) son λ i – α . Si se utiliza laiteración inversa con la matriz (A – α I) el proceso convergerá hacia el valor
propio más pequeño en valor absoluto, que será el más cercano al valor α . Este método permite calcular valores y vectores propios intermedios sin haber
calculado los que están por encima (o por debajo).
Recuérdese que los signos de los valores propios son los mismos que los de los
pivots en la factorización A – α I=LDLT . Por medio de la factorización puedeacotarse un intervalo en el que está el valor propio que se desea calcular.
-
8/16/2019 ValoresPropios2
9/43
ETSII-UPM
Método de la iteración simultánea directa (1/2)
Sea A una matriz n×n. Se pueden calcular m vectores y valores propios simultáneamente de la siguiente forma: Se parte de una matriz Z0 de tamaño n×m cuyas columnas son vectores
arbitrarios linealmente independientes.
Aplicando el método de ortogonalización de Gram-Schmidt a Z0 se obtiene
una matriz Y0 con m columnas ortonormales.
Multiplicando Y0 por la matriz A se calcula Z1=AY0.
Por Gram-Schmidt o por QR se calcula Y1 a partir de Z1. Se prosigue en la forma descrita y se comprueba que las m columnas de Yi
convergen a los m vectores propios correspondientes a los m mayores valores
propios. Los m valores propios aparecen en Gram-Schmidt o en la matriz R .
Convergencia del método de la iteración simultánea: La primera columna de Yi converge al vector propio xn. La segunda columna
convergería también a este vector propio, pero por el proceso de
ortogonalización aplicado converge hacia xn –1
, pues se le va quitando su
componente en xn a medida que avanza el proceso.
Algo análogo ocurre con las restantes columnas de Yi.
-
8/16/2019 ValoresPropios2
10/43
ETSII-UPM
Método de la iteración simultánea directa (2/2)
Mediante la factorización QRel algoritmo básico puede ser
como sigue:
( )
0 0 0
1
,
while error > tol && nit < nitmax
[ , ] qr
error ...
nit nit 1
end
T r
k k
k k k
−
∈ =
=
==
= +
n×rY R Y Y I
Z AY
Y R Z
% con Mat l ab
Q=eye( n, r ) ; R=eye( r ) ; Z=zer os( si ze( Q) ) ;vpr n=1; vpr =0;
whi l e i er r or
vpr=vprn;
Z=A*Q;
[ Q, R] =qr ( Z, 0) ;
vpr n=mi n( di ag( R) ) ;
i =i +1;
end
i f i ==100
di sp( ' No ha habi do conver genci a' )
el se
di sp( ' Númer o de i t er aci ones' ) ;
di sp( i ) ;
di sp( ' Val or es pr opi os máxi mos: ' ) ;
di sp( di ag( R) ) ;
end
-
8/16/2019 ValoresPropios2
11/43
ETSII-UPM
Método de la iteración de sub-espacios (1/2)
Está basada en el método de Ritz: Supóngase que se dispone de r vectores ortonormales en R n que forman las
columnas de una matriz ortogonal Qk –1. Multiplicando por la matriz A:
Las columnas de Zk se pueden ortogonalizar mediante la factorización QR:
Las columnas de Pk contienen más información que las de Qk –1 sobre los
mayores vectores propios de A, pues Qk –1 ha sido multiplicada por A y losvectores correspondientes con los mayores valores propios han aumentado.
El análisis de Ritz consiste en utilizar el cociente de Rayleigh para tratar de
buscar aproximaciones a los mayores valores propios de A en el sub-espacio
de R n
determinado por las columnas de Pk (x=Pk y):
donde,
( )T T T T
k k k
T T T T
k k
R = = ≡y P AP y y B yx Ax
yx x y P P y y y
1k k −=Z AQ
( )[ , ] qr k k k =P R Z
T
k k k =B P AP
-
8/16/2019 ValoresPropios2
12/43
ETSII-UPM
Método de la iteración de sub-espacios (2/2)
Está basada en el método de Ritz (cont.): Este cociente de Rayleigh se hará estacionario para los valores y vectores
propios de la matriz Bk , que es de un tamaño r ×r . Estos valores y vectores
propios se pueden expresar en la forma:
Las columnas de Y en R r se pueden transformar en los correspondientes
valores propios aproximados en R n por medio de la expresión:
Las columnas de Qk son ortogonales, pues se verifica:
Además son una mejor aproximación que las de Qk −1 a los vectores propios deA, en virtud de la multiplicación por A (que amplifica las componentes en los
mayores vectores propios) y del proceso de Ritz seguido.
El método de la iteración de subespacios converge más rápidamente
que la iteración simultánea La velocidad de convergencia es en lugar de
T
k k k k i k i k k k = = ≡Y B Y D x P y X = P Y Q
k k k k =B Y Y D
T T T
k k k k k k = =Q Q Y P P Y I
n
n r
λ λ −
1n r
n r
λ λ
− +
−
-
8/16/2019 ValoresPropios2
13/43
ETSII-UPM
Bases ortonormales
Bases ortonormales en espacios euclídeos Se dice que un vector w está normalizado cuando cumple:
Se dice que una base en un espacio de dimensión n es ortonormal cuando estáformada por n vectores de norma unidad y ortogonales entre sí .
Si la base es ortonormal la matriz de Gram es la matriz identidad y el productoescalar se puede expresar, en forma matricial:
Coordenadas de un vector en una base ortonormal: Sea a un vector cualquiera en E y (q1, q2, …, qn) los vectores de una base
ortonormal de E . Se desean hallar las componentes α i de a expresado en dicha base ortonormal
El vector a se puede expresar como combinación lineal de los vectores qi
Para determinar la componente α i basta realizar el producto escalar por qi
y por tanto
y también, utilizando formulación matricial en R n:
2, 1= =w w w
1 1 2 2 ... n nα α α = + + +a q q q
1 1 2 2 ... 0 ... ... 0T T T T T
i i i n i n i i i iα α α α α = + + + = + + + + =q a q q q q q q q q
( ) ( ) ( )1 1 2 2...T T T
n n
= + + +a q a q q a q q a q
1 1 2 2 ... =T
n nα α α = + + + → =a q q q Q Q a
, , ,T x y = ∈ nx y x y R
-
8/16/2019 ValoresPropios2
14/43
ETSII-UPM
Existencia de bases ortonormales: Gram-Schmidt
Se parte de n vectores (a1, a2, ... an) linealmente independientes y setrata de hallar a partir de ellos una base ortogonal (q1, q2, ... qn) El primer vector q1 se puede obtener normalizando a1
Los vectores q2 y q3 se obtienen quitando a los vectores a2 y a3 lascomponentes según los “q” anteriores y normalizando (siempre existe )
Existe otra forma de organizar los cálculos (Gram-Schmidt modificado)consistente en quitar la componente según qi a todos los a j ( j=i+1,...,n), tan
pronto como qi ha sido calculado (menores errores numéricos):
Obsérvese que en cada qi(ai) sólo intervienen a1,..., ai (q1,..., qi).
1 1 1 1 1 = =a a q a a
( )
( ) ( )
2 2 1 2 1 2 2 2
3 3 1 3 1 2 3 2 3 3 3
T
T T
= − =
= − − =
a a q a q q a a
a a q a q q a q q a a
( )( )
( )
1 1 1 1 1
2 2 2 2 2
2,3,...,
3,4,...,
...
1,...,
T j j j
T
j j j
T i i i j j i j i
j n
j n
j i n
= = − =
= = − =
= = − = +
q a a a a q a q
q a a a a q a q
q a a a a q a q
i ≠a 0
-
8/16/2019 ValoresPropios2
15/43
ETSII-UPM
Interpretación gráfica del método de Gram-Schmidt
( )
( ) ( )
1 1 1 1 1
2 2 1 2 1 2 2 2
3 3 1 3 1 2 3 2 3 3 3
T
T T
= =
= − =
= − − =
a a q a a
a a q a q q a a
a a q a q q a q q a a
[ ] [ ]
[ ] [ ]
[ ] [ ]
1 1
1 2 1 2
1 2 3 1 2 3
, ,
, , , ,
L L
L L
L L
=
=
=
q a
q q a a
q q q a a a
a1
a2
a3
q1q2
q3 ( )2 1 2 1T −a q a q
( ) ( )3 1 3 1 2 3 2T T − −a q a q q a q
-
8/16/2019 ValoresPropios2
16/43
ETSII-UPM
Una matriz Q es ortogonal si es cuadrada y sus columnas son ortonormalesentre sí:
Expresando todas estas condiciones de modo matricial
Propiedades (se pueden demostrar como ejercicio):
Se verifica que la inversa es igual a la traspuesta QT =Q –1
El determinante de una matriz ortogonal es +1 ó –1
Las matrices ortogonales conservan el producto escalar, y por tanto conservandistancias y ángulos
Casos particulares: matrices de permutación, de rotación y de reflexión
Cualquier matriz ortogonal es el producto de una reflexión por una rotación
Las matrices rectangulares de columnas ortogonales, aunque cumplan QT Q=I, no sonortogonales pues QQT ≠I . En este caso QT no es la inversa de Q, sino la inversa por laizquierda.
Matrices ortogonales
( ) 1; 0,T T T i j ij i i i j i jδ = = = ≠q q q q q q
1 0 00 1 0
0 0 1
• =
1
T
q
2
T q
T
nq
1q 2q nq
T =Q Q Ió bien:
-
8/16/2019 ValoresPropios2
17/43
ETSII-UPM
Factorización QR por Gram-Schmidt (1/4)
Se trata de pasar de una matriz cuadrada A, de tamaño n×n y cuyascolumnas son independientes, a una matriz ortogonal Q:
Teniendo en cuenta que, según el método de Gram-Schmidt, cadavector ai sólo tiene componentes en los i primeros vectores q
Las matrices A y Q se relacionan a través de una matriz triangular
superior R , que es cuadrada n×n e invertible:
[ ] [ ]nn qqqQaaaA 2121 =⇒=
[ ] [ ]
1 1 1 2 1
2 2 2
1 2 1 2
0
0 0
T T T
n
T T
n
n n
T
n n
⎡ ⎤⎢ ⎥⎢ ⎥= =⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
q a q a q a
q a q a
a a a q q q A QR
q a
( )
( ) ( )( ) ( ) ( ) 3332321313
2221212
1111
qaqqaqqaqa
qaqqaqa
qaqa
T T T
T T
T
++=+=
=
-
8/16/2019 ValoresPropios2
18/43
ETSII-UPM
Factorización QR por Gram-Schmidt (2/4)
Factorización QR de matrices rectangulares: Considérese una matriz rectangular A, de tamaño m×n (m>n). Se puede
obtener una matriz Q, también m×n, cuyas columnas son ortonormales y
generan el mismo subespacio de R m que las de A.
Las fórmulas anteriores se aplican también en este caso. La matriz Q es m×n,
pero la matriz R es cuadrada n×n. A esta factorización se le llama
factorización QR incompleta, porque las columnas de Q no constituyen una
base completa de R m (en este caso Q no es una matriz ortogonal).
La factorización QR completa obtiene una matriz Q ortonormal (m×m) y
añade a la matriz R tantas filas de ceros como columnas se han añadido a Q:
[ ] [ ]1 2 1 2 1 1 1 1 2 12 2 2
0
0 0
0 0 0
0 0 0
T T T
n n n m n
T T
n
T
n n
+ ⎡ ⎤=
⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥
⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
a a a q q q q q q a q a q a
q a q a
q a
A Q
R
0=
-
8/16/2019 ValoresPropios2
19/43
ETSII-UPM
Factorización QR por Gram-Schmidt (3/4)
La factorización QR se puede utilizar para resolver sistemas deecuaciones
En el caso de las ecuaciones normales propias del método de losmínimos cuadrados (se verán posteriormente)
y como Q es ortogonal y R triangular superior e invertible, laecuación final es muy fácil de resolver:
Conclusión: si se dispone de una base ortogonal Q para el espacio decolumnas de A, los sistemas de ecuaciones resultantes son muy
fáciles de resolver
xbQybQy
yRxbQRxQR AbAx ⇒=⇒
⎭⎬⎫
=
==== T
bQR QRxQR QR AbAAxAbAx T T T T T T ====
T T T T = → =R Rx R Q b Rx Q b
i ió Q G S h id (4/4)
-
8/16/2019 ValoresPropios2
20/43
ETSII-UPM
Factorización QR por Gram-Schmidt (4/4)
% f i cher o QR4. m% Fact or i zaci ón QR ( G. - S. modi f i cado)% Gol ub&Van Loan pp. 231- 32cl ear al l
m=400; n=m; A=r and( m, n) ;
Q=zer os( m, n) ; R=zer os( n, n) ;Q=A;
t i cf or k=1: n
% Nor ma de l a col umna kR( k, k) =nor m( Q( : , k) ) ;% Se nor mal i za l a col umna kQ( : , k) =Q( : , k) / R( k, k) ;% Se el i mi na l a col umna k de l as% si gui ent es col umnasf or j =k+1: n
R( k, j ) =Q( : , k) ' *Q( : , j ) ;
Q( : , j ) =Q( : , j ) - Q( : , k) *R( k, j ) ;end
endt oc
% compr obaci ón A=Q*R
Anew=Q*R;di sp( ' Gr am- Schmi dt modi f i cado' ) ;di sp( nor m( A- Anew, 1) ) ;di sp( ' Ya he t er mi nado' ) ;
[ ]
[ ]
1 2
1 1 1 2 1
2 2 21 2
0
0 0
n
T T T
n
T T
nn
T
n n
=
⎡ ⎤⎢ ⎥
⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
a a a
q a q a q a
q a q aq q q
q a
( )
( )
( )
1 1 1 1 1
2 2 2 2 2
2,3,...,
3,4,...,
...
1,...,
T
j j j
T j j j
T
i i i j j i j i
j n
j n
j i n
= = − =
= = − =
= = − = +
q a a a a q a q
q a a a a q a q
q a a a a q a q
T f i d H h ld (1/4)
-
8/16/2019 ValoresPropios2
21/43
ETSII-UPM
Transformaciones de Householder (1/4)
Las matrices de reflexión (simetría) de Householder se definen en la forma:
donde v es un vector cualquiera. La matriz de Householder define una reflexión
respecto al hiperplano perpendicular al vector v. Las matrices de Householder son simétricas y ortogonales:
Como son ortogonales, conservan ángulos y distancias, y por eso son muy estables
en su aplicación numérica.
Una segunda reflexión conduce
a la situación original:
La matriz de reflexión se puede
obtener a partir de la matriz de
proyección, teniendo en cuenta
que la reflexión más el original esigual a dos veces la proyección:
2= −H I P
2 o bien 2 1T
T
T = − = − =
vvH I H I uu u
v v
( )( )2 2 4 4T T T T T T = − − = − + =H H I uu I uu I uu uu uu I
2 1
−
= =H I H H
b
Pb
Hb
(2P−I)bv
T f i d H h ld (2/4)
-
8/16/2019 ValoresPropios2
22/43
ETSII-UPM
Transformaciones de Householder (2/4)
Aplicación de las matrices de Householder Se suelen utilizar para anular todos los elementos de un vector excepto el primero, es
decir, para alinearlo con el vector e1.
Supóngase un vector cualquiera x. El vector v se define en la forma
El producto por la matriz H hace ceros todos los elementos de x excepto el 1º
Demostración:
En el cálculo del vector v deben evitarse restas que puedan disminuir la precisión. Así,
cuando x1>0, el cálculo de v1 se puede hacer en la forma:
{ }1 1 1 0 0T
= − ≡v x x e e
1=Hx x e
( ) ( )
( ) ( )
( ) ( )
1
1
1 1
1
1 1 12
1
22 2
2 2
2
T T T
T T T T
T
T
x
x
−⎛ ⎞= − = − = − − =⎜ ⎟
− −⎝ ⎠
−
= − − = − − =− +
x x e xvv vv xHx I x x x x x e
v v v v x x e x x e
x x x
x x x e x x x e x ex x x x
( )2 2 22 211 1
1 1
...= =
n x x xv x
x x
− + +−= −+ +
xx
x x
T f i d H h ld (3/4)
-
8/16/2019 ValoresPropios2
23/43
ETSII-UPM
Transformaciones de Householder (3/4)
Las matrices de Householder Se pueden utilizar para hacer ceros debajo de la diagonal, en forma análoga al
método de Gauss
La segunda trasformación es similar, pero de tamaño n−1
Cada transformación conserva los ceros de las anteriores
Esta transformación es más estable que la de Gauss, aunque más costosa
1 1 1
1
2 ;T
T
σ
= = − = −
=
vvU H I v x x e
v v
x
1
1
00
0
σ ∗ ∗ ∗⎡ ⎤⎢ ⎥
∗ ∗ ∗⎢ ⎥⎢ ⎥= ∗ ∗ ∗⎢ ⎥⎢ ⎥⎢ ⎥∗ ∗ ∗⎣ ⎦
U A
x A
2
2
1 0 0 0
0 0
0
⎡ ⎤⎢ ⎥
⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
UH
1
2
2 1
00 0
0 0
σ
σ
∗ ∗ ∗⎡ ⎤⎢ ⎥∗ ∗⎢ ⎥⎢ ⎥= ∗ ∗⎢ ⎥⎢ ⎥⎢ ⎥∗ ∗⎣ ⎦
U U A
x A
T f i d H h ld (4/4)
-
8/16/2019 ValoresPropios2
24/43
ETSII-UPM
Transformaciones de Householder (4/4)
Función de Matlab para calcular el vector v y el factor β Se toma v(1)=1 para que v se pueda almacenar en lugar de los ceros introducidos.
% cál cul o del vect or de Househol der% Gol ub & Van Loan, pág. 210
f unct i on [ v, bet a] = househol der ( x)n=l engt h( x) ;% módul o de x ( si n pr i mera component e)s=x( 2: n) ' *x( 2: n) ;v=[ 1, x( 2: n) ' ] ' ;
i f s==0% l os el ement os x( 2) , . . . x( n) son cer obet a=0
el se% módul o de x
mx=sqr t ( x( 1) 2̂+s) ;i f x( 1)
− + +=
+ x
1/ v=v v
2; =T
T β β −H = I vv
v v
A li ió l f t i ió QR
-
8/16/2019 ValoresPropios2
25/43
ETSII-UPM
Aplicación a la factorización QR
La factorización QR puede hacerse por medio de las transformaciones deHouseholder de modo más estable que con Gram-Schmidt
Pre-multiplicando por matrices de Householder se pueden hacer ceros en todas las
columnas por debajo de la diagonal principal:
Pre-multiplicando por las inversas de las matrices unitarias Ui y teniendo en cuenta que
el producto de matrices ortogonales es también ortogonal:
No es necesario formar explícitamente las matrices Ui y menos aún realizar los
productos de matrices que aparecen en las expresiones anteriores.
Si la matriz A es rectangular (m>n) se obtiene la factorización QR completa.
Almacenamiento de las matrices de Householder: No hace falta almacenar las matrices de Householder: basta almacenar el vector v. Si se
hace v1=1, el vector v puede almacenarse en la posición de los ceros introducidos en A.
El producto de una matriz de Householder por una matriz A se puede hacer sin tener
que formar las matrices H ó U explícitamente:
1 1 1
1 2 1 1 2 1
... ...n n
− − −− −= = ≡A U U U R U U U R QR
1 2 1...n− =U U U A R
( )2T
T T T T
T β β β = − = − = − = −
vvH I I vv HA A vv A A v A v
v v
Matrices de rotación de Givens
-
8/16/2019 ValoresPropios2
26/43
ETSII-UPM
Matrices de rotación de Givens
Son rotaciones planas ó 2-D que se aplican a matrices n×n Se utilizan para hacer cero un elemento determinado (i, j) de una matriz A
Gij es una matriz idéntica a I, excepto gii=g jj=cosα , g ji=−gij=senα
Al pre-multiplicar por Gij se combinan filas, y al post-multiplicar columnas
Las matrices de Givens se pueden utilizar para triangularizar una matriz A de
modo semejante a como se hace en el método de eliminación de Gauss Haciendo ceros por columnas, de izquierda a derecha, los ceros anteriores se
conservan y la matriz A se triangulariza con un nº finito de operaciones
Las matrices de Givens son ortogonales y su producto también lo es. La
factorización de A será del tipo A=QR La factorización de Givens es más costosa en operaciones que la de Gauss. Es
preferible a Householder cuando hay que hacer ceros selectivamente.
11 1 1 1
1 1
1 1
1
1 0 0 0
0 0
0 0
0 0 0 1
i j n
i j ii ji ij jj in jn
ij
i j ii ji ij jj in jn
n ni nj nn
a a a a
ca sa ca sa ca sa ca sac s
sa ca sa ca sa ca sa cas c
a a a a
⎡⎡ ⎤⎢⎢ ⎥⎢⎢ ⎥
− − − −⎢ ⎥−⎢ ⎥
= =⎢ ⎥
⎢ ⎥ + + + +⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦ ⎣
G A A
2 2
2 2
0
ii ji
ii
ii ji
ji
ii ji
sa ca
ac
a a
as
a a
⎤⎥⎥
+ =⎢ ⎥⎢ ⎥
=⎢ ⎥⎢ ⎥ +⎢ ⎥ −⎢ ⎥
=⎢ ⎥+⎢ ⎥⎦
Métodos de transformación (1/2)
-
8/16/2019 ValoresPropios2
27/43
ETSII-UPM
Métodos de transformación (1/2)
Todos los métodos de cálculo de valores y vectores propios soniterativos y pueden necesitar un considerable esfuerzo de cálculo.
Las transformaciones de semejanza conservan los valores propios.
Si una transformación de semejanza convierte una matriz en diagonal , los valores propios son los elementos de la diagonal: No existe ninguna transformación de semejanza general que diagonalice
una matriz con un número finito de operaciones aritméticas.
Hay transformaciones que hacen cada vez más pequeños los elementos defuera de la diagonal, pero hacen falta infinitos pasos para hacerlos cero.
Existen transformaciones de semejanza que con un número finito de operaciones transforman una matriz en otra más sencilla:
Existen transformaciones que convierten una matriz a la forma de Hessenberg, que es una matriz triangular superior con una sub-diagonal.
Si la matriz es simétrica se puede transformar en una matriz tridiagonal
Estas transformaciones se suelen aplicar como paso previo para abaratar el
coste del proceso iterativo posterior. Las transformaciones más utilizadas son Givens y Householder.
Métodos de transformación (2/2)
-
8/16/2019 ValoresPropios2
28/43
ETSII-UPM
Métodos de transformación (2/2)
Es importante distinguir entre: Aplicación de las matrices de Givens y Householder para la factorización QR.
Aplicación de Givens y Householder en las transformaciones de semejanza.
En las factorizaciones A=QR : La matriz A se premultiplica por matrices H ó G de modo que se convierte en
triangular superior:
El objetivo es hacer ceros debajo de la diagonal. Cada transformación respetalos ceros de las pre-multiplicaciones anteriores.
En las transformaciones de semejanza ortogonales B=QT AQ:
La matriz se pre- y postmultiplica por una matriz y su traspuesta. Los ceros deben ser el resultado de ambas operaciones y no de una sola
Es imposible diagonalizar la matriz A o reducirla a forma triangular con unnúmero finito de transformaciones.
Con un nº finito de transformaciones sólo se puede reducir la matriz a forma de Hessemberg o a forma tridiagonal (si la matriz A es simétrica).
, 1 2 32 1 31 21 21 31 1 32 2 , 1
1 2 1 1 2 1
T T T T T T n n n n n n n n
n n
− −
− −
= =
= =
G G G G G G A R A = G G G G G G R QR
U U U A R A = U U U R QR
Transformación de Householder (1/2)
-
8/16/2019 ValoresPropios2
29/43
ETSII-UPM
Transformación de Householder (1/2)
Expresiones de la matriz de Householder:
Características:
A diferencia de la factorización QR, en que semultiplicaba sólo por la izquierda, aquí se aplican
como transformaciones de semejanza.
Para no destruir los ceros anteriores sólo se
hacen ceros debajo de la subdiagonal .
Si la matriz es simétrica se transforma en
tridiagonal . Si no lo es toma la forma de Hessenberg.
Para matrices no simétricas: reducción a la forma de Hessenberg.
( )2T
T T T T
T β β β = − = − = − = −
vvH I I vv HA A vv A A v A v
v v
1 1 3 2 1 1 2 3
* * * * * * * * * *
* * * * * * * * *
al final:0 * * * * 0 * * * *
0 * * * * 0 0 * * *
0 * * * * 0 0 0 * *
H H H H
σ
⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥−⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥= =
⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦
U AU U U U AU U U
1
1 0 0
0
0
⎡ ⎤⎢ ⎥⎢ ⎥
= ⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
U H
Ax
wT
Transformación de Householder (2/2)
-
8/16/2019 ValoresPropios2
30/43
ETSII-UPM
Transformación de Householder (2/2)
Para matrices no simétricas: La multiplicación por la izquierda se define para hacer ceros debajo de la
subdiagonal.
La multiplicación por la derecha con la misma matriz que por la izquierda lo
más que consigue es no destruir los ceros hechos anteriormente.
Para matrices simétricas: reducción a forma tridiagonal simétrica Por simetría, la multiplicación por la derecha hace los mismos ceros en una fila
que la multiplicación por la izquierda en una columna, además de respetar losceros anteriores.
Se puede aprovechar la simetría para almacenar el resultado en dos vectores y
para reducir las operaciones aritméticas:
1 1 3 2 1 1 2 3
* 0 0 0 * * 0 0 0
* * * * * * * 0 0
al final:0 * * * * 0 * * * 0
0 * * * * 0 0 * * *
0 * * * * 0 0 0 * *
H H H H
σ
σ
−⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥−⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥= =⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦
U AU U U U AU U U
Transformaciones de Givens
-
8/16/2019 ValoresPropios2
31/43
ETSII-UPM
Transformaciones de Givens
Transformaciones de Givens: A diferencia de las transformaciones de Householder, las transformaciones de
Givens hacen un sólo cero en cada transformación.
Se utilizan cuando es necesario hacer ceros selectivamente, por ejemplo
cuando la matriz de partida es ya tridiagonal o tiene la forma de Hessenberg.
Expresiones de las matrices de Givens (en factorizaciones): Para hacer un cero en un vector de dimensión 2:
Cualquier expresión de c y s que cumplan c2+s2=1 es válida.
La matriz de rotación de Givens (c y s) se puede almacenar en función de un
solo parámetro (r ):
2 2 2 2
0i i i k i i k
k k i k i k i k
x y c x s x yc s x xc s x y s x c xs c x x x x
⋅ − ⋅ =− ⎧ ⎫ ⎧ ⎫ ⎫⎡ ⎤ −= = =⎨ ⎬ ⎨ ⎬ ⎬⎢ ⎥ ⋅ + ⋅ = + +⎣ ⎦ ⎩ ⎭ ⎩ ⎭ ⎭
% par a cal cul ar ri f c==0 r =1;el sei f abs( s)
-
8/16/2019 ValoresPropios2
32/43
ETSII-UPM
Método de Jacobi (1/3)
Este método está basado en la aplicación de una transformación desemejanza constituida por rotaciones de Givens, aplicadas por la
izquierda y por la derecha, que hacen cero un elemento (dos con
simetría) de fuera de la diagonal. Las matrices de rotación plana tienen la forma:
En el caso de matrices n×n, si se desea hacer cero el elemento (i, j):
cos sen cos sen
sen cos
c sc s
s c
α α α α
α α
− −⎡ ⎤ ⎡ ⎤= = ≡ ≡⎢ ⎥ ⎢ ⎥
⎣ ⎦ ⎣ ⎦G
1 0 0 0
0 0
0 0
0 0 0 1
T T
c s
s c
⎡ ⎤⎢ ⎥⎢ ⎥
⎢ ⎥−⎢ ⎥′ = = ⎢ ⎥
⎢ ⎥⎢ ⎥
⎢ ⎥⎢ ⎥⎣ ⎦
A G AG G A
( ) ( )
2 2
2 2
2 2
2
2
0
Fila i:
Fila j:
Columna i:Columna j:
ii ii ij jj
jj ii ij jj
ij jj ii ij
ik ik jk
jk ik jk
ki ik kj
kj ki kj
a a c a cs a s
a a s a cs a c
a a a sc a c s
a a c a s
a a s a c
a a c a sa a s a c
′ = + +
′ = − +
′ = − + − =
′ = + ⎫
′ = − +
′ = +′ = − +
,k i j
⎪⎪
≠⎬⎪⎪⎭
Método de Jacobi (2/3)
-
8/16/2019 ValoresPropios2
33/43
ETSII-UPM
Método de Jacobi (2/3)
Cálculo de los valores de c y s
Convergencia del método de Jacobi: La suma de los cuadrados de los elementos de la matriz se conserva (la raíz de
esta suma es la norma de Frobenius):
Eso es válido también para los 4 elementos que están en las filas y columnas iy j. Sin embargo, dos de estos elementos se han hecho cero, luego los
cuadrados de los dos nuevos elementos de la diagonal igualan a los cuadradosde los cuatro elementos anteriores:
Si la suma los cuadrados de todos los elementos se conserva y la suma de los
cuadrados de los elementos de la diagonal aumenta, los elementos de fuera dela diagonal se tienen que ir haciendo cada vez más pequeños.
( ) ( ) ( ) ( ) ( ) ( )2 2 2 2 2 2 2 2 2 2 2 2 ,ik jk ik jk ik jk ik jk ik jk a a a c a s a s a c a c s a c s a a k i j′ ′+ = + + − + = + + + = + ≠
( ) ( ) ( ) ( ) ( )2 2 2 22
2ii jj ii jj ija a a a a′ ′+ = + +
2 2 2
2 2 2
21 2 2si tan 2 = si tan
1
2 1 0 1 la raíz más pequeña para que < < 1 14 4
ij
ii jj
ii jj
a sc t sa a t
r a a c s t c
t tr t r r c t s t c
α α
π π α
⎛ ⎞≠ ≡ = = = ≡⎜ ⎟
− − − ⎝ ⎠
⎛ ⎞+ − = = − ± + − = + = ⋅
⎜ ⎟⎝ ⎠
(si = 4)ii jja a α π =
( ), traza T =A A A A
Método de Jacobi (3/3)
-
8/16/2019 ValoresPropios2
34/43
ETSII-UPM
Método de Jacobi (3/3)
Aplicación práctica del método de Jacobi: 2 variantes principales: Jacobi clásico: en cada paso se hace cero el mayor elemento en valor absoluto
de fuera de la diagonal principal. La matriz tiende a una matriz diagonal cuyos
elementos serán los valores propios. Teóricamente este método converge de
modo lineal, pero en la práctica se tiende a obtener convergencia cuadráticacuando el número de iteraciones alcanza un cierto valor. Esta variante se
utiliza cuando los cálculos se hacen manualmente.
Jacobi cíclico: se aplican sucesivamente las transformaciones de Jacobi
mediante barridos por filas para anular sucesivamente todos los elementos defuera de la diagonal (exceptuando quizás los que son cero o casi cero). Dado el
coste relativamente elevado que tiene el calcular el máximo elemento en cada
paso, esta variante es sensiblemente más rápida si los cálculos se realizan con
un ordenador. El método de Jacobi cíclico tiene convergencia cuadrática.
En la siguiente transparencia se presenta una implementación del
método de Jacobi cíclico con Matlab.
Algoritmo del método de Jacobi cíclico
-
8/16/2019 ValoresPropios2
35/43
ETSII-UPM
Algoritmo del método de Jacobi cíclico
n=4;% se f or ma una mat r i z s i mét r i caA=r and( n) ; A=A' *A; B=A;% cál cul o de l a nor ma de Fr obeni usf r =nor m( A, ' f r o' ) ;f r of f =nor m( A- di ag( di ag( A) ) , ' f r o' ) ;
er r =1e- 05; % er r or en l a conver genci a de l anor ma de Fr obeni us
whi l e f r of f > er r
f or j =2: nf or i =1: j - 1
[ c, s] =j acobi ( A( j , j ) , A( i , i ) , A( i , j ) ) ;% pr oduct o [ c, s; - s, c] ' *A*[c , s; - s, c]f j =A( j , : ) ; f i =A( i , : ) ;A( j , : ) =c*f j - s*f i ;
A( i , : ) =s* f j +c*f i ;cj =A( : , j ) ; ci =A( : , i ) ;A( : , j ) =c*cj - s*ci ;A( : , i ) =s*cj +c*ci ;
endendf r of f =nor m( A- di ag( di ag( A) ) , ' f r o' ) ;
end % whi l e
f unct i on [ c, s] =j acobi ( app, aqq, apq)i f apq==0
c=1; s=0;el se
r =( aqq- app) / ( 2*apq) ;i f r >0
t =1/ ( r +sqr t ( 1+r 2̂) ) ;el se
t =- 1/ ( - r +sqr t ( 1+r 2̂) ) ;endc=1/ sqr t ( 1+t 2̂) ;
s=t *c;end
Método QR (1/3)
-
8/16/2019 ValoresPropios2
36/43
ETSII-UPM
Método QR (1/3)
En muchos casos es el método más eficiente. Publicado originalmente por Francis en 1961.
Se parte de una matriz A0=A a la que se aplica la factorización QR;se obtiene una nueva matriz A
1multiplicando los factores en orden
inverso (A1=RQ); luego esta matriz A1 se vuelve a factorizar, etc.
Algoritmo:
Las matrices Ai son matrices semejantes, que conservan por tanto losvalores propios de A.
Se comprueba (y se puede demostrar) que la matriz Ai tiende a una matriz diagonal cuyos elementos son los valores propios de A.
0 0→A Q R
( )11 0 0 1 1 1 0 0 0 0 0 1 0 = T −→ =A = R Q A Q R A Q R Q Q Q A Q( )
( )
2 1 1 2 2 2 0 1 2 1 0
1 1 0 1 1 1 1 0
... ...
T T
T T T i i i i i i i i i i− − − −
→ =
→ =
A = R Q A Q R A Q Q A Q Q
A = R Q A Q R A Q Q Q A Q Q Q
Método QR (2/3)
-
8/16/2019 ValoresPropios2
37/43
ETSII-UPM
Método QR (2/3)
Mejoras sobre el algoritmo básico: Se utiliza desplazamiento de valores propios para mejorar la convergencia:
También de esta forma, la matriz Ak +1 es semejante a Ak
Si el valor α se hace igual a ak (n,n), este elemento es el primero que tiende a
un valor propio. Se puede obtener convergencia cuadrática, o incluso cúbicasi la matriz es simétrica:
Una vez obtenido un valor propio (cuando ε es muy pequeño) se vuelve aaplicar el método a la matriz que resulta de suprimir la última fila y columna:
1
(valores propios )k k k k k
k k k k
α λ α
α +
− → −
= +
A I Q R
A R Q I
( ) 1T T
k k k k k k k k k k k k α α += + = + =Q A Q Q Q R I Q R Q I A
* * * *
* * * * si 1,
0 * * *
0 0
k k k
k
ε λ λ
ε λ
⎡ ⎤⎢ ⎥
⎢ ⎥ ′→
-
8/16/2019 ValoresPropios2
38/43
ETSII-UPM
Método QR (3/3)
El método QR no se suele aplicar directamente: Es mejor reducir previamente la matriz a forma de Hessenberg o tridiagonal
por medio de transformaciones de Householder.
Las factorizaciones Ai→QiR i y los productos Ai+1=R iQi conservan la forma de
Hessenberg o tridiagonal de la matriz inicial. Para hacer la factorización QR de una matriz tridiagonal o de
Hessenberg se suelen utilizar rotaciones planas (Givens):
De forma análoga G32 hará cero el elemento (3,2) y así con todos loselementos de la subdiagonal. La matriz Q es el producto de todas estas Gij.
Si la matriz A es tridiagonal, las rotaciones para hacer cero la subdiagonal
añaden otra diagonal por encima. Sin embargo al hacer posteriormente el producto A=R *Q se recupera la forma tridiagonal inicial.
11
21
21 0
* * *0 0
0 0
0 0 1 0
0 0 0 1
ac s
as c
−⎡ ⎤
⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥
⎣ ⎦
G A
11
21 11 21
21
11
* * *
* * * 0 * * * 0
0 * * *0 * * *tan
0 0 0 *0 0 0 *
a
a sa ca
a
aα
′⎡ ⎤ ⎡ ⎤
⎢ ⎥ ⎢ ⎥ ′ = + =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥=
= −⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣ ⎦⎣ ⎦
Implementación del método QR
-
8/16/2019 ValoresPropios2
39/43
ETSII-UPM
Implementación del método QR
n=4; A=r and( n) ; A=A' *A; er r =1e- 08; T=t r i di ag( A) ; T0=T; r o=zeros( n, 1) ;f or i =1: n- 1
nn=n- i +1;whi l e abs( T( nn, nn- 1) ) > . . .
er r *( abs( T( nn- 1, nn- 1) ) +abs( T( nn, nn) ) )
al f a=T( nn, nn) ; T( 1: nn, 1: nn) =T( 1: nn, 1: nn) - al f a*eye( nn) ;f or k=1: nn- 1 % QR de T por Gi vens
[ c, s, r o( k+1) ] =gi vens2( T( k, k) , T( k+1, k) ) ;m=mi n( k+2, nn) ;% T t i ene dos supr a- di agonal es
T( k: k+1, k: m) =[ c, s; - s, c] ' *T( k: k+1, k: m) ;end % f or en k% se apl i can a T l as r ot aci ones al macenadasf or k=1: nn- 1
r r o=r o( k+1) ;i f r r o==1 cc=0; ss=1;
el sei f abs( r r o) =3f or k=1: n- 2[ v, bet a( k) ] =
househol der ( A( k+1: n, k) ) ;p=bet a( k) *A( k+1: n, k+1: n) *v;w=p- ( bet a( k) *p' *v/ 2) *v;A( k+1, k) =nor m( A( k+1: n, k) , 2) ;A( k, k+1) =A( k+1, k) ;A( k, k+2: n) =0; A( k+2: n, k) =0;A( k+1: n, k+1: n) =A( k+1: n, k+1: n) - . . .
v*w' - w*v' ;end
T=A;el se n>=3
T=A;end
el se % m==ndi sp( ' La mat r i z no es cuadr ada' ) ;
T=[ ] ;end
Método basado en la ley de inercia
-
8/16/2019 ValoresPropios2
40/43
ETSII-UPM
y
Fundamento teórico Está basado en la ley de inercia de Sylvester, que establece que las
transformaciones de congruencia conservan los signos de los valores propios.
La factorización de una matriz simétrica en la forma A=LDLT , donde la matrizdiagonal
Dcontiene los pivots de la eliminación de Gauss, es una
trasformación de congruencia
Para calcular los valores propios se puede seguir el siguiente procedimiento de cálculo:
Determinando el número de pivots negativos de la factorización LDLT deA – aI=LDLT se puede saber cuantos valores propios hay menores que a.
Análogamente, el número de pivots negativos de A – bI=LDLT indica cuántosvalores propios hay menores que b (b>a).
A partir de los resultados anteriores se puede saber cuántos valores propios deA están comprendidos entre a y b.
Identificando un intervalo en el que hay un solo valor propio, puede aplicarsela iteración inversa con un desplazamiento igual al valor medio de dichointervalo y la iteración convergerá hacia el valor propio identificado.
Si previamente la matriz se tridiagonaliza o se reduce a la forma deHessenberg, los cálculos son mucho más rápidos.
Cálculo práctico de la SVD (1/3)
-
8/16/2019 ValoresPropios2
41/43
ETSII-UPM
p ( )
Aunque la SVD de una matriz rectangular A se puede calcular a partir de los vectores propios de las matrices simétricas AT A y AAT ,
es mucho más eficiente utilizar métodos alternativos.
Cálculo práctico de la SVD para una matriz A, de tamaño m×n (m≥n) De forma análoga a las transformaciones de semejanza, que reducen a formade Hessenberg o tridiagonal antes de calcular los valores y vectores propios,
aquí es útil reducir A a forma bidiagonal mediante un pre- y un post-producto
por matrices ortogonales. Las matrices U B y V B, de tamaño m×m y n×n
respectivamente, se suelen calcular como
matrices de Householder:
Los vectores de Householder v se pueden ir
guardando en las posiciones de los ceros que
van introduciendo.
Hacen falta (4mn2 –4n3/3) flops.
* * 0 0 0
0 * * 0 0
0 0 * * 0
0 0 0 * *
0 0 0 0 *
0 0 0 0 0
0 0 0 0 0
T B B
⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥
= = ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
U AV B1 2 B n=U U U U 1 2 2 B n−=V V V V
Cálculo práctico de la SVD (2/3)
-
8/16/2019 ValoresPropios2
42/43
ETSII-UPM
p ( )
Cálculo práctico de la SVD (cont.): Cuando m>>n es más rápido convertir A en
triangular superior antes de bidiagonalizar.
Se puede utilizar la factorización QR.
Ahora se bidiagonaliza la matriz R 1 como:
donde tanto U R como V R son n×n. La matriz
B1 es n×n y bidiagonal.
La bidiagonalización de A y la SVD de B
permiten obtener la SVD de A:
y por otra parte se calcula (de modo iterativo):
De las expresiones anteriores se concluye, para la SVD de A (A=UDVT ):
1
* * * * *
0 * * * *
0 0 * * *
0 0 0 * *0 0 0 0 *
0 0 0 0 0
0 0 0 0 0
T
⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎡ ⎤
= = ⎢ ⎥⎢ ⎥⎣ ⎦ ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
R
Q A 0
1 1
T
R R =U R V B
1 1
1 ;T
R RT R R
R B R
⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤= = = ≡ ≡⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎣ ⎦
R U UU B VA Q Q Q B V U Q V V
0 0 00
1
T
b b=B U DV
1 , , RT T T T
B R B b b R B b b R b
⎡ ⎤= = = ≡ = ≡⎢ ⎥⎣ ⎦
UA U B V U U DV V UDV U U U Q U V V V
0
Cálculo práctico de la SVD (3/3)
-
8/16/2019 ValoresPropios2
43/43
ETSII-UPM
p ( )
SVD de una matriz bidiagonal B, de tamaño n×n: Se puede aplicar el método QR con desplazamiento a la matriz T=BT B.
También se pueden aplicar una serie (teóricamente infinita) de rotaciones de
Givens a B para hacerla diagonal:
Se comprueba que los elementos de la supra-diagonal tienden a cero (desde el
n– 1 hasta el primero) y los de la diagonal a los valores singulares.
La convergencia puede ser acelerada utilizando desplazamiento.
13 3212 21
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
∗ ∗ ∗ ∗ ∗ + ∗ ∗ ∗ ∗⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥∗ ∗ + ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ +⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥∗ ∗ ∗ ∗ ∗ ∗ + ∗ ∗ ∗ ∗⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
∗ ∗ ∗ ∗⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦
→ → → →BG G BBG G B
43 35 5424
0 0
0 0 0 00 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥
∗ ∗⎢ ⎥⎢ ⎥
∗⎣ ⎦∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢∗ ∗ ∗ ∗ + ∗ ∗ ∗ ∗⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢
+ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢⎢ ⎥ ⎢ ⎥ ⎢ ⎥∗ ∗ + ∗ ∗⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣
→ → → →G B BG G BBG
⎤⎥⎥⎥⎥
⎥⎢ ⎥⎦