Share on Facebook Share on Twitter Email
Answers.com

Jacobi method

 
Sci-Tech Dictionary: Jacobi's method
(jə′kō·bēz ′meth·əd)

(mathematics) A method of determining the eigenvalues of a Hermitian matrix. A method for finding a complete integral of the general first-order partial differential equation in two independent variables; it involves solving a set of six ordinary differential equations.


Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
Wikipedia: Jacobi method
Top

In numerical linear algebra, the Jacobi method is an algorithm for determining the solutions of a system of linear equations with largest absolute values in each row and column dominated by the diagonal element. Each diagonal element is solved for, and an approximate value plugged in. The process is then iterated until it converges. This algorithm is a stripped-down version of the Jacobi transformation method of matrix diagonalization. The method is named after German mathematician Carl Gustav Jakob Jacobi.

Contents

Description

Given a square system of n linear equations:

A\mathbf x = \mathbf b

where:

A=\begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\a_{n1} & a_{n2} & \cdots & a_{nn} \end{bmatrix}, \qquad  \mathbf{x} = \begin{bmatrix} x_{1} \\ x_2 \\ \vdots \\ x_n \end{bmatrix} , \qquad  \mathbf{b} = \begin{bmatrix} b_{1} \\ b_2 \\ \vdots \\ b_n \end{bmatrix}.

Then A can be decomposed into a diagonal component D, and the remainder R:

A=D+R \qquad \text{where} \qquad D = \begin{bmatrix} a_{11} & 0 & \cdots & 0 \\ 0 & a_{22} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\0 & 0 & \cdots & a_{nn} \end{bmatrix}, \qquad R = \begin{bmatrix} 0 & a_{12} & \cdots & a_{1n} \\ a_{21} & 0 & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\a_{n1} & a_{n2} & \cdots & 0 \end{bmatrix}

The system of linear equations may be rewritten as:

(D + R )\mathbf{x} = \mathbf{b}
D \mathbf{x} + R \mathbf{x} = \mathbf{b}

and finally:

D \mathbf{x} = \mathbf{b} - R \mathbf{x}

The Jacobi method is an iterative technique that solves the left hand side of this expression for x, using previous value for x on the right hand side. Analytically, this may be written as:

 \mathbf{x}^{(k+1)} = D^{-1} (\mathbf{b} - R \mathbf{x}^{(k)}).

The element-based formula is thus:

 x^{(k+1)}_i  = \frac{1}{a_{ii}} \left(b_i -\sum_{j\ne i}a_{ij}x^{(k)}_j\right),\quad i=1,2,\ldots,n.

Note that the computation of xi(k+1) requires each element in x(k) except itself. Unlike the Gauss–Seidel method, we can't overwrite xi(k) with xi(k+1), as that value will be needed by the rest of the computation. This is the most meaningful difference between the Jacobi and Gauss–Seidel methods, and is the reason why the former can be implemented as a parallel algorithm, unlike the latter. The minimum amount of storage is two vectors of size n.

Algorithm

Choose an initial guess x0 to the solution

while convergence not reached do
for i := 1 step until n do
σ = 0
for j := 1 step until n do
if j != i then
 \sigma  = \sigma  + a_{ij} x_j^{(k-1)}
end if
end (j-loop)
  x_i^{(k)}  = {{\left( {b_i  - \sigma } \right)} \over {a_{ii} }}
end (i-loop)
check if convergence is reached
end (while convergence condition not reached loop)

Convergence

The method will always converge if the matrix A is strictly or irreducibly diagonally dominant. Strict row diagonal dominance means that for each row, the absolute value of the diagonal term is greater than the sum of absolute values of other terms:

\left | a_{ii} \right | > \sum_{j \ne i} {\left | a_{ij} \right |}.

A second convergence condition is when the spectral radius of the iteration matrix

ρ(D − 1R) < 1.

The Jacobi method sometimes converges even if these conditions are not satisfied.

Recently, a double-loop technique was introduced to force convergence of the Jacobi algorithm to the correct solution even when the sufficient conditions for convergence do not hold. The double loop technique works for either positive definite or column independent matrices.[1]

Example

A linear system shown as Ax=b is given by

 A=
      \begin{bmatrix}
           2 & 3 \\
           5 & 7 \\
           \end{bmatrix},
 b=
      \begin{bmatrix}
           11 \\
           13 \\
           \end{bmatrix}
and  x^{(0)} =
        \begin{bmatrix}
           1.1 \\
           2.3 \\
        \end{bmatrix} .

We want to use the equation x(k) = Tx(k − 1) + C. Now you must find D − 1 the inverse of the diagonal values of the matrix only and separate the strictly lower and the strictly upper parts of the matrix A, (note that this is not what is known as an LU decomposition of a matrix).

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

To find T we use the equation T = D − 1(L + U).

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

Now we have found T and we need to find C using the equation C = D − 1b.

 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} .

Now we have T and C and we can use them iteratively X matrices. So, now you will have x(1) = Tx(0) + C.

 x^{(1)}= 
      \begin{bmatrix}
           0 & -1.5 \\
           -0.714 & 0 \\
           \end{bmatrix}
      \begin{bmatrix}
           1.1 \\
           2.3 \\
           \end{bmatrix}
 +
        \begin{bmatrix}
           5.5 \\
           1.857 \\
        \end{bmatrix}  
 =
        \begin{bmatrix}
           2.05 \\
           1.07 \\
        \end{bmatrix}  .

And now we can find x(2).

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

      \begin{bmatrix}
           2.05 \\
           1.07 \\
           \end{bmatrix}
 +
        \begin{bmatrix}
           5.5 \\
           1.857 \\
        \end{bmatrix}  
 =
        \begin{bmatrix}
           3.893 \\
           0.3927 \\
        \end{bmatrix}  .

Now that you have the X matrices you can test for convergence to approximate the solutions.

References

  1. ^ Fixing the convergence of the Gaussian belief propagation algorithm. J. K. Johnson, D. Bickson and D. Dolev. In the International symposium on information theory (ISIT), July 2009. http://arxiv.org/abs/0901.4192

See also

External links


Best of the Web: Jacobi method
Top

Some good "Jacobi method" pages on the web:


Math
mathworld.wolfram.com
 
 
 

 

Copyrights:

Sci-Tech Dictionary. McGraw-Hill Dictionary of Scientific and Technical Terms. Copyright © 2003, 1994, 1989, 1984, 1978, 1976, 1974 by McGraw-Hill Companies, Inc. All rights reserved.  Read more
Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Jacobi method" Read more