Está en la página 1de 9

N

UNIVERSIDAD
PRIVADA DEL NORTE

MTODOS NUMRICOS PARA INGENIERA


Tema:

1.

MTODOS ITERATIVOS PARA SISTEMAS DE ECUACIONES LINEALES

M
etodo de iteraci
on de Jacobi.

Ejemplo 1 Consideremos el sistema de ecuaciones:

4x y + z

4x 8y + z

= 21

2x + y + 5z =

7
(1)

15

Estas ecuaciones las podemos escribir como:

x =
y =
z =

7+yz
4
21+4x+z
8
15+2xy
5

(2)

lo que sugiere el siguiente proceso iterativo:


7+yk zk
4
21+4xk +zk
8
15+2xk yk
5

xk+1 =
yk+1 =
zk+1

(3)

Vamos a comprobar que si empezamos con P0 = (x0 , y0 , z0 ) = (1, 2, 2), entonces la iteraci
on (3)
parece converger a la soluci
on (2, 4, 3).
Sustituyendo x0 = 1, y0 = 2 y z0 = 2 en el miembro derecho de la relaci
on (3), obtenemos:

Facultad de Ingeniera

Departamento de Ciencias

UNIVERSIDAD
PRIVADA DEL NORTE

x1 =
y1 =
z1

7+21
4
21+4+2
8
15+22
5

1,75

= 3,375
=

3,00

El nuevo punto P1 = (1 .75, 3.375, 3. 00) est


a m
as cerca de (2, 4, 3) que P0 . En la Tabla 1 se
muestra c
omo los puntos {Pk } generados por la iteraci
on (3) a (2, 4, 3).

TABLA 1. Convergencia del metodo iterativo de Jacobi para el sistema (1)


k
0
1
2
3
4
5
..
.

xk

yk

zk

1.0
1.75
1.84375
1.9625
1.99062500
1.99414063
..
.

2.0
3.375
3.875
3.925
3.97656250
3.99531250
..
.

2.0
3.0
3.025
2.9625
3.00000000
3.00093750
..
.

15
..
.

1.99999993
..
.

3.99999985
..
.

2.99999993
..
.

19

2.00000000

4.00000000

3.00000000

Este proceso se conoce como m


etodo de iteraci
on de Jacobi y puede usarse para
resolver algunas clases de sistemas lineales. Tras 19 pasos, vemos que, al aplicarlo al sistema
(3), conseguimos 9 cifras decimales de aproximaci
on (2 .00000000, 4.00000000, 3.00000000 ).
En la resoluci
on numerica de ecuaciones en derivadas parciales suelen aparecer sistemas
de ecuaciones lineales con incluso 100000 inc
ognitas; en estos sistemas la matriz de los coeficientes es dispersa; es decir, un alto porcentaje de los elementos de la matriz son iguales a cero.
Si hay alg
un tipo de patr
on en la distribuci
on de los elementos distintos de cero (ejemplo: los
sistemas tridiagonales), entonces un metodo iterativo puede resultar muy eficaz en la resoluci
on
de estos sistemas tan enormes.
Algunas veces el metodo iterativo de Jacobi no funciona. Vamos a realizar un experimento
para comprobar que una reordenaci
on de las ecuaciones del sistema original puede tener como
consecuencia que el metodo iterativo de Jacobi aplicado al nuevo sistema produzca una sucesi
on
de puntos divergente.

Facultad de Ingeniera

Departamento de Ciencias

UNIVERSIDAD
PRIVADA DEL NORTE

Ejemplo 2 Reordenemos el sistema (1) como sigue:

2x + y + 5z =

15

4x 8y + z

= 21

4x y + z

x =
y =

(4)

15+y+5z
3
21+4x+z
8

(5)

z = 7 4x + y
entonces el metodo iterativo de Jacobi es, en este caso,

xk+1 =
yk+1 =
zk+1

15+yk +5zk
3
21+4xk +zk
8
74xk +yk
5

(6)

Veamos que si empezamos con el punto P0 = (x0 , y0 , z0 ) = (1, 2, 2), entonces el proceso iterativo
(6) diverge.

TABLA 2. Divergencia del metodo iterativo de Jacobi para el sistema (4)


k
0
1
2
3
4
5
6
..
.

xk

yk

zk

1.0
-1.5
6.6875
34.6875
-46.617188
-307.929688
502.62793
..
.

2.0
3.375
2.5
8.015625
17.8125
-36.150391
-124.929688
..
.

2.0
5.0
16.375
-17.25
-123.73438
211.28125
1202.56836
..
.

Sustituimos x0 = 1, y0 = 2 y z0 = 2 en el miembro derecho de (6) y obtenemos los nuevos


valores x1 , y1 y z1 siguientes:
Facultad de Ingeniera

Departamento de Ciencias

UNIVERSIDAD
PRIVADA DEL NORTE

x1 =
y1 =

15+2+10
2
21+4+2
8

= 3,375

= 74+2 =

z1

1,5

5,00

El nuevo punto P1 = (1 .5, 3.375, 5.00 ) est


a m
as lejos de la soluci
on (2, 4, 3) que P0 . De hecho
el proceso iterativo (6) diverge como se muestra en la Tabla 2.

2.

M
etodo iterativo de Gauss-Seidel

Algunas veces podemos acelerar la convergencia. Observemos que en el metodo iterativo de Jacobi
(3) se produce tres sucesiones {xk }, {yk } y {zk } que convergen, respectivamente a 2, 4 y 3. Puesto
que xk+1 es, probablemente, mejor aproximaci
on al lmite que xk , sera razonable usar xk+1 en
vez de xk a la hora de calcular yk+1 y, de forma semejante, sera mejor usar xk+1 e yk+1 en el
c
alculo de zk+1 . El siguiente ejemplo muestra lo que ocurre cuando se aplica este razonamiento
al sistema de ecuaciones del ejemplo 1.
Ejemplo 3 Consideremos el sistema de ecuaciones dado en (1) y el proceso iterativo, llamado
m
etodo de Gauss-Seidel, sugerido por (2):
xk+1 =
yk+1 =
zk+1

7+yk zk
4
21+4xk+1 +zk
8
15+2xk+1 yk+1
5

(7)

TABLA 3. Convergencia del metodo iterativo de Gauss-Seidel para el sistema (1)


k
0
1
2
3
..
.
8
9
10

xk

yk

zk

1.0
1.75
1.95
1.995625
..
.

2.0
3.75
3.96875
3.99609375
..
.

2.0
2.95
2.98625
2.99903125
..
.

1.99999983
1.99999998
2.00000000

3.99999988
3.99999999
4.00000000

2.99999996
3.00000000
3.00000000

Facultad de Ingeniera

Departamento de Ciencias

UNIVERSIDAD
PRIVADA DEL NORTE

Veamos que si empezamos con P0 = (x0 , y0 , z0 ) = (1, 2, 2), entonces el proceso iterativo (7)
converge a la soluci
on (2, 4, 3).
Sustituyendo y0 = 2 y z0 = 2 en la primera ecuaci
on de (7) obtenemos

x1 =

7+22
= 1,75
4

Sustituyendo ahora x1 = 1,75 y z0 = 2 en la segunda ecuaci


on de (7) obtenemos

y1 =

21 + 4 (1,75) + 2
= 3,75
8

Finalmente, sustituyendo x1 = 1,75 e y1 = 3,75 en la tercera ecuaci


on de (7) obtenemos

z1 =

15 + 2 (1,75) 3,75
= 2,95
5

El nuevo punto P1 = (1 .75, 3.75, 2.95 ) est


a m
as cerca de (2, 4, 3) que P0 y es mejor que el
punto obtenido en el ejemplo 1. En la Tabla 3 se muestra c
omo los puntos {Pk } generados por
la iteraci
on (7) convergen a (2, 4, 3).
A la vista de los ejemplos 2 y 3, se hace necesario disponer de alg
un criterio que determine
si el metodo iterativo de Jacobi converge. Para ello damos la siguiente definici
on.

Definici
on 1 Se dice que una matriz A de orden N N es de diagonal estrictamente
dominante cuando

|akk | >

N
X

|akj |

para

k = 1, 2, . . . , N

(8)

j=1,j6=k

Esto significa que en cada fila de la matriz, el tama


no del elemento que est
a en la diagonal
principal debe ser mayor que la suma de los tama
nos de todos los dem
as elementos de la fila. La
matriz de los coeficientes del sistema lineal (1), en el ejemplo 1, es de diagonal estrictamente
dominante porque

Facultad de Ingeniera

Departamento de Ciencias

UNIVERSIDAD
PRIVADA DEL NORTE

En la primera fila: |4| > |1| + |1|


En la segunda fila: |8| > |4| + |1|
En la tercera fila: |5| > |2| + |1|

Todas las filas verifican la relaci


on (8) de la definici
on 1; por tanto, la matriz de los coeficientes
A del sistema lineal (1) es de diagonal estrictamente dominante.
La matriz de los coeficientes A del sistema lineal (4), en el ejemplo (2), no es de diagonal
estrictamente dominante, porque
En la primera fila: |2| < |1| + |5|
En la segunda fila: |8| > |4| + |1|
En la tercera fila: |1| < |4| + |1|

Vamos a considerar ahora los procesos iterativos de Jacobi y Gauss-Seidel con mayor
generalidad. Supongamos que tenemos un sistema de ecuaciones lineales

a11 x1 + a12 x2 + . . . + a1j xj + . . . + a1N xN

b1

a21 x1 + a22 x2 + . . . + a2j xj + . . . + a2N xN

b2

..
.

..
.

..
.

..
.

aj1 x1 + aj2 x2 + . . . + ajj xj + . . . + ajN xN


..
.

..
.

..
.

..
.

aN 1 x1 + aN 2 x2 + . . . + aN j xj + . . . + aN N xN

..
.
=

bj

(9)

..
.
= bN



(k) (k)
(k)
(k)
Sea Pk = x1 , x2 , . . . , xj , . . . , xN el k-esimo punto obtenido, de manera que el siguiente


(k+1) (k+1)
(k+1)
(k+1)
. El superndice (k) de las coordenadas
punto es Pk+1 = x1
, x2
, . . . , xj
, . . . , xN
de Pk nos permite identificar las coordenadas que pertenecen a dicho punto. Las f
ormulas de
(k+1)
iteraci
on usan la fila j-esima de (9) para despejar xj
como una combinaci
on lineal de los
valores previamente obtenidos:
Metodo iterativo de Jacobi:
Facultad de Ingeniera

Departamento de Ciencias

UNIVERSIDAD
PRIVADA DEL NORTE

(k)

(k+1)
xj

(k)

(k)

(k)

bj aj1 x1 . . . ajj1 xj1 ajj+1 xj+1 . . . ajN xN

(10)

ajj

para j = 1, 2, . . . , N
En el metodo iterativo de Jacobi se usan todas las coordenadas del punto anterior en la
obtenci
on de las coordenadas del punto nuevo, mientras que en el metodo iterativo de GaussSeidel se emplean las coordenadas nuevas conforme se van generando:
Metodo Iterativo de Gauss-Seidel:
(k+1)

(k+1)
xj

bj aj1 x1

(k+1)

(k)

(k)

. . . ajj1 xj1 ajj+1 xj+1 . . . ajN xN


ajj

(11)

para j = 1, 2, . . . , N
Teorema 1 (Metodo iterativo de Jacobi). Supongamos que A es una matriz de diagonal estrictamente dominante. Entonces el sistema de ecuaciones lineales AX = B tiene soluci
on u
nica
X = P . Adem
as, el proceso iterativo dado por la f
ormula (10) produce una sucesi
on de vectores
{Pk } que converge a P cualquiera que sea el vector de partida P0 .
Puede probarse que el metodo iterativo de Gauss-Seidel tambien converge cuando la matriz
A es de diagonal estrictamente dominante as como para matrices simetricas definidas positivas.
Normalmente el metodo de Gauss-Seidel converge m
as r
apidamente que el de Jacobi, por lo que
es el que se suele preferir. Se dan casos, sin embargo, en los que el metodo de Jacobi converge
pero el de Gauss-Seidel no.

Programa 1 (Metodo iterativo de Jacobi). Resoluci


on de un sistema lineal AX = B mediante
la generaci
on de una sucesi
on {Pk } que converge a la soluci
on, a partir de un punto inicial P0 .
Una condici
on sificiente para que el metodo sea aplicable es que A sea de diagonal estrictamente
dominante.

function X=jacobi(A,B,P,delta,max1)
%Datos
%
- A es una matriz invertible de orden NxN.
%
- B es una matriz de orden Nx1.
%
- P es una matriz de orden Nx1: el punto inicial.
Facultad de Ingeniera

Departamento de Ciencias

UNIVERSIDAD
PRIVADA DEL NORTE

%
- delta es la tolerancia para P.
%
- max1 es el n
umero m
aximo de iteraciones.
%Resultados
%
- X es una matriz de orden Nx1:
%
la aproximaci
on a la soluci
on de AX=B generada por el m
etodo
%
iterativo de Jacobi
N=length(B);
for k=1:max1
for j=1:N
X(j)=(B(j)-A(j,[1:j-1,j+1:N])*P([1:j-1,j+1:N]))/A(j,j);
end
err=abs(norm(X-P));
relerr=err/(norm(X)+eps);
P=X;
if(err<delta)|(relerr<delta)
break
end
end
X=X;
Programa 2 (Metodo iterativo de Gauss-Seidel). Resoluci
on de un sistema lineal AX = B
mediante la generaci
on de una sucesi
on {Pk } que converge a la soluci
on, a partir de un punto
inicial P0 . Una condici
on suficiente para que el metodo sea aplicable es que A sea de diagonal
estrictamente dominante.

function X=gseid(A,B,P,delta,max1)
%Datos
%
- A es una matriz invertible de orden NxN.
%
- B es una matriz de orden Nx1.
%
- P es una matriz de orden Nx1: el punto inicial.
%
- delta es la tolerancia para P.
%
- max1 es el n
umero m
aximo de iteraciones.
%Resultados
%
- X es una matriz de orden Nx1:
%
la aproximaci
on a la soluci
on de AX=B generada por el m
etodo
%
iterativo de Gauss-Seidel

N=length(B);
for k=1:max1
Facultad de Ingeniera

Departamento de Ciencias

UNIVERSIDAD
PRIVADA DEL NORTE

for j=1:N
if j==1
X(1)=(B(1)-A(1,2:N)*P(2:N))/A(1,1);
elseif j==N
X(N)=(B(N)-A(N,1:N-1)*(X(1:N-1)))/A(N,N);
else
% X contiene la aproximaci
on k-
esima
% y P la k-1-
esima.
X(j)=(B(j)-A(j,1:j-1)*X(1:j-1)-A(j,j+1:N)*P(j+1:N))/A(j,j);
end
end
err=abs(norm(X-P));
relerr=err/(norm(X)+eps);
P=X;
if(err<delta)|(relerr<delta)
break
end
end
X=X;

Indice
1. M
etodo de iteraci
on de Jacobi.

2. M
etodo iterativo de Gauss-Seidel

Facultad de Ingeniera

Departamento de Ciencias

También podría gustarte