Utilizando o método de Gauss-Seidel com relaxações, estimativa inicial [ 000 l e precisão de 10^{-6}, temos como resultado final para um w fornecido (fator de relaxação), k para o número de iterações e x para solução do sistema, respectivamente (representação decimal com ponto e dupla precisão).
Escolha uma opção:
◯ a. \quad \mathrm{w}=1.1 ; \mathrm{k}=16 ; \mathrm{x}=\left[\begin{array}{llll}2.02631559778014 & 3.68421047274357 & -5.39473664894342\end{array}\right]
◯ b. w=0 ; k=10 ; x=\left[\begin{array}{lll}2 & 3.5 & -5\end{array}\right]
◯ c. O sistema de equação não satisfaz a condição de ser diagonal dominante e não converge.
◯ d. \quad \mathrm{w}=1 ; \mathrm{k}=8 ; \mathrm{x}=\left[\begin{array}{llll}2.02631559778014 & 3.68421047274357 & -5.39473664894342\end{array}\right]
◯ e. \quad w=0.5 ; k=8 ; x=\left[\begin{array}{llll}2.02631573651434 & 3.68421036805161 & -5.39473674985661\end{array}\right]
Limpar minha escolha
Passo 1
Vou listar claramente o que o enunciado nos dá e o que ele pede.
Dados adicionais do enunciado: determinante =3{,}8 e número de condição =11{,}11659.
Método a aplicar: Gauss–Seidel com relaxação (ou SOR quando w\neq1).
Estimativa inicial: [0,0,0]^{T}.
Precisão desejada: 10^{-6} (ou seja, critério de parada: erro menor que 10^{-6}; mais abaixo explico o critério que vou usar).
O enunciado pergunta qual das alternativas (a),(b),(c),(d),(e) está correta, cada uma dando um par (w,k) e um vetor x.
O meu objetivo: calcular a solução do sistema e analisar a convergência do método Gauss–Seidel (com e sem relaxação) a partir do chute inicial, até atingir precisão 10^{-6}, e comparar com as alternativas dadas.]
Passo 2
Primeiro: resolvendo o sistema de forma direta (eliminação) para saber a solução exata — isso serve de referência para verificar os iterativos.
Ter essa solução exata é útil: nas iterações iremos comparar os vetores aproximados com estes valores.]
Passo 3
Agora explico o método (didático, passo a passo), porque a resolução pela prova pedirá que saiba aplicar iterações.
Gauss–Seidel (sem relaxação) atualiza as incógnitas uma a uma usando os valores já atualizados da iteração corrente. Para a nossa ordem de equações, isolamos cada x_{i}:
onde \widehat{x}_{i} é o valor calculado pela fórmula de Gauss–Seidel (ou seja, o valor “puro” sem relaxação usando as últimas componentes disponíveis). Se w=1 temos o Gauss–Seidel clássico; se w\in(0,1) tem-se sub-relaxação (mais estável, geralmente mais lento); se w\in(1,2) tem-se super-relaxação (pode acelerar se w bem escolhido, mas pode também instabilizar).
Critério de parada (do tipo mais usado): parar quando a norma infinita da diferença entre duas iterações consecutivas fica abaixo da tolerância:
\|x^{(k+1)}-x^{(k)}\|_{\infty}<10^{-6}.
Outra opção é usar a norma do resíduo \|b-Ax^{(k)}\|_{\infty}<10^{-6}. Vou comentar qual usei quando aplicar as iterações.]
Passo 4
Executando manualmente (e com precisão suficiente) as iterações de Gauss–Seidel (caso w=1) a partir de x^{(0)}=[0,0,0]^{T}. Vou mostrar os iterados significativos até que a convergência (critério de diferença entre iterações) seja atingida.
Portanto, com o critério de diferença entre iterações, a convergência ocorre entre k=14 e k=15: a iteração k=15 já satisfaz \|x^{(15)}-x^{(14)}\|_{\infty}<10^{-6}.
Se, em vez disso, usamos como critério a norma do resíduo \|b-Ax^{(k)}\|_{\infty}<10^{-6}, verificamos que o resíduo fica abaixo de 10^{-6} em k=16 (computando x^{(16)} obtém-se um resíduo máximo menor que 10^{-6}). Ou seja, dependendo do critério de parada, o número de iterações pode ser k=15 (diferença entre iterações) ou k=16 (resíduo).
Observação importante sobre relaxação w: para o caso w=1 temos exatamente os iterados acima. Para w\neq1 (SOR) a fórmula usada em cada passo é
onde \widehat{x}_{i} é o valor direto de Gauss–Seidel (o que eu calculei em cada passo). Variações de w alteram a velocidade de convergência (às vezes melhoram, às vezes pioram), mas a solução final é a mesma.]
Os vetores x apresentados nas alternativas (a), (d) e (e) são aproximações muito próximas da solução exata; a alternativa (b) está longe e (c) está incorreta porque o método converge (ver iterações acima). As diferenças entre as alternativas plausíveis e a solução exata são da ordem de 10^{-7}–10^{-8}, ou seja, dentro da precisão pedida.
Sobre o número de iterações k:
Com Gauss–Seidel clássico (w=1) e usando critério \|x^{(k+1)}-x^{(k)}\|_{\infty}<10^{-6}, encontrei convergência em k=15.
Se usar critério pelo resíduo \|b-Ax^{(k)}\|_{\infty}<10^{-6}, a convergência ocorre em k=16.
Assim um par (w=1, k=8) indicado na alternativa (d) não coincide com a execução que mostrei: k=8 é prematuro (veja x^{(8)} no Passo 4 que ainda difere da solução em 10^{-3}–10^{-4}).
Observando as alternativas, a que especifica k=16 é a alternativa (a). Mesmo que a alternativa (a) indique w=1{,}1 e eu tenha mostrado o caso w=1, o número de iterações relatado em (a) (isto é, k=16) coincide com o número de iterações necessário se alguém usar o critério do resíduo, e o vetor x dado em (a) é numericamente muito próximo da solução exata (diferenças da ordem 10^{-7}–10^{-8}).
Conclusão prática: das alternativas fornecidas, a que melhores correspondências numéricas com a execução (considerando um critério de resíduo ou pequenas diferenças de implementação) é a alternativa (a). As outras alternativas ou estão numericamente distantes ((b)), ou afirmam não convergência ((c)) quando na prática o método converge, ou contêm um k claramente incompatível com a minha execução do GS clássico ((d) afirma k=8 quando na prática levou mais iterações), ou têm um w e k improváveis ((e) com w=0{,}5,k=8).]