Use o botão abaixo para reportar erros ou dar sugestões.
Cálculo Numérico - Versão GNU Octave
Na seção anterior, tratamos de métodos diretos para a resolução de sistemas lineares. Em um método direto (por exemplo, solução via fatoração LU) obtemos uma aproximação da solução depois de realizarmos um número finito de operações (só teremos a solução ao final do processo).
Veremos nessa seção dois métodos iterativos básicos para obter uma aproximação para a solução de um sistema linear. Geralmente em um método iterativo, iniciamos com uma aproximação para a solução (que pode ser ruim) e vamos melhorando essa aproximação através de sucessivas iterações.
O método de Jacobi pode ser obtido a partir do sistema linear
Isolando o elemento da primeira equação temos
| (4.185) |
Note que utilizaremos os elementos da iteração (a direita da equação) para estimar o elemento da próxima iteração.
Da mesma forma, isolando o elemento de cada equação , para todo podemos construir a iteração
Em notação mais compacta, o método de Jacobi consiste na iteração
Exemplo 4.7.2. Considere o seguinte sistema
| (4.200) |
Usando o método de Jacobi com aproximação inicial , obtemos os seguintes resultados:
| 1 | -x- | |
| 2 | ||
| 3 | ||
| 4 | ||
| 5 | ||
| ⋮ | ⋮ | ⋮ |
| 10 | ||
Verifique a resposta.
No GNU Octave, podemos fazer as contas com o seguinte script:
Assim, como no método de Jacobi, no método de Gauss-Seidel também isolamos o elemento da equação . Porém perceba que a equação para depende de na iteração . Intuitivamente podemos pensar em usar que acabou de ser calculado e temos
| (4.201) |
Aplicando esse raciocínio, podemos construir o método de Gauss-Seidel como
Em notação mais compacta, o método de Gauss-Seidel consiste na iteração:
Nesta seção, analisamos a convergência de métodos iterativos para solução de sistema lineares. Para tanto, consideramos um sistema linear , onde é a matriz (real) dos coeficientes, é um vetor dos termos constantes e é o vetor incógnita. No decorrer, assumimos que é uma matriz não singular.
Geralmente, métodos iterativos são construídos como uma iteração de ponto fixo. No caso de um sistema linear, reescreve-se a equação matricial em um problema de ponto fixo equivalente, isto é:
| (4.216) |
onde é chamada de matriz da iteração e de vetor da iteração. Construídos a matriz e o vetor , o método iterativo consiste em computar a iteração:
| (4.217) |
onde é uma aproximação inicial dada.
A fim de construirmos as matrizes e os vetores de iteração do método de Jacobi e de Gauss-Seidel, decompomos a matriz da seguinte forma:
| (4.218) |
onde é a matriz diagonal , isto é:
| (4.219) |
e, respectivamente, e são as seguintes matrizes triangular inferior e superior:
| (4.220) |
Exemplo 4.7.4. Considere o seguinte sistema linear:
Escreva o sistema na sua forma matricial identificando a matriz dos coeficientes , o vetor incógnita e o vetor dos termos constantes . Em seguida, faça a decomposição .
Solução. A forma matricial deste sistema é , onde:
| (4.224) |
A decomposição da matriz nas matrizes triangular inferior, diagonal e triangular superior é:
| (4.225) |
Vamos, agora, usar a decomposição discutida acima para construir a matriz de iteração e o vetor de iteração associado ao método de Jacobi. Neste caso, temos:
Ou seja, a iteração do método de Jacobi escrita na forma matricial é:
| (4.229) |
com uma aproximação inicial dada, sendo a matriz de iteração e o vetor da iteração.
Exemplo 4.7.5. Construa a matriz de iteração e o vetor de iteração do método de Jacobi para o sistema dado no Exemplo 4.7.4.
Solução. A matriz de iteração é dada por:
| (4.230) |
O vetor da iteração de Jacobi é:
| (4.231) |
A forma matricial da iteração do método de Gauss-Seidel também pode ser construída com base na decomposição . Para tando, fazemos:
Ou seja, a iteração do método de Gauss-Seidel escrita na forma matricial é:
| (4.235) |
com uma aproximação inicial dada, sendo a matriz de iteração e o vetor da iteração.
Exemplo 4.7.6. Construa a matriz de iteração e o vetor de iteração do método de Gauss-Seidel para o sistema dado no Exemplo 4.7.4.
Solução. A matriz de iteração é dada por:
| (4.236) |
O vetor da iteração de Gauss-Seidel é:
| (4.237) |
Aqui, vamos discutir condições necessárias e suficientes para a convergência de métodos iterativos. Isto é, dado um sistema e uma iteração:
| (4.238) |
dado, estabelecemos condições nas quais , onde é a solução do sistema dado, isto é, ou, equivalentemente, .
Primeiramente, suponhamos que , . Como (veja [8], lema 2, pág. 12):
| (4.239) |
temos , o que mostra a implicação.
Agora, suponhamos que e seja . Então, existe tal que (veja [8], Teorema 3, página 12):
| (4.240) |
Assim, temos:
| (4.241) |
Da equivalência entre as normas segue a recíproca.
Teorema 4.7.1. A sequência recursiva dada por:
| (4.245) |
converge para solução de para qualquer escolha de se, e somente se, .
Daí, do Lema 4.7.1 e do Lema 4.7.2 temos:
| (4.250) |
Ora, se é a solução de , então , isto é, . Logo, temos demonstrado que converge para a solução de , para qualquer escolha de .
Agora, suponhamos que converge para solução de , para qualquer escolha de . Seja, então, um vetor arbitrário e . Observamos que:
Logo, para qualquer , temos, :
| (4.255) |
Como é arbitrário, da Observação 4.7.1 temos , . Então, o Lema 4.7.1 garante que .
Observação 4.7.2. Pode-se mostrar que tais métodos iterativos tem taxa de convergência super linear com:
| (4.256) |
Para mais detalhes, veja [8], pág. 61-64.
Exemplo 4.7.7. Mostre que, para qualquer escolha da aproximação inicial, ambos os métodos de Jacobi e Gauss-Seidel são convergentes quando aplicados ao sistema linear dado no Exemplo 4.7.4.
Solução. Do Teorema 4.7.1, vemos que é necessário e suficiente que e . Computando estes raios espectrais, obtemos e . Isto mostra que ambos os métodos serão convergentes.
Uma condição suficiente porém não necessária para que os métodos de Gauss-Seidel e Jacobi convirjam é a que a matriz seja estritamente diagonal dominante.
Definição 4.7.2. Uma matriz é diagonal dominante quando
| (4.258) |
e para ao menos um , é estritamente maior que a soma dos elementos fora da diagonal.
Teorema 4.7.2. Se a matriz for diagonal dominante9 , então os métodos de Jacobi e Gauss-Seidel serão convergentes independente da escolha inicial .
Se conhecermos a solução exata do problema, podemos calcular o erro relativo em cada iteração como:
| (4.259) |
Em geral não temos , entretanto podemos estimar o vetor resíduo . Note que quando o erro tende a zero, o resíduo também tende a zero.
Teorema 4.7.3. O erro relativo e o resíduo estão relacionados como (veja [3])
| (4.260) |
onde é o número de condicionamento.
Exemplo 4.7.8. Ambos os métodos de Jacobi e Gauss-Seidel são convergentes para o sistema dado no Exemplo 4.7.4, pois a matriz dos coeficientes deste é uma matriz estritamente diagonal dominante.
E 4.7.1. Considere o problema de 5 incógnitas e cinco equações dado por
E 4.7.2. Resolva o seguinte sistema pelo método de Jacobi e Gauss-Seidel:
| (4.266) |
Use como critério de paragem tolerância inferior a e inicialize com .
E 4.7.3. Refaça o Exercício ?? construindo um algoritmo que implemente os métodos de Jacobi e Gauss-Seidel.
E 4.7.4. Considere o seguinte sistema de equações lineares:
Construa a iteração para encontrar a solução deste problema pelos métodos de Gauss-Seidel e Jacobi. Usando esses métodos, encontre uma solução aproximada com erro absoluto inferior a . Veja também Exercício 4.5.2
, , , , , , , , , ,
E 4.7.5. Faça uma permutação de linhas no sistema abaixo e resolva pelos métodos de Jacobi e Gauss-Seidel:
Permute as linhas 1 e 2.
Este texto é disponibilizado nos termos da licença Creative Commons Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC-BY-SA 3.0). Página gerada em 19/8/2020 às 17:36:34.