Solución de sistemas de ecuaciones lineales: Métodos de Jácobi y Gauss-Seidel

Soluci´on de sistemas de ecuaciones lineales: M´etodos de J´acobi y Gauss-Seidel Ing. Jes´ us Javier Cort´es Rosas M. en A. Miguel Eduardo Gonz´alez C...
0 downloads 1 Views 111KB Size
Soluci´on de sistemas de ecuaciones lineales: M´etodos de J´acobi y Gauss-Seidel Ing. Jes´ us Javier Cort´es Rosas M. en A. Miguel Eduardo Gonz´alez C´ardenas M. en A. V´ıctor D. Pinilla Mor´an Facultad de Ingenier´ıa, UNAM* 2006

Resumen Introducci´ on. Definici´ on del m´etodo de J´acobi. Criterio de convergencia. Definici´on del m´etodo de Gauss-Seidel. Criterio de convergencia. Ejemplo de aplicaci´on.

1.

Introducci´ on

Los m´etodos de J´acobi y de Gauss-Seidel son los equivalentes en la soluci´on de sistemas de ecuaciones lineales al m´etodo de aproximaciones sucesivas en la soluci´on de ecuaciones algebr´aicas y trascendentes. Consiste b´asicamente en obtener una ecuaci´on de recurrencia (matricial en este caso)y proponer un vector soluci´on inicial; posteriormente, se deber´an realizar las iteraciones necesarias hasta que la diferencia entre dos vectores consecutivos cumpla con una tolerancia predefinida. En realidad, estos m´etodos representan una adaptaci´on vectorial de un proceso escalar, lo que implica la necesidad de ’adaptar’ los conceptos necesarios: los procesos iterativos se detienen cuando entre dos aproximaciones consecutivas se cumple con determinado error preestablecido. En este caso, deber´a medirse la norma entre dos vectores para reconocer el momento en que se satisface la cota de error. Por otra parte, resta el hecho de tener que evaluar un criterio de equivalencia el cual, naturalmente, tendr´a caracter vectorial.

2.

Definici´ on del m´ etodo de J´ acobi

¯ = ¯b, donde A es la matriz de coeficientes, X ¯ es el vector Sea el sistema de ecuaciones lineales AX ¯ de inc´ognitas y b el vector de t´erminos independientes. *

Profesores de tiempo completo del Departamento de Matem´ aticas Aplicadas de la Divisi´ on de Ciencias B´ asicas

1

An´alisis num´erico

2

¯ = ¯b AX

(1)

En la ecuaci´on 1 se puede sustituir a la matriz A por la suma de dos matrices: A=D+R

(2)

En donde la matriz D es una matriz cuyos elementos son cero excepto los elementos de la diagonal que corresponden a los elementos de la matriz A y R que es una matriz con ceros en la diagonal y sus restantes elementos coindicen con los respectivos de A. 

... a1n ... a2n ... a3n .. .. . . ... ann



a11 0 0 0 a22 0 0 0 a33 .. .. .. . . . 0 0 0

... ... ... .. .



0 a21 a31 .. .

... a1n ... a2n ... a3n .. .. . . ... 0

a11 a21 a31 .. .

   A=  

a12 a22 a32 .. .

a13 a23 a33 .. .

an1 an2 an3     D=  

    R=  

a12 0 a32 .. .

a13 a23 0 .. .

an1 an2 an3

0 0 0 .. .

     

     

(3)

(4)

... ann       

(5)

Sustituyendo la ecuaci´on 2 en la ecuaci´on 1: ¯ = ¯b (D + R) · X ¯ + RX ¯ = ¯b DX ¯ despejando el t´ermino DX: ¯ = ¯b − RX ¯ DX Premultiplicando por la matriz D−1 ¯ = D−1 · (¯b − RX) ¯ D−1 · DX Resulta: ¯ = D−1 · (¯b − RX) ¯ X

(6)

La ecuaci´on 6 no aporta una soluci´on por s´ı misma, si se observa desde la ´optica del ´algebra matricial. Sin embargo, si se aplica desde una forma recursiva: ¯ (k+1) = D−1 · (¯b − RX ¯ (k) ) X

(7)

An´alisis num´erico

3

¯ (k) representa un vector soluci´on inicial y X ¯ (k+1) representa una Para k = 0, 1, 2, ..., n y donde X (k) ¯ . Se puede constatar claramente que la ecuaci´on 7 es totlaaproximaci´on posterior a la inicial X mente representativa de un m´etodo de aproximaciones sucesivas. Esta ecuaci´on 7 requiere de un breve an´alisis para su aplicaci´on pr´actica. En principio, la matriz D, detallada en 4 s´olo posee elementos diferentes de cero (que corresponden a los propios de A) en su diagonal principal. Es f´acilmente comprobable que la matriz inversa D−1 tambi´en posee u ´nicamente valores diferentes de cero en su diagonal principal y que estos valores corresponden a los rec´ıprocos de sus valores en la matriz A, es decir, ser´an a1ii . Por otra parte, el resto de los elementos de cada rengl´on de la matriz A se encuentran en la matriz R y son restados del vector de t´erminos independientes. En contexto, la ecuaci´on 7 equivale, a partir del sistema de ecuaciones lineales, a despejar a la inc´oginita de ubicada en la diagonal principal de cada una de las ecuaciones que conforman el sistema, de la siguiente forma: (k+1)

=

b1 −(a12 X (k2 ) +a13 X (k3 ) +...+a1n X (kn ) a11

(k+1)

=

b2 −(a21 X (k2 ) +a23 X (k3 ) +...+a2n X (kn ) a22

(k+1)

=

b3 −(a31 X (k2 ) +a32 X (k3 ) +...+a3n X (kn ) a33

X1 X2 X3

.. . (k+1)

Xn

(8)

.. . (k)

=

bn −(an1 X (k2 ) +an2 X (k3 ) +...+ann−1 Xn−1 ann

¯ 0 sea igual a cero. A partir de esta propuesta, el El m´etodo de J´acobi propone que el vector inicial X bi 1 ¯ vector siguiente ser´a X = aii , es decir, el elemento independiente entre el coeficiente de la diagonal principal para cada ecuaci´on. 

¯ (1) X

     =     

b1 a11 b2 a22 b3 a33

.. . bn ann

           

(9)

¯ (1) se sustituye en las ecuaciones 8 obteni´endose el siguiente vector X (2) . El proceso Este vector X se realiza consecutivamente hasta que la norma entre dos vectores consecutivos es menor que cierta tolerancia preestablecida. La norma θ se calcula como: q (k+1) (k) (k+1) (k) (k+1) (k) (k+1) (k) − X1 )2 + (X2 − X2 )2 + (X3 − X3 )2 + ... + (Xn − Xn )2 θ = (X1

(10)

An´alisis num´erico

3.

4

Criterio de convergencia

El m´etodo de J´acobi es susceptible de los efectos del pivoteo. En consecuencia, su criterio de convergencia lo conforman los criterios de la diagonal pesada, mismo que posee dos condiciones: 1. Condici´on necesaria: Es condici´on necesaria que el elemento ubicado en la diagonal principal de cada ecuaci´on sea mayor en valor absoluto que el resto de los elementos de la misma ecuaci´on. |aii | > |aij | (11) 2. Condici´on suficiente: Es condici´on suficiente que el elemento ubicado en la diagonal principal de cada ecuaci´on sea mayor en valor absoluto que la suma del resto de los elementos de la misma ecuaci´on. X |aii | > |aij | (12)

4.

M´ etodo de Gauss-Seidel

Este m´etodo es una versi´on acelerada del m´etodo de J´acobi. En el m´etodo de J´acobi es necesario contar con un vector aproximado completo para proceder a la sustituci´on en las ecuaciones de recurrencia y obtener una nueva aproximaci´on. En el m´etodo de Gauss-Seidel se propone ir sustituyendo los nuevos valores de la aproximaci´ on siguiente conforme se vayan obteniendo sin esperar a tener un vector completo. De esta forma se acelera la convergencia. A partir de las ecuaciones de recurrencia del m´etodo de J´acobi (8): (k)

(k+1)

=

(k+1)

=

(k+1)

=

X1

X2 X3

b1 −(a12 X (k2 ) +a13 X3 +...+a1n X (kn )) a11 (k+1)

b2 −(a21 X2

(k+1)

b3 −(a31 X2

.. . (k+1)

Xn

5.

(k)

+a23 X3 +...+a2n X (kn )) a22 (k+1)

+a32 X3 a33

+...+a3n X (kn ) )

(13)

.. . (k+1)

=

bn −(an1 X2

(k+1)

+an2 X3 ann

(k+1)

+...+ann−1 Xn−1 )

Criterio de convergencia

El criterio de convergencia del m´etodo de Gauss-Seidel corresponde totalmente al criterio de la diagonal pesada cuyas condiciones se expresan en las ecuaciones 11 y 12.

An´alisis num´erico

6.

5

Ejemplo de aplicaci´ on

Sea el sistema de ecuaciones lineales [1]: 10X1 +X2 +2X3 = 3 4X1 +6X2 −X3 = 9 −2X1 +3X2 +8X3 = 51

(14)

Antes de proceder en la soluci´on respectiva, se observa que los elementos ubicados en la diagonal principal cumplen satisfactoriamente con el criterio de convergencia o diagonal pesada. Dado lo anterior, se resolver´a el sistema utilizando ambos m´etodos para contrastar su uso. Iniciando por el m´etodo de J´acobi. Las ecuaciones de recurrencia son: (k)

(k)

(k+1)

=

3−X2 −2X3 10

(k+1)

=

9−4X1 +X3 6

(k+1)

=

51+2X1 −3X2 8

X1

X2 X3

(k)

(k)

(k)

(15)

(k)

La primera iteraci´on k = 1 es:   ¯ (1) =  X 

3 10 9 6 51 8

   



¯ (1) X

 0,3 =  1,5  6,375

(16)

La segunda iteraci´on k = 2 se obtiene sustituyendo al vector X 1 (16) en las ecuaciones de recurrencia 15. (2) X1 = 3−(1,5)−2(6,375) 10 (2)

=

9−4·(0,3)+6,375 6

(2)

=

51+2·(0,3)−3·(1,5) 8

X2 X3



¯ (2) X

 −1,125 =  2,3625  5,8875

(17)

Las sucesivas iteraciones se muestran en los cuadros 1 y 2. Las tolerancias son calculadas con la ecuaci´on 10: Se dice entonces que despu´es de trece iteraciones, con una tolerancia = 0,000007, el vector soluci´on es:   −1,00000 ¯ (12) =  2,99998  X (18) 5,00004 Ahora se realizar´a la soluci´on atendiendo la mejora en el m´etodo Gauss-Seidel. Las ecuaciones de

An´alisis num´erico

6

Cuadro 1: Iteraciones 0 a 6 por el m´etodo de J´acobi Iteraci´on X1 = X2 = X3 = Tolerancia

X (0) 0.30000 1.50000 6.37500

X (1) -1.12500 2.36250 5.88750 1.73557

X (2) -1.11375 3.23125 5.20781 1.10310

X (3) -1.06469 3.11047 4.88484 0.34829

X (4) -0.98802 3.02393 4.94240 0.12915

X (5) -0.99087 2.98241 4.99402 0.06631

X (6) -0.99705 2.99292 5.00888 0.01922

Cuadro 2: Iteraciones 7 a 12 en el m´etodo de J´acobi Iteraci´on X1 = X2 = X3 = Tolerancia

X (7) -1.00107 2.99951 5.00339 0.00947

X (8) -1.00063 3.00128 4.99992 0.00392

X (9) -1.00011 3.00041 4.99936 0.00116

X (10) -0.99991 2.99997 4.99982 0.00066

recurencia son: =

(k+1)

=

X2

(k+1)

X3 La iteraci´on

X (1)

(k)

(k+1)

X1

X (12) -1.00000 2.99998 5.00004 0.000007

(k)

3−X2 −2X3 10 (k+1)

9−4X1

(k)

+X3

(19)

6 (k+1)

=

X (11) -0.99996 2.99991 5.00003 0.00023

51+2X1

(k+1)

−3X2

8

se obtiene de la misma forma que la indicada en el vector 16:   0,3 ¯ (1) =  1,5  X 6,375

(20)

La diferencia se presenta en el c´alculo de la iteraci´on X (2) : (2)

=

3−(1,5)−2(6,375) 10

=

−1,125

(2)

=

9−4·(−1,125)+6,375 6

=

3,3125

(2)

=

51+2·(−1,125)−3·(3,3125) 8

X1

X2 X3



= 4,85156 

−1,125 ¯ (2) =  3,3125  X 4,85156

(21)

Repitiendo el proceso consecutivamente, mismo que se presenta en el cuadro 3: Se dice entonces que despu´es de seis iteraciones, con una tolerancia = 6,42839 · 10(−5) , el vector soluci´on es:   −0,999997259 ¯ (12) =  2,999995399  X (22) 5,000002411 La tolerancia es calculada por medio de la ecuaci´on 10.

An´alisis num´erico

7

Cuadro 3: Iteraciones por el m´etodo de J´acobi

Iteraci´on X1 X2 X3 Tolerancia

7.

X (0) 0.30000 1.50000 6.37500

X (1) -1.125 3.3125 4.8515625 2.763447678

X (2) -1.0015625 2.976302083 5.008496094 0.391016634

X (3) -0.999329427 3.000968967 4.999804281 0.026248607

X (4) -1.000057753 3.000005882 4.999983356 0.00122068

X (5) -0.999997259 2.999995399 5.000002411 6.42839·10(−5)

Conclusiones

Se concluye en dos sentidos diferentes: Primeramente, debe percibirse que el m´etodo de J`acobi es un antecedente del m´etodo de Gauss-Seidel, mismo que lo mejora de forma notable al acelerar su convergencia. En segundo t´ermino, pero no menos importante, estos m´etodos del g´enero de las aproximaciones sucesivas dependen fundamentalmente de su criterio de convergencia. En este caso, del criterio de la diagonal pesada. Es dif´ıcil establecer ’que tan pesada es una diagonal’. No se establece una relaci´on num´erica que nos diga la relaci´on que debe guardar el elemento aii sobre el resto de los coeficientes aij de su ecuaci´ on. En todo caso, entre m´as evidente sea el dominio de los elementos sobre la diagonal principal, m´ as r´apida ser´a la convergencia de la soluci´on.

Referencias [1] Rosa Elena Scheid, Francis. Di Constanzo. M´etodos num´ericos. Schaum. 1991.