.IV Aproximación numérica de valores y vectores propios. Manuel Palacios Departamento de Matemática Aplicada Centro Politécnico Superior. Universidad de Zaragoza Primavera 2007 Contents Introducción 2 2 Método de la potencia 3 3 Método de la potencia inversa 5 4 Método de la potencia inversa con desplazamiento 5 5 Método de bisección o de Givens 6 6 Método de Jacobi 9 7 Método de factorización Q R 7. Construcción de la matriz de Householder................ References [] Burden, R. L. and Faires, J. D.: Análisis Numérico. Grupo Editorial Iberoamerica, 985. [2] Gasca, M.: Cálculo numérico: resolución de ecuaciones y sistemas. Librería Central, 987. [3] Hairer, E.: Introduction à l Analyse Numérique. Université de Genève, Dept. de Mathématiques, 993. [4] Conde, C. y Winter, G.: Métodos y algoritmos del álgebra numérica. Editorial Reverté, 990.
M. Palacios Valores y vectores propios. 2 Introducción El problema de cálculo de valores y vectores propios aparece en muchas ocasiones relacionado con problemas de vibraciones y resonancias, con los momentos principales de inercia, con el tensor de esfuerzos, etc. También en el diseño de sistemas de información. Desde un punto de vista puramente matemático este problema surge en el estudio de la convergencia de métodos iterativos, en el análisis de la estabilidad de sistemas dinámicos, en la detección del carácter stiff de PVI., etc. El problema, en esencia, es, dada la matriz cuadrada A, encontrar escalares λ y vectores asociados (al menos uno), v, tales que A v = λ v Definición. Los escalares λ y los vectores v se denominan, respectivamente, valor y vector propios asociados. Los valores propios son las soluciones de la ecuación característica det(a λ I) = 0 y los vectores propios asociados a cada valor propio son las soluciones del sistema homogéneo (A λ I) X = 0 Los métodos de resolución de este problema se pueden clasificar en la forma siguiente: Directos: Krylov, Leverrier (determinan la ecuación característica, con un coste computacional de O(n!)) Iterativos método de la potencia y sus variantes métodos basados en transformaciones matriciales (Givens, Jacobi) métodos de factorización (método Q R y sus variantes)
M. Palacios Valores y vectores propios. 3 2 Método de la potencia Suponemos que la matriz A posee una base de vectores propios {v,..., v n } asociados a los valores propios λ,...λ n, respectivamente, y, además, que λ es el valor propio dominante, es decir, λ > λ 2... λ n Para cualquier vector v de IR n, por ser {v,..., v n } una base, deben existir escalares α,..., α n tales que x = α v +... + α n v n Multiplicando reiteradamente por la matriz A se tiene: A x = n = α A v = n = α λ v A 2 x = n = α λ A v = n = α λ 2 v... A k x = n = α λ k A v = n = α λ k v Sacando factor común λ k obtiene: en cada término del segundo miembro, en la última expresión, se A k x = λ k n = ( ) k λ α v λ ( ) k λ Teniendo en cuenta que λ > λ, = 2, 3,.., n, se tiene lim k = 0 y, por lo tanto, λ lim k A k x = lim k λ k α v En consecuencia, esta sucesión converge a 0, si λ <, y diverge, en otro caso. Se puede sacar provecho de este comportamiento construyendo el siguiente algoritmo del método. Algoritmo para el método de la potencia Etapa inicial, k=0 Dado el vector arbitrario x = (x,..., x n ) = α v +... + α n v n, llamaremos p 0 = min { x = x } x 0 = x = x p 0 0 = = x x p 0 µ 0 = x p 0 0 = Etapa k = y = A x 0 µ = y p 0 = yp 0 x p 0 0
M. Palacios Valores y vectores propios. 4 p = min { y = y } x = y y p = A x 0 y p = x p = = y Etapa k = 2 y 2 = A x = y p A 2 x 0 µ 2 = y p 2 = yp n= 2 α λ 2 x p = vp n= α λ v p Etapa k+ p 2 = min { y = y 2 } x 2 = y 2 y = A x p 2 y p 2 y k+ = A x k = µ k+ = y p k y p k k+ = yp k k+ x p k k = A2 x 0 y p 2 2 y p k...yp 2 2 y p y p A k+ x 0 n= α λ k+ v p k = n= α λ k v p k p k+ = min { y = y 2 } n= α (λ /λ ) 2 v p = λ n= α (λ /λ ) v p = x p 2 2 = = y 2 n= α (λ /λ ) k+ v p k = λ n= α (λ /λ ) k v p k x k+ = y k+ y p k+ = A x k y p k+ = A k+ x 0 y p k+ k+...yp 2 2 y p = = x p k+ k+ = = y k+ Etapa final lim µ k = λ, lim x k = v, v = µ k λ C λ 2 λ k = lim µ k+ λ µ k λ λ 2 λ <
M. Palacios Valores y vectores propios. 5 3 Método de la potencia inversa Si λ es un valor propio de A y v un vector propio asociado, se cumple que A v = λ v A v = λ v, es decir, que /λ es valor propio de A con los mismos vectores propios. Potencia inversa = met. potencia para A y k+ = A x k A y k+ = x k Proporciona el valor propio de módulo más pequeño y un vector propio asociado. 4 Método de la potencia inversa con desplazamiento Observemos que (A q I) v = A v q v = (λ q) v, (A q I) v = λ q v El método de la potencia inversa aplicado a la matriz (A q I) proporciona una aproximación al valor propio de módulo más pequeño de dicha matriz, es decir, el valor propio más cercano a q, y un vector propio asociado a él.
M. Palacios Valores y vectores propios. 6 5 Método de bisección o de Givens La matriz A debe ser tridiagonal y simétrica, por eemplo, a b... b a 2 b 2 A =......... b n 2 a n b n b n a n Se trata de construir una sucesión (finita) de polinomios en la forma iterativa siguiente: p 0 (λ) =, p (λ) = a λ p k (λ) = (a k λ) p k (λ) b 2 k p k 2(λ) () n = 2, 3,..., n Estos polinomios (sucesión de Sturm), en el caso de que todos los b k sean no nulos, tienen las siguientes propiedades (cf. Conde-Winter, pag. 594): Teorema 5. p k (λ) = Det(A kk λ I), siendo A kk la submatriz de A constituida por las primeras k filas y columnas. Teorema 5.2 Se verifica: Si p k (α) = 0 = p k (α) p k+ (α) < 0, k =, 2,..., n lim λ p k (λ) = +, k =, 2,..., n los ceros de p k (λ) son simples y separan a los de p k+ (λ) Teorema 5.3 El número σ(α) de alternancias de signo de la sucesión {p 0 (α), p (α),..., p n (α)} es igual al número de valores propios menores que α. Téngase en cuenta que, por ser A simétrica real, todos sus valores propios son reales. En consecuencia, se puede construir el siguiente algoritmo de bisección o de Givens:.- Elegir α y α 2 de forma que σ(α ) = 0 y σ(α 2 ) = n 2.- Subdividir el intervalo [α, α 2 ] en otros dos, [α, α +α 2 2 ] y [α +α 2 2, α 2], reiteradamente hasta que en cada nuevo subintervalo sólo haya un valor propio. 3.- Continuar las subdivisión hasta que los dos extremos del intervalo estén a distancia menor que una tolerancia prefiada.
M. Palacios Valores y vectores propios. 7 Eemplo 5.4 Sea la matriz A = 2 2 2 2 La sucesión de polinomios de Sturm es: p 0 (λ) =, p (λ) = 2 λ p 2 (λ) = (2 λ) p (λ) + p 0 (λ) p 3 (λ) = (2 λ) p 2 (λ) + p (λ) p 4 (λ) = (2 λ) p 3 (λ) + p 2 (λ) Obsérvese que la evaluación de estos polinomios puede realizarse mediante un algoritmo similar al de Hörner. Tomando α = 0 y α 2 = 5, resulta: σ(α ) = 0 y σ(α ) = 4, ya que {p 0 (α ), p (α ), p 2 (α ), p 3 (α ), p 4 (α )} = {, 2, 3, 4, 5} {p 0 (α 2 ), p (α 2 ), p 2 (α 2 ), p 3 (α 2 ), p 4 (α 2 )} = {, 3, 8, 2, 55} por lo que todos los valores propios están entre 0 y 5. Subdividiendo resulta: {p 0 (5/2), p (5/2), p 2 (5/2), p 3 (5/2), p 4 (5/2)} = {(, /2, 3/4, 7/8, 5/6)} Luego en [0,5/2] hay dos valores propios y en [5/2,5] hay otros dos valores propios. Subdividiendo otra vez: {p 0 (5/4), p (5/4), p 2 (5/4), p 3 (5/4), p 4 (5/4)} = {(, 3/4, 7/6, 69/64, 95/256} Luego en [0,5/4] hay un valor propio y en [5/4, 5/2] hay otro valor propio. Subdividiendo el primer intervalo otra vez: {p 0 (5/8), p (5/8), p 2 (5/8), p 3 (5/8), p 4 (5/8)} = {, /8, 57/64, 77/52, 4495/4096} Luego en [0,5/8] hay un valor propio
M. Palacios Valores y vectores propios. 8 Subdividiendo el intervalo otra vez: {p 0 (5/6), p (5/6), p 2 (5/6), p 3 (5/6), p 4 (5/6)} = {, 276, 473/256, 5859/4096, 3705/65536} Luego en [5/6, 5/8] hay un valor propio. Después de 8 sucesivas subdivisiones se obtiene una aproximación del valor propio λ [0.389656, 0.389668]. Como se observa, este método es muy lentamente convergente. Para determinar los restantes valores propios se procede en la misma forma con los subintervalos adecuados que se han obtenido en el camino.
M. Palacios Valores y vectores propios. 9 6 Método de Jacobi También en esta ocasión se considera una matriz A real y simétrica. Como es conocido estas matrices son diagonalizables mediante congruencia ortogonal, por lo que los valores y vectores propios de la matriz A y su congruente ortogonal diagonal son los mismos. Recuérdese que dos matrices A y B son congruentes ortogonales si existe una matriz ortogonal Q tal que B = Q T A Q En particular, si Q = Q(p, q, θ) es una matriz de rotación de Givens, se tiene que b i = a i, si i p, q, and p, q b pi = b ip = c a ip s a iq, si i p, q b qi = b iq = c a iq s a ip, si i p, q b pp = c 2 a pp 2 c s a pq + s 2 a qq, b pq = b qp = c 2 a pq + c s (a pp a qq ) s 2 a pq, b qq = c 2 a qq 2 c s a pq + s 2 a pp Obsérvese que solamente se modifican las filas p y q. Propiedad 6. Si y se verifica: n n Nd(A) = a 2 i i= =, i n n Nd(B) = b 2 i, i= =, i Nd(B) = Nd(A) + 2 b 2 pq 2 a 2 pq En consecuencia, el método de Jacobi consiste en realizar transformaciones de Givens (rotaciones en el plano (i, ), definidas por matrices ortogonales (de Givens), de forma que se vayan anulando sucesivamente los elementos que no están en la diagonal (elementos b pq ). Finalmente, los vectores propios serán las columnas del producto Q Q 2...Q k de todas las matrices de Givens que hayan sido utilizadas en el orden adecuado. Concretamente, siguiendo el método clásico, se elige la matriz de Givens Q k de forma que se anule el elemento i, de módulo mayor de la matriz A (k), es decir, que resulte nulo el elemento a (k) i de la matriz A (k) = Q T k A(k ) Q k, A (0) = A,
M. Palacios Valores y vectores propios. 0 Para ello es preciso tomar siendo: a) Si a ii a : b) Si a ii = a : Q k = c s s c β = a ii a, γ = 2 a i sign(a ii a ) c = 2 ( + β γ2 + β 2), s = γ (2) 2 c γ 2 + β 2 c = s = 2 2 (3) Como criterio de parada suele tomarse el siguiente: n n i= =, i (cf. Press et al.: Numerical recipes, pg. 360) a (k) i < Tol (4)
M. Palacios Valores y vectores propios. 7 Método de factorización Q R En primer consideraremos el caso en que la matriz A es simétrica. En esta situación, el método de factorización QR consiste en transformar sucesivamente la matriz A en otra congruente ortogonal que sea cada vez más próxima a una diagonal aprovechando la factorización Q R de las sucesivas matrices. Para ello, en un primer paso, se realiza la mencionada factorización A = Q R En segundo paso, se construye la matriz A = R Q = Q T A Q, Y así sucesivamente. Para obtener dicha factorización, en primer lugar, se transforma la matriz A en otra congruente ortogonal que tenga la forma de Hessenberg, mediante multiplicación a izquierda y derecha por matrices de Householder y, a continuación, se realizan n rotaciones de Givens para transformarla en una triangular superior. El algoritmo se detiene cuando el elemento (A k ) nn es suficientemente pequeño; entonces el elemento (A k ) nn es un valor propio de A. 7. Construcción de la matriz de Householder Hay que buscar una matriz de Householder H = I 2 ω ω T, ω = tal que la primera columna de la matriz A = H A H sea de la forma A = (a, α, 0,..., 0) T, Para ello, es suficiente elegir (cf. [], pag. 523) α = sign(a 2 ) ( n =2 a 2 ) /2 r = ( α (α a 2 2) ) /2 ω = 0, ω 2 = a 2 α, ω k = a k, k = 3, 4,..., n 2 r 2 r En sucesivos pasos, se construirán matrices de Householder que vayan transformando en ceros todos los elementos por debao de la primera paralela a la diagonal de la segunda, tercera, etc. columnas, de forma que la matriz final tenga la forma de Hessenberg.