El algoritmo toma su nombre del matemático alemán Carl Gustav Jakob Jacobi. Su método consiste en usar fórmulas como iteración de punto fijo.
La sucesión se construye descomponiendo la matriz del sistema A en la forma siguiente:
A = D – L – U
Donde D es una matriz diagonal, L una matriz triangular inferior y U una matriz triangular superior.
Su forma general con es la siguiente:
Su forma matricial parte del sistema Ax=b donde A, D – L, y D son invertibles:
(D – L – U)x = b
Dx – (L + U)x = b
Dx = (L + U)x + b
X = D-1(L + U)x + D-1 b
X(k+1) = D-1 (L + U) x(k) + D-1 b
Donde Tj = D-1 (L + U) y Cj = D-1
Si en algún momento x(k+1) = x(k) , entonces x(k) es la solución al sistema.
Ejemplo:
Con el vector inicial x = (0 0 0)’, resolver el siguiente sistema de ecuaciones:
6x1 + 2x2 + x3 = 22
-x1 + 8x2 + 2x3 = 30
X1 – x2 + 6x3 = 23
Se despejan las variables x de cada una de las ecuaciones:
X1 = (22 – 2x2 – x3)/6
X2 = (30 + x1 – 2x3)/8
X3 = (23 – x1 + x2)/6
Para el vector inicial x, los valores de x1, x2, x3 son 3.66, 3.75, 3.83 respectivamente.
Se reemplazan estos nuevos valores de x en las ecuaciones obtenidas e iteramos:
|
Iteración |
X1 |
X2 |
X3 |
|
0 |
0 |
0 |
0 |
|
1 |
3.67 |
3.75 |
3.83 |
|
2 |
1.78 |
3.25 |
3.85 |
|
3 |
1.94 |
3.01 |
4.08 |
|
4 |
1.98 |
2.97 |
4.01 |
|
5 |
2.01 |
3.00 |
4.00 |
|
6 |
2.00 |
3.00 |
4.00 |
Se puede observar que a partir de la sexta iteración se presenta convergencia.
Código: JACOBI