MÉTODO DE JACOBI El método de Jacobi consiste en realizar una secuencia de transformaciones ortogonales, cada transformación se denomina “rotación de Jacobi” Jacobi”; y corresponde a una rotación cuyo objetivo es eliminar a un elemento de la matriz. Se va rotando sucesivamente la matriz hasta que el error es pequeño para ser considerada una matriz matriz diagonal. diagonal. Un concepto fundamental de este método es que, al rotar la matriz para eliminar un elemento que ya sea cero, se modifican varios elementos situados en la fila y la columna del elemento que se rota, que podían valer cero y hasta haber rotado con anterioridad. Cada vez que se rota un elemento, todos los elementos que se insertan son función de la cantidad que se elimina ponderada por una función trigonométrica, por lo que el valor absoluto de los elementos distintos de la diagonal se reduce hasta que se considera que son cero. La composición de las rotaciones genera autovectores, en donde los elementos de la diagonal principal corresponden a los autovalores. Los métodos directos e indirectos en general tienen con los redondeos, truncamientos y aproximaciones a la solución real. Los métodos iterativos representan una alternativa potente para solucionar este inconveniente, ya que se acercan más a la solución real a medida que se itera, de manera que la calidad de la aproximación depende de la cantidad de iteraciones que se efectúa. El planteamiento empieza en suponer un valor inicial y enseguida se usar un método sistemático para obtener una estimación más refinada de la solución. El Método El Método de Jacobi es Jacobi es uno de los métodos iterativos más conocidos. Supóngase que se tiene un sistema (3x3) de ecuaciones. Si los elementos de la diagonal no son todos cero, la primera ecuación se resuelve para x para x1, la segunda para x para x2 y la tercera para x3, para obtener:
Para un sistema de ecuaciones lineales de n ecuaciones con n incógnitas, el Método el Método de Jacobi para encontrar un valor k de de una variable x variable x utiliza la siguiente ecuación iterativa:
El procedimiento consiste en asignar valores iniciales a las variables, usualmente se escogen los valores triviales, "0" por simplicidad, de manera que para generar la siguiente iteración se sustituyen los valores valores en la ecuación iterativa, con lo lo que se obtiene: o btiene:
En la siguiente sección se ilustra cómo la convergencia de éste método está dada por:
Convergencia del método: Para determinar si el método de Jacobi converge Jacobi converge hacia una solución, se evalúan las siguientes condiciones de convergencia. (Nota: las siguientes van en un orden de modo que si se cumple una de las condiciones, comenzando por la primera por supuesto, la evaluación de las siguientes no es necesario realizarlas): La matriz sea estrictamente dominante diagonalmente por filas (E.D.D. por filas), es decir, para toda i desde 1 hasta n que es el tamaño de la matriz A:
Es decir, el elemento de la diagonal correspondiente a la fila i debe ser mayor a la suma de los elementos de esa fila i. A partir de la siguiente identidad:
Donde D corresponde a la matriz formada por los elementos de la diagonal de A (D=diag(a (D=diag(a11, a22, ..., ann)), -L corresponde a la matriz triangular inferior obtenida de la parte triangular estrictamente inferior de A, y -U corresponde a la matriz triangular superior obtenida de la parte triangular estrictamente superior de A, se puede deducir la fórmula vectorial de este método: , k = = 1, 2, ... De donde B J (conocida como la matriz de iteración de Jacobi) Jacobi) es D -1(L+U). Para que el método de Jacobi converja Jacobi converja hacia una solución,
,
Para una norma matricial inducida. ρ(B J ), ), que corresponde al máximo de los valores absolutos de las raíces de la ecuación característica de la matriz B J (det(B J - λ I)) I)) es menor que 1. El método de Jacobi es Jacobi es el método iterativo más elemental; ya que el proceso se repite tantas veces hasta llegar a una tolerancia deseada, se empieza a partir de un vector inicial (el vector de ceros la mayoría de las veces).
Ejercicio 11.7 (Chapra 5ta edición) El siguiente sistema de ecuaciones está diseñado para determinar concentraciones (las c están 3 en g/m ), en un arreglo de reactores en serie como una función de la cantidad de masa que entra a cada reactor (el termino independiente de las ecuaciones se expresa en g/día). 17c1 2c 2 3c 3 500
5c1 21c 2 2c 3 200 5c1 5c 2 22c 3 30 Resolver este sistema de ecuaciones lineales por el método de Gauss-Seidel y Jacobi para un error del 5%.
Solución La solución de este problema se plantea a partir de balance de masa que expresa las entradas y salidas en términos de variables y parámetros medibles. medibles. La solución con el método de Gauss-Seidel, es la siguiente:
B, un sistema de ecuaciones equivalente Para el sistema A X equ ivalente es: C X E
X
Donde:
A = matriz de nxn de coeficientes del sistema original B = vector de nx1 de términos independientes C = (matriz nxn) y E = (vector de nx1) 17
En este caso:
A
5 5
2 3 21 2 5 22
500 ,
B
200 30
Con esa transformación se plantea la siguiente formula recurrente para generar, a partir de valores iniciales X[0], una serie de est imativos imativos X[1], X[2], X[3], … de la solución X del sistema.
Representación matricial: [ k ]
X
[ k 1]
C X
E
C L D1 U 1 E L D B
0
Donde:
L
0
0
5 0 5 5
0
17
0
0
0
0
21
0
0 , U
0
0
22
0
D
,
0
2 3 0 2 0
0
Representación analítica:
k
X 1
k
X 2
1 17 1
k
X 3
500 2 X 2 1 3 X 3 1 k
200 5 X 1 2 X 3 1 k
21 1
k
22
k
30 5 X 1 5 X 2 k
k
Este método es iterativo, a medida que se obtiene un valor de X, el último resultado se usa inmediatamente en la siguiente ecuación para obtener otro valor de X. De esta manera, si la solución es convergente, se determina la mejor aproximación disponible. Con el método de Jacobi, a diferencia de gauss-seidel, para calcular un conjunto de nuevas X se usa no solamente un valor de x, sino todo el conjunto de las X anteriores, de esta manera, a medida que se generan nuevos valores para X no se usan de forma inmediata sino que se almacenan y usan en la siguiente iteración. Las matrices C y E se obtienen o btienen de la siguiente manera: [ k 1]
X
C X E [ k ]
D1 D U U D1 B E C
Representación analítica: k
X 1
k
X 2
k
X 3
Criterio de convergencia:
1 17 1
500 2 X 2 1 3 X 3 1 k
200 5 X 1 1 2 X 3 1
21 1
k
22
k
k
30 5 X 1 1 5 X 2 1 k
k
[1]
[2]
[3],
Un método iterativo es convergente, cuando la serie de soluciones que genera X , X , X … se acerca cada acerca cada vez más a la solución X*. Para que el sistema sea convergente, el sistema debe cumplir que el valor absoluto de los valores propios de la matriz “C” sean menor ó igual a 1. i 1
Resultados El método de Gauss Seidel es el más usado para la solución de sistemas de ecuaciones lineales, se utilizan valores iniciales de X para calcular uno nuevo con Gauss Seidel, y el cálculo siguiente involucra el resultado inmediatamente anterior, hasta lograr la convergencia deseada. Un método alternativo es el método de Jacobi que a partir de valores iniciales de X calcula un nuevo conjunto de valores de X que se utilizan en la iteración siguiente y así sucesivamente hasta lograr la convergencia. La diferencia operativa entre los dos métodos se refleja en el número de iteraciones y el error de desviación, según la tabla, el método de Gauss Siedel logra rápido la convergencia con un porcentaje de error menor, es de esperarse ya que el radio espectral para este método es menor que el del método de Jacobi. El método de Gauss Seidel además tiene un criterio de convergencia suficiente, el coeficiente diagonal en cada unan de las ecuaciones debe ser mayor que la suma del valor absoluto de los otros coeficientes de la ecuación, aunque la condición no es necesaria si se satisface se garantiza la convergencia del método.
Variable
Jacobi
GaussSeidel
Radio espectral Numero de Iteraciones %Error
0.3523 9 4.5780
0.1205 5 1.5334
La grafica de convergencia entre los métodos iterativos de Jacobi y Gauss-Seidel demuestra que pese a que el método de Jacobi contiene buenos planteamientos no se encuentra optimizado a diferencia del método de Gauss-Seidel, cuya convergencia es más rápida la de Jacobi. El error disminuye en el método de Gauss-Seidel por su manera de operar, esto implica que las iteraciones no empiezan en valores tan alejados de la solución, lo cual no sucede en el método de Jacobi ya que los valores iniciales para calcular el primer conjunto de resultados son supuestos arbitriamente a menos que se tenga un indicio de la disposición de la solución ó de los resultados esperados. En la figura 1 se observa la tendencia del error en ambos métodos para el número de iteraciones correspondiente. correspondiente. Comparación de error entre los métodos de Jacobi y Gauss-Seidel 250 error con el método de Jacobi error con el método de Gauss-Seidel 200
150 r o r r E
100
50
0
1
2
3
4 5 6 Número de iteracion
7
8
9
Figura 1. Comparación Comparación del error para para los métodos de Gauss-Seidel y Jacobi
Ejemplo; Considérese el sistema de ecuaciones lineal: 4 x1 x 2 x3 9
3 2 1 2 5
x
x
1
x
x
x
3
x
3
10 , la solución exacta es: 18
x
1
1
x
2
2
x
3
3.
1.- Se pide comprobar que hacen falta 23 iteraciones del método de Jacobi para conseguir que
( 0)
x
(
x
n
)
s 2 sea
-6
menor que 10 , siendo
s
vector solución (1, 2, 3) y
partiendo de
( 0, 0, 0) .
2.- Comprobar que sólo hacen falta 9 iteraciones del método de Gauss-Seidel para conseguir el mismo objetivo. Se trata de ver a continuación, que tanto el método de Jacobi como Gauss-Seidel son convergentes siempre, independientemente del valor elegido para x ( 0) , al tener la matriz de los coeficientes del sistema la diagonal estrictamente dominante:
3.- Comprueba que también converge a la solución cuando x ( 0) ( 527,1000, 80000) (muy alejado de la solución) solución) y que hacen falta 38 iteraciones del método de Jacobi para que conseguir que
(
x
n
)
s
-6
2
sea menor que 10 .
4.- Comprueba que el método de Gauss-Seidel necesitaría 13 iteraciones para conseguir el mismo mismo objetivo. o bjetivo.