em , , ,

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

Script em R do Método Iterativo de Gauss Seidel

Em continuidade ao artigo anterior, vamos apresentar o código em R para resolução de sistemas lineares pelo método iterativo de Gauss Seidel.

 O ponto de partida é a seguinte equação, que permite a solução pelo processo iterativo (Venkateshan e Swaminathan, 2014, p. 87):

(1)

Onde D é a matriz diagonal, L é matriz triangular inferior e U a matriz triangular superior, decomposta a partir da matriz dos coeficientes A.

Como mencionado no artigo anterior, a cada iteração, calcula-se o vetor dos resíduos:

(2)

O erro é calculado pelo produto escalar do vetor de resíduos (2), como:

(3)

O Script GK4 resolve o sistema de equações lineares pelo método de Gauss Seidel, parcialmente baseado em código MATLAB de Venkateshan e Swaminathan (2014, p. 88-89).

Vale comentar a facilidade da programação orientada a objetos do R, que permite converter a equação (1) em apenas uma linha de código do R (Linha 19). Pequenas modificações foram feitas no Script GK4.R de modo a permitir o desenho do gráfico da Figura 1 (Script GK5.R).

A Figura 1 ilustra o procedimento iterativo de Gauss Seidel para resolução de sistemas lineares. Como mencionado anteriormente, o Script GK4.R foi modificado para permitir o armazenamento das soluções (xRes[]), que foram usadas para desenhar o caminho percorrido pelo algoritmo para se chegar à solução esperada, dentro da tolerância especificada.

Tela de computador com texto preto sobre fundo branco

Descrição gerada automaticamente
Figura 1 – Representação do processo de Gauss Seidel para resolução do sistema de equações lineares, conforme linhas 35 e 36 do Script GK5.R

Observação importante: Este artigo foi derivado de um novo livro em preparação pelo Autor intitulado “R na prática”.

Referência Bibliográfica

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

Próximos artigos

O próximo artigo em continuidade a este, abordará a questão da convergência do método de Gauss Seidel, em função da definição da matriz dos coeficientes como estritamente diagonal dominante. Além dos artigos em álgebra linear, deve-se postar outros na área de estatística inferencial, sobretudo abordando a programação dos testes de hipóteses. O objetivo não é simplesmente mostrar como funciona um determinado teste, mas descrever a teoria, fazer uma demonstração numérica e, em seguida, apresentar a programação em R e comparar os resultados com a função de biblioteca correspondente, visando à validação do script desenvolvido.

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 *

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

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