8 Método de Gauss-Seidel
Verifique se método de Gauss-Seidel converge para o seguinte sistema linear (mude a ordem das linhas se necessário). Em caso positivo, resolva-o:

2 x_{1}+2 x_{2}+10 x_{3}=15 50 x_{1}+20 x_{2}+10 x_{3}=100 80 x_{1}+70 x_{2}+10 x_{3}=250

Passo 1

O enunciado fornece o sistema linear
\begin{cases} 2x_{1}+2x_{2}+10x_{3}=15,\\[4pt] 50x_{1}+20x_{2}+10x_{3}=100,\\[4pt] 80x_{1}+70x_{2}+10x_{3}=250, \end{cases}
pede que verifiquemos se o método de Gauss–Seidel converge (posso mudar a ordem das linhas) e, em caso afirmativo, que o resolvamos.
Informações relevantes: os três coeficientes de x_3 são iguais a 10 nas três equações; posso trocar a ordem das equações para melhorar convergência. O objetivo final é obter os valores de x_1,x_2,x_3.]

Passo 2

O que é o método de Gauss–Seidel (explicação didática e fórmula)?\n
  • Idea rápida: é um método iterativo para resolver Ax=b. Atualizamos as componentes de x uma a uma, usando imediatamente os valores já atualizados na mesma iteração (ao contrário do método de Jacobi, que usa só os valores da iteração anterior). Isso costuma acelerar a convergência quando o método converge.\n
  • Separação matricial: escrevemos A=D+L+U, onde D é a diagonal de A, L é a parte estritamente triangular inferior e U é a parte estritamente triangular superior. A forma matricial da iteração de Gauss–Seidel é
x^{(k+1)} = -(D+L)^{-1}U\,x^{(k)} + (D+L)^{-1}b.
Aqui x^{(k)} é o vetor na iteração k.\n
  • Forma componente a componente (mais usada na hora da prova): se a i-ésima equação é \sum_{j=1}^{n} a_{ij}x_j = b_i, então a atualização de x_i na iteração k+1 é
x_i^{(k+1)} = \frac{1}{a_{ii}}\left(b_i - \sum_{j=1}^{i-1} a_{ij}x_j^{(k+1)} - \sum_{j=i+1}^{n} a_{ij}x_j^{(k)}\right).
Nesse cálculo usamos os x_j^{(k+1)} já atualizados para j<i e os x_j^{(k)} antigos para j>i.\n
  • Critério prático de convergência (suficiente): se A é estritamente diagonalmente dominante por linhas (ou seja, |a_{ii}|>\sum_{j\ne i}|a_{ij}| para todo i), então Gauss–Seidel converge. Quando não há dominância óbvia, podemos checar a convergência examinando o raio espectral \rho(G) da matriz de iteração G=-(D+L)^{-1}U: se \rho(G)<1 então o método converge. Eu vou usar essa condição numérica quando for necessário.\n
  • Observação prática: posso trocar a ordem das equações (linhas) para tentar obter um G com \rho(G)<1.

Passo 3

Escolha da ordem das linhas para tentar convergência e verificação:\n
  • Vou tentar a ordem das equações como \) (linha original 2), (linha original 3), (linha original 1)\), isto é, reescrevendo o sistema como \[\begin{cases} 50x_{1}+20x_{2}+10x_{3}=100,\\[4pt] 80x_{1}+70x_{2}+10x_{3}=250,\\[4pt] 2x_{1}+2x_{2}+10x_{3}=15. \end{cases}
Essa escolha coloca nos elementos diagonais os valores 50,70,10\] — em muitos problemas isso melhora as propriedades numéricas.\n - Agora construo a matriz de iteração \(G=-(D+L)^{-1}U para essa ordem e verifico seu raio espectral.\n
Matriz dividida:
D=\operatorname{diag}(50,70,10),\quad L=\begin{pmatrix}0&0&0\\[2pt]80&0&0\\[2pt]2&2&0\end{pmatrix},\quad U=\begin{pmatrix}0&20&10\\[2pt]0&0&10\\[2pt]0&0&0\end{pmatrix}.
Para montar G eu resolvo triângulos coluna a coluna: G=-(D+L)^{-1}U. Isso conduz (apenas mostrando o resultado intermediário importante) a uma matriz G cuja primeira coluna é zero e a submatriz 2\times2 (linguagem curta: a parte que determina os outros autovalores) é
M=\begin{pmatrix} 0{,}457142857\ldots & 0{,}0857142857\ldots\\[4pt] -0{,}0114285714\ldots & 0{,}02285714286\ldots \end{pmatrix}.
Os autovalores de G são 0 e os autovalores de M. O polinômio característico de M é
\lambda^2 - (0{,}457142857+0{,}02285714286)\lambda + \det(M)=0,
que num cálculo numérico dá autovalores aproximadamente \lambda_1\approx 0{,}455 e \lambda_2\approx 0{,}025. Portanto os autovalores de G são aproximadamente 0,\,0{,}455,\,0{,}025.\n
  • Conclusão: o raio espectral \rho(G)\approx 0{,}455<1. Logo, para a ordem escolhida o método de Gauss–Seidel converge. (Comentário amigo: tentei obter dominância estrita por linhas, mas mesmo sem ela a checagem do raio espectral mostrou convergência para essa ordem.)]

Passo 4

Escrevo as fórmulas iterativas explícitas (componentes) para a ordem escolhida. A cada iteração k fazemos, em sequência:
\begin{aligned} x_1^{(k+1)} &= \frac{1}{50}\bigl(100 - 20\,x_2^{(k)} - 10\,x_3^{(k)}\bigr),\\[6pt] x_2^{(k+1)} &= \frac{1}{70}\bigl(250 - 80\,x_1^{(k+1)} - 10\,x_3^{(k)}\bigr),\\[6pt] x_3^{(k+1)} &= \frac{1}{10}\bigl(15 - 2\,x_1^{(k+1)} - 2\,x_2^{(k+1)}\bigr). \end{aligned}
Explicando cada termo: ao calcular x_2^{(k+1)} usamos o x_1^{(k+1)} recém-calculado (Gauss–Seidel faz isso) e usamos x_3^{(k)} ainda antigo; ao calcular x_3^{(k+1)} usamos os dois valores já atualizados x_1^{(k+1)} e x_2^{(k+1)}.\n
Escolho o chute inicial simples \,x^{(0)}=(0,0,0)\, — é comum e serve bem aqui.]

Passo 5

Iterações (vou mostrar as primeiras iterações detalhadas; o padrão é esse até a convergência). Todas as contas abaixo seguem diretamente as fórmulas do Passo 4 e usei arredondamento decimal onde necessário.
k = 0 (inicial): \;x^{(0)}=(0,0,0).
k = 1:
\begin{aligned} x_1^{(1)} &= \frac{100 - 20\cdot 0 -10\cdot 0}{50}=2,\\[4pt] x_2^{(1)} &= \frac{250 - 80\cdot 2 -10\cdot 0}{70}=\frac{90}{70}=1{,}2857142857,\\[4pt] x_3^{(1)} &= \frac{15 - 2\cdot 2 -2\cdot 1{,}2857142857}{10}=0{,}84285714286. \end{aligned}
Assim x^{(1)}\approx(2{,}0000,\;1{,}2857142857,\;0{,}84285714286).]

Passo 6

k = 2:
\begin{aligned} x_1^{(2)} &= \frac{100 - 20\cdot 1{,}2857142857 -10\cdot 0{,}84285714286}{50}\approx 1{,}31714285714,\\[4pt] x_2^{(2)} &= \frac{250 - 80\cdot 1{,}31714285714 -10\cdot 0{,}84285714286}{70}\approx 1{,}94571428571,\\[4pt] x_3^{(2)} &= \frac{15 - 2\cdot 1{,}31714285714 -2\cdot 1{,}94571428571}{10}\approx 0{,}84742857143. \end{aligned}
k = 3:
x^{(3)}\approx(1{,}05222857143,\;2{,}24782040816,\;0{,}83999020408).
k = 4:
x^{(4)}\approx(0{,}93287379592,\;2{,}38528848980,\;0{,}83636754286).
k = 5:
x^{(5)}\approx(0{,}87861109551,\;2{,}44782052758,\;0{,}83471367538).
k = 6:
x^{(6)}\approx(0{,}85392905389,\;2{,}47697912764,\;0{,}83381836369).
Observe que os valores estão se aproximando; a diferença entre iterações diminui.]

Passo 7

Continuação até convergência (resumo): após mais iterações a sequência converge numericamente para valores próximos de
x_1\approx 0{,}8333,\quad x_2\approx 2{,}5,\quad x_3\approx 0{,}8333.
Podemos perceber (e isto é importante na prova) que esses valores sugerem frações simples. Experimente provar substituindo as frações \frac{5}{6},\frac{5}{2},\frac{5}{6} no sistema original:\n
  • Substituindo x_1=\dfrac{5}{6},\,x_2=\dfrac{5}{2},\,x_3=\dfrac{5}{6} na primeira equação:
2\cdot\frac{5}{6}+2\cdot\frac{5}{2}+10\cdot\frac{5}{6}=\frac{10}{6}+5+\frac{50}{6}=\frac{60}{6}+5=10+5=15.
  • Na segunda:
50\cdot\frac{5}{6}+20\cdot\frac{5}{2}+10\cdot\frac{5}{6}=\frac{250}{6}+50+\frac{50}{6}=\frac{300}{6}+50=50+50=100.
  • Na terceira:
80\cdot\frac{5}{6}+70\cdot\frac{5}{2}+10\cdot\frac{5}{6}=\frac{400}{6}+175+\frac{50}{6}=\frac{450}{6}+175=75+175=250.
Todas as três equações são satisfeitas. Portanto a solução exata é
x_1=\frac{5}{6},\quad x_2=\frac{5}{2},\quad x_3=\frac{5}{6}.
Comentário final amigo: o Gauss–Seidel, com a ordem das linhas escolhida, converge e nos leva a essa solução; numa prova você pode apresentar algumas iterações para demonstrar o processo e, se reconhecer frações simples, verificar por substituição como eu fiz.

Resposta

x_1=\dfrac{5}{6}\
x_2=\dfrac{5}{2}\
x_3=\dfrac{5}{6}

Exercícios relacionados