valorespropios2

Upload: saraoconnor

Post on 05-Jul-2018

217 views

Category:

Documents


0 download

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

    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

    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

     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 

    = =

    = − =

    = − − =

    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

    q

    2

    T q

    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

    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 

    ++=+=

    =

  • 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

    n n

    +  ⎡ ⎤=

    ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥

    ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

    a a a q q q q q q a q a q a

    q a q a

    q a

    A Q

    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

    n

    T T T 

    n

    T T 

    nn

    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,...,

     j j j

    T  j j j

    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 = − = − =

    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 

     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 

    σ 

    = = − = −

    =

    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 

    ε λ λ 

    ε λ 

    ⎡ ⎤⎢ ⎥

    ⎢ ⎥   ′→

  • 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

    ⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎡ ⎤

    = = ⎢ ⎥⎢ ⎥⎣ ⎦   ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

    Q A 0

    1 1

     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

    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

    ⎤⎥⎥⎥⎥

    ⎥⎢ ⎥⎦