Parte 4. Métodos iterativos para la resolución de sistemas de ecuaciones lineales Gustavo Montero Escuela Técnica Superior de Ingenieros Industriales Universidad de Las Palmas de Gran Canaria Curso 2006-2007 Generalidades de los métodos iterativos Metodo de Jacobi Método de Gauss-Seidel Método de Relajación Sucesiva Convergencia de los métodos Resumen Generalidades de los métodos iterativos Metodo de Jacobi Método de Gauss-Seidel Método de Relajación Sucesiva Convergencia de los métodos Resumen Introducción Ventaja frente a los métodos directos Son menos sensibles a los errores de blackondeo y esto se aprecia en sistemas de orden elevado donde los errores de blackondeo de los métodos directos son considerables Definición de método iterativo Un método iterativo construye una sucesión de vectores xm tal que lim m→∞ xm = x siendo x la solución del sistema Ax = b. Construcción de un método iterativo Se parte de una aproximación inicial x0 y luego se calcula xm+1 = F (xm ), m = 0, 1, . . . donde F se toma de forma lineal: F (x) = B x + c xm+1 = B xm + c, m = 0, 1, . . . La matriz B se denomina matriz de iteración y de sus propiedades va a depender la convergencia del método. Definición de convergencia Definición de convergencia Un método se dice que es convergente si: lim m→∞ xm = x = A −1 b Teorema del Punto Fijo Aplicando el Teorema del Punto Fijo, 0 00 0 00 ||F (x ) − F (x )|| ≤ L||x − x || es decir, 0 00 0 00 ||Bx − Bx || ≤ L||x − x || 0 Luego si v = x − x 00 =⇒ ||Bv || ≤ L||v || Teorema general para la convergencia de los métodos iterativos Un método iterativo del tipo anterior es convergente si y sólo si se cumplen simultáneamente las siguientes condiciones, I I c = (I − B)A−1 b ρ(B) < 1 Construcción de métodos iterativos Sea A = M − N, con M invertible Teorema de caracterización de métodos iterativos Si se toma, B c = M = M −1 −1 N b el método considerado cumple la primera condición anterior. Pero además se debe cumplir la segunda condición, ρ(M −1 N) < 1 ||M o también −1 N|| < 1 Teorema de construcción de los métodos iterativos Todo método del tipo estudiado verifica las condiciones del teorema anterior con M − N = A y M invertible. El método resulta, xm+1 = M −1 Nxm + M −1 b es decir, Mxm+1 = Nxm + b Por tanto, conviene elegir M tal que sea fácilmente invertible (diagonal o triangular). El número de operaciones de los métodos iterativos es O(n2 ) × no iter Generalidades de los métodos iterativos Metodo de Jacobi Método de Gauss-Seidel Método de Relajación Sucesiva Convergencia de los métodos Resumen Algoritmo de Jacobi Matriz de iteración de Jacobi Descomposición suma de una matriz La matriz de iteración de Jacobi resulta, Sea A = D − L − U, con 0 0 B −a21 B B −a31 L=B B . B . @ . −an1 Algoritmo ··· 0 −a32 . . . −an2 a 0 − 12 0 aa11 B 11 B a B B − 21 B 00 B D . a22= B B B a. a B B − 31 @ − . 32 B a33 a033 B B . . B . ··· . 0 ·B · · B . . an2 an1· · · ·@ ·· 0 − − 0 0 ann· · · ann . . .. . . . . . ··· −ann−1 0 0 a13 0− a · · · · · · 0 11 a22 a23· · · 0 − ··· . a22 . . . .. . . 0 ···. 0 ··· ann 1 .. 0. . .0 . C an3 B 0 C− B· · · C a B . nn = B C; U C B .. C B A @ ··· 0 1 a 1 1n − a11 C Ca2n C C C − C Ca; Ca22 C A 3n C C − a33 C C C . C C . −a . 12 C −a13 0 A −a23 0 . .. . . . ··· ··· ··· ··· El método de Jacobi consiste en elegir M = D y N = L + U, resultando en forma matricial, Dxm+1 = (L + U)xm + b es decir, aii (xm+1 )i = − n X j=1 j6=i aij (xm )j + bi ; i = 1, 2, . . . , n ··· ··· . . . 0 ··· −a1n −a2n . . . −an−1n 0 1 C C C C C C A Generalidades de los métodos iterativos Metodo de Jacobi Método de Gauss-Seidel Método de Relajación Sucesiva Convergencia de los métodos Resumen Algoritmo de Gauss-Seidel Algoritmo El método de Gauss-Seidel consiste en elegir M = D − L y N = U, resultando en forma matricial, (D − L)xm+1 = Uxm + b es decir, i X aij (xm+1 )j = − j=1 o, finalmente, aii (xm+1 )i = − n X aij (xm )j + bi ; i = 1, 2, . . . , n j=i+1 i−1 X aij (xm+1 )j − j=1 n X aij (xm )j + bi ; i = 1, 2, . . . , n j=i+1 Ventaja frente a Jacobi I Menor requerimiento de almacenamiento respecto a Jacobi, ya que no necesita dos vectores para la solución (xm+1 , xm ). En el método de Gauss-Seidel las actualizaciones de la solución se guardan en las posiciones de los valores anteriores I El método de Gauss-Seidel tiene mejores condiciones de convergencia que el de Jacobi Generalidades de los métodos iterativos Metodo de Jacobi Método de Gauss-Seidel Método de Relajación Sucesiva Convergencia de los métodos Resumen Algoritmo de Relajación Sucesiva Algoritmo Si tomamos un parámetro ω 6= 0, podemos hacer la descomposición de A de la forma, A=D−L−U = y eligiendo M = 1 ω D − L, N = 1 aii (xm+1 )i + i−1 X D−L− 1−ω ω D−U 1−ω „ ω 1 ω D + U, resulta ω « „ « 1 1−ω D − L xm+1 = D + U xm + b ω ω aij (xm+1 )j = 1−ω j=1 ω aii (xm )i − n X aij (xm )j + bi ; i = 1, 2, . . . , n j=i+1 Algoritmo en dos pasos El algoritmo SSOR se puede expresar en dos pasos, un primer paso que coincide con el método de Gauss-Seidel un segundo paso de relajación de la solución, i−1 n X X aii (x̄m+1 )i + aij (xm+1 )j = aij (xm )j + bi ; i = 1, 2, . . . , n j=1 (xm+1 )i − (xm )i j=i+1 = ω ((x̄m+1 )i − (xm )i ) Generalidades de los métodos iterativos Metodo de Jacobi Método de Gauss-Seidel Método de Relajación Sucesiva Convergencia de los métodos Resumen Resumen de resultados de Convergencia Si A es simétrica y definida positiva, el método de Gauss-Seidel converge. Si A es simétrica y la matriz a11 B −a12 B D+L+U =B . B . @ . −a1n 0 −a12 a22 . . . −a2n ··· ··· .. . ··· −a1n −a2n . . . ann 1 C C C C A es definida positiva, el método de Jacobi es convergente. Si A es simétrica y definida positiva, el método de relajación converge si y sólo si 0 < ω < 2. Si ω < 1 el método se denomina de subrelajación y si ω > 1, de sobrerrelajación. Si A es simétrica, definida positiva y tridiagonal, el valor óptimo de ω para la convergencia del método de relajación es, 2 ω= q 1 + 1 − ρ2j siendo ρj el radio espectral de la matriz de iteración del método de Jacobi. Generalidades de los métodos iterativos Metodo de Jacobi Método de Gauss-Seidel Método de Relajación Sucesiva Convergencia de los métodos Resumen Resumen I Los métodos iterativos tienen un coste computacional de O(n2 ) × no iteraciones. Si el número de iteraciones es pequeño comparado con n, los métodos iterativos son preferibles a los directos. Asimismo, los errores de blackondeo no se acumulan después de cada iteración, lo que supone una ventaja adicional. I El método de Gauss-Seidel es usualmente más eficiente que el de Jacobi I Podemos acelerar la convergencia mediante la técnica de relajación. Generalmente se suele utilizar valores de ω entre 1 y 2 (sobrerelajación) I En la actualidad los métodos iterativos estudiados en esta asignatura están obsoletos. Los métodos más utilizados son los basados en los subespacios de Krylov.