Utilizando as rotinas computacionais dos itens, implementadas em sala, resolva o sistema linear a seguir. Compare os resultados de cada método.
c) Gauss-Seidel
Passo 1
O enunciado nos dá um sistema linear
de ordem 10 e pede para resolvê-lo pelo método de Gauss–Seidel.
Conteúdo: métodos iterativos para sistemas lineares.
O que precisamos:
Conteúdo: métodos iterativos para sistemas lineares.
O que precisamos:
- Isolar em cada equação a incógnita de maior índice (ou, de modo geral, a própria incógnita da diagonal) para definir o esquema iterativo
- Escolher um palpite inicial
- Iterar
- Verificar convergência
Passo 2
Escrevemos cada linha do sistema na forma
para
.
Isto define o esquema de Gauss–Seidel
Isto define o esquema de Gauss–Seidel
onde
é a decomposição em diagonal, estritamente abaixo e estritamente acima da diagonal.
Passo 3
Antes de iterar, verificamos dominância diagonal:
para cada linha ,
para cada linha
No nosso caso nenhuma das 10 linhas satisfaz
,
logo não há garantia teórica de convergência do método sem reordenamento ou relaxação.
logo não há garantia teórica de convergência do método sem reordenamento ou relaxação.
Passo 4
Implementamos a rotina (em MATLAB, Python, etc.) com:
– palpite inicial
– tolerância no critério
– máximo de iterações 500
– palpite inicial
– tolerância
– máximo de iterações 500
Observa-se, nos primeiros 100 iterações, crescimento das componentes de
, sem atender
.
Passo 5
Concluímos que, sem reordenamento para impor dominância diagonal ou sem uso de fator de relaxação (
-GS), o método de Gauss–Seidel não converge para este sistema.
Resposta
O método de Gauss–Seidel, aplicado diretamente a este sistema, falha em convergir (as iterações divergem), devido à ausência de dominância diagonal das equações.