310
MATRICES ESPECIALES Y EL METODO DE GAUSS-SEIDEL
11.2
embargo, cuando la matriz es definida positiva,' esto nunca ocurrird. Debido a que
muchas de las matrices simétricas que se usan en ingenierfa son de hecho definidas
positivas, el algoritmo de Cholesky tiene una amplia aplicacién. Otro beneficio al traba-
jar con matrices simétricas definidas positivas es que no se requicre el pivoteo para
evitar la divisin entre cero. Asi, es posible implementar el algoritmo de la figura 11.3
sin la complicacién del pivoteo.
GAUSS-SEIDEL
Los métodos iterativos constituyen una alternativa a los métodos de eliminacin descri-
tos hasta ahora, para aproximar la soluci6n. Tales métodos son similares a las técnicas
que se desarrollaron en el capftulo 6 para obtener las raices de una sola ecuacién. Aque-
os métodos consistfan en suponer un valor y Iuego usar un método sistemético para
obtener tna aproximacién mejorada de la raz, Como esta parte del libro trata con un
problema similar (obtener los valores que simulténeamente satisfagan un conjunto de
ecuaciones). Entonces se esperaria que tales métodos aproximados fuesen titles en este
contexto.
El método de Gauss-Seidel es el método iterativo mas coménmente usado. Supon-
ga que se da un sistema de n ecuaciones:
[A]{X} = (B}
‘Suponga que se limita a un conjunto de ecuaciones de 3 x 3. Silos elementos de la di
gonal no son todos cero, la primera ecuacién se puede resolver para x,, la segunda para
x) y la tercera para x,, para obtener
(asa)
(aL.5b)
(ise,
Ahora, se puede empezar el proceso de solucién al escoger valores iniciales para
Jas x. Una forma simple para obtener los valores iniciales es suponer que todos son cero.
Estos ceros se sustituyen en la ecuacién (11.5a), la cual se utiliza para calcular un nuevo
valor x, = by/ay,. Después, se sustituye este nuevo valor de x, junto con el valor previo
cero de x, en Ia ecuacidn (11.56) y se calcula el nuevo valor de x,. Este proceso se repite
con Ia ecuacidn (11.5¢) para calcular un nuevo valor de x,. Después se regresa a la pri-
‘mera ecuacién y se repite todo el procedimiento hasta que la solucién converja suficien-
"Una mais definida postiva es aquella para la cual el producto (X)"A](X) es mayor que cero, para todo
vector (X} distinto de cero11.2 GAUSS-SEIDEL 311
EJEMPLO 11.3
temente cerca a los valores verdaderos. La convergencia se verifica usando el criterio
{recuerde la ecuacién (3.5)]
a6)
para todas las i, donde j y j— 1 son las iteraciones actuales y previas, respectivamente.
Método de Gauss-Seidel
Planteamiento del problema. Use el método de Gauss-Seidel para obtener la solucién
del sistema usado en el ejemplo 11.1:
3x, -O.Lx,-0.2x,= 7.85
O.Lx, + Tx, 0.3% = -19.3
0.3x,—0.2x, + 10x,= 71.4
Recuerde que la verdadera soluci6n es x, = 3,.x,=-2.5 yxy
Solucién. Primero, despeje la incégnita sobre la diagonal para cada una de las ecua-
ciones.
7.85+0.1x, +0.2%,
EU31
5 113.1)
4g, HOS O.d 40.38, ena)
a 7 B
=03, a
= 14-035, 40.2%) 1133)
%
10
Suponiendo que x, y.x, son cero, se utiliza la ecuacién (11.3.1) para calcular
854040 _ 5 616667
Este valor, junto con el valor de x, = 0, se sustituye en la ecuacién (B11.3.2) para calcular
19.3-0.1(2.616667) +0
7
La primera iteraci6n termina al sustituir los valores calculados para x, y x, en la ecuacién
(11.3.3) para dar
x 2.794524
_ M4~0.3(2.616667) + 0.2(-2.794524)
% 7.005610
10
En la segunda iteracién, se repite el mismo proceso para calcular312
MATRICES ESPECIALES Y EL METODO DE GAUSS-SEIDEL
“x, = L8S+0.1(-2.794524) + 0.2(7.005610)
5 = 2.990557 0.31%
= 2193-012. 990557) +07 005610) __5 goy95 ose
s : st
. 0.3(2.990557) 499625) _ + 999291 0.0042%
10
El método es, por lo tanto, convergente hacia la verdadera solucién, Es posible aplicar
iteraciones adicionales para mejorar los resultados. Sin embargo, en un problema real,
no se podrfa saber a priori el resultado correcto. En consecuencia, la ecuacidn (11.6) nos
da un medio para estimar el error. Por ejemplo, para x,,
100% = 12.5%
| [povessd—2.stees
‘ 2.990557
Para x, y x;, los errores estimados son |€,,] = 11.8% y l€,,| = 0.076%. Observe que,
como cuando se determinaron las raices de una sola ecuaci6n, las formulaciones como
la ecuacién (11.6) usualmente oftecen una valoracién conservativa de la convergencia.
Asi, cuando éstas se satisfacen, aseguran que el resultado se conozca con, al menos, la
tolerancia especificada por €,
Conforme un nuevo valor de x se calcula con el método de Gauss-Seidel, éste se usa
inmediatamente en la siguiente ecuacién para determinar el otro valor de x. De esta
forma, sila solucién es convergente, se emplears la mejor aproximacién disponible. Un
método alternativo, llamado iteracién de Jacobi, emplea una téctica algo diferente, Mas
que usar inmediatamente el ultimo valor disponible de x, esta técnica usa la ecuacién
(11.5) para calcular wn conjunto de nuevas x con base en un conjunto de x anteriores. De
esta forma, conforme se generan nuevos valores, no se usan en forma inmediata sino
que se retienen para la siguiente iteracién,
La diferencia entre el método de Gauss-Seidel y Ia iteracién de Jacobi se muestra en
Ja figura 11.4, Aunque hay ciertos casos donde es itl el método de Jacobi, la utilizacién
de Gauss-Seidel da la mejor aproximacisn y usualmente lo hace el método preferido,
11.2.1 Criterio de convergencia para el método de Gauss-Seidel
Observe que el método de Gauss-Seidel es similar en esencia a la técnica de iteracién de
punto fijo que se us6 en la seccién 6.1 para obtener las rai
cuerde que la iteracién de punto fijo presenta dos problemas fundamentales: 1. en algunas
ocasiones no es convergente, y 2. cuando converge, con frecuencia lo hace en forma muy
lenta. El método de Gauss-Seidel puede también presentar estas desventajas
s de una sola ecuacién, Re-11.2 GAUSS-SEIDEL 313
oy9%) /ay
= (ee ~ ai) ~ Oas%s) / te
= (6) — a51%.~ asso /oss
Segunda iteracion
j= am — 03%) /ay | x) =(6 - 019%
asx) /ay,
X= Lea 91%) — a /0%9 | 9 = (Cr ~ O91 — 032) /0%0
ay) Onl fas | m0 =
a
FIGURA 11.4
llutracién gréfica de la dlferencia ente los métodos de o| Gauss-Seidel y b) iterative de
Jacobi, pare resolver sistemas de ecuaciones algebraicas tneales
El criterio de convergencia se puede desarrollar al recordar de la secci6n 6.5.1 que
las condiciones suficientes para la convergencia de dos ecuaciones no lineales, u(x, y) y
Ga, y), son
lau
lax
«ai.tay
at)
Este criterio se aplica también a las ecuaciones lineales que se resuelven con el mé-
todo de Gauss-Seidel. Por ejemplo, en el caso de dos ecuaciones simultaneas, el algorit-
mo de Gauss-Seidel fecuacién (11.5)] se expresa como
x (a1.8a)
vO%) «a1.86)
Las detivadas parciales de estas ecuaciones se evalian con respecto a cada una de las
incdgnitas asf
or av ay,
Buig Le
ax, ax,314 MATRICES ESPECIALES Y EL METODO DE GAUSS-SEIDEL
y
ed ae
ma Oy
que se sustituyen en la ecuacién (11.7) para dar
(Sa) <1 (19a)
y
(11.96),
En otras palabras, el valor absoluto de las pendientes en la ecuacién (11.8) debe ser
menor que la unidad para asegurar la convergencia, lo cual se muestra grificamente en
Ja figura 11.5. La ecuacién (11.9) también se reformula asi:
la,.| > la]
y
Ta.) > lay,
Esto es, el elemento diagonal debe ser mayor que el clemento fuera de la diagonal para
cada renglén,
La generalizacién de lo anterior para n ecuaciones es directa y se expresa como
leud> > fas (11.19
FIGURA 11.5
Repraseatacién o} de la . .
convergencia y 6} de la 3 a ®
divergencia del método
de Gauss-Seidel. Observe \
aque las misma Sunciones
son dibjadas en ambos:
casos (u: 11x) + 13x,
286; vi 11x; - 9x2 = 99).
Asi, el orden en el cual se
implementan las ecvaciones 2 e
(se representa por la “
direccién de la primera \
flecha desde al origen}
determina si el célculo a) +b)
converge,11.2 GAUSS-SEIDEL 315
Es decir, el coeficiente diagonal en cada una de las ecuaciones debe ser mayor que la
suma del valor absoluto de los otros coeficientes de la ecuacién. Este criterio es suficien-
te pero no necesario para la convergencia. Es decir, el método puede funcionar aunque
no se satisfaga la ecuacién (11.10), la convergencia se garantiza cuando la condicién se
satisface. A los sistemas que cumplen con la ecuacién (11.10) se les conoce como dia~
gonalmente dominantes. Por fortuna, en la ingenieria, muchos problemas de importan-
cia préctica satisfacen este requerimiento,
11.2.2 Mejoramiento de la convergencia usando relajacién
La relajacién representa tna ligera modificacién al método de Gauss-Seidel y ésta per-
mite mejorar la convergencia, Después de que se calcula cada nuevo valor de x por
medio de la ecuacién (11.5), ese valor se modifica mediante un promedio ponderado de
Jos resultados de las iteraciones anterior y actual
= AxPe 4 (LA au
x
donde A es un factor ponderado que tiene un valor entre 0 y 2.
Si2=1,(1—A)es igual a 0 y el resultado no se modifica. Sin embargo, sia A se le
asigna un valor entre 0 y 1, el resultado es un promedio ponderado de los resultados
actuales y anteriores. Este tipo de modificacién se conoce como subrelajacidn, Se emplea
comiinmente para hacer que un sistema no convergente, converja 0 apresure la conver-
gencia al amortiguar sus oscilaciones.
Para valores 2 de 1 a 2, se Ie da una ponderacién extra al valor actual. En este caso,
hay una suposicién implicita de que el nuevo valor se mueve en la direccién correcta
hacia Ia solucin verdadera, pero con una velocidad demasiado Ienta, Por Io tanto, se
pretende que la ponderacién adicional de 2 mejore la aproximacién al llevarla mas cer-
ca dela verdadera, De aqui que este tipo de modificacién, al cual se le llama sobrerre-
lajacién, permite acelerar la convergencia de un sistema que ya es convergente, El
método también se conoce como sobrerrelajacién simultdnea 0 sucesiva, 0 SOR.
La eleccién de un valor adecuado de A es especificado por el problema y se deter
mina en forma empirica, Para la soluci6n de un solo sistema de ecuaciones, con frecuen-
cia es innecesaria. No obstante, si el sistema bajo estudio se va a resolver de manera
repetida, la eficiencia que se introduce por una prudente eleccidn de A puede ser impor-
tante en extremo, Buenos ejemplos de lo anterior son los sistemas muy grandes de
ecuaciones diferenciales parciales, que frecuentemente se presentan cuando se modelan
variaciones continuas de variables (recuerde el sistema distribuido que se mostré en la
figura PT3.1b). Se retomaré el tema en la parte ocho.
11.2.3 Algoritmo para el método de Gauss-Seidel
En la figura 11.6 se muestra un algoritmo para el método de Gauss-Seidel con relajacién,
Observe que este algoritmo no garantiza la convergencia si las ecuaciones no se intro=
ducen en una forma diagonalmente dominante.
seudocédigo tiene dos caracteristicas que vale la pena mencionar. La primera es
que existe un conjunto inicial de ciclos anidados para dividir cada ecuacién por su ele~
mento diagonal, Esto reduce el ntimero total de operaciones en el algoritmo. En la segun-
da, observe que la verificacién del error se designa por una variable llamada centinela
(sentinel). Si en cualquiera de las ecuaciones se tiene un error aproximado mayor que316 MATRICES ESPECIALES Y EL METODO DE GAUSS-SEIDEL
SUBROUTINE Gseid (a,b, 0.x, imax, es, lambda)
DOFOR i = I.n
dumny = a,,,
DOFOR j = 1.0
a, dummy
by = bf dummy
END DO
DoFOR i = 1, 9
sum = by
DOFOR j= 1. 0
IF ig THEN sum = sum ~ ay y*xy
END 00
xvsum
END D0
iter=1
DoFOR
centinel,
DOFOR i = I.n
old = x,
sum = b,
DOFOR j ~ 1.0
IF i¢j THEN sum = sum ~ ay, ,*X,
END 00
x, Jambda*sum +(1.-lambda)*old
IF centinela = 1 AND x, # 0. THEN
ea ~ ABS((x, ~ 01d)/x,)*100,
IF ea > es THEN centinela = 0
END 1F
END po
iter = iter +1
IF centinela =
END DO
END Gseid
OR (iter > imax) EXIT
FIGURA 11.6
Seudocéddigo para el método de Gauss-Seidel con relajacién
el criterio de paro (e,), entonces se permite continuar con las iteraciones. El uso de la
variable centinela ayuda a evitar célculos innecesarios de estimacién de error una vez
que las ecuaciones excedan el criterio,
11.2.4 Contextos del problema en el método de Gauss-Seidel
Ademas de evitar el problema de redondeo, la técnica de Gauss-Seidel tiene muchas otras
ventajas que la hacen particularmente atractiva en el contexto de ciertos problemas de
ingenierfa. Por ejemplo, cuando la matriz. en cuestién es muy grande y esparcida (es
decir, cuando la mayoria de los elementos son cero), los métodos de eliminacién desper-
dician grandes cantidades de memoria de cémputo al guardar ceros.