Page 340 - Chapra y Canale. Metodos Numericos para Ingenieros 5edición_Neat
P. 340
316 MATRICES ESPECIALES Y EL MÉTODO DE GAUSS-SEIDEL
SUBROUTINE Gseid (a, b, n, x, imax, es, lambda)
DOFOR i = 1,n
dummy = a i,i
DOFOR j = 1,n
a i,j = a i,j /dummy
END DO
b i = b i /dummy
END DO
DOFOR i = 1, n
sum = b i
DOFOR j = 1, n
IF i≠j THEN sum = sum – a i,j *x j
END DO
x i =sum
END DO
iter=1
DOFOR
centinela = 1
DOFOR i = 1,n
old = x i
sum = b i
DOFOR j = 1,n
IF i≠j THEN sum = sum – a i,j *x j
END DO
x i = lambda*sum +(1.–lambda)*old
IF centinela = 1 AND x i ≠ 0. THEN
ea = ABS((x i – old)/x i )*100.
IF ea > es THEN centinela = 0
END lF
END DO
iter = iter + 1
IF centinela = 1 OR (iter ≥ imax) EXIT
END DO
END Gseid
FIGURA 11.6
Seudocódigo 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
s
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
Además 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
ingeniería. Por ejemplo, cuando la matriz en cuestión es muy grande y esparcida (es
decir, cuando la mayoría de los elementos son cero), los métodos de eliminación desper-
dician grandes cantidades de memoria de cómputo al guardar ceros.
6/12/06 13:54:13
Chapra-11.indd 316
Chapra-11.indd 316 6/12/06 13:54:13

