em , ,

Método Iterativo de Gauss Seidel para Resolução de Sistemas Lineares – PARTE 1

Neste artigo, vamos descrever o método iterativo de Gauss Seidel para resolução de sistemas lineares. Trata-se de um método indireto que converge para a solução dentro de uma tolerância especificada, se a matriz dos coeficientes for estritamente diagonal dominante. Este método consiste em resolver o sistema de equações lineares:

(1)

O método faz a partição da matriz dos coeficientes A em L (estrita matriz triangular inferior), D (matriz diagonal) e U (estrita matriz triangular superior), de acordo com Venkateshan e Swaminathan (2014, p. 87):

Isso significa que a matriz dos coeficientes é o resultado da soma de matrizes:

(2)

Substituindo-se (2) em (1), chega-se:

Esta equação pode ser reescrita como (Venkateshan e Swaminathan, 2014, p. 87):

Que pode ser expressa da seguinte maneira, segundo esses autores:

Segundo Venkateshan e Swaminathan (2014, p. 87), esta forma permite a solução pelo processo iterativo, como segue:

(3)

No processo iterativo, a (k+1)-ésima iteração é baseada no resultado da k-ésima iteração. A inversa de uma matriz diagonal é simplesmente o valor recíproco do elemento da diagonal principal. O sistema de equações (3) pode ser escrito como (Venkateshan e Swaminathan, 2014, p. 88):

(4)

Trata-se do processo iterativo de Jacobi, onde a iteração para quando a variação  para 1 ≤i ≤n (Venkateshan e Swaminathan, 2014, p. 88).

Na verdade, a fórmula (4) não está correta, pois a segunda somatória que começa com (i+1) ultrapassa o limite da matriz quando i for n, j pode ser (n+1).

Exemplo numérico do processo iterativo de Gauss Seidel

Como exemplo numérico, considere-se o exemplo utilizado no nosso artigo “Sistemas de equações lineares”:

(5)

A matriz dos coeficientes A é decomposta:

O processo iterativo começa com um chute inicial da solução. Assim, por exemplo, pode-se começar fazendo:

(6)

O sistema de equações lineares escrito na forma matricial é:

Substituindo x’ na equação matricial, tem-se:

Evidentemente, b’ não é a solução correta e, por isso, tem-se uma diferença entre o vetor b original e o vetor b’ do chute inicial, que é denominado vetor res (resíduo):

(7)

Substituindo-se (6) em (7), tem-se:

O erro é definido como o produto escalar (Venkateshan e Swaminathan, 2014, p. 89):

O erro é muito alto, pois é o resultado do chute inicial. Assim, estabelece-se uma tolerância para o processo iterativo, de tal forma que enquanto o erro for maior que a tolerância, repete-se o processo iterativo. Pode-se definir uma tolerância, nesse caso igual a 0,0001. Considerando o chute inicial como sendo a iteração zero, a primeira iteração é obtida pela expressão (3):

(8)

Resolvendo (L+U)xk:

Calculando (b-(L+U)xk), tem-se:

Por fim, determina-se o vetor solução correspondente à primeira iteração:

O vetor de resíduos:

(9)

Calcula-se o erro como o produto escalar do vetor de resíduos:

(10)

Como o erro é maior que a tolerância, repete-se o procedimento se aplicando (8), (9) e (10), de acordo com os resultados da Tabela 1.

Tabela 1: Resultados do processo iterativo de Gauss Seidel.

Como se pode verificar, foram necessárias 24 iterações para o erro ser menor que a tolerância (0.0001). Pode-se diminuir a tolerância e, consequentemente, o erro. Porém, este exemplo teve por objetivo ilustrar com uma aplicação numérica o método de iterativo de Gauss Seidel. Nesse caso, houve convergência para a tolerância definida inicialmente. Nesse exemplo, a matriz dos coeficientes apresenta apenas um elemento da diagonal maior que o elemento da linha, em termos absolutos. Entretanto, nem sempre a convergência é possível, pois depende de a condição da matriz dos coeficientes ser estritamente diagonal dominante.

Referência bibliográfica

Venkateshan, S.P.; Swaminathan, P. 2014. Computational methods in engineering. Waltham, Academic Press. 672p.

Próximos artigos

Os próximos artigos em continuidade tratarão da programação em linguagem R do método iterativo de Gauss Seidel, bem como a discussão sobre as condições para convergência desse método.

Escrito por Jorge Kazuo Yamamoto

Prof. Dr. Jorge Kazuo Yamamoto, fundador da Geokrigagem, é geólogo, foi pesquisador do IPT e docente do Instituto de Geociências da USP, onde se aposentou como Professor Titular do Departamento de Geologia Sedimentar e Ambiental. Atualmente, atua como Professor Sênior do Departamento de Engenharia de Minas e de Petróleo – Escola Politécnica – USP. É responsável pela disciplina “Métodos geoestatísticos” na Pós-Graduação do IPT – Investigação do subsolo: Geotecnia e Meio Ambiente. Dedica-se ao ensino de geoestatística, com ênfase no desenvolvimento de algoritmos e pesquisa de novas aplicações, tais como: variância de interpolação, cálculo da variância global de depósitos minerais e correção do efeito de suavização da krigagem. Ultimamente, seu interesse está voltado para o ensino e divulgação da linguagem R.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Script em R para Gerar Sistemas Lineares e Resolução por Triangularização de Gauss

Método Iterativo de Gauss Seidel para Resolução de Sistemas Lineares – PARTE 2