1. M´todos Iterativos para Resolver Sistemas Lineales
e
Departamento de Matem´ticas, CCIR/ITESM
a
17 de julio de 2009
´
Indice
3.1. Introducci´n . . . . . . . . . . . . . . .
o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
3.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
3.3. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.4. M´todo Iterativo: Un ejemplo . . . . .
e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.5. Ventajas y Desventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.6. M´todo Iterativo General . . . . . . .
e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.7. Metodo de Jacobi: Idea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.8. Convergencia y convergencia en Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.9. Matriz Diagonalmente Dominante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.10. Orden conveniente para Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.11. El M´todo de Gauss-Seidel: Idea . . .
e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.12. M´todo de Gauss-Seidel: Ejemplos . .
e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.13. Costo computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1. Introducci´n
o
En esta lectura veremos procedimientos iterativos para resolver un sistema de ecuaciones lineales. El primero
de ellos conocido como el procedimiento de Jacobi basado en la idea de punto fijo y un segundo procedimien-
to conocido como m´todo de Gauss-Seidel el cual es una modificaci´n simple del procedimiento de Jacobi.
e o
Introduciremos el concepto de matriz diagonalmente dominante el cual se relaciona con la garant´ de conver-
ıa
gencia en la aplicaci´n de los m´todos vistos. Veremos que en algunos casos es posible replantear el sistema
o e
para garantizar la convergencia. Asimismo se comentar´ en qu´ situaciones los m´todos iterativos son m´s
a e e a
convenientes a los m´todos directos.
e
3.2. Objetivos
Ser´ importante que usted
a
Entienda los conceptos:
• m´todo iterativo,
e
• ecuaci´n de recurrencia,
o
• convergencia,
• matriz diagonalmente dominante
En t´rminos cualitativos
e
• Entienda la diferencia entre un m´todo directo y uno iterativo.
e
2. • Entienda la conveniencia de usar un m´todo iterativo y uno directo.
e
Entienda y mecanice los procedimientos de
• M´todo de Jacobi, y
e
• M´todo de Gauss-Seidel.
e
3.3. Generalidades
Un m´todo iterativo es un m´todo que progresivamente va calculando aproximaciones a la soluci´n
e e o
de un problema. En Matem´ticas, en un m´todo iterativo se repite un mismo proceso de mejora sobre una
a e
soluci´n aproximada: se espera que lo obtenido sea una soluci´n m´s aproximada que la inicial. El proceso se
o o a
repite sobre esta nueva soluci´n hasta que el resultado m´s reciente satisfaga ciertos requisitos. A diferencia de
o a
los m´todos directos, en los cuales se debe terminar el proceso para tener la respuesta, en los m´todos iterativos
e e
se puede suspender el proceso al termino de una iteraci´n y se obtiene una aproximaci´n a la soluci´n.
o o o
3.4. M´todo Iterativo: Un ejemplo
e
Considere el problema de encontrar una ra´ a una ecuaci´n cuadr´tica, por ejemplo:
ız o a
f (x) = x2 − x − 2 = 0
Un m´todo directo para resolverlo es aplicar la f´rmula general
e o
−(−1) ± (−1)2 − 4(1)(−2)
x= = −1, 2
2(1)
Un m´todo iterativo es el m´todo de Newton que consiste en usar la f´rmula de mejora:
e e o
f (xi ) xi 2 − xi − 2
xi+1 = xi − = xi −
f ′ (xi ) 2 xi − 1
Si tomamos como primera aproximaci´n x0 = 3 (para i = 0), tendremos
o
x0 2 − x0 − 2 32 − 3 − 2
x1 = x0 − =3− ≈ 2.2
2 x0 − 1 2·3−1
Si ahora tomamos como aproximaci´n x1 = 2.2 y aplicamos de nuevo la f´rmula tendremos:
o o
x1 2 − x1 − 2 2.22 − 2.2 − 2
x2 = x1 − = 2.2 − ≈ 2.011
2 x1 − 1 2 · 2.2 − 1
Si ahora tomamos como aproximaci´n x2 = 2.011 y aplicamos de nuevo la f´rmula tendremos:
o o
x2 2 − x2 − 2 2.0112 − 2.011 − 2
x3 = x2 − = 2.011 − ≈ 2.00004
2 x2 − 1 2 · 2.011 − 1
Etceter´.
a
3.5. Ventajas y Desventajas
Un elemento en contra que tienen los m´todos iterativos sobre los m´todos directos es que calculan apro-
e e
ximaciones a la soluci´n. Los m´todos iterativos se usan cuando no se conoce un m´todo para obtener la
o e e
soluci´n en forma exacta. Tambi´n se utilizan cuando el m´todo para determinar la soluci´n exacta requiere
o e e o
mucho tiempo de c´lculo, cuando una respuesta aproximada es adecuada, y cuando el n´mero de iteraciones
a u
es relativamente reducido.
2
3. 3.6. M´todo Iterativo General
e
Un m´todo iterativo consta de los siguientes pasos.
e
1. inicia con una soluci´n aproximada (Semilla),
o
2. ejecuta una serie de c´lculos para obtener o construir una mejor aproximaci´n partiendo de la aproxi-
a o
maci´n semilla. La f´rmula que permite construir la aproximaci´n usando otra se conoce como ecuaci´n
o o o o
de recurrencia.
3. se repite el paso anterior pero usando como semilla la aproximaci´n obtenida.
o
3.7. Metodo de Jacobi: Idea
El m´todo Jacobi es el m´todo iterativo para resolver sistemas de ecuaciones lineales m´s simple y se aplica
e e a
s´lo a sistemas cuadrados, es decir a sistemas con tantas inc´gnitas como ecuaciones.
o o
1. Primero se determina la ecuaci´n de recurrencia. Para ello se ordenan las ecuaciones y las inc´gnitas. De
o o
la ecuaci´n i se despeja la inc´gnita i. En notaci´n matricial se escribirse como:
o o o
x = c + Bx (1)
donde x es el vector de inc´gnitas.
o
2. Se toma una aproximaci´n para las soluciones y a ´sta se le designa por xo
o e
3. Se itera en el ciclo que cambia la aproximaci´n
o
xi+1 = c + Bxi (2)
Ejemplo 3.1
Partiendo de (x = 1, y = 2) aplique dos iteraciones del m´todo de Jacobi para resolver el sistema:
e
5x + 2y = 1
(3)
x − 4y = 0
Soluci´n
o
Debemos primeramente despejar de la ecuaci´n la inc´gnita correspondiente.
o o
x = 0.20 + 0.00 x − 0.40 y
y = 0.00 + 0.25 x + 0.00 y
Escrito en la notaci´n vectorial quedar´
o ıa:
x 0.20 0.00 −0.40 x
= +
y 0.00 0.25 0.00 y
Aplicamos la primera iteraci´n partiendo de x0 = 1.00 y y0 = 2.00:
o
x1 = 0.20 + 0.00 (1.00) − 0.40 (2.00) = −0.60
y1 = 0.00 + 0.25 (1.00) + 0.00 (2.00) = 0.25
3
4. Aplicamos la segunda iteraci´n partiendo de x1 = −0.60 y y1 = 0.25:
o
x2 = 0.20 + 0.00 (−0.60) − 0.40 (0.25) = 0.10
y2 = 0.00 + 0.25 (−0.60) + 0.00 (0.25) = −0.15
Aplicamos la siguiente iteraci´n partiendo de x2 = 0.10 y y1 = −0.15:
o
x3 = 0.20 + 0.00 (0.10) − 0.40 (−0.15) = 0.26
y3 = 0.00 + 0.25 (0.10) + 0.00 (−0.15) = 0.025
Aplicamos la siguiente iteraci´n partiendo de x3 = 0.26 y y3 = 0.025:
o
x4 = 0.20 + 0.00 (0.26) − 0.40 (0.025) = 0.190
y4 = 0.00 + 0.25 (0.26) + 0.00 (0.025) = 0.065
Aplicamos la siguiente iteraci´n partiendo de x4 = 0.190 y y4 = 0.065:
o
x5 = 0.20 + 0.00 (0.19) − 0.40 (0.065) = 0.174
y5 = 0.00 + 0.25 (0.19) + 0.00 (0.065) = 0.0475
Aplicamos la siguiente iteraci´n partiendo de x5 = 0.174 y y5 = 0.0475:
o
x6 = 0.20 + 0.00 (0.174) − 0.40 (0.0475) = 0.181
y6 = 0.00 + 0.25 (0.174) + 0.00 (0.0475) = 0.0435
Si uno dispone de una hoja de c´lculo como EXCEL es f´cil realizar los c´lculos anteriores:
a a a
i xi yi xi+1 yi+1 Di
0 1.000 2.000 -0.600 0.250 1.750
1 -0.600 0.250 0.100 -0.150 0.700
2 0.100 -0.150 0.260 0.025 0.175
3 0.260 0.025 0.190 0.065 0.070
4 0.190 0.065 0.174 0.047 0.017
5 0.174 0.047 0.181 0.043 0.007
6 0.181 0.043 0.182 0.045 0.001
donde
Di = m´x (|xi − xi+1 |, |yi − yi+1 |)
a
Este Di es utilizado como criterio de paro en las iteraciones: Cuando Di es menos que cierto valor dado
(digamos 0.001) uno ya no realiza la siguiente iteraci´n. Si se grafica las aproximaciones obtenidas en el plano
o
x − y se obtendr´ algo como:
a
4
5. 3.8. Convergencia y convergencia en Jacobi
Uno de los principales problemas de los m´todos iterativos es la garant´ de que el m´todo va a converger,
e ıa e
es decir, va a producir una sucesi´n de aproximaciones cada vez efectivamente m´s pr´ximas a la soluci´n. En
o a o o
el caso del m´todo de Jacobi no existe una condici´n exacta para la convergencia. Lo mejor es una condici´n
e o o
que garantiza la convergencia, pero en caso de no cumplirse puede o no haberla es la siguiente:
Si la matriz de coeficientes original del sistema de ecuaciones es diagonalmente dominante, el
m´todo de Jacobi seguro converge.
e
3.9. Matriz Diagonalmente Dominante
Una matriz se dice matriz diagonalmente dominante, si en cada uno de los renglones, el valor absoluto del
elemento de la diagonal principal es mayor que la suma de los valores abslutos de los elementos restantes del
mismo rengl´n. A veces la matriz de un sistema de ecuaciones no es diagonalmente dominante pero cuando
o
se cambian el orden de las ecuaciones y las inc´gnitas el nuevo sistema puede tener matriz de coeficientes
o
diagonalmente dominante.
Ejemplo 3.2
Son matrices diagonalmente dominantes:
4 1 1 −6 1 2
4 1
, 2 8 −3 , 1 3 0
3 8
3 2 9 3 2 −9
Ejemplo 3.3
No son matrices diagonalmente dominantes:
4 1 3 4 1 1
4 4
, 2 8 1 , 2 8 −7
3 8
3 −10 2 3 −10 20
3.10. Orden conveniente para Jacobi
En ciertas ocasiones al aplicar Jacobi la matriz no es diagonalmente dominante y por tanto no existir´ ga-
a
rant´ de convergencia. Sin embargo, en algunos casos ser´ posible reordenar las inc´gnitas en otra manera
ıa a o
de forma que la nueva matriz de coeficientes sea diagonalmente dominante. Esto se puede detectar revisando
todos los posibles ordenamientos de las inc´gnitas y ver c´mo es la matriz resultante. Claro que esto conlleva
o o
un bueno n´mero de pruebas pues el n´mero posible de ordenamientos en n variables es (n − 1)! pero cuando
u u
n es reducido es sencillo. Veamos algunos ejemplos.
Ejemplo 3.4
Indique cu´l es el orden conveniente para aplicar Jacobi al sistema:
a
3 x + 12 y − z = −2 3 12 −1
11 x − 4 y + 3 z = −3 → 11 −4 3
−3 x − 2 y − 12 z = −2 −3 −2 −12
Soluci´n
o
Con el orden y → x → z el sistema y su matriz de coeficientes quedan:
12 y + 3 x − z = −2 12 3 −1
− 4 y + 11 x + 3 z = −3 → −4 11 3
− 2 y − 3 x − 12 z = −2 −2 −3 −12
la matriz de coeficientes es diagonalmente dominante
5
6. 3.11. El M´todo de Gauss-Seidel: Idea
e
El m´todo de Gauss-Seidel es muy semejante al m´todo de Jacobi. Mientras que en el de Jacobi se utiliza
e e
el valor de las inc´gnitas para determinar una nueva aproximaci´n, en el de Gauss-Seidel se va utilizando los
o o
valores de las inc´gnitas recien calculados en la misma iteraci´n, y no en la siguiente.
o o Por ejemplo, en el
m´todo de Jacobi se obtiene en el primer c´lculo xi+1 , pero este valor de x no se utiliza sino hasta la siguiente
e a
iteraci´n. En el m´todo de Gauss-Seidel en lugar de eso se utiliza de xi+1 en lugar de xi en forma inmediata
o e
para calcular el valor de yi+1 de igual manera procede con las siguientes variables; siempre se utilizan las
variables recien calculadas.
3.12. M´todo de Gauss-Seidel: Ejemplos
e
Ejemplo 3.5
Partiendo de (x = 1, y = 2) aplique dos iteraciones del m´todo de Gauss-Seidel para resolver el sistema:
e
5x + 2y = 1
x − 4y = 0
Soluci´n
o
Debemos primeramente despejar de la ecuaci´n la inc´gnita correspondiente.
o o
x = 0.20 + 0.00 x − 0.40 y
y = 0.00 + 0.25 x + 0.00 y
Aplicamos la primera iteraci´n partiendo de x0 = 1.00 y y0 = 2.00:
o
x1 = 0.20 + 0.00 (+1.000) − 0.40 (2.00) = −0.600
y1 = 0.00 + 0.25 (−0.600) + 0.00 (2.00) = −0.15
Aplicamos la segunda iteraci´n partiendo de x1 = −0.600 y y1 = −0.15:
o
x2 = 0.20 + 0.00 (−0.600) − 0.40 (−0.15) = 0.26
y2 = 0.00 + 0.25 (0.26) + 0.00 (−0.15) = 0.065
Aplicamos la tercera iteraci´n partiendo de x2 = 0.26 y y2 = 0.065:
o
x2 = 0.20 + 0.00 (0.26) − 0.40 (0.065) = 0.174
y2 = 0.00 + 0.25 (0.174) + 0.00 (0.174) = 0.0435
Ejemplo 3.6
Partiendo de (x = 1, y = 2, z = 0) aplique dos iteraciones del m´todo de Gauss-Seidel para resolver el sistema:
e
10 x + 0 y − z = −1
4 x + 12 y − 4 z = 8
4 x + 4 y + 10 z = 4
Soluci´n
o
Debemos primeramente despejar de la ecuaci´n la inc´gnita correspondiente.
o o
x = −0.10 + 0.00 x + 0.00 y + 0.10 z
y = 0.66 − 0.33 x + 0.00 y + 0.33 z
z = 0.40 − 0.40 x − 0.40 y + 0.00 z
6
7. Aplicamos la primera iteraci´n partiendo de x0 = 1.00, y0 = 2.00, y z = 0.00:
o
x1 = −0.10 + 0.00(1.00) + 0.00 (2.00) + 0.10 (0.00) = −0.1
y1 = 0.66 − 0.33(−0.10) + 0.00 (2.00) + 0.33 (0.00) = 0.70
z1 = 0.40 − 0.40(−0.10) − 0.40 (0.70) + 0.00 (0.00) = 0.16
Aplicamos la segunda iteraci´n partiendo de x1 = −0.10 y y1 = 0.70 y z1 = 0.16:
o
x1 = −0.10 + 0.00(−0.10) + 0.00 (0.70) + 0.10 (0.16) = −0.084
y1 = 0.66 − 0.33(−0.084) + 0.00 (0.70) + 0.33 (0.16) = 0.748
z1 = 0.40 − 0.40(−0.084) − 0.40 (0.748) + 0.00 (0.16) = 0.134
Aplicamos la tercera iteraci´n partiendo de x1 = −0.084 y y1 = 0.748 y z1 = 0.134:
o
x1 = −0.10 + 0.00(−0.084) + 0.00 (0.748) + 0.10 (0.134) = −0.086
y1 = 0.66 − 0.33(−0.086) + 0.00 (0.748) + 0.33 (0.134) = 0.740
z1 = 0.40 − 0.40(−0.086) − 0.40 (0.740) + 0.00 (0.134) = 0.138
3.13. Costo computacional
Es dif´ estimar el costo computacional de un m´todo iterativo, pues de antemano se desconoce cu´ntas
ıcil e a
iteraciones requerira para obtener una respuestas que satisfaga al usuario. Generalmente se procede a calcular
el costo computacional por iteraci´n. En el caso del m´todo de Jacobi la relaci´n de recurrencia utilizada
o e o
es:
xi+1 = c + B xi
No es dif´ estimar el costo computacional que involucra: el producto de la matriz B, n × n por el vector xi
ıcil
toma n × (2n − 1) FLOPs, y la suma de dos vectores en ℜn toma n FLOPs lo cual da un total de 2 n2 FLOPs
en cada iteraci´n del m´todo de Jacobi.
o e
Utilizando esta informaci´n podemos concluir que si el algoritmo toma m iteraciones entonces el total de
o
FLOPs ser´ de:
a
2 m n2
Por ello es que el m´todo de Jacobi se prefiere en problemas donde n es grande, cuando se puede garantizar
e
la convergencia y cuando el n´mero de iteraciones esperado es bajo.
u
7