Método de Gauss-Seidel
Mais um método iterativo para sistemas lineares
Vamos lá?
Na aula passada vimos um primeiro método iterativo, o método de Gauss-Jacobi. Nesta aula apresento um segundo método iterativo, o método de Gauss-Seidel.
- 1
- 2
- 3
Sobre o método de Gauss-Seidel podemos afirmar que...
Em um sistema podemos dizer que
A ideia do método de Gauss-Seidel é usar melhores aproximações assim que disponíveis. Tão logo uma coordenadas do próximo iterando já esteja disponível, ela já é prontamente utilizada, ainda na mesma iteração do método de Gauss-Seidel.
De fato, o método de Gauss-Seidel é muito parecido com o método de Gauss-Jacobi, com a exceção de que
Definindo
Vejamos em um exemplo como aplicar o método de Gauss-Seidel. Considere o sistema linear
Veja que o custo de uma iteração do método de Gauss-Seidel é rigorosamente o mesmo que o custo de uma iteração do método de Gauss-Jacobi, uma vez que são feitas as mesmas contas, apenas com valores diferentes para as coordenadas dos pontos intermediários.
O método de Gauss-Seidel sofre dos mesmos problemas que o método de Gauss-Jacobi. Ele também pode não convergir, além de poder ser lento.
Com esses dois exemplos de métodos iterativos para sistemas lineares está na hora de tentar entender quando esses métodos convergem e o que determina a velocidade deles. Esse será o assunto da próxima aula.
Referência
David S. Watkins. Fundamentals of Matrix Computations. John Wiley & Sons, 2ª ed., 2002.
1. Escreva um algoritmo para o método de Gauss-Seidel. Compare o custo computacional deste algoritmo com o custo do algoritmo para o método de Gauss-Jacobi.
2. Para cada sistema linear abaixo, aplique o método de Gauss-Seidel e descubra se o método está convergindo ou não. Caso o método não esteja convergindo, experimente trocar a ordem das equações para verificar se isso afeta a convergência. Compare com os resultados do exercício análogo da aula anterior e veja se de fato o método de Gauss-Seidel foi mais rápido.