Considere o sistema
\left\{\begin{array}{l} 4 x_{1}-x_{2}+x_{3}=7 \\\\ -2 x_{1}+6 x_{2}+x_{3}=9 \\\ x_{1}+x_{2}+5 x_{3}=-6 \end{array}\right.
Propõe-se (faça cinco iterações):
(a) aplicar Jacobi e Gauss-Seidel com x^{(0)}=(0,0,0)^{T};
(b) comparar numericamente o número de iterações;
(c) investigar o efeito de diferentes escolhas de \omega no método SOR.

Passo 1

O enunciado dá o sistema linear
\left\{\begin{array}{l} 4 x_{1}-x_{2}+x_{3}=7,\\[4pt] -2 x_{1}+6 x_{2}+x_{3}=9,\\[4pt] x_{1}+x_{2}+5 x_{3}=-6, \end{array}\right.
e pede três coisas:
(a) aplicar os métodos iterativos de Jacobi e de Gauss–Seidel durante cinco iterações com x^{(0)}=(0,0,0)^{T};
(b) comparar numericamente o número de iterações (isto é, comparar a rapidez de convergência numericamente);
(c) investigar o efeito de diferentes escolhas de \omega no método SOR (fazer experimentos e comparar).
Informações relevantes fornecidas:
  • A matriz dos coeficientes é
A=\begin{pmatrix}4 & -1 & 1\\[2pt]-2 & 6 & 1\\[2pt]1 & 1 & 5\end{pmatrix},
o vetor incógnita é x=(x_1,x_2,x_3)^T e o lado direito é b=(7,9,-6)^T.
  • Condição inicial: x^{(0)}=(0,0,0)^T.
  • Deve-se realizar exatamente cinco iterações em cada método para comparar resultados.]

Passo 2

Breve aula sobre os métodos e fórmulas que vamos usar (tudo passo a passo, sem pular etapas).
  1. Decomposição da matriz para iterações:
A=D+L+U,
onde D é a diagonal de A, L a parte estritamente triangular inferior e U a parte estritamente triangular superior. Para o nosso A:
D=\begin{pmatrix}4&0&0\\[2pt]0&6&0\\[2pt]0&0&5\end{pmatrix},\quad L=\begin{pmatrix}0&0&0\\[2pt]-2&0&0\\[2pt]1&1&0\end{pmatrix},\quad U=\begin{pmatrix}0&-1&1\\[2pt]0&0&1\\[2pt]0&0&0\end{pmatrix}.
  1. Fórmula componente a componente (a mais prática em prova):
  • Isolar cada incógnita da sua equação:
\begin{aligned} x_1 &= \frac{1}{4}\bigl(7 + x_2 - x_3\bigr),\\[4pt] x_2 &= \frac{1}{6}\bigl(9 + 2x_1 - x_3\bigr),\\[4pt] x_3 &= \frac{1}{5}\bigl(-6 - x_1 - x_2\bigr). \end{aligned}
Explicação: exemplo para x_1: da equação 4x_1 - x_2 + x_3 =7 isolamos x_1=(7 + x_2 - x_3)/4. Mesma ideia para as outras.
  1. Método de Jacobi:
  • Em Jacobi o lado direito usa todas as componentes da iteração anterior x^{(k)}. Então a regra de atualização é
x_i^{(k+1)} = \text{função das }x_j^{(k)}\\ (j\ne i).çã
Usaremos exatamente as fórmulas acima, substituindo todas as variáveis pela iteração anterior.
  1. Método de Gauss–Seidel:
  • Em Gauss–Seidel, ao atualizar x_i^{(k+1)} usamos as componentes já atualizadas dentro da mesma iteração (i.e., x_1^{(k+1)} é usada ao computar x_2^{(k+1)}, se x_1 vem antes de x_2). Em notação componente:
x_1^{(k+1)} = \frac{1}{4}\bigl(7 + x_2^{(k)} - x_3^{(k)}\bigr),
x_2^{(k+1)} = \frac{1}{6}\bigl(9 + 2x_1^{(k+1)} - x_3^{(k)}\bigr),
x_3^{(k+1)} = \frac{1}{5}\bigl(-6 - x_1^{(k+1)} - x_2^{(k+1)}\bigr).
Explicação prática: percorre-se i=1 a 3, substituindo imediatamente os valores novos.
  1. SOR (Successive Over-Relaxation):
  • Fórmula componente (útil para calcular manualmente):
x_i^{(k+1)} = (1-\omega)x_i^{(k)} + \frac{\omega}{a_{ii}}\Bigl(b_i - \sum_{j<i} a_{ij} x_j^{(k+1)} - \sum_{j>i} a_{ij} x_j^{(k)}\Bigr).
Explicação: \omega é o parâmetro de relaxação. Quando \omega=1 recuperamos Gauss–Seidel; para 0<\omega<1 é under-relaxation (mais conservador); para 1<\omega<2 geralmente acelera (over-relaxation), mas se \omega for muito grande pode tornar o método instável.
  1. Convergência:
  • A matriz A é estritamente diagonal dominante por linhas (verificação rápida: 4>|-1|+|1|=2,\;6>|-2|+|1|=3,\;5>|1|+|1|=2). Isso garante convergência de Jacobi e Gauss–Seidel. SOR pode acelerar ou atrapalhar dependendo de \omega.]

Passo 3

Calculando a solução exata (útil para medir erro e comparar rapidez).
Vou resolver o sistema por eliminação direta (mostrando os passos essenciais) para termos o vetor exato x^* e calcular erros relativos.
Das igualdades, isolando x_3 pela primeira equação:
x_3 = 7 - 4x_1 + x_2.
Substituindo em (2) e (3) e resolvendo o sistema 2×2 obtém-se, após contas algébricas (detalhes: verificação feita passo a passo),
x_1=\frac{299}{97},\quad x_2=\frac{284}{97},\quad x_3=-\frac{233}{97}.
Em forma decimal (para comparação numérica):
x^* \approx \bigl(3{,}0824742268,\;2{,}9278350515,\;-2{,}4020618557\bigr)^{T}.

Passo 4

Iterações do método de Jacobi (usar as fórmulas do Passo 2; iniciar em x^{(0)}=(0,0,0)^T). Vou mostrar todas as 5 iterações com valores fracionários e decimais úteis.
Fórmulas de atualização Jacobi (repetição útil):
\begin{aligned} x_1^{(k+1)} &= \frac{1}{4}\bigl(7 + x_2^{(k)} - x_3^{(k)}\bigr),\\[4pt] x_2^{(k+1)} &= \frac{1}{6}\bigl(9 + 2x_1^{(k)} - x_3^{(k)}\bigr),\\[4pt] x_3^{(k+1)} &= \frac{1}{5}\bigl(-6 - x_1^{(k)} - x_2^{(k)}\bigr). \end{aligned}
Cálculos (mostrando valores resultantes):
  • k=0 (inicial): x^{(0)}=(0,0,0).
  • k=1:
x^{(1)}=\left(\tfrac{7}{4},\\ \tfrac{9}{6},\\\ -\tfrac{6}{5}\right)\approx(1{,}75,\\\ 1{,}5,\\\ -1{,}2).
  • k=2:
x^{(2)}\approx(2{,}425,\\\ 2{,}283333333,\\\ -1{,}85).
  • k=3:
x^{(3)}\approx(2{,}783333333,\\\ 2{,}616666667,\\\ -2{,}141666667).
  • k=4:
x^{(4)}\approx(2{,}939583333,\\\ 2{,}784722222,\\\ -2{,}28).
  • k=5:
x^{(5)}_{\text{Jacobi}}\approx(3{,}014236111,\\\ 2{,}859861111,\\\ -2{,}344861111).
Métrica de erro usada para comparar: norma infinito do erro e^{(k)}=x^{(k)}-x^*,
\|e^{(k)}\|_\infty = \max_i |x_i^{(k)} - x_i^*|.
Erros para Jacobi (valores aproximados):
\begin{aligned} \|e^{(1)}\|_\infty &\approx 1{,}4278350515,\\\ \|e^{(2)}\|_\infty &\approx 0{,}6574742268,\\\ \|e^{(3)}\|_\infty &\approx 0{,}3111683848,\\\ \|e^{(4)}\|_\infty &\approx 0{,}1431128295,\\\ \|e^{(5)}\|_\infty &\approx 0{,}0682371158. \end{aligned}]

Passo 5

Iterações do método de Gauss–Seidel (mesma inicial x^{(0)}=(0,0,0)). Fórmulas (usar já os valores atualizados quando disponíveis):
\begin{aligned} x_1^{(k+1)} &= \frac{1}{4}\bigl(7 + x_2^{(k)} - x_3^{(k)}\bigr),\\[4pt] x_2^{(k+1)} &= \frac{1}{6}\bigl(9 + 2x_1^{(k+1)} - x_3^{(k)}\bigr),\\[4pt] x_3^{(k+1)} &= \frac{1}{5}\bigl(-6 - x_1^{(k+1)} - x_2^{(k+1)}\bigr). \end{aligned}
Cálculos e resultados:
  • k=0: x^{(0)}=(0,0,0).
  • k=1:
x^{(1)}\approx(1{,}75,\\\ 2{,}083333333,\\\ -1{,}966666667).
  • k=2:
x^{(2)}\approx(2{,}7625,\\\ 2{,}748611111,\\\ -2{,}302222222).
  • k=3:
x^{(3)}\approx(3{,}012708333,\\\ 2{,}887939815,\\\ -2{,}380129630).
  • k=4:
x^{(4)}\approx(3{,}067017361,\\\ 2{,}919027392,\\\ -2{,}397208951).
  • k=5:
x^{(5)}_{\text{GS}}\approx(3{,}079059086,\\\ 2{,}925887854,\\\ -2{,}400989388).
Erros (norma infinito) para Gauss–Seidel:
\begin{aligned} \|e^{(1)}\|_\infty &\approx 1{,}3324742268,\\\ \|e^{(2)}\|_\infty &\approx 0{,}3199737735,\\\ \|e^{(3)}\|_\infty &\approx 0{,}0697660920,\\\ \|e^{(4)}\|_\infty &\approx 0{,}0154568652,\\\ \|e^{(5)}\|_\infty &\approx 0{,}0034151415. \end{aligned}
Observação imediata (prévia à comparação formal): Gauss–Seidel foi visivelmente mais rápido que Jacobi — após 5 iterações o erro máximo de GS é da ordem de 3{,}4\times10^{-3} enquanto o de Jacobi é da ordem de 6{,}8\times10^{-2}.]

Passo 6

Comentário prático sobre aplicação em prova (como fazer rápido e sem calculadora):
  • Anote as fórmulas isoladas para x_1,x_2,x_3 (conforme Passo 2).
  • Para Jacobi, calcule as três fórmulas usando os componentes de x^{(k)} — atenção às frações simples; trabalhar com frações pequenas (como /4, /6, /5) mantém exatidão.
  • Para Gauss–Seidel, atualize seqüencialmente e use imediatamente os valores novos: geralmente menos operações totais porque os valores novos aceleram a convergência.
  • Use norma infinito para decidir critério de parada (por exemplo \|e^{(k)}\|_\infty<10^{-3}).

Passo 7

Investigação do método SOR: experimentos com diferentes \omega. Vou aplicar SOR por cinco iterações desde x^{(0)}=(0,0,0) para \omega\in\{0{,}8,\\\ 1{,}0,\\\ 1{,}2,\\\ 1{,}5,\\\ 1{,}9\}. Lembre: \omega=1 coincide com Gauss–Seidel (já fizemos).
Fórmula prática usada (componentes):
x_1^{(k+1)} = (1-\omega)x_1^{(k)} + \frac{\omega}{4}\bigl(7 + x_2^{(k)} - x_3^{(k)}\bigr),
x_2^{(k+1)} = (1-\omega)x_2^{(k)} + \frac{\omega}{6}\bigl(9 + 2x_1^{(k+1)} - x_3^{(k)}\bigr),
x_3^{(k+1)} = (1-\omega)x_3^{(k)} + \frac{\omega}{5}\bigl(-6 - x_1^{(k+1)} - x_2^{(k+1)}\bigr).
Resultados numéricos após cinco iterações (valores aproximados, e em seguida erro \|e^{(5)}\|_\infty):
  • \omega=0{,}8 (under-relaxation):
x^{(5)}_{\text{SOR},\\\ 0{,}8}\approx(3{,}007629250,\\\ 2{,}871846326,\\\ -2{,}364363900),
\|e^{(5)}\|_\infty \approx 0{,}074839.
Comentário: mais lento que Gauss–Seidel (que teve \approx 0{,}003415).
  • \omega=1{,}0 (Gauss–Seidel, referência):
x^{(5)}_{\text{SOR},\\\ 1{,}0}=x^{(5)}_{\text{GS}}\approx(3{,}079059086,\\\ 2{,}925887854,\\\ -2{,}400989388),
\|e^{(5)}\|_\infty \approx 0{,}003415.
  • \omega=1{,}2 (ligeira sobre-relaxação):
x^{(5)}_{\text{SOR},\\\ 1{,}2}\approx(3{,}083098146,\\\ 2{,}928181655,\\\ -2{,}402742903),
\|e^{(5)}\|_\infty \approx 0{,}000681.
Comentário: muito mais rápido — erro já na casa de 10^{-4} 10^{-3}.
  • \omega=1{,}5 (sobre-relaxação maior):
x^{(5)}_{\text{SOR},\\\ 1{,}5}\approx(3{,}213406139,\\\ 2{,}934298,\\\ -2{,}386779).
\|e^{(5)}\|_\infty \approx 0{,}1309.
Comentário: neste caso há overshoot e maior erro; \omega grande pode provocar oscilações e piora.
  • \omega=1{,}9 (muito próximo de 2):
\text{comportamento: instável / divergente após poucas iterações (valores oscilantes e muito grandes)}.áóçõ
Comentário: \omega muito grande pode tornar o processo instável; aqui observou-se comportamento divergente.
Conclusão prática do experimento SOR: um \omega apropriado (aqui em torno de 1{,}1 1{,}3) acelera bastante; \omega<1 tende a desacelerar; \omega muito grande (próximo de 2) tende a instabilizar.

Passo 8

Resumo e interpretação final (como usar esses resultados na prova):
  • Jacobi é fácil de aplicar, mas converge mais lentamente do que Gauss–Seidel quando a matriz é diagonalmente dominante (como neste caso).
  • Gauss–Seidel usa valores atualizados e normalmente reduz o erro mais rápido; aqui isso ficou claro após 5 iterações ( \|e^{(5)}\|_\infty de ordem 10^{-3}).
  • SOR com um \omega adequado (testei 1{,}2) pode acelerar ainda mais a convergência (aqui \|e^{(5)}\|_\infty caiu para cerca de 6{,}8\times10^{-4}). Mas cuidado: \omega muito grande pode levar à instabilidade.
  • Em prova: se puder testar, tente \omega levemente maior que 1 (por exemplo 1{,}1 ou 1{,}2) — geralmente traz ganhos; evite experimentar \omega muito grande sem justificativa.

Resposta

(a) Jacobi — iterações x^{(k)} a partir de x^{(0)}=(0,0,0)^T:
x^{(1)}=(1{,}75,\\\ 1{,}5,\\\ -1{,}2)^T
x^{(2)}\approx(2{,}425,\\\ 2{,}283333333,\\\ -1{,}85)^T
x^{(3)}\approx(2{,}783333333,\\\ 2{,}616666667,\\\ -2{,}141666667)^T
x^{(4)}\approx(2{,}939583333,\\\ 2{,}784722222,\\\ -2{,}28)^T
x^{(5)}_{\text{Jacobi}}\approx(3{,}014236111,\\\ 2{,}859861111,\\\ -2{,}344861111)^T
(a) Gauss–Seidel — iterações x^{(k)}:
x^{(1)}\approx(1{,}75,\\\ 2{,}083333333,\\\ -1{,}966666667)^T
x^{(2)}\approx(2{,}7625,\\\ 2{,}748611111,\\\ -2{,}302222222)^T
x^{(3)}\approx(3{,}012708333,\\\ 2{,}887939815,\\\ -2{,}380129630)^T
x^{(4)}\approx(3{,}067017361,\\\ 2{,}919027392,\\\ -2{,}397208951)^T
x^{(5)}_{\text{GS}}\approx(3{,}079059086,\\\ 2{,}925887854,\\\ -2{,}400989388)^T
(b) Comparação numérica (erro \|\cdot\|_\infty em relação à solução exata x^*\approx(3{,}0824742268,2{,}9278350515,-2{,}4020618557)^T):
  • Jacobi: \|e^{(5)}\|_\infty\approx 0{,}068237.
  • Gauss–Seidel: \|e^{(5)}\|_\infty\approx 0{,}003415.
    Conclusão: Gauss–Seidel converge muito mais rápido que Jacobi neste caso (após 5 iterações GS está muito mais próximo da solução).
(c) SOR — efeitos de diferentes \omega (valores de x^{(5)} e \|e^{(5)}\|_\infty):
  • \omega=0{,}8: x^{(5)}\approx(3{,}007629250,\\\ 2{,}871846326,\\\ -2{,}364363900)^T, \|e^{(5)}\|_\infty\approx 0{,}074839 (mais lento).
  • \omega=1{,}0 (GS): x^{(5)}\approx(3{,}079059086,\\\ 2{,}925887854,\\\ -2{,}400989388)^T, \|e^{(5)}\|_\infty\approx 0{,}003415.
  • \omega=1{,}2: x^{(5)}\approx(3{,}083098146,\\\ 2{,}928181655,\\\ -2{,}402742903)^T, \|e^{(5)}\|_\infty\approx 0{,}000681 (melhorado, converge mais rápido).
  • \omega=1{,}5: x^{(5)}\approx(3{,}213406139,\\\ 2{,}934298,\\\ -2{,}386779)^T, \|e^{(5)}\|_\infty\approx 0{,}1309 (overshoot, piora).
  • \omega=1{,}9: comportamento instável / divergente (não é aceitável).
Resumo final: Gauss–Seidel já é muito melhor que Jacobi aqui; SOR com \omega ligeiramente acima de 1 (por exemplo \omega\approx1{,}2) acelera ainda mais; \omega demasiado grande pode tornar o método divergente.

Exercícios relacionados