Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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:
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
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.
x=D −1 ( L+U ) x+ D −1 b
Donde:
1
D −1=
[ ]
aii
x(k) =T j x (k−1)+ c j
10+ x2 −x3
x 1=
5
11−2 x 1+ x 3
x 2=
8
3+ x 1−x 2
x 3=
4
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 , …
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
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 ) |
<∈
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.
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.
10+ x2 −x3
x 1=
5
11−2 x 1+ x 3
x 2=
8
3+ x 1−x 2
x 3=
4
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 = 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:
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.
(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:
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.
(0) (0 ) (0)
A partir del punto inicial ( x 1 , x 2 , x 3 ) =(0 , 0 ,0), tenemos:
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
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.
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 ‖
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.