Pesquisa · Mapa mental

Método de Jacobi

O método de Jacobi é um algoritmo para resolver sistemas de equações lineares. Trata-se de uma versão simplificada do algoritmo de valores próprios de Jacobi. O método tem o nome do matemático Alemão Carl Gustav Jakob Jacobi.

Fonte: Wikipédia (pt)Atualizado em 03/11/2026
01

Descrição

Dada uma matriz quadrada de n {\textstyle n} equações lineares: Então A pode ser decomposto num componente diagonal D e o resto R: O sistema de equações lineares pode ser reescrito como: O método de Jacobi é um método iterativo que resolve o membro esquerdo da expressão em ordem a x ao usar o método resultante da iteração anterior no membro direito. Analiticamente, isto pode ser escrito como: Nota-se que a computação de x i k + 1 {\displaystyle x_{i}^{k+1}} é feita com base em todos os valores obtidos em iterações anteriores. Ao contrário do método de Gauss-Seidel, não se pode reescrever x i ( k ) {\displaystyle x_{i}^{(k)}} com x i ( k + 1 ) {\displaystyle x_{i}^{(k+1)}} , pois esse valor é necessário durante a continuação da computação. Esta é a diferença mais significativa entre o método de Jacobi e o método de Gauss-Seidel e é o motivo que o torna um algoritmo paralelo.

02

Algoritmo

Scilab

Na sequência, apresentamos um código Scilab que implementa uma versão simples do método de Jacobi. Os dados de entrada são: A matriz dos coeficientes, b vetor dos termos constantes, x0 vetor aproximação inicial, TOL tolerância, N número máximo de iterações. A saída é a calculada aproximação da solução de Ax = b.

JavaScript

Abaixo é apresentado a resolução utilizando a linguagem JavaScript.

Java

A seguir apresenta-se o algoritmo na linguagem Java com o vetor padrão de aproximação inicial zero. Parâmetros: matriz → a matriz; b → o vetor dos resultados; e → a precisão; numIter → o número máximo de iterações. Esta função retorna um vetor onde cada posição corresponde a uma variável. Ex.: resultado = x, resultado = y, resultado = z...

03

Convergência

x ( k + 1 ) = T x ( k ) + c {\displaystyle \mathbf {x} ^{(k+1)}=T\mathbf {x} ^{(k)}+\mathbf {c} } onde, T = D − 1 R {\textstyle T=D^{-1}R} e c = D − 1 b {\displaystyle \mathbf {c} =D^{-1}b} . Pode-se mostrar que, independentemente da aproximação inicial x ( 0 ) {\displaystyle \mathbf {x^{(0)}} } , a sequência gerada { x ( k ) } {\displaystyle \{\mathbf {x} ^{(k)}\}} converge para a solução de A x = b {\displaystyle A\mathbf {x} =\mathbf {b} } se, e somente se, o raio espectral da matriz iteração T {\displaystyle T} for menor que 1 {\displaystyle 1} . Ou seja, as iterações de Jacobi convergem para a solução do sistema se, e somente se, o raio espectral de D − 1 R {\textstyle D^{-1}R} for menor que 1 {\textstyle 1} , i.e.:.mw-parser-output .flexquote{display:flex;flex-direction:column;background-color:#F1F1F1;border-left:3px solid #C7C7C7;font-size:100%;margin:1em 4em;padding:.4em .8em}.mw-parser-output .flexquote>.flex{display:flex;flex-direction:row}.mw-parser-output .flexquote>.flex>.quote{width:100%}.mw-parser-output .flexquote>.flex>.separator{border-left:1px solid #C7C7C7;border-top:1px solid #C7C7C7;margin:.4em .8em}.mw-parser-output .flexquote>.cite{text-align:right}@media all and (max-width:600px){.mw-parser-output .flexquote>.flex{flex-direction:column}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .flexquote{background-color:transparent}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .flexquote{background-color:transparent}}

04

Exemplos

1. Um sistema linear A x = b {\displaystyle Ax=b} é dado por Pretende-se usar a equação x ( k ) = T x ( k − 1 ) + C {\displaystyle x^{(k)}=Tx^{(k-1)}+C} . Agora é necessário encontrar D − 1 {\displaystyle D^{-1}} a matriz inversa dos valores da diagonal A através duma decomposição A = L D U {\displaystyle A=LDU} Para se encontrar T recorre-se à equação T = D − 1 ( L + U ) {\displaystyle T=D^{-1}(L+U)} . Agora, encontrado T, torna-se necessário obter C recorrendo à expressão C = D − 1 b {\displaystyle C=D^{-1}b} . Assim, agora teremos x ( 1 ) = T x ( 0 ) + C {\displaystyle x^{(1)}=Tx^{(0)}+C} . E agora podemos encontrar x ( 2 ) {\displaystyle x^{(2)}} . Agora que se está na posse de X matrizes é possível avaliar a convergência para aproximar as soluções. 2. Efetuando os cálculos com três casas decimais, determine a solução do sistema de equações lineares A X = B {\displaystyle AX=B} por meio do método de Jacobi, onde :

05

Critério de convergência (critério das linhas)

Seja o sistema linear A x = b {\displaystyle Ax=b} e seja: α k {\displaystyle _{k}} = ∑ j = 1 , j ≠ k n {\displaystyle \sum _{j=1,j\neq k}^{n}} | a k j | | a k k | {\displaystyle {\frac {|a_{kj}|}{|a_{kk}|}}} . Se α= máx α k {\displaystyle _{k}} <1, sendo 1≤k≤n, então o método de Jacobi gera uma sequência { x ( k ) {\displaystyle x(k)} } convergente para a solução do sistema dado, independente da escolha da aproximação inicial, x ( 0 ) {\displaystyle x(0)} . Exemplo: Analisando a matriz A do sistema linear: α 1 {\displaystyle _{1}} = 2 + 1 10 {\displaystyle {\frac {2+1}{10}}} = 3 10 {\displaystyle {\frac {3}{10}}} = 0.3 < 1; α 2 {\displaystyle _{2}} = 1 + 1 5 {\displaystyle {\frac {1+1}{5}}} =0.4 < 1; α 3 {\displaystyle _{3}} = 2 + 3 10 {\displaystyle {\frac {2+3}{10}}} = 0.5 < 1 E então máx α k {\displaystyle _{k}} = 0.5 < 1, sendo 1≤k≤3 donde, pelo critério das linhas, temos garantia de convergência para o método de Jacobi. Sempre que o critério de linhas não for satisfeito, devemos tentar uma permutação de linhas e/ou colunas de forma a obtermos uma disposição para a qual a matriz dos coeficientes satisfaça o critério das linhas.

Vídeos recomendados

Fontes consultadas

Continue pesquisando