Vous êtes sur la page 1sur 8

Mtodo de Jacobi

De Wikipedia, la enciclopedia libre


Saltar a: navegacin, bsqueda
En anlisis numrico el mtodo de Jacobi es un mtodo iterativo, usado para resolver
sistemas de ecuaciones lineales del tipo
. El algoritmo toma su nombre del
matemtico alemn Carl Gustav Jakob Jacobi. El mtodo de Jacobi consiste en usar
frmulas como iteracin de punto fijo.
La sucesin se construye descomponiendo la matriz del sistema
siguiente:

en la forma

donde
, es una matriz diagonal.
, es una matriz triangular inferior.
, es una matriz triangular superior.
Partiendo de

, podemos reescribir dicha ecuacin como:

Luego,

Si aii 0 para cada i. Por la regla iterativa, la definicin del Mtodo de Jacobi puede
ser expresado de la forma:

donde es el contador de iteracin, Finalmente tenemos:

Cabe destacar que al calcular xi(k+1) se necesitan todos los elementos en x(k), excepto el
que tenga el mismo i. Por eso, al contrario que en el mtodo Gauss-Seidel, no se puede
sobreescribir xi(k) con xi(k+1), ya que su valor ser necesario para el resto de los clculos.
Esta es la diferencia ms significativa entre los mtodos de Jacobi y Gauss-Seidel. La
cantidad mnima de almacenamiento es de dos vectores de dimensin n, y ser necesario
realizar un copiado explcito.

ndice
[ocultar]

1 Convergencia

2 Algoritmo
o 2.1 Implementacin en Java

3 Ejemplo

4 Enlaces externos

[editar] Convergencia

es la condicin necesaria y suficiente para la convergencia, siendo R = L + U. No es


necesario que los elementos de la diagonal en la matriz sean mayores (en magnitud) que
los otros elementos (la matriz es diagonalmente dominante), pero en el caso de serlo, la
matriz converge.

[editar] Algoritmo
El mtodo de Jacobi se puede escribir en forma de algoritmo de la siguiente manera:
Algoritmo Mtodo de Jacobi
funcin Jacobi ( ,

// es una aproximacin inicial a la solucin//


para
hasta convergencia hacer
para
hasta hacer
para
si

hasta
entonces

hacer

fin para

fin para
comprobar si se alcanza convergencia
fin para

[editar] Implementacin en Java


public class Jacobi {
double [][]matriz={{4,-2,1},{1,-5,32},{2,1,4}};
double []vector={2,1,3};
double []vectorR={1,2,3};
double []x2=vectorR;
double sumatoria=1;
int max=50;
public void SolJacobi(){
int tam = matriz.length;
for (int y = 0; y < 10; y++) {
System.out.println("\nvector " + y + "\n");
for(int t=0;t>max;t++){
x2=vectorR.clone();
for (int i = 0; i < tam; i++) {
sumatoria=0;
for (int s = 0; s < tam; s++) {
if(s!=i)sumatoria += matriz[i][s]*x2[s];
}
vectorR[i]=(vector[i]-sumatoria)/matriz[i][i];
System.out.print(" " + vectorR[i]);
}
}

}
}
public static void main(String[] args) {
Jacobi obj=new Jacobi();
obj.SolJacobi();
}

[editar] Ejemplo
Un sistema linear de la forma

con una estimacin inicial

esta dado por

Usamos la ecuacin
, descrita anteriormente, para
estimar . Primero, reescribimos la ecuacin de una manera mas conveniente
donde

, donde
y
. vea que
son las partes inferior y superior de . de los valores

conocidos.

determinamos

como

C es encontrada como

con T y C calculadas, estimaremos como

siguientes iteraciones.

este proceso se repetir hasta que converja (i.e., hasta que


solucin despus de 25 iteraciones es:

es menor). la

Mtodo de Jacobi

nlisis numrico el mtodo de Jacobi es un mtodo iterativo, usado para resolver sistemas de ecuaciones lineale

tipo Ax = b. El algoritmo toma su nombre del matemtico alemn Carl Gustav Jakob Jacobi.

ase del mtodo consiste en construir una sucesin convergente definida iterativamente. El lmite de esta sucesi
amente la solucin del sistema. A efectos prcticos si el algoritmo se detiene despus de un nmero finito de pas
llega a una aproximacin al valor de x de la solucin del sistema.
La sucesin se construye descomponiendo la matriz del sistema en la forma siguiente:
A= D + L + U
Donde:
D, es una matriz diagonal.
L, es una matriz triangular inferior.
U, es una matriz triangular superior
Partiendo de AX=b podemos reescribir dicha ecuacin como:
Dx + (L+U)x=b
Luego:

Si aii 0 para cada i. Por la regla iterativa, la definicin del Mtodo de Jacobi puede ser expresado de la forma:

donde k es el contador de iteracin, Finalmente tenemos:

destacar que al calcular xi(k+1) se necesitan todos los elementos en x(k), excepto el que tenga el mismo i. Por e
ario que en el mtodo Gauss-Seidel, no se puede sobreescribir xi(k) con xi(k+1), ya que su valor ser necesario p
de los clculos. Esta es la diferencia ms significativa entre los mtodos de Jacobi y Gauss-Seidel. La cantidad m
de almacenamiento es de dos vectores de dimensin n, y ser necesario realizar un copiado explcito.

todo de Jacobi siempre converge si la matriz A es estrictamente diagonal dominante y puede converger incluso s
ndicin no se satisface. Es necesario, sin embargo, que los elementos de la diagonal en la matriz sean mayores (

magnitud) que los otros elementos.


El mtodo de Jacobi se puede escribir en forma de algoritmo de la siguiente manera:

Ejemplo 1

proxima la solucin del siguiente sistema de ecuaciones lineales, con 5 iteraciones y determina la cantidad de cif
significativas exactas de la quinta iteracin. Utiliza como iteracin inicial

Solucin
eramente notamos que la matriz de coeficientes del sistema s es diagonalmente dominante. Por lo tanto, pode
emplear la frmula recursiva del mtodo de Jacobi, obteniendo:

Para la primera iteracin consideraremos

de donde

Para la segunda iteracin utilizamos los valores de la primera iteracin:

Similarmente para las otras tres iteraciones resulta la tabla de aproximaciones:

Los errores relativos para cada variable son:

De esta forma se puede asegurar que la aproximacin para

en la quinta iteracin slo tienen dos cifra

significativa exacta.
Ejemplo 2
10X1 + 1X2 = 11
2X1 + 10X2 = 12
Despeje de X1 en la ecuacin 1 Despeje de X1 en la ecuacin 2
1 Iteracin
2 Iteracin
3 Iteracin
Sustitucin de valores en la ecuacin 1 y 2.
10X1 + 1X2 = 11
10(1)+1 (1) = 11
11 = 11

Vous aimerez peut-être aussi