Está en la página 1de 12

UNIVERSIDAD DEL MAGDALENA

FACULTAD DE INGENIERÍA
ANÁLISIS NUMÉRICO
TECNICAS ITERATIVAS PARA RESOLVER SISTEMAS LINEALES 2
Docente: Mg. Alvaro Espinosa Pérez

INTRODUCCIÓN
Una técnica iterativa para resolver un sistema lineal Ax=b de n x n empieza con una aproximación inicial

x(0) a la solución x , y genera una sucesión de vectores { x k }k=0 que converge a x . La mayoría de estas
técnicas iterativas involucran un proceso que convierte el sistema Ax=b en un sistema equivalente de la
forma x=T x +c para alguna matriz T de n x n y un vector c . Ya seleccionado el vector inicial x(0) la
sucesión de vectores de solución aproximada se genera calculando:

x k =T x k−1 +c para cada k=1,2,3 , …

Las técnicas iterativas se emplean raras veces para resolver sistemas lineales de dimensión pequeña ya que
el tiempo requerido para lograr una precisión suficiente excede al de las técnicas directas como el método de
eliminación Gaussiana. Sin embargo, para sistemas grandes con un gran porcentaje de ceros, estas técnicas
son eficientes en términos de almacenamiento en la computadora y del tiempo requerido. Los sistemas de
este tipo surgen frecuentemente en la solución numérica de problemas de valores en la frontera y de
ecuaciones diferenciales parciales.

MÉTODO DE JACOBI
El método de Jacobi es un método iterativo con el cual se resuelve el sistema lineal Ax=b. Se despeja la
primera variable de la primera ecuación, la segunda variable de la segunda ecuación y así sucesivamente. Si
tenemos la k-ésima aproximación x(k) entonces substituimos en los términos de la derecha y obtenemos el
valor de x k+1 .

Como valor inicial se suele tomar x(0) =¿, 0, 0) aunque puede elegirse cualquier otro punto. Miremos un
ejemplo que nos permita comprender el método de Jacobi, el cual es usado para encontrar la solución de un
sistema cuadrado de ecuaciones lineales.

Este consiste en resolver la i-ésima ecuación de A x=b para x i para obtener, siempre y cuando a ii ≠0 , que:

n
−aij x j bi
x i= ∑
j=1
j ≠i
( aii
+ )
a ii

para k > 1 con:


(k) (k +1)
Y generar cada x i de las componentes de x i

n
1
(k)
x =
i
aii [ ∑ (−aik x (k−1)
j=1
j ≠i
j ) + bi
] para i=1,2, … , n
El método también puede escribirse en la forma x(k) =T x(k−1) +c dividiendo a A en su parte diagonal y no-
diagonal. Para ver esto, sean D la matriz diagonal cuya diagonal es la misma que la diagonal de A ,− L la
parte triangular estrictamente inferior de A , y −U la parte triangular estrictamente superior de A.

Con esta notación, se separa en:

La ecuación Ax=bó ( D−L−U )x=bse transforma entonces en Dx=(L+U ) x +b , y finalmente:

x=D −1 ( L+U ) x+ D −1 b
Donde:
1
D −1=
[ ]
aii

Esto da lugar a la forma matricial de la técnica iterativa de Jacobi:

x(k) =D−1 ( L+U ) x (k−1) + D −1 b , k =1,2 , …


−1 −1
Al introducir la notación T j=D ( L+U ) y c j=D b , obtenemos la forma de la técnica de Jacobi:

x(k) =T j x (k−1)+ c j

Ejemplo: Resuelva el sistema lineal


5 x 1−x 2+ x 3=10
2 x1 +8 x 2−x 3=11
−x 1+ x2 + 4 x 3=3
(0) (0) (0) (0)
Usando el método iterativo de Jacobi a partir del punto inicial x =( x 1 , x 2 , x3 ) =(0 ,0 , 0)

10+ x2 −x3
x 1=
5
11−2 x 1+ x 3
x 2=
8
3+ x 1−x 2
x 3=
4

Tenemos que la forma de realizar las iteraciones es:


10+ x (k−1)
2 −x (k−1)
3
x(k)
1 =
5
11−2 x(k−1)
(k) 1 + x(k−1)
3
x = 2
8
3+ x(k−1)
(k) 1 −x (k−1)
2
x = 3
4
(1) (0) (0) (0) (0)
Entonces, para hallar la primera iteración x i con x =( x 1 , x 2 , x3 ) =(0 ,0 , 0):

10+ x (02 )−x(0)


3 10+0−0
x(1)
1 = = =2
5 5
11−2 x (0) (0)
(1) 1 + x3 11−2(0)+ 0
x = 2 = =1,375
8 8
3+ x (01 )−x(0)
2 3+0−0
x(1)
3 = = =0,75
4 4
(2) (1) (1) (1) (1)
Para hallar la segunda iteración x i con x =( x 1 , x 2 , x 3 ) =( 2, 1,375 , 0,75):

10+ x (1) (1)


(2) 2 −x 3 10+ 1,375−0,75
x = 1 = =2,125
5 5
11−2 x (1) (1)
1 + x3 11−2(2)+0,75
x(2)
2 = = =0,96875
8 8
3+ x (11 )−x(1)
(2) 2 3+2−1,375
x = 3 = =1,0625
4 4
Y continuamos el proceso iterativo.

Para convertir Ax=b a la forma x(k) =T j x (k−1)+ c j resolvemos la ecuación para cada i=1 , 2, 3,
obteniendo:
5 x 1−x 2+ x 3=10
2 x1 +8 x 2−x 3=11
−x 1+ x2 + 4 x 3=3
Su forma Ax=b:

5 −1 1 x 1 10
(2
−1 1
8 −1 x 2
4 x3
= 11
3 )( ) ( )
Tenemos:
5 −1 1 10
A= 2
(
−1 1
8 −1 , b= 11
4 3 ) ()
5 0 0 0 0 0 0 1 −1
( ) ( ) (
D= 0 8 0 , L= −2 0 0 y U= 0 0 1
0 0 4 1 −1 0 0 0 0 )
Como:
x(k) =D−1 ( L+U ) x (k−1) + D−1 b=T j x(k−1) +c j , k=1,2 , …

Con lo que tenemos que:


1/5 0 0 0 1 −1 0 0,2 −0,2

0 (
T j=D−1 ( L+U ) = 0 1/8 0 −2 0 1 = −0,25
0 1/4 1 −1 0 )(0
0,25 −0,25
0 , 125
0 )( )
1/5 0 0 10 2

0 (
c j=D−1 b= 0 1 /8 0 11 = 1,375
0 1/ 4 3 0,75 )( ) ( )
Entonces, para la primera iteración tenemos:

0 0,2 −0,2 0 2 2
(
x(k) =T j x (k−1)+ c j ⟹ x (1) =T j x (0) +c j= −0,25 0
0,25 −0,25
0 , 125 0 1,375
0 0
+
0,75
=
)( ) ( ) ( )
1,375
0,75
Para la segunda iteración tenemos:
0 0,2 −0,2 2 2 2,125
(
x(2) =T j x (1) + c j= −0,25 0
0,25 −0,25 0 0,75 0,75)( ) ( ) ( )
0 ,125 1,375 + 1,375 = 0,96875
0,91625

Y se continua con el proceso iterativo.

Los resultados del proceso iterativo se muestran en la siguiente tabla:

k x(k) x(k) x(k)


1 2 3
0 0 0 0
1 2 1,375 0,75
2 2,125 0,96875 1,0625
3 1,98125 0,9765625 1,015625
4 1,9921875 1,0066406 0,99140625
3
5 2,0030468 1,0008789 1,00019531
8 1
6 2,0001367 0,9992627 1,00071289
2
7 1,9997099 1,0000549 0,99985596
6 3
8 2,0000397 1,0000545 0,9999635
9
9 2,0000182 0,9999854 1,00001907
9
1 1,9999932 0,9999978 0,99999978
0 8 3
1 1,9999996 1,0000016 0,99999838
1 1 5
1 2,0000006 0,9999998 1,00000031
2 6 9
1 1,9999999 0,9999998 1,00000009
3 2 7
1 1,9999999 1,0000000 0,99999996
4 6 3
1 2,0000000 1,0000000 1
5 1 1
1 2 1 1
6

Como en todo método iterativo, debe establecerse un criterio de paro para las iteraciones, el cual, en este
contexto, puede ser:
x(k) (k−1)

| i −xi

x (ki ) |
<∈

respecto de una norma y cierta tolerancia ∈ prefijada.

Uno de los principales problemas de los métodos iterativos es la garantía de que el método va a converger, es
decir, va a producir una sucesión de aproximaciones cada vez efectivamente más próximas a la solución. En
el caso del método de Jacobi no existe una condición exacta para la convergencia. Lo mejor es una condición
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.

MÉTODO DE GAUSS – SEIDEL


En el método de Jacobi, empleamos siempre los valores antiguos de las variables aunque ya hayamos
calculado los nuevos valores de algunas de ellas. Parece lógico pensar que, si los valores nuevos se
aproximan más a la solución, entonces se obtendrán mejores resultados usando ya dichos valores. En esto
consiste el método de Gauss-Seidel, se sustituyen en la derecha los valores actualizados que ya tenemos en
cada momento. Es decir, usando:
i−1 n
x(k)
i =
1
[−∑ ( a x (k ) )− ∑ ( aij x(k−1)
aii j=1 ij j j=i+1
j ) + bi ]
Para cada i=1 , 2, . . ., n , y recibe el nombre de de técnica iterativa Gauss-Siedel y el método puede
escribirse en la forma x(k) =T x(k−1) +c .

El método de Gauss-Seidel en forma matricial puede ser representado como:

( D−L ) x(k) =U x(k−1) +b


O bien
x(k) =( D−L )−1 U x(k−1) + ( D−L )−1 b
−1 −1
Si se da que T g= ( D−L ) U y c g=( D−L ) b, siempre que ( D−L )−1 exista, y así obtenemos la
técnica Gauss- Siedel de la forma:

x(k) =T g x (k−1)+ c g

Para que la matriz triangular inferior ( D−L) sea no singular, es necesario y suficiente que a ii ≠0 para cada
i=1,2 , … , n.

Para resumir el método iterativo de Gauss-Seidel, presentamos el siguiente ejemplo:

Ejemplo: Resuelva el sistema lineal


5 x 1−x 2+ x 3=10
2 x1 +8 x 2−x 3=11
−x 1+ x2 + 4 x 3=3

(0) (0) (0) (0)


Usando el método iterativo de Jacobi a partir del punto inicial x =( x 1 , x 2 , x3 ) =(0 ,0 , 0):

10+ x2 −x3
x 1=
5
11−2 x 1+ x 3
x 2=
8
3+ x 1−x 2
x 3=
4

Tenemos que la forma de realizar las iteraciones es:


(k)10+ x (k−1)
2 −x (k−1)
3
x =
1
5
11−2 x(k) (k−1)
(k) 1 + x3
x =
2
8
3+ x(k) (k)
(k) 1 −x 2
x =
3
4
(0) (0) (0) (0)
A partir del punto inicial x =( x 1 , x 2 , x3 ) =(0 ,0 , 0), tenemos:

(1)10+ x (02 )−x(0)


3 10+0−0
x =
1 = =2
5 5
11−2 x (1) (0)
1 + x3 11−2(2)+0
x(1)
2 = = =0,875
8 8
3+ x (11 )−x(1)
2 3+2−0,875
x(1)
3 = = =1,03125
4 4
Para x (i1) =( x (11) , x(21) , x (31 )) =(2 ,0,875 , 1,03125), podemos calcular x(2)
i así:

10+ x (1) (1)


2 −x 3 10+ 2−1,03125
x(2)
1 = = =2,193
5 5
11−2 x (2) (1)
(2) 1 + x3 11−2(2,193)+1,03125
x =
2 = =0,995
8 8
3+ x (21 )−x(2)
2 3+2,193−0,995
x(2)
3 = = =1,0495
4 4

Para convertir A x=b a la forma x =T G x + cG resolvemos la ecuación para cada i=1 , 2, 3,


(k) (k −1)

recordando que:

5 −1 1 10
A= 2
−1 1
Con:
(
8 −1 , b= 11
4 3 ) ()
5 0 0 0 0 0 0 1 −1
( ) (
D= 0 8 0 , L= −2 0 0 y U= 0 0 1
0 0 4 1 −1 0 0 0 0 ) ( )
Con lo que tenemos que:
−1
5 0 0 0 1 −1 0,2 0 0 0 1 −1
−1
T G=( D−L ) U = 2 8 0
−1 1 4 ( )( )(
0 0 1 = −0,05
0 0 0
0,125 0 0 0 1
0,0625 −0,03125 0,25 0 0 0 )( )
0 0,2 −0,2
(
T G= 0 −0,05 0 ,175
0 0,0625 −0,09375 )
0,2 0 0 10 2
−1
c G =( D−L ) b= −0,05
(
0,125 0 11
0,0625 −0,03125 0,25 3
= 0,875
1,03125 )( ) ( )
Entonces, la primera iteración es:

x (k )=T g x ( k−1) +c g ⟹ x ( 1)=T G x ( 0) +c G


0 0,2 −0,2 0 2 2
( 1)

(
x = 0 −0,05 0,175 0 + 0,875 = 0,875
0 0,0625 −0,09375 0 1,03125 1,03125 )( ) ( ) ( )
La segunda iteración:
0 0,2 −0,2 2 2
(
x (2 )=T G x (1 )+c G = 0 −0,05 0 , 175 0,875 + 0 , 875
0 0,0625 −0,09375 1,03125 1,03125 )( ) ( )
1,96875
(
x (2 )= 1,0117188
0,9892578 )
Los resultados del proceso iterativo se muestran en la siguiente tabla:

k x(k) x(k) x(k)


1 2 3
0 0 0 0
1 2 0,875 1,03125
2 1,96875 1,0117187 0,98925781
5
3 2,0044921 0,9975341 1,0017395
9 8
4 1,9991589 1,0004277 0,99968281
4
5 2,0001489 0,9999231 1,00005647
8 1
6 1,9999733 1,0000137 0,9999899
3 3
7 2,0000047 0,9999975 1,0000018
7 5
8 1,9999991 1,0000004 0,99999968
5 4
9 2,0000001 0,9999999 1,00000006
5 2
1 1,9999999 1,0000000 0,99999999
0 7 1
1 2 1 1
1

Como podemos notar, el método de Gauss-Seidel nos da la respuesta en 11 iteraciones, en tanto que con
Jacobi se obtuvo en 16, lo cual habla de la rapidez de convergencia del uno comparado con el otro.

MÈTODO DE SOBRE-RELAJACIÒN SUCESIVA (SOR)


Una generalización del método de Gauss-Seidel es el método de sobre-relajación sucesiva (SOR), La idea del
método SOR (successive over relaxation / sobre relajación sucesiva) es tomar un “promedio" entre el x ki y el
x k+1
i de Gauss-Seidel de modo que después de introducir un parámetro w de relajación en la ecuación:

(k) −1 (k−1) −1
x =( D−L ) U x + ( D−L ) b
Se sustituye por la siguiente:
x(k) =( D−wL )−1 [ ( 1−w ) D+ wU ] x (k −1) + w ( D−wL )−1 b
En este caso la matriz de iteración T w y el vector c w son, respectivamente:

T w =( D−wL )−1 [ ( 1−w ) D+ wU ] y c w =w ( D−wL )−1 b

Este método es consistente para cualquier w ≠ 0 . Cuando w=1 coincide con el método de Gauss-Seidel. En
particular cuando 0< w<1 el método se llama sub-relajación mientras que si w >1 se llama sobre relajación.

Para matrices arbitrarias A ∈ R n x n en general, no es posible determinar exactamente un valor óptimo para
el párametro de relajaciónw .

Tal como en los métodos anteriores, para encontrar las componentes del vector de aproximación, debemos
utilizar la siguiente igualdad:

i−1 n
x(k)
i =
w
[−∑ ( a x (k ) )− ∑ ( aij x(k−1)
aii j=1 ij j j=i+1
j )+ bi +(1−w) x(k−1)
i ]
Si w ∈ R, una condición necesaria para que el método converja es que 0< w<2. Esta condición es también
suficiente si A es simétrica definida positiva.

Ejemplo: Resuelva el sistema lineal


5 x 1−x 2+ x 3=10
2 x1 +8 x 2−x 3=11
−x 1+ x2 + 4 x 3=3

(0) (0) (0) (0)


Usando el método iterativo de SOR con w=1,25 a partir del punto inicial x =( x 1 , x 2 , x3 ) =(0 ,0 , 0) .
Y tomamos entonces:

10+ x (k−1) −x(k−1)


(k)
x =w
1
2
[5
3
]
+(1−w)x (k−1)
1

11−2 x (k) (k−1)


1 + x3
(k)
x =w
2 [ 8
+(1−w)x (k−1)
2 ]
3+ x (k1 )−x(k)
x(k)
3 =w [ 4
2
] +(1−w) x(k−1)
3

(0) (0 ) (0)
A partir del punto inicial ( x 1 , x 2 , x 3 ) =(0 , 0 ,0), tenemos:

10+ x (02 )−x(0)


(1)
x =1,25
1 [
5
3
]
+ ( 1−1,25 ) x (10 )=1,25
10+ 0−0
5 [
+(−0,25)(0)=2,5 ]
11−2 x (11 )+ x(0)
(1)
x =1,25
2 [8
3
]
+ ( 1−1,25 ) x(20)=1,25
11−2(2,5)+ 0
8 [ ]
+(−0,25)( 0)=0,9375

3+ x (1) (1)
x(1)
3 =1,25 [ 1 −x 2
4 ] + ( 1−1,25 ) x3(0)=1,25
3+2,5−0,9375
[ 4 ]
+(−0,25)( 0)=1,4258

Los resultados del proceso iterativo se muestran en la siguiente tabla:

0 0 0 0
1 2 0,875 1,03125
2 1,96875 1,0117187 0,98925781
5
3 2,0044921 0,9975341 1,0017395
9 8
4 1,9991589 1,0004277 0,99968281
4
5 2,0001489 0,9999231 1,00005647
8 1
6 1,9999733 1,0000137 0,9999899
3 3
7 2,0000047 0,9999975 1,0000018
7 5
8 1,9999991 1,0000004 0,99999968
5 4
9 2,0000001 0,9999999 1,00000006
5 2
1 1,9999999 1,0000000 0,99999999
0 7 1
1 2 1 1
1

Un problema que se presenta al usar el método SOR, es cómo escoger el valor apropiado de w . Aun cuando
no se conoce una respuesta completa a esta pregunta para un sistema lineal general n × n, los siguientes
resultados pueden usarse en ciertas situaciones:

TEOREMA (Kahan): Si a ii ≠0 para cadai=1 , 2, . . ., n , entonces ρ(T w )≥∨w−1∨. Esto implica que
ρ(T w )< 1 sólo si 0< w<2, donde T w =( D−w L)−1 [(1−w)D+ wU ] es la matriz de iteración del
método SOR.

TEOREMA (Ostrowski-Reich): Si A es una matriz positiva definida y 0< w<2, entonces el método SOR
converge para cualquier elección de la aproximación inicial x(0) del vector solución.

TEOREMA: Si A es una matriz positiva definida y tridiagonal, entonces ρ(T G )=[ρ (T j)]2 <1, la elección
óptima de w para el método SOR es:
1
w=
1+ √ 1−[ ρ(T j )]2
y con este valor de w , ρ ( T w )=w−1.

CONVERGENCIA DE LOS PROCESOS ITERATIVOS


Para estudiar la convergencia de las técnicas generales de iteración, consideramos la fórmula
x k =T x k−1 +c para cada k =1,2 , …: , donde x(0) es arbitrario. Este estudio requerirá del siguiente
teorema:

TEOREMA: Para cualquier x(0) ∈ R n, la sucesión { x k }k=0 definida por x k =T x k−1 +c para cada k > 1 y
c ≠ 0, converge a la solución única de x k =T x k−1 +c si y sólo si ρ(T )< 1.

Un Teorema parecido nos dará condiciones de suficiencia para la convergencia de los procesos de iteración
usando las normas en lugar del radio espectral.

TEOREMA: Si ‖T ‖<1, para cualquier norma matricial natural, entonces la sucesión definida en la ecuación
∞ n
x k =T x k−1 +c ,{ x k }k=0 , converge para cualquier x ϵ R , a un vector x ∈ Rn, y se satisfacen las siguientes
(0)

cotas de error:
‖x−x k‖≤‖T ‖k‖x (0)−x‖
y
k
‖x−x ‖≤ ‖T ‖ ‖x(1)−x (0)‖
k

1−‖T ‖

Nótese que si en particular elegimos x(0) =c , entonces x(1)=Tx+c

Con:
‖x (1) −x(0)‖=‖Tc‖ ≤‖T‖‖c‖
Y nos queda:
k+1
‖x−x ‖≤ ‖T ‖ ‖c‖
k

1−‖T ‖
Ejemplo: Considere el siguiente sistema:

5 x 1−x 2+ x 3=10
2 x1 +8 x 2−x 3=11
−x 1+ x2 + 4 x 3=3

Vamos a demostrar que el método de Jacobi es convergente para el sistema; reduciendo el sistema a la
forma especial para la iteración de Jacobi, tenemos:

10+ x2 −x3
x 1= =0+ 0,2 x 2−0,2 x 3 +2
5
11−2 x 1+ x 3
x 2= =−0,25 x 1 +0+0,125 x 3+ 1,375
8
3+ x 1−x 2
x 3= =0,25 x 1−0,25 x 2 +0+0,75
4
En este ejemplo,
0 0,2 −0,2 2
(
T j= −0,25
0,25 −0,25
0
) ( )
0 ,125
0
y c j = 1,375
0,75
Utilizando, la norma l 1, tenemos:
l 1=‖T j‖1=máx ( 0.5 , 0.45 , 0.325 )=0.5<1

En consecuencia, el proceso de iteración para el sistema dado es convergente. Si ahora consideramos como
aproximación inicial de la raíz x el vector:
3
x(0) =c=(2 ,1,375 , 0.75)⇒ ‖c‖1=∑ |x i|=¿ 2+1,375+0.75=4,125 ¿
i=1

Sea ahora k el número de iteraciones requeridas (Ej. E=10−4 ¿ para conseguir la exactitud especificada,
tenemos:
k ‖T ‖1k +1 0,5k +1 x 4,125
‖x−x ‖1 ≤ ‖c‖1= < 10−4
1−‖T ‖1 0.5

0,5 k+1 <1,2121 x 10−5 ⇒ log 10 0,5k+1 < log10 ( 1,2121 x 10−5 )
( k +1 ) log 10 (0,5)←4,9165
−( k +1 ) 0,3010← 4,9165
k > 16,33−1 ≈15,33
Se puede tomar k =16. Nótese que la estimación teórica del número de iteraciones necesarias para
asegurar la exactitud especificada es excesivamente alta. A menudo se obtiene la exactitud deseada en un
número menor de iteraciones.

TEOREMA: Sea A una matriz real de orden n , y seab una matriz columna real del mismo orden. Si la matriz
A es diagonalmente dominante (por filas o por columnas) en sentido estricto, entonces la iteración de Jacobi
converge a la solución del sistema Ax=b para cualquier punto de partida x 0 ∈ Rn.

TEOREMA: Si A es una matriz simétrica real definida positiva de orden n , y b es una matriz columna real del
mismo orden, entonces la iteración de Gauss-Seidel converge a la única solución del sistema Ax=b para
cualquier punto de partida x 0 ∈ Rn.

También podría gustarte