Método de Jacobi

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

En análisis numérico el método de Jacobi es un método iterativo, usado para resolver sistemas de ecuaciones lineales del tipo Ax=b. El algoritmo toma su nombre del matemático alemán Carl Gustav Jakob Jacobi. El método de Jacobi consiste en usar fórmulas como iteración de punto fijo.

La sucesión se construye descomponiendo la matriz del sistema \mathbf{A} en la forma siguiente:

\mathbf{A} = \mathbf{D} + \mathbf{L} + \mathbf{U}

donde

\mathbf{D}, es una matriz diagonal.
\mathbf{L}, es una matriz triangular inferior.
\mathbf{U}, es una matriz triangular superior.

Partiendo de  A x = b\, , podemos reescribir dicha ecuación como:

\mathbf{D}x+\left( \mathbf{L}+\mathbf{U}\right)x = b

Luego,

x=\mathbf{D}^{-1} \left[ b-\left( \mathbf{L}+\mathbf{U} \right)x \right]

Si aii ≠ 0 para cada i. Por la regla iterativa, la definición del Método de Jacobi puede ser expresado de la forma:

x^{\left( k+1 \right)}=\mathbf{D}^{-1}\left[ b-\left( \mathbf{L}+\mathbf{U} \right)x^{(k)} \right]

donde k es el contador de iteración, Finalmente tenemos:

x_{i}^{\left( k+1 \right)}=\frac{1}{a_{ii}}\left( b_{i} - \sum\limits_{j\ne i}{a_{ij}x_{j}^{\left( k \right)}} \right),i=1,2,3,...

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 método Gauss-Seidel, no se puede sobreescribir xi(k) con xi(k+1), ya que su valor será necesario para el resto de los cálculos. Esta es la diferencia más significativa entre los métodos de Jacobi y Gauss-Seidel. La cantidad mínima de almacenamiento es de dos vectores de dimensión n, y será necesario realizar un copiado explícito.

Convergencia[editar]

El método de Jacobi siempre converge si la matriz A es estrictamente diagonal dominante y puede converger incluso si esta condición no se satisface.

Para verificar la convergencia del método se calcula el radio espectral (ρ):

\rho(D^{-1}R) < 1.

es la condición 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.

Algoritmo[editar]

El método de Jacobi se puede escribir en forma de algoritmo de la siguiente manera:

Algoritmo Método de Jacobi

función Jacobi (A, x^{0})

//x^{0} es una aproximación inicial a la solución//
para k\gets 1 hasta convergencia hacer
para i\gets 1 hasta n\, hacer
\sigma\gets 0
para j\gets 1 hasta n\, hacer
si j \neq i\, entonces
\sigma = \sigma + a_{ij} x_j^{(k-1)}
fin para
  x_i^{(k)}  = {{\left( {b_i  - \sigma } \right)} \over {a_{ii} }}
fin para
comprobar si se alcanza convergencia
fin para

Ejemplo[editar]

Un sistema lineal de la forma Ax=b con una estimación inicialx^{(0)} está dado por

 A=
      \begin{bmatrix}
           2 & 1 \\
           5 & 7 \\
           \end{bmatrix},
 \ b=
      \begin{bmatrix}
           11 \\
           13 \\
           \end{bmatrix}
\quad \text{y} \quad x^{(0)} =
        \begin{bmatrix}
           1 \\
           1 \\
        \end{bmatrix} .

Usamos la ecuación  x^{(k+1)}=D^{-1}(b - Rx^{(k)}), descrita anteriormente, para estimar x. Primero, reescribimos la ecuación de una manera más conveniente D^{-1}(b - Rx^{(k)}) = Tx^{(k)} + C, donde T=-D^{-1}R y C = D^{-1}b. vea que R=L+U donde L y U son las partes inferior y superior de A. de los valores conocidos.

 D^{-1}=
      \begin{bmatrix}
           1/2 & 0 \\
           0 & 1/7 \\
           \end{bmatrix}, 
 \ L=
      \begin{bmatrix}
           0 & 0 \\
           5 & 0 \\
           \end{bmatrix}
\quad \text{y}  \quad U =
        \begin{bmatrix}
           0 & 1 \\
           0 & 0 \\
        \end{bmatrix} .

determinamos  T=-D^{-1}(L+U) como

 T=
      \begin{bmatrix}
           1/2 & 0 \\
           0 & 1/7 \\
           \end{bmatrix}
\left\{
      \begin{bmatrix}
           0 & 0 \\
           -5 & 0 \\
           \end{bmatrix}
 +
        \begin{bmatrix}
           0 & -1 \\
           0 & 0 \\
        \end{bmatrix}\right\}  
 =
        \begin{bmatrix}
           0 & -0.5 \\
           -0.714 & 0 \\
        \end{bmatrix}  .

C es encontrada como

 C =
      \begin{bmatrix}
           1/2 & 0 \\
           0 & 1/7 \\
           \end{bmatrix}
      \begin{bmatrix}
           11 \\
           13 \\
           \end{bmatrix}
 =
        \begin{bmatrix}
           5.5 \\
           1.857 \\
        \end{bmatrix} .

con T y C calculadas, estimaremos x como  x^{(1)}= Tx^{(0)}+C :

 x^{(1)}= 
      \begin{bmatrix}
           0 & -0.5 \\
           -0.714 & 0 \\
           \end{bmatrix}
      \begin{bmatrix}
           1 \\
           1 \\
           \end{bmatrix}
 +
        \begin{bmatrix}
           5.5 \\
           1.857 \\
        \end{bmatrix}  
 =
        \begin{bmatrix}
           5.0 \\
           1.143 \\
        \end{bmatrix}  .

siguientes iteraciones.

 x^{(2)}= 
      \begin{bmatrix}
           0 & -0.5 \\
           -0.714 & 0 \\
           \end{bmatrix}

      \begin{bmatrix}
           5.0 \\
           1.143 \\
           \end{bmatrix}
 +
        \begin{bmatrix}
           5.5 \\
           1.857 \\
        \end{bmatrix}  
 =
        \begin{bmatrix}
           4.929 \\
           -1.713 \\
        \end{bmatrix}  .

este proceso se repetirá hasta que converja (i.e., hasta que \|Ax^{(n)} - b\| es menor). la solución después de 25 iteraciones es:

 x=\begin{bmatrix}
7.111\\
-3.222
\end{bmatrix}
.

Véase también[editar]

Enlaces externos[editar]