Vous êtes sur la page 1sur 7
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 cero 11.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 calcular 312 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 que 316 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.

Vous aimerez peut-être aussi