TEMA 3. Métodos iterativos para Sistemas de Ecuaciones Lineales

Anuncio
SISTEMAS DE ECUACIONES LINEALES
TEMA3: Métodos iterativos para Sistemas de Ecuaciones Lineales
TEMA 3. Métodos iterativos para Sistemas de Ecuaciones Lineales
3.1 Métodos iterativos: introducción Aplicar un método iterativo para la resolución de un sistema S  Ax=b, consiste en transformarlo en lo que se denomina un sistema de punto fijo, que sea equivalente al dado y cuya solución se aproxima paso a paso. Para obtener el sistema de punto fijo equivalente al dado se elige una matriz M que sea fácil de invertir y escribimos la matriz A como: A = M + (A – M), entonces el sistema Ax=b se transforma en: (M + (A – M))x = b  Mx = (M – A)x + b Si designamos N = M‐A, nos queda Mx = Nx + b (*). La aproximación k‐ésima de la solución, x(k), se obtiene, en la iteración k, a partir de la aproximación anterior x(k‐1) Mx(k) = Nx(k‐1) + b Cuando este proceso es convergente el límite de las aproximaciones x(k) cuando k es la solución del sistema de punto fijo planteado y, en consecuencia, del sistema S inicial. En cada iteración, el sistema (*) es fácil de resolver si M es diagonal o triangular. Por otro lado, es conveniente que M no sea muy diferente de A. Las tres opciones para M que presentan mejores resultados son:  M = D , donde D es la matriz diagonal cuya diagonal es la de A (Método de Jacobi)  M = L+D, donde L+D es la parte triangular inferior de A (Método de Gauss‐Seidel)  M = L+D/, donde  es un número elegido para ponderación (Método de Sobrerrelajación) El Método de Gauss‐Seidel es un caso particular del de Sobrerrelajación cuando se toma  = 1. El método de Sobrerrelajación con 0 <  <1, se utiliza para obtener la convergencia cuando Gauss‐Seidel no converge. Se toma  > 1 para acelerar la convergencia cuando Gauss‐Seidel converge. Observaciones:  La resolución iterativa no es aplicable a todos los problemas pero resulta muy útil para ciertos tipos, por ejemplo, si el número de incógnitas es muy grande y la matriz de los coeficientes dispersa.  La precisión de la solución obtenida por un método iterativo dependerá del número (k) de iteraciones y de la convergencia del método. Unidad Docente de Matemáticas de la ETSITGC Asignatura: MÉTODOS MATEMÁTICOS 1 SISTEMAS DE ECUACIONES LINEALES
TEMA3: Métodos iterativos para Sistemas de Ecuaciones Lineales
 Todos los métodos iterativos requieren una estimación inicial que designamos por x(0) para comenzar la iteración.  x(0) puede ser cualquier vector (n‐úpla) arbitrario pero si se dispone de una buena estimación inicial el proceso de convergencia se acelera.  En caso de no disponer de una buena estimación inicial se puede tomar x(0) como el vector 0 3.2 Convergencia de los métodos iterativos Como se ha indicado anteriormente los métodos iterativos solo se pueden aplicar a aquellos sistemas de ecuaciones lineales cuyas propiedades garanticen la convergencia, lo que en general no es posible. 3.2.1. Definición Se dice que una sucesión de vectores {x(k)} converge a x respecto de cierta norma · y se escribe lim x ( k )  x , (o bien, x
(k )
k 
 x si k   ) cuando: lim x ( k )  x  0 , (o bien, x ( k )  x  0 si k  ) k 

x( k )  x si k   respecto de la norma · , si y solo si, lo hace componente a componente, es decir, x1( k )  x1 , x2( k )  x2 ,  , xn( k )  xn cuando k   .  Las expresiones escritas son independientes de la norma elegida. 3.2.2. Normas de vectores Sea x = (x 1, x 2, ∙∙∙ , x n) Rn . En Rn las normas más usuales son:  x 1  x1  x2    xn 1
 x
2

2
2
x1  x2    xn
2
 n
2 2
   xi  es la norma euclídea. Representa la  i 1

noción usual de distancia al origen en el plano o espacio tridimensional en sistemas cartesianos rectangulares (aplicando el teorema de Pitágoras) 
x

 máx  xi  i 1n
3.2.3. Teorema Si A es una matriz es estrictamente diagonalmente dominante1, entonces para cualquier estimación inicial x(0) , las iteraciones de Jacobi y de Gauss‐Seidel convergen a la solución del sistema inicial S  Ax=b. 1
Página 7 del tema 1 Unidad Docente de Matemáticas de la ETSITGC Asignatura: MÉTODOS MATEMÁTICOS 2 SISTEMAS DE ECUACIONES LINEALES
TEMA3: Métodos iterativos para Sistemas de Ecuaciones Lineales
3.2.4. Teorema Si A es una matriz simétrica definida positiva2 y 0<<2, entonces para cualquier estimación inicial x(0) , las iteraciones obtenidas con el método de sobrerrelajación convergen a la única solución del sistema inicial S  Ax=b. 3.2.5. Teorema Si designamos por B =M‐1 N y c= M‐1b, entonces la aproximación x(k) en cada iteración se obtiene mediante la expresión x(k) = Bx(k‐1) + c. Se verifica que el método iterativo converge si y solo si el radio espectral de B, (B) <1. En general, el método iterativo converge si B  1 , para una norma cualquiera. Nota: El coste operacional de cada paso en los métodos iterativos es del orden de n2 operaciones. Recordemos (tema 1) que la resolución por métodos directos conlleva un número de operaciones del orden de n3 por lo que los métodos iterativos resultan “rentables” si la solución puede hallarse en bastante menos de n pasos. 3.3 Método de Jacobi Dado un sistema S  Ax=b, el método de Jacobi consiste en iterar el sistema de punto fijo Dx = (D – A)x + b, es decir, D x(k) = (D – A) x(k‐1) + b donde D es la matriz diagonal cuyos elementos son los de la diagonal de A. Observemos que equivale a despejar las incógnitas de los elementos de la diagonal en S. 
 b1  a12 x2  a13 x3   a1n xn 
 x1 
a11
 a11 x1  a12 x2    a1n xn  b1

a x  a x    a x  b
 b  a21 x1  a23 x3   a2 n xn 

 21 1 22 2
 x2  2
2n n
2
a2 2

S 



 an1 x1  an 2 x2    ann xn  bn

 x   bn  an1 x1  an 2 x2    ann 1 xn 1 
 n
an n El método de Jacobi se aplica siguiendo la siguiente secuencia de pasos:  Primer paso: se sustituye en el segundo miembro las incógnitas por la estimación inicial, x1  x10 , x2  x20 , x3  x30 , , xn  xn0 2
Página 7 del tema 1 Unidad Docente de Matemáticas de la ETSITGC Asignatura: MÉTODOS MATEMÁTICOS 3 SISTEMAS DE ECUACIONES LINEALES
TEMA3: Métodos iterativos para Sistemas de Ecuaciones Lineales
Los valores obtenidos en el primer miembro constituyen la primera aproximación x(1) 

x(1)= x11 , x12 , x31 , , x1n  Segundo paso: se sustituye en el segundo miembro las incógnitas por la aproximación obtenida en el paso anterior, x1  x11 , x2  x12 , x3  x31 , , xn  x1n Los valores obtenidos en el primer miembro constituyen la segunda aproximación x(2) 

x(2)= x12 , x22 , x32 , , xn2 y así sucesivamente. En general:  k  b1  a12 x2k 1  a13 x3k 1   a1n xnk 1 
 x1 
a11

 k  b2  a21 x1k 1  a23 x3k 1   a2 n xnk 1 
 x2 
a22



 k  bn  an1 x1k 1  an 2 x2k 1    ann 1 xnk11 

x
 n
ann

¿Cuándo paramos?: Criterio de convergencia (criterio de parada) Se utiliza como criterio una cota de la diferencia en norma entre dos aproximaciones (iterados) consecutivas. x ( k )  x ( k 1)  Tol (tolerancia) x ( k )  x ( k 1)
O incluso mejor x(k )

Como norma habitual se usa la norma del supremo x

 Tol  , es decir x ( k )  x ( k 1)  máx xi( k )  xi( k 1)
1i  n
Ejercicio: Para el sistema lineal 1
1   x1  1 
 2.01

   
2.02 1.01   x2   1   1
 0.999 0.998 2   x  1 

 3   
Unidad Docente de Matemáticas de la ETSITGC Asignatura: MÉTODOS MATEMÁTICOS 4 SISTEMAS DE ECUACIONES LINEALES
TEMA3: Métodos iterativos para Sistemas de Ecuaciones Lineales
Se pide calcular las dos primeras iteraciones para el método de Jacobi, tomando como estimación inicial x(0)=(1,1,1) (Usar 3 cifras decimales para redondeo en las operaciones) 3.4 Método de Gauss‐Seidel Dado S  Ax=b, el método de Gauss‐Siedel consiste en iterar el sistema de punto fijo (L+D)x = (L+D – A)x + b, Obsérvese que A‐(L+D) es la matriz triangular superior cuyos elementos no nulos son los que están por encima de la diagonal superior, es decir,  0 a12

0 0
A‐(L+D)=U= 
 

0 0
 a1n 

 a2 n 
 

 0 
Luego la ecuación anterior queda de la forma (L+D)x = ‐Ux + b, y las sucesivas iteraciones se obtienen mediante (L+D)x(k) = – U x(k‐1) + b 
 b1  a12 x2  a13 x3   a1n xn 
 x1 
a11
 a11 x1  a12 x2    a1n xn  b1

a x  a x    a x  b
 x   b2  a21 x1  a23 x3   a2 n xn 
 21 1 22 2

2n n
2
a22
 2
S 


 an1 x1  an 2 x2    ann xn  bn

 x   bn  an1 x1  an 2 x2    ann 1 xn 1 
 n
ann
La secuencia de pasos es semejante a la seguida en el método de Jacobi con la diferencia de que el valores obtenidos para xi(k) se utiliza para aproximar xi+1(k)  Primer paso: se sustituye en la primera ecuación del segundo miembro las incógnitas en negro por la estimación inicial x2  x20 , x3  x30 , , xn  xn0 para obtener x11 , A continuación, se sustituye en la segunda ecuación x1  x11 , x3  x30 , , xn  xn0 para obtener x12 Seguidamente sustituiríamos en la tercera ecuación x1  x11 , x2  x12 , x4  x40 , , xn  xn0 

para obtener x31 y así sucesivamente hasta obtener x(1)= x11 , x12 , x31 , , x1n  Segundo paso: se procede ecuación por ecuación del sistema igual que en el primer paso para obtener Unidad Docente de Matemáticas de la ETSITGC Asignatura: MÉTODOS MATEMÁTICOS 5 SISTEMAS DE ECUACIONES LINEALES
TEMA3: Métodos iterativos para Sistemas de Ecuaciones Lineales
x(2)=  x12 , x22 , x32 , , xn2  y así sucesivamente. En general:  ( k )  b1  a12 x2( k 1)  a13 x3( k 1)   a1n xn( k 1) 
 x1 
a11

 ( k )  b2  a21 x1( k )  a23 x3( k 1)   a2 n xn( k 1) 
 x2 
a22



 ( k )  bn  an1 x1( k )  an 2 x2( k )    ann 1 xn( k1) 
 xn 
ann

Se utiliza el mismo criterio de convergencia (o de parada) que en el método de Jacobi. 3.4 Método de Sobrerrelajación Si para un sistema determinado, S  Ax=b, el método de Gauss‐Seidel converge, entonces ha de verificarse, en general, que cada aproximación de cada incógnita xi( k ) estará más cerca de la solución que xi( k 1) para cada i = 1∙∙∙n. El método de sobrerrelajación se basa en la idea de que el proceso de convergencia puede acelerarse ponderando la diferencia entre los valores xi( k ) y xi( k 1) para cada i = 1∙∙∙n , es decir, xi( k ) = xi( k 1) + ∙di para cada i = 1∙∙∙n, donde di  xˆi( k )  xi( k 1) (denotamos por xi( k ) la aproximación obtenida por el método de sobrerrelajación y por xˆi( k ) la que obtendríamos aplicando Gauss‐Seidel) Sustituyendo y operando: xi( k ) = xi( k 1) + ∙di = xi( k 1) + ∙  xˆi( k )  xi( k 1)  = 1  ω  xi( k 1)  ωxˆi( k ) para cada i = 1∙∙∙n
El proceso consiste, en consecuencia, hallar cada iteración de Gauss‐Seidel y ponderarla con el  elegido. La secuencia de pasos es la siguiente: (
 Primer paso: partiendo de la estimación inicial x 0) obtenemos la primera iteración de Gauss‐Seidel como se ha explicado en la página 4 anterior y la designamos xˆ (1)   xˆ11 , xˆ12 , xˆ31 , , xˆ1n  A continuación, hallamos la primera iteración de sobrerrelajación según la fórmula de dicho método Unidad Docente de Matemáticas de la ETSITGC Asignatura: MÉTODOS MATEMÁTICOS 6 SISTEMAS DE ECUACIONES LINEALES
TEMA3: Métodos iterativos para Sistemas de Ecuaciones Lineales
 x1(1)  1  ω  x1(0)  ω xˆ1(1)
 (1)
(0)
(1)
 x2  1  ω  x2  ω xˆ2



 x (1)  1  ω  x (0)  ω xˆ (1)
n
2
 n
 x , x , x , , x  se calcula la segunda iteración con Gauss‐Seidel y la denotamos xˆ   xˆ , xˆ , xˆ , , xˆ  y aplicamos la fórmula de sobrerrelajación para obtener la segunda iteración x =  x , x , x , , x   Segundo paso: con esta aproximación obtenida x(1)= (2)
1
1
2
1
1
2
2
2
1
3
1
n
2
3
2
n
2
1
(2)
2
2
2
3
2
n
 x1(2)  1  ω  x1(1)  ω xˆ1(2)
 (2)
(1)
(2)
 x2  1  ω  x2  ω xˆ2
y así sucesivamente. 

 x (2)  1  ω  x (1)  ω xˆ (2)
n
2
 n
Es decir, en general:  x1( k )  1  ω  x1( k 1)  ω xˆ1( k )
 (k )
( k 1)
(k )
 x2  1  ω  x2  ω xˆ2
( )


 x ( k )  1  ω  x ( k 1)  ω xˆ ( k )
n
2
 n
Y desarrollándola completamente:  (k )
  b1  a12 x2( k 1)  a13 x3( k 1)   a1n xn( k 1)  
( k 1)
 x1  1  ω  x1  ω 
a11 





  b2  a21 xˆ1( k )  a23 x3( k 1)   a2 n xn( k 1)  
 (k )
( k 1)



x
x
1
ω
ω



 2
2
a22 


 


(k )
(k )
(k )


 x ( k )  1  ω  x ( k 1)  ω   bn  an1 xˆ1  an 2 xˆ2    ann 1 xˆn 1  
n
n
ann 





La ecuación matricial del método se obtiene a partir de la ecuación de sobrerrelajación () x k  = 1  ω  x ( k 1)  ωxˆ ( k )
La solución xˆ ( k ) de Gauss‐Siedel se obtiene al despejar x ( k ) en la ecuación (L+D)x(k) = – U x (k‐1) + b (ver página 4 apartado 3.4)
Unidad Docente de Matemáticas de la ETSITGC Asignatura: MÉTODOS MATEMÁTICOS 7 SISTEMAS DE ECUACIONES LINEALES
TEMA3: Métodos iterativos para Sistemas de Ecuaciones Lineales
Operando: Lx(k) + Dx(k) = – U x (k‐1) + b  Dx(k) = ‐ Lx(k) – U x (k‐1) + b  x(k) = D‐1 (‐ Lx(k) – U x (k‐1) + b) k 
x = 1  ω  x
( k 1)
1
 ω·D (  Lx
k 
– Ux
 k 1
 b)
Dx k  = D 1  ω  x ( k 1)  ω·DD 1 (  Lx  k  – Ux  k 1  b)
D k 
1  ω  ( k 1)
x = D 
 Lx  k  – Ux k 1  b
x
ω
 ω 
D  k   1  ω


D  U  x ( k 1)  b
L x 
ω

 ω

El criterio de convergencia (o de parada) es el mismo que en los métodos anteriores. 3.5 Estimación del error Recordemos que el sistema Ax= b se transforma en un sistema de punto fijo Mx=Nx+b (pag.1). Despejando x=M‐1Nx + M‐1b y designando por B=M‐1N queda x=Bx + M‐1b y en cada iteración x (k)=Bx (k‐1) + M‐1b con k=1∙∙∙∙∙n Restando miembro a miembro: 

x k   x  B x  k 1  x  x  k   x  B x k 1  x  B
xk   x  B
2
x 0  x
k
x k 2  x    B
k
x 0  x
Luego   B  x  0  x es una buena estimación para x  k   x
k
Ahora bien, si partimos de x
k 1
 x  B ( x    x ) y como x
x   x  x
k
k
k 1
 x
k
 x
k 1
k 1
 x  x k 1  x k   x k   x 
 x   x    x  B ( x   x)  B
k
k
k
 x  k   x  B x  k   x  x k 1  x k   B
 x  k   x 1  B   x  k 1  x  k   B
x
k 
k
x 
Unidad Docente de Matemáticas de la ETSITGC k
x1  x 0
x1  x 0 
B
k
1  B

 x   x  k
x1  x 0
Asignatura: MÉTODOS MATEMÁTICOS 8 
Descargar