ESTUDO DA APLICAÇÃO DO MÉTODO DO GRADIENTE NA … - Thallis... · 2.3.2.4. Processos de...

64
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CAMPUS ANGICOS CURSO DE CIÊNCIA E TECNOLOGIA THALLIS THAUAN AZEVEDO DE SOUSA ESTUDO DA APLICAÇÃO DO MÉTODO DO GRADIENTE NA RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES ANGICOS-RN 2013

Transcript of ESTUDO DA APLICAÇÃO DO MÉTODO DO GRADIENTE NA … - Thallis... · 2.3.2.4. Processos de...

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO

CAMPUS ANGICOS

CURSO DE CIÊNCIA E TECNOLOGIA

THALLIS THAUAN AZEVEDO DE SOUSA

ESTUDO DA APLICAÇÃO DO MÉTODO DO GRADIENTE NA

RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES

ANGICOS-RN

2013

THALLIS THAUAN AZEVEDO DE SOUSA

ESTUDO DA APLICAÇÃO DO MÉTODO DO GRADIENTE NA

RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES

Monografia apresentada a Universidade Federal Rural

do Semi-Árido – UFERSA, Campus Angicos para a

obtenção do título de Bacharel em Ciência e

Tecnologia.

Orientador: Profº Me. Matheus da Silva Menezes -

UFERSA

ANGICOS-RN

2013

A minha família, especialmente aos meus pais; Leilson Pereira de Sousa e Edna Maria

Azevedo que nunca mediram esforços para minha felicidade e educação.

AGRADECIMENTOS

Primeiramente, quero agradecer, de uma maneira muito especial, a Deus acima de tudo por

estar presente na minha vida de modo bastante especial, me dando força, sabedoria e

compreensão para concluir este trabalho. Deus está acima de tudo na minha vida;

À minha família, especialmente à minha mãe que com muito carinho e apoio não mediu

esforços para que eu chegasse até esta etapa da minha vida, acreditando e me entregando em

suas constantes orações diárias, ao meu pai que nunca me deixou faltar nada;

Aos meus colegas de curso pela troca de experiências durante esses anos, em especial as

minhas amigas Ornella Lacerda, Nathália Reis, Marilia Amorim e Danielly Cristina que

sempre tiveram paciência comigo, aos meus amigos Fernando Henrique, João Emanuell,

Filipe Carlos, Felipe Yure, Francisco Gouveia e a Thalis Ginani com quem compartilhei

muitos conhecimentos, brincadeiras e companheirismo;

A todos os moradores da Casadocaraioficial, onde morei durante a maior parte do curso, e

dividi experiências bastante proveitosas.

Aos meus amigos Dhyego Shongas Barbosa, Paulo Henrique e Andrew Pinheiro por me

aceitarem como “encostado” na casa deles e termos compartilhado boas risadas.

Aos meus amigos Modesto Neto e Fabiano Drechsler pelas resenhas feitas tanto na minha

casa como também lá no “Cantinho dos caras”;

À banda norte americana Foo Fighters, por ter me trazido inspiração nas noites longas na sala

17, onde eu fiz a maior parte da minha monografia;

Ao meu orientador Matheus Menezes, pela dedicação, disponibilidade, contribuições e

incentivo na elaboração deste trabalho;

A todos os professores, em especial a Sâmea Valensca, Marcilene Nobrega, Antônio de

Pádua, Roselene Alcântara, Núbia Alves, Alexandro Pereira, Edwin Barreto, Vinicius

Samuel, Éder Jofre e Ivan Mezzomo que estiveram presentes no período deste curso que

direto ou indiretamente contribuíram para esta conquista;

À UFERSA, em especial ao Campus Angicos, onde convivi durante toda essa jornada de

muito estudo e assim consegui conquistar a amizade e confiança de muitos professores, vocês

serão inesquecíveis;

A todos os meus amigos (as) que presentes no meu dia a dia, me apoiaram e desejaram o meu

sucesso, agradeço muito por acreditarem nesta realização;

Serei a todos infinitamente grato.

“O melhor presente Deus me deu, a vida me ensinou a lutar pelo que é meu.”

(Alexandre Magno Abrão)

RESUMO

O presente trabalho tem por objetivo efetuar uma revisão bibliográfica sobre o método do

gradiente aplicado à resolução de sistemas de equações lineares, destacando seus elementos

constitutivos e condições de convergência. Efetuamos também a implementação do método

na plataforma numérica SCILAB, comparando o desempenho do método em relação aos

métodos iterativos estacionários de Gauss-Seidel e Jacobi, utilizando para isso sete problemas

de teste cuja dimensão variou entre 30 e 1200 equações. Ao fim do trabalho constatou-se que

o método do gradiente possuiu vantagens relativas a um bom desempenho aliado a um baixo

tempo de execução em relação aos métodos analisados.

Palavras-chave: Sistema de equações lineares. Método do gradiente. Métodos iterativos.

LISTA DE FIGURAS

FIGURA 1 – ILUSTRAÇÃO DO COMPORTAMENTO DE PONTOS DE MÍNIMO LOCAL E MÁXIMO LOCAL,

FONTE THOMAS (2010) ............................................................................................................. 19

FIGURA 2 – EXEMPLO DO COMPORTAMENTO DE UMA MATRIZ POSITIVA DEFINIDA, FONTE

THOMAS (2009) ......................................................................................................................... 36

FIGURA 3: IMAGEM DA PLOTAGEM EM 2D(ESQUERDA) E 3D (DIREITA) DA MATRIZ DO PROBLEMA

BCSSTRUC1, FONTE MATRIXMARKET(2013) ........................................................................ 43

FIGURA 4: IMAGEM DA PLOTAGEM EM 2D(ESQUERDA) E 3D (DIREITA) DA MATRIZ DO

PROBLEMAPDE225, FONTE MATRIX MARKET(2013) ................................................................. 44

FIGURA 5: IMAGEM DA PLOTAGEM EM 2D(ESQUERDA) E 3D (DIREITA) DA MATRIZ DO PROBLEMA

MCFE, FONTE MATRIX MARKET(2013) ..................................................................................... 45

FIGURA 6: IMAGEM DA PLOTAGEM EM 2D(ESQUERDA) E 3D (DIREITA) DA MATRIZ DO PROBLEMA

GR3030, FONTE MATRIX MARKET (2013) ................................................................................. 46

FIGURA 7: IMAGEM DA PLOTAGEM EM 2D(ESQUERDA) E 3D (DIREITA) DA MATRIZ DO PROBLEMA

SHERMAN1, FONTE MATRIXMARKET(2013) ......................................................................... 47

FIGURA 8: IMAGEM DA PLOTAGEM EM 2D(ESQUERDA) E 3D (DIREITA) DA MATRIZ DO PROBLEMA

SHERMAN4, FONTE MATRIXMARKET(2013). ........................................................................ 48

LISTA DE TABELAS

TABELA 1: DADOS REFERENTES AO COMPUTADOR UTILIZADO NOS TESTES. .............................. 38

TABELA 2 ALGORITMO UTILIZADO NO MÉTODO DE JACOBI ....................................................... 39

TABELA 3 ALGORITMO UTILIZADO NO MÉTODO DO GRADIENTE ................................................ 40

TABELA 4 ALGORITMO UTILIZADO NO MÉTODO DE GAUSS-SEIDEL ........................................... 41

TABELA 5: DADOS REFERENTES AO PRIMEIRO PROBLEMAM30 .................................................. 42

TABELA 6: DADOS REFERENTES AO PROBLEMA BCSSTRUC1 .................................................. 43

TABELA 7: DADOS REFERENTES AO PROBLEMA PDE225 ............................................................ 44

TABELA 8: DADOS REFERENTES AO PROBLEMA MCFE ................................................................ 45

TABELA 9: DADOS REFERENTES AO PROBLEMA GR3030 ............................................................ 45

TABELA 10: DADOS REFERENTES AO PROBLEMA SHERMAN1 ................................................. 46

TABELA 11: DADOS REFERENTES AO PROBLEMA SHERMAN4 ................................................. 47

TABELA 12: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O

PROBLEMA M30 ......................................................................................................................... 49

TABELA 13: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O

PROBLEMA BCSSTRUC1. ......................................................................................................... 51

TABELA 14: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O

PROBLEMAPDE225 ..................................................................................................................... 52

TABELA 15: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O

PROBLEMA MCFE ....................................................................................................................... 54

TABELA 16: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O

PROBLEMA GR3030 .................................................................................................................... 55

TABELA 17: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O

PROBLEMA SHERMAN1. .......................................................................................................... 57

TABELA 18: RESULTADOS PARA OS MÉTODOS DE JACOBI, GAUSS-SEIDEL E GRADIENTE PARA O

PROBLEMA SHERMAN4. .......................................................................................................... 58

TABELA 19 – QUADRO COMPARATIVO ENTRE OS MÉTODOS PARA TODOS OS PROBLEMAS

ANALISADOS .............................................................................................................................. 60

LISTA DE GRÁFICOS

GRÁFICO 1 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA M30 ................................. 50

GRÁFICO 2 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA

M30 ........................................................................................................................................... 50

GRÁFICO 3 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA BCSSTRUC1 .................. 51

GRÁFICO 4 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA

BCSSTRUC1 ............................................................................................................................ 52

GRÁFICO 5 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA PDE225 ............................ 53

GRÁFICO 6 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA

PDE225 ...................................................................................................................................... 53

GRÁFICO 7 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA MCFE ............................... 54

GRÁFICO 8 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA

MCFE.......................................................................................................................................... 55

GRÁFICO 9 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA GR3030 ............................ 56

GRÁFICO 10 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA

GR3030 ...................................................................................................................................... 56

GRÁFICO 11 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA SHERMAN1................. 57

GRÁFICO 12 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA

SHERMAN1 ............................................................................................................................. 58

GRÁFICO 13 – ANALISE DO TEMPO DE EXECUÇÃO PARA O PROBLEMA SHERMAN4................. 59

GRÁFICO 14 – ANALISE DO NUMERO DE ITERAÇÕES REALIZADAS PELOS MÉTODOS NO PROBLEMA

SHERMAN4 ............................................................................................................................. 59

GRÁFICO 15 – TEMPO DE EXECUÇÃO EM SEGUNDOS (S) DOS MÉTODOS PARA OS PROBLEMAS

M30, PDE225, GR3030, SHERMAN1 E SHERMAN4. .............................................................. 61

SUMÁRIO

1 INTRODUÇÃO ................................................................................................................... 14

1.1 JUSTIFICATIVA ............................................................................................................... 15

1.2 OBJETIVOS ....................................................................................................................... 15

1.2.1 Objetivo geral ................................................................................................................. 15

1.2.2 Objetivos específicos ...................................................................................................... 15

2 REVISÃO DE LITERATURA ........................................................................................... 17

2.1. PRELIMINARES .............................................................................................................. 17

2.1.1. Funções de varias variáveis ......................................................................................... 17

2.1.2. Derivada Parcial ........................................................................................................... 18

2.1.3. Ponto de máximo e mínimo de funções ....................................................................... 19

2.1.4. Derivada direcional ...................................................................................................... 20

2.1.5. Gradiente ....................................................................................................................... 21

2.2.SISTEMAS DE EQUAÇÕES LINEARES ........................................................................ 22

2.2.1. Classificação dos sistemas de equações lineares ........................................................ 24

2.2.1.1 Quanto ao tamanho ....................................................................................................... 24

2.2.1.2 Quanto ao numero de soluções ..................................................................................... 24

2.3. MÉTODOS PARA RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES ......... 24

2.3.1. Métodos diretos ............................................................................................................. 24

2.3.2. Métodos iterativos ........................................................................................................ 26

2.3.2.1. Critério de convergência .............................................................................................. 27

2.3.2.2. Critério de parada ........................................................................................................ 27

2.3.2.3. Processos estacionários................................................................................................ 27

2.3.2.4. Processos de relaxação ................................................................................................ 31

2.4 MÉTODO DO GRADIENTE ............................................................................................. 36

3 METODOLOGIA E METODOS ..................................................................................... 38

3.1 METODOLOGIA ............................................................................................................... 38

3.2 ALGORITMOS .................................................................................................................. 39

3.3 PROBLEMAS .................................................................................................................... 42

4 RESULTADOS E DISCUSSÃO ........................................................................................ 49

4.1 COMPARATIVO ENTRE OS MÉTODOS ....................................................................... 59

5 CONSIDERAÇÕES FINAIS .............................................................................................. 62

REFERÊNCIAS ..................................................................................................................... 63

14

1 INTRODUÇÃO

Sistemas de equações lineares são encontrados em diversas áreas da atuação

matemática. Mesmo indiretamente, é comum a presença dos descritos sistemas em problemas

do nosso cotidiano, como por exemplo, na analise de um circuito elétrico, ou no cálculo

estrutural de uma treliça na engenharia civil, e não param por ai, segundo Ferreira (2007,

p.29) podemos facilmente encontra-los também em problemas de equações diferenciais

parciais, otimização e regressões. Para Burden e Faires (2008) "[...] os sistemas de equações

lineares estão associadosa muitos problemas no campo da engenharia e da ciência, bem

como com aplicações damatemática às ciências sociais e aos estudos quantitativos nos

problemas de administração eeconomia".

Assim, os sistemas de equações lineares estão diretamente ligados a diversos

problemas da engenharia e da ciência. Segundo Sperandio (2003, p. 67) “[...] os sistemas de

equações lineares podem ser de grande porte”. Por exemplo, a análise de estruturas de uma

aeronave. Segundo Leon (2011, p.1), "sistemas lineares aparecem em aplicações em áreas

como administração, economia, sociologia, ecologia, demografia, genética, eletrônica,

engenharia e física.". Para Ferreira (2007, p.29) A solução de um sistema de equações

algébricas lineares é provavelmente o processo numérico mais utilizado para simular

situações do mundo real.

Percebe-se então que a necessidade de se resolver um sistema de equações lineares é

bastante considerável, havendo diversas formas de se chegar a mesma, a quais chamamos de

métodos numéricos, contudo, segundo Ruggiero (2004) tais métodos diferem entre si na

forma de buscar a solução do sistema, adequando-se às mais diversas situações, e cujo

desempenho depende fundamentalmente do tipo de estrutura da matriz dos coeficientes.

Dessa forma, é evidente a necessidade da realização de estudos sobre esses métodos de

resolução. Segundo Ruggiero (2004) um estudo sobre a eficiência dos métodos se torna

necessário, pois na maioria das vezes os problemas mais práticos envolvem a resolução de

sistemas de grande porte.

Segundo Franco (2006) quando nos deparamos com sistemas grandes e esparsos, os

métodos iterativos se tornam mais eficientes que os métodos diretos. Segundo Burden e Faires

(2008), para grandes sistemas esparsos, essas técnicas são eficientes em termos tanto de

armazenamento no computador quanto de cálculos. O método dos gradientes é um método

iterativo advindo do processo de relaxação que se encaixa nesse contexto.

15

1.1 JUSTIFICATIVA

A construção de um trabalho sobre métodos numéricos é de grande importância para

diversas áreas de atuação e de estudos, pois existem inúmeros tipos de problemas que

envolvem sistemas de equações lineares, assim como também existe um grande número de

métodos de resolução desses sistemas. Cada método pode ter sua aplicação bem sucedida para

certo tipo de problema e para outro não. Aplicar o método adequado para cada situação é

primordial na vida de um profissional, para que se possa tomar essa decisão dentro de

referencias que nos leve a ter bons resultados e não perder tempo e investimentos. É

importante conhecer minuciosamente o funcionamento de cada método, por isso existe a

necessidade da elaboração de trabalhos como este, comparando e analisando o funcionamento

de um certo tipo de método, neste caso o método dos gradientes.

1.2 OBJETIVOS

1.2.1 Objetivo geral

O presente trabalho possui o objetivo de efetuar uma revisão bibliográfica e estudo do

método dos gradientes.

1.2.2 Objetivos específicos

Analisar os aspectos teóricos e práticos do método dos gradientes;

Analisar a aplicabilidade do método de acordo com as suas pré-condições;

Implementar o algoritmo do método proposto na plataforma computacional numérica

Scilab;

Efetuar um estudo comparativo de resultados em alguns problemas de teste,

comparando os resultados com os métodos de Gauss-Jacobi e Gauss-Seidel;

Analisar a convergência dos métodos nos problemas de teste.

16

De forma a alcançar os objetivos propostos, o presente trabalho está organizado de

acordo com a formatação metodológica que é apresentada a seguir. O capitulo 1 contém a

organização metodológica, justificativas e objetivos. O capitulo 2 apresenta a fundamentação

teórica matemática que dará base aos métodos estudados. No capitulo 3, são mostrados os

procedimentos utilizados para a realização dos testes, algoritmos implementados e os

problemas utilizados. No capitulo 4 tem-se os resultados obtidos nos testes de cada problema

aplicado em cada método. Pra encerrar, o capitulo 5 apresenta as conclusões tiradas sobre o

trabalho.

17

2 REVISÃO DE LITERATURA

2.1. PRELIMINARES

2.1.1. Funções de varias variáveis

Segundo Thomas (2009), muitas funções dependem de uma variável independente.

Por exemplo, a função calcula o volume de um cilindro circular reto a partir da sua

altura e altura . Outro exemplo é a temperatura T de um ponto da superfície terrestre, onde

depende da latitude e longitude , representada por

O mesmo autor ainda define que funções reais de varias variáveis são definidas

basicamente da mesma maneira que as de uma variável.

Assim chama-se de função real com variáveis a uma função do tipo

com

Ou seja, uma função cujo domínio (ou ) é um subconjunto de e seu

contradomínio é .

A notação mais resumida mostrada acima também é usada, sendo mostrada de uma

forma geral como

Neste caso é o conjunto }

Em aplicações, tendemos a usar letras que nos lembram o significado da variável. Para

dizermos que o volume de um cilindro circular reto é uma função de seu raio e altura,

podemos escrever . Para ser mais específico, pode-se trocar a notação pela

formula que calcula o valor de a partir dos valores de e e escrever . Em ambos

os casos, r e h são as variáveis independentes e V a variável dependente da função. (Thomas,

2009)

18

2.1.2. Derivada Parcial

Segundo Stewart (2001) o conceito de derivada está intimamente relacionado à taxa de

variação instantânea de uma função, o qual está presente no cotidiano das pessoas, através,

por exemplo, da determinação da taxa de crescimento de certa população, da taxa de

crescimento econômico do país, da taxa de redução da mortalidade infantil, da taxa de

variação de temperaturas, da velocidade de corpos ou objetos em movimento, enfim,

poderíamos ilustrar inúmeros exemplos que apresentam uma função variando e que a medida

desta variação se faz necessária em um determinado momento. Para Thomas (2009, p.307) o

cálculo de várias variáveis é, na realidade, o cálculo de uma variável aplicado a várias

variáveis uma de cada vez. Quando fixamos todas as variáveis independentes de uma função,

exceto uma, e derivamos em relação a essa variável, obtemos uma derivada “parcial”.

Para o autor citado acima se uma função possui derivada parcial em relação a

no ponto é dada por:

|

Se este limite existir. representa uma pequena variação em , próximo de mantendo y

constante. Aplicando raciocínio análogo definimos a derivada parcial de em relação a

no ponto como:

|

Para Thomas (2009, p.313) quando derivamos uma função duas vezes,

produzimos suas derivadas de segunda ordem. Essas derivadas são , em geral, denotadas por:

Derivada de segunda em relação à .

Derivada de segunda ordem em relação à .

Primeira derivada em relação à , e segunda derivada em relação à .

Primeira derivada em relação à e segunda derivada em relação à .

19

2.1.3. Ponto de máximo e mínimo de funções

Segundo Thomas (2009), funções continuas de duas variáveis assumem valores

extremos em domínios fechados e limitados. Veremos então, que a procura desses valores

pode ser mais simples examinando-se as derivadas parciais de primeira ordem da função. O

mesmo autor afirma que funções de duas variáveis podem assumir valores extremos apenas

nos pontos de fronteira do domínio ou nos pontos interiores do domínio onde as derivadas de

primeira ordem são nulas, ou onde uma ou ambas as derivadas parciais da função não

existam.

Para Thomas (2009), máximos locais correspondem a picos de montanhas e mínimos a

vales, assim como mostrado na figura abaixo:

Figura 1 – Ilustração do comportamento de pontos de mínimo local e máximo local, Fonte

Thomas (2010)

O teorema a seguir desenvolvido pelo autor citado acima demonstra a maneira de se

identificar os pontos críticos da função através do teste da derivada de segunda ordem.

Teorema 1

Suponha que e suas derivadas parciais de primeira e segunda ordem sejam

continuas em um disco centrado em e que .

Então

i. tem um máximo local em se e em

ii. tem um mínimo local em se e em

iii. tem um ponto de sela em se em

20

iv. O teste é inconclusivo em se em Nesse caso,

deve-se tentar outra maneira de identificar o comportamento da função em

.

Para identificar o ponto de máximo absoluto da função Thomas (2009) utiliza a

seguinte definição.

Definição: Seja uma função de duas variáveis. Dizemos que

é ponto de máximo global se, para todo . Dizemos

que é um ponto de máximo global de .

Já o ponto de mínimo global é definido pelo autor da seguinte maneira:

Definição: Seja uma função de duas variáveis. Dizemos que

é ponto de máximo global se, para todo . Dizemos

que é ponto de mínimo global de .

2.1.4. Derivada direcional

Segundo Thomas (2009), através do cálculo da derivada direcional podemos então

encontrar a taxa de variação de uma função f em relação a uma direção a uma determinada

direção, como por exemplo, o curso de um rio, onde a direção do curso do rio é perpendicular

aos contornos ou margens do mesmo.

Thomas (2009) descreve definição da derivada direcional de uma função de duas

variáveis por uma questão de comodidade, mas essa definição se estende, de maneira natural,

acrescentando mais coordenadas, para as funções de mais do que duas variáveis.

Definição: Seja uma função, onde é um aberto, tal que

. Seja um vetor unitário (isto é,‖ ‖ ).

A equação

define uma reta paralela ao vetor , tal que e, para valores suficientemente

pequenos de

Se existir o

( )

21

ele será denotado por

e chamado derivada direcional de no ponto , na direção

do vetor (unitário) .

Se , com ‖ ‖ √

, então

e

2.1.5. Gradiente

Ao desenvolver uma forma mais eficiente para o calculo da derivada direcional,

Thomas (2009) chega então ao gradiente, que é obtido por meio do calculo das derivadas

parciais da função.

O gradiente é definido pelo autor da seguinte forma:

A notação também pode ser descrita como grad ou gradiente de segundo o

mesmo autor.

Para Thomas (2009) o teorema abaixo relaciona o gradiente à derivada direcional, no

caso das funções diferenciáveis. Esse teorema nos dará uma fórmula para calcular, de maneira

simples, as derivadas direcionais.

Teorema 2

Seja uma função diferenciável em , um aberto de , e

seja um vetor unitário. Então,

Isto é, se for diferenciável, podemos calcular as derivadas direcionais simplesmente

fazendo o produto interno do vetor gradiente pelo vetor unitário que indica a direção indicada.

22

Além disso, o teorema nos diz que, se for diferenciável, então ela admite derivada

direcional

para todo vetor unitário .

2.2.SISTEMAS DE EQUAÇÕES LINEARES

Podemos considerar como linear uma equação onde seus termos são submetidos

apenas as operações de soma e produto entre as constantes e variáveis, e onde também não há

produto entre as variáveis. Segundo Franco (2006, p. 108) "uma equação é linear se cada

termo contiver não mais do que uma variável e cada variável aparece na primeira potência.”

Podemos então definir uma equação linear da seguinte forma:

Onde segundo Leon (2011), são constantes chamadas de coeficientes,

são chamadas de incógnitas ou variáveis, e b é chamado de termo livre.

Segundo Oliveira (1969, p. 1105) "de um ponto de vista puramente matemático, o

modelo linear apresenta um grande numero de vantagens sobre outros modelos, denominados

não lineares."

Vemos então que segundo Ferreira (2010) um sistema de equações lineares nada mais

é do que um conjunto de m equações com n incógnitas. Uma condição importante para que se

possa ser aplicado um método de resolução é que m=n, ou seja, o numero de equações deve

ser igual ao numero de incógnitas.

Segundo Freitas(2000, pag. 85) Estima-se que em 75% dos problemas científicos a

solução de um sistema linear de equações aparece em algum estágio da solução. Podemos,

entre outros, citar os seguintes problemas: Interpolação, ajuste de curvas, solução de sistemas

de equações não lineares, solução de equações diferenciais usando diferenças finitas e cálculo

de autovalores e autovetores.

Então, tomando como referência a forma de uma equação linear descrita por Leon

(2011), a forma genérica de um sistema com m equações e n incógnitas é apresentado da

seguinte forma:

{

23

Em que, e são números reais e i, j .

Usando a notação matricial, o sistema pode ser representado dessa forma:

Ax=b (3)

onde,

[

]

é a matriz dos coeficientes,

[

]

é o vetor das variáveis, e

[

]

é o termo livre ou vetor constante.

Neste trabalho vamos denotar por x* o vetor solução e de a solução aproximada do

sistema linear.

Segundo Boldrini (1980, p. 33), uma solução do sistema apresentado na equação 2 é

uma n-upla de números ( ) que satisfazem simultaneamente estas m equações.

24

2.2.1. Classificação dos sistemas de equações lineares

Os sistemas lineares podem ser classificados de acordo com os seguintes parâmetros:

2.2.1.1 Quanto ao tamanho

De acordo com Gavala (p. 42), podemos classificar os sistemas de equações lineares

de acordo com:

Pequenos: quando 300, onde n representa o número de equações do sistema.

Grandes: quando 300, onde n também representa o numero de equações do

sistema.

2.2.1.2 Quanto ao número de soluções

Segundo Ferreira (2010, p. 42), um sistema linear pode ser classificado sob vários

critérios, como, por exemplo, o número de soluções:

Segundo o próprio autor, o número de soluções de um sistema linear depende do valor

do determinante da matriz dos coeficientes. Há três soluções possíveis:

(a) Única solução: Quando o sistema têm apenas uma solução.

(b) Infinitas soluções: Quando o vetor é a intersecção entre as equações.

(c) Sem solução: Quando o sistema não possui solução alguma.

2.3. MÉTODOS PARA RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES

2.3.1. Métodos diretos

Para Ruggiero (2004) os métodos diretos são aqueles em que após um número finito

de etapas, e não se considerando os erros de arredondamento, encontra-se a solução exata do

sistema caso ela exista. Já para Barroso (1987 p, 27) são métodos que determinam a solução

de um sistema linear com um número finito de operações.

Sperandio et al(2003) apresenta os métodos diretos mais conhecidos, sendo eles:

Regra de Crammer: Consiste em isolar as variáveis uma a uma e fazer a

retrosubstituição nas equações restantes até que todas as variáveis tenham sido

encontradas. Segundo Sperandio et al(2003) seu uso é praticamente impossível, a

menos que os sistemas tenham poucas equações e incógnitas.

25

Matriz Inversa: Se A = b, podemos encontrar o vetor solução pela seguinte

operação algébrica: = b.

Método de eliminação de Gauss: Através deste encontramos um sistema triângular

equivalente ao sistema linear inicial (por ser mais fácil de operacionalizar) que irá

fornecer uma solução que também satisfaz o sistema inicial. Segundo Freitas (2000, p.

93), o método divide-se em duas partes, transformando o sistema em um sistema

triângular por meio de eliminação sistemática das incógnitas. E, em seguida aplicando

o processo de retrosubstituição. Segundo Sperandio et al (2003), escalonamento e

estratégias de pivoteamento devem ser usadas a fim de evitar elevados erros de

arredondamento.

Fatoração LU: Em um sistema A = b, decompõe-se a matriz A em duas matrizes:

uma triangular inferior L= [ ], e uma triângular superior, U = [ ], tal que Ly = b e

Ux =Y, de acordo com o seguinte teorema:

Teorema 01: "Sejam A uma matriz n×n e a matriz k×k formada pela intersecção

das primeiras k linhas e colunas em A. Se det( ) 0;k = 1, 2,..., n−1, então existe

um única matriz triângular inferior L = [ ] com = 1; i = 1,2,...,n e uma única

matriz triângular superior U = que LU = A"

Segundo Ruggiero (2004) vantagem dos processos de fatoração é que pode-se

resolver qualquer sistema como matriz dos coeficientes, pois se o vetor for alterado,

a resolução será quase que imediata.

Fatoração de Cholesky: Se A: m x n é simétrica e definida positiva (todos seus

elementos positivos), então existe uma única matriz triangular inferior G: m x n com

diagonal positiva, tal que A = para a composição da matriz G.

Se o item fizer parte da diagonal do fator usamos:

Se o item não for parte da diagonal do fator, então usamos:

26

Segundo Burian (2011) a fatoração de cholesky é um método que diminui o trabalho

em se resolver o problema, desde que a matriz seja simétrica e definida positiva.

2.3.2. Métodos iterativos

Para (Franco 2006) os métodos iterativos são caracterizados pela busca da solução de

um sistema linear através de etapas. Para cada etapa o método fornece uma aproximação para

a solução do sistema.

Já para Gavala (p. 42), os métodos denominados iterativos criam uma sucessão de

vetores que convergem para a solução do sistema de equações lineares. Estes métodos são

utilizados para resolução de sistemas grandes, e como são feitas muitas operações

matemáticas, os erros de arredondamento podem alterar consideravelmente a solução do

sistema.

Segundo Franco (2006, p.156) em certos casos, tais métodos são melhores do que os

exatos, por exemplo, quando a matriz dos coeficientes é uma matriz esparsa (muitos

elementos iguais a zero). Eles ainda são mais econômicos no sentido que utilizam menos

memória do computador.

Para Barroso (1987, p. 49), a solução aproximada de um sistema linear pode

ser obtida utilizando-se um método iterativo, que consiste em calcular uma sequência

de aproximação da solução aproximada , sendo dada uma aproximação inicial

.

Autores como Gavala e Sperandio apresentam os seguintes métodos iterativos: método

de Jacobi, método de Gauss-Seidel, método de sobre-relaxação, método do gradiente e

método do gradiente conjugado. Já Franco (2006) classifica os métodos quanto ao processo

utilizado, sendo os mesmos estacionários ou de relaxação

Sperandio et al (2003, p.3) afirma que um processo iterativo se caracteriza por

envolver os seguintes elementos:

a) Tentativa inicial: consiste em uma primeira aproximação para a solução desejada do

problema numérico que pode ser representada como:

27

b) Equação de recorrência: equação por meio da qual, partindo-se da tentativa inicial, são

realizadas as iterações ou as aproximações sucessivas para a solução desejada.

c) Teste de parada: é o instrumento por meio do qual o procedimento iterativo é

finalizado.

2.3.2.1. Critério de convergência

Sabemos também que esses métodos têm as suas restrições de uso, e uma garantia de

que o método vá funcionar é que segundo Burian (2011) Existem condições sobre os

elementos da matriz dos coeficientes do sistema que, se satisfeitas, são suficientes para

garantir a convergência do método. Uma condição suficiente para garantir a convergência dos

métodos de Gauss-Seidel e Jacobi, quando aplicados a um sistema linear, com , é o

critério das linhas definido como:

∑| |

| |

2.3.2.2. Critério de parada

Cada vez que o método realiza uma iteração, a solução vai obtendo mais exatidão.

Segundo Ferreira (2007), o processo deve ser interrompido quando o critério de parada for

satisfeito, o mesmo pode ser definido como:

‖ ‖

‖ ‖

2.3.2.3. Processos estacionários

Para Franco (2006), um método iterativo é estacionário quando cada aproximação

provém de uma aproximação anterior. Seguindo esse raciocínio conclui-seque um método

iterativo estacionário é caracterizado pela junção de passos que se repetem.

28

Este autor também afirma que os métodos iterativos estacionários são o de Jacobi e o

de Gauss-Seidel, contudo, para Ferreira (2007) o método da sobre-relaxaçãoé considerado

como um método estacionário.

Método de Jacobi

Franco (2006) decompõe a matriz A da seguinte forma:

onde L é uma matriz triangular inferior formada pela parte inferior da matriz A, D é a diagonal

de A e R é uma matriz triangular superior formada pela parte superior de A, isto é:

{

{

{

Supondo que o determinante de A seja diferente de 0, podemos transformar o sistema

original em:

.

Franco (2006) afirma que é uma solução inicial para a solução aproximada .

Obtendo-se assim a aproximações sucessivas para a solução usando o processo:

A dedução usada por Franco (2006) também chegará ao mesmo processo iterativo

estacionário encontrado por Freitas (2000, p.109), que parte do princípio de considerar a

equivalência de e a seqüência de iterações dada por:

29

Escrevendo (9) em termos de suas componentes temos:

(

)

(

)

(

)

Ou seja,

Definindo então a equação de execução de Jacobi como:

{

Método de Gauss-Seidel

Segundo Freitas (p. 111) o método de Gauss-Seidel foi proposto de modo a usar na

iteração de ordem as componentes já calculadas de ordem Pode-se observar que

quando estivermos calculando, pelo método de Jacobi, a componente na iteração já

foram calculadas as componentes

e assim essas componentes, que são mais

atualizadas, devem ser utilizadas no método proposto por Gauss-Seidel.

Assim as equações do método de Gauss-Seidel são dadas por:

30

E a equação de execução de Gauss-Seidel fica da seguinte maneira:

{

Método de sobre-relaxação

Segundo Sperandio et al(2003) este método é concebido por meio de uma modificação

no método de Gauss-Seidel, com o objetivo de acelerar a convergência da sequencia de

aproximações para a solução , onde é um parâmetro de correção, escolhido

convenientemente a fim de acelerar a convergência. Se , o método é o de Gauss-Seidel.

A equação de execução para o método é descrita por:

( ∑

)

E sua representação em um sistema é dada por:

{

(

)

(

)

(

)

31

2.3.2.4. Processos de relaxação

Franco (2006) descreve os métodos iterativos de relaxação de acordo com os seguintes

conceitos:

1) Para uma função , o ponto tal que é denominado

ponto estacionário de . Para saber o tipo de ponto calculamos a derivada

segunda de . Assim se:

a) Então é o ponto de mínimo,

b) Então é o ponto de máximo,

c) Então é o ponto de inflexão.

2) Para uma função de variáveis denominamos gradiente

de , em símbolo, :

(

)

onde são as derivadas parciais da função em relação à . Assim o ponto

tal que é denominado ponto estacionário de .

Então o ponto é o ponto onde todas as derivadas parciais são iguais à zero.

Para identificar o tipo de ponto, devemos calcular as segundas derivadas parciais. Seja

uma matriz cujos elementos ( )

. Portanto:

32

(

)

Assim, se:

a) : positiva definida (derivadas de segunda ordem positivas) então é um ponto de

mínimo,

b) : negativa definida (derivadas de segunda ordem positivas) então é um ponto

de máximo,

c) : indefinida (derivadas de segunda ordem positivas e negativas) então é um

ponto de cela.

Seguindo o raciocínioda supracitada autora o processo de relaxação é descrito da

seguinte forma:

Seja o sistema linear (3):

,

Onde a matriz é definida positiva, e são vetores . Portanto o sistema

acima tem uma única solução.

Se é uma solução aproximada, então:

onde é o resíduo.

33

Como Franco (2006) afirma que o propósito do processo de relaxação é fazer com que

esse resíduo seja anulado, considera-se junto com a equação (16), a função quadrática:

onde ; ; , sendo que , com

igualdade válida se e somente se (vetor nulo).

Calculando os produtos da expressão (17) temos:

Depois de realizado o calculo da equação (18), tem-se que:

E desde que a matriz seja simétrica

Podemos escrever o gradiente de como:

(

)

∑ .

Logo temos que . Mas desde que , podemos

concluir que . Assim o objetivo de Franco (2006) é obter ,

pois assim será igual a 0.

34

Assim Franco (2006) afirma que determinar a solução de (3) é equivalente a

determinação da solução de (16).

Princípios básicos do processo de relaxação

Seguindo o raciocínio adotado por Franco (2006), que considera como sendo a

solução inicial e o resíduo, escolhe-se a direção e varia-se nessa direção,

tendo em vista o objetivo de fazer tender a zero, anulando assim o resíduo.

Então, variando na direção , isto é, tomando:

Determina-se assim de forma que ocorra a diminuição de . Assim devemos

determinar o mínimo de na direção .

Logo:

Sendo então

. Temos:

35

Sendo então função de .

Então como descreve Franco (2006), t é selecionado em função de que F seja mínimo,

e a condição necessária para que isto ocorra é:

que é um ponto estacionário de . Além disso

porque é uma matriz

definida positiva, sendo assim é mínimo na direção p, e é dado por:

O autor ainda faz as seguintes observações:

1) Diferentes escolhas da direção nos dão diferentes métodos de relaxação.

2) O ponto , que é tomado na direção p de relaxação com , é chamado

ponto do mínimo.

3) Analisando a equação (19) com , notamos que a direção de

relaxação não deve ser escolhida ortogonal ao vetor resíduo . Se assim fosse,

o ponto teria sempre e não haveria melhoria na aproximação da

solução.

Franco (2006) afirma que para todo ponto de mínimo com o novo resíduo

é ortogonal à direção da relaxação.

36

2.4 MÉTODO DO GRADIENTE

Segundo Sperandio et al (2003) neste método, a cada passo toma-se o sentido

contrário ao do gradiente de F( ). ( F( )), determinando-se o passo de tal maneira que

na direção o funcional seja minimizado, isto é, F( ) F( ).

Já para Franco (2006), método dos gradientes é todo processo iterativo onde a direção

de relaxação se opõe a direção do resíduo .

Partindo Franco (2006) dos princípios básicos vistos anteriormente, ela define a

direção de relaxação por:

sendo esta direção apontada para o mínimo da função.

A figura a seguir mostra um exemplo de uma matriz positiva definida que possui um

ponto de mínimo.

Figura 2 – Exemplo do comportamento de uma matriz positiva definida, Fonte Thomas

(2009)

Tem-se então que:

37

Então ao calcular , o novo resíduo é ortogonal à direção de relaxação. Sendo

assim, Franco (2006) admite que neste processo, resíduos consecutivos são ortogonais, isto é:

( )

e assim no método dos gradientes tem-se que:

Assim, Franco (2006) resume a execução do método da seguinte maneira:

Dados , onde é uma precisão pré-definida, devemos calcular:

1.

2. Para

2.1.

2.2.

2.3.

2.4. Se ‖ ‖ , ou se ‖ ‖

‖ ‖ , chega-se a convergência.

Caso contrário o critério de parada será o numero de iterações.

38

3 METODOLOGIA E METODOS

3.1 METODOLOGIA

Esse trabalho da um enfoque especial ao método dos gradientes, que é advindo dos

processos de relaxação, e através de testes numéricos o compara com métodos iterativos

estacionários, que são os métodos cuja matriz de iteração permanece fixa na execução do

método. Foram testados nesse trabalho os métodos de Jacobi, Gauss-Seidel e o dos gradientes,

para isso foramselecionadossete sistemas lineares com características distintas.Os métodos

foram aplicados a cada um desses problemas, e com issofoi possível fazer uma comparação

entre os métodos analisando convergência, tempo de execução e número de iterações.

Para a realização dos testes foi estabelecido dois critérios de parada, o primeiro é

quanto ao número de iterações , para esse critério adotou-se , ou seja, no

máximo são executadas 5000 iterações, e quanto a distância relativa adotou-se uma precisão

de para problemas com e de para problemas com ,

sendo é um número real inteiro positivo que identifica a ordem da matriz.

Os testes foram realizados com o auxílio computacional. As configurações do

computador utilizado estão listadas na tabela abaixo:

Tabela 1: Dados referentes ao computador utilizado nos testes. Características Gerais

Fabricante Itautec

Modelo InfoWay ST 4270 Processador Intel(R) Core(TM)

Processador Intel(R) Core (TM) i5 CPU 750 @ 2.67GHz 2.66GHz

Memória RAM 4 GB

HD 300 GB

Fonte: Manual do Fabricante (2013)

O sistema operacional utilizado no computador foi o Windows ultimate 32 bits,

fabricado pela Microsoft em 2009.

O software utilizado para a resolução dos problemas foi o Scilab, que é um software

livre para computação numérica, o mesmo é encontrado ser baixado no site do desenvolvedor

pelo endereço http://www.scilab.org, onde são encontradas também todas as informações do

software, manuais e características das versões. Para a implementação desse trabalho foi

utilizado o software Scilab da versão 5.3.0, para Windows 32 bits.

39

3.2 ALGORITMOS

Os algoritmos implementados no presente trabalho estão detalhados em português

estrutural nas tabelas a seguir:

Tabela 2 Algoritmo utilizado no método de Jacobi

[ ∑

]

Algoritmo: Método de Jacobi

declare

, (matriz dos coeficientes, a ser lida) , (vetor dos termos independentes)

,(vetor-solução )

,(vetor-solução obtido na iteração anterior )

, (tolerância de cálculo )

, (quantidade máxima de iterações )

(variáveis auxiliares )

numérico

leia , , , , ,

(zera os termos de x)

enquanto | |

parai de 1 até n faça

fim para

fim enquanto

escrevax

40

Tabela 3 Algoritmo utilizado no método dogradiente

Algoritmo: Método dogradiente

declare

, (matriz dos coeficientes, a ser lida)

, (vetor dos termos independentes) , (vetor-solução )

,(vetor-solução obtido na iteração anterior )

, (tolerância de cálculo )

, (quantidade máxima de iterações )

(variáveis auxiliares )

numérico

leia , , , , ,

(zera os termos de x)

enquanto | |

parai de 1 até n faça

fim para

fim enquanto

escrevax

41

Tabela 4 Algoritmo utilizado no método de Gauss-Seidel

[ ∑

]

Algoritmo: Método de Gauss-Seidel

declare

, (matriz dos coeficientes, a ser lida) , (vetor dos termos independentes)

, (vetor-solução )

,(vetor-solução obtido na iteração anterior )

, (tolerância de cálculo )

, (quantidade máxima de iterações )

(variáveis auxiliares )

numérico

leia , , , , ,

(zera os termos de x)

enquanto | |

parai de 1 até n faça

fim para

fim enquanto

escrevax

42

3.3 PROBLEMAS

Para a realização dos testes foi realizada a escolha de sete problemascom

características distintasentre si. Essas características são, por exemplo, tamanho e

propriedades, porém todas as matrizes são quadradas. O tamanho das matrizes

selecionadasvariou desde matrizes pequenas, com apenas trinta colunas e linhas até também

matrizes de grande porte, de quase mil e duzentas linhas e colunas, que exigem bastante dos

métodos.

Com exceção da matriz do primeiro problema, as matrizes dos outros problemas foram

retiradas do banco de dados da Matrix Market (2013), que pode ser encontrada no site de

endereço http://math.nist.gov/MatrixMarket. Nesse banco de dados é possível encontrar

matrizes de vários tipos e tamanhos, assim como também é possível realizar o download de

matrizes no formato Matrix Market(.mtx), que é facilmente integrado ao software utilizado

no caso Scilab, a matriz do primeiro problema foi retirada do trabalho realizado por

Oliveira(2012). A seguir são mostrados detalhadamente todos os sete problemas utilizados

nos testes realizados.

Problema m30

O primeiro problema é um problema que pode ser considerado pequeno quanto ao seu

tamanho, por issonos testes com ele foi utilizada uma precisão de , na tabela abaixo

constam informações detalhadas do problema:

Tabela 5: Dados referentes ao primeiro problema m30 Características gerais

Tamanho 30 x 30

Diagonalmente dominante Sim

Esparso Não

Fonte: Oliveira(2012)

É importante destacar por ser uma matriz diagonalmente dominante (critério de

convergência), segundo Burian (2011) os métodos iterativos de Jacobi e Gauss-Seidel terão

convergência.

43

Problema BCSSTRUC1

O segundo problema foi retirado do banco de dados do Matrix Market (2013), que

utiliza a matriz BCSSTRUC1 pertencente a coleção Harwell-Boeing que foi gerada do estudo

de análises dinâmicas em engenharia estrutural, considerado um problema pequeno quanto ao

seu tamanho, foi utilizado nos testes desse problema e , abaixo tem-se

tabela com as características detalhadas do problema.

Tabela 6: Dados referentes ao problema BCSSTRUC1 Características gerais Valores não nulos

Tamanho 48 x 48 (224 entradas) Total 400

Tipo da matriz Real, simétrica e definida positiva Diagonal 48

Diagonalmente dominante Não Abaixo da diagonal 176

Numero de condição (est.) 1.6 x 10-6

Acima da diagonal 176

Esparso Não 0

Fonte: MatrixMarket(2013)

É importante destacar que o fatoda matriz não ser diagonalmente dominante faz com

que não se tenha a certeza de convergência para os métodos de Jacobi e Gauss- Seidel

segundo Burian (2011), porém é uma matriz definida positiva e segundo Franco (2006),

garante a convergência pelo método do gradiente, a seguir tem-se o Plot2D e 3D da matriz em

estudo.

Figura 3: Imagem da plotagem em 2D(esquerda) e 3D (direita) da matriz do problema

BCSSTRUC1, Fonte Matrix Market(2013)

Problema pde225

O terceiro problema foi retirado do banco de dados do Matrix Market (2013), que

utiliza a matriz pde225, pertencente à coleção NEP, oriunda das equações diferenciais

parciais. É considerado um problema pequeno quanto ao seu tamanho, utilizado nos testes

44

desse problema e , abaixo se tem tabela com as características

detalhadas do problema.

Tabela 7: Dados referentes ao problema pde225 Características gerais Valores não nulos

Tamanho 225 x 225 (1065 entradas) Total 1065

Tipo da matriz Real e assimétrica Diagonal 225

Diagonalmente dominante Não Abaixo da diagonal 420

Numero de condição (est.) 1.6 x 10-2

Acima da diagonal 420

Esparso Não 420

Fonte: Matrix Market (2013)

É importante destacar que é uma matriz que não é diagonalmente dominante assim de

acordo com Burian (2011) não da à certeza de convergência para os métodos de Jacobi e

Gauss- Seidel, assim como não é uma matriz definida positiva que segundo o teorema Franco

(2006) não garante a convergência pelo método do gradiente, a seguir tem-se o Plot2D e 3D

da matriz em estudo.

Figura 4: Imagem da plotagem em 2D(esquerda) e 3D (direita) da matriz do problemapde225,

Fonte MatrixMarket(2013)

Problema mcfe

O quarto problema foi retirado do banco de dados do Matrix Market (2013), que

utiliza a matriz MCFE pertencente também a coleção Harwell-Boeing oriunda de problemas

astrofísicos, é considerado um problema grande quanto ao seu tamanho, utilizado nos testes

desse problema e , abaixo tem-se tabela com as características

detalhadas do problema.

45

Tabela 8: Dados referentes ao problema mcfe Características gerais Valores não nulos

Tamanho 765 x 765 (24382 entradas) Total 24382

Tipo da matriz Real e assimétrica Diagonal 765

Diagonalmente dominante Não Abaixo da diagonal 9289

Numero de condição (est.) 1.6 x 10-2

Acima da diagonal 14328

Esparso Não 30716

Fonte: Matrix Market (2013)

É importante destacar que a matriz não é diagonalmente dominante, e assim de acordo

com Burian (2011) não da à garantia de convergência para os métodos de Jacobi e Gauss-

Seidel, assim como não é uma matriz definida positiva que segundo Franco (2006) não

garante a convergência pelo método do gradiente, a seguir tem-se o Plot2D e 3D da matriz em

estudo.

Figura 5: Imagem da plotagem em 2D(esquerda) e 3D (direita) da matriz do problema mcfe,

Fonte Matrix Market (2013)

Problema gr3030

O quinto problema foi retirado do banco de dados do Matrix Market (2013), que

utiliza a matriz GR3030 que pertence a coleção Harwell-Boeing, oriundo de problemas com

equações parciais diferenciais, considerado um problema grande quanto ao seu tamanho,

utilizado nos testes desse problema e , abaixo tem-se tabela com as

características detalhadas do problema.

Tabela 9: Dados referentes ao problema gr3030 Características gerais Valores não nulos

Tamanho 900 x 900 (4322 entradas) Total 7744

Tipo da matriz Real, simétrica e definida positiva Diagonal 900

Diagonalmente dominante Fraco Abaixo da diagonal 3422

Numero de condição (est.) 3.8 x 10-2

Acima da diagonal 3422

Esparso Sim 0

Fonte: Matrix Market (2013)

46

É importante destacar que é uma matriz diagonalmente dominante fraca, ou seja, o

maior termo da diagonal principal não possui grande diferença da soma dos demais termos da

matriz, mesmo assim de acordo com o teorema Burian (2011) possui a certeza de

convergência para os métodos de Jacobi e Gauss-Seidel, assim como é uma matriz definida

positiva que segundo Franco (2006) garante a convergência pelo método do gradiente, a

seguir tem-se o Plot2D e 3D da matriz em estudo.

Figura 6: Imagem da plotagem em 2D(esquerda) e 3D (direita) da matriz do problema gr3030,

Fonte Matrix Market (2013)

Problema SHERMAN1

O sexto problema foi retirado do banco de dados do Matrix Market (2013), utilizado

amatriz SHERMAN1, que pertence a coleção Harwell-Boeing, oriundo de problemas de

modelagem de reservatório de óleo, é considerado um problema grande quanto ao seu

tamanho, utilizado nos testes desse problema e , abaixo tem-se tabela

com as características detalhadas do problema.

Tabela 10: Dados referentes ao problema SHERMAN1 Características gerais Valores não nulos

Tamanho 1000 x 1000 (3750 entradas) Total 3750

Tipo da matriz Real e simétrica Diagonal 1000

Diagonalmente dominante Não Abaixo da diagonal 1375

Numero de condição (est.) 2.3 x 10-2

Acima da diagonal 1375

Esparso Sim 0

Fonte: Matrix Market (2013)

É importante destacar que é uma matriz que não é diagonalmente dominante, sendo

assim de acordo com Burian (2011) não possui a certeza de convergência para os métodos de

Jacobi e Gauss-Seidel, assim como não é uma matriz definida positiva que segundo Franco

(2006) não garante a convergência pelo método gradiente, a seguir tem-se o Plot2D e 3D da

matriz em estudo.

47

Figura 7: Imagem da plotagem em 2D(esquerda) e 3D (direita) da matriz do problema

SHERMAN1, Fonte Matrix Market (2013)

Problema SHERMAN4

O sétimo problema foi retirado do banco de dados do Matrix Market (2013), utilizado

a matriz SHERMAN4, que pertence a coleção Harwell-Boeing, oriundo de problemas de

modelagem de reservatório de óleo, é considerado um problema grande quanto ao seu

tamanho, utilizado nos testes desse problema e , abaixo tem-se tabela

com as características detalhadas do problema.

Tabela 11: Dados referentes ao problema SHERMAN4 Características gerais Valores não nulos

Tamanho 1104 x 1104 (3750 entradas) Total 3786

Tipo da matriz Real e simétrica Diagonal 1104

Diagonalmente dominante Sim Abaixo da diagonal 1341

Numero de condição (est.) 7.2 x 10-2

Acima da diagonal 1341

Esparso Sim 2682

Fonte: Matrix Market (2013)

É importante destacar que se trata de uma matriz diagonalmente dominante, sendo

assim de acordo com Burian (2011) possui a certeza de convergência para os métodos de

Jacobi e Gauss- Seidel, assim como não é uma matriz definida positiva que segundo Franco

(2006) não garante a convergência pelo método do gradiente, a seguir tem-se o Plot2D e 3D

da matriz em estudo.

48

Figura 8: Imagem da plotagem em 2D(esquerda) e 3D (direita) da matriz do problema

SHERMAN4, Fonte Matrix Market (2013).

49

4 RESULTADOS E DISCUSSÃO

Após a realização de todos os testes da forma como descritos no capítulo anterior será

mostrado a seguir os resultados obtidos de cada método para cada problema, fazendo assim

uma comparação entre a eficiência dos métodos, dando um enfoque especial para o método do

gradiente.

Os fatores que serão levados em consideração para o aáalise dos resultados, são o

número de iterações o tempo de execução e a precisão alcançada .

Os resultados serão mostrados de acordo com uma tabelaquemostrará os resultados

para os métodos de Jacobi e Gauss-Seidel e o gradiente.

Resultados do problema m30

Tabela 12: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema

m30 Parâmetros Jacobi Gauss-Seidel Gradiente

Resultado Convergiu Convergiu Convergiu

Numero de iterações 7 5 45

Tempo de execução (s) 0,047 0,047 0,015

Precisão 4.89 x 10-5

3.17 x 10-5

7.12 x 10-6

Fonte: Fonte própria (2013)

Foi então percebido que os três métodos chegaram à convergência no problema m30.

O método de Jacobi se igualou ao método de Gauss-Seidel no quesito tempo de execução,

mas foi superado nos quesitos precisão e número de iterações. Já o método do gradiente

superou os demais métodos nos quesitos tempo de execução e precisão, porém, realizou mais

iterações que os demais.

A seguir apresentamos os gráficos que ilustram o comportamento das variáveis tempo

de execução e número de iterações.

50

Gráfico 1 – Analise do tempo de execução para o problema m30

Fonte: Fonte própria (2013)

Gráfico 2 – Analise do numero de iterações realizadas pelos métodos no problema m30

Fonte:Fonte própria (2013)

Como podemos observar nos gráficos acima, apesar do método do gradiente ter realizado 45

iterações, o tempo de execução foi cerca de 3 vezes menor que os demais métodos.

0,047 0,047

0,015

0

0,005

0,01

0,015

0,02

0,025

0,03

0,035

0,04

0,045

0,05

Jacobi Seidel Gradiente

Tempo de execução (s)

7 5

45

0

5

10

15

20

25

30

35

40

45

50

Jacobi Seidel Gradiente

Numero de iterações (k)

51

Resultados do problema BCSSTRUC1

Tabela 13: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema

BCSSTRUC1. Parâmetros Jacobi Gauss-Seidel Gradiente

Resultado Não convergiu Convergiu Não convergiu

Numero de iterações 5000 1866 5000

Tempo de execução (s) 173.067 75.707 0.889

Precisão 1.90789 9.97 x 10-7

Não obteve

Fonte: Fonte própria (2013)

Analisando os dados obtidos para o segundo problema pode-se perceber que o fato de

a matriz não ser diagonalmente dominante interferiu na convergência para Jacobi, mas já para

o método de Gauss-Seidel a convergência foi alcançada mesmo com um numero elevado de

iterações. Já o método do gradiente não obteve convergência mesmo a matriz dos coeficientes

do problema sendo definida positiva.

A seguir apresentamos os gráficos que ilustram o comportamento das variáveis tempo

de execução e numero de iterações.

Gráfico 3 – Analise do tempo de execução para o problema BCSSTRUC1

Fonte: Fonte própria (2013)

173,067

75,707

0,015 0

20

40

60

80

100

120

140

160

180

200

Jacobi Seidel Gradiente

Tempo de execução (s)

52

Gráfico 4 – Analise do numero de iterações realizadas pelos métodos no problema

BCSSTRUC1

Fonte: Fonte própria (2013)

Resultados do problema pde225

Tabela 14: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema

pde225 Parâmetros Jacobi Gauss-Seidel Gradiente

Resultado Convergiu Convergiu Convergiu

Numero de iterações 623 327 259

Tempo de execução (s) 520.682 301.360 0.062

Precisão 9.887 x 10-6

9.796 x 10-6

9.7957 x 10-6

Fonte: Fonte própria (2013)

No terceiro problema podemos perceber que os três métodos chegaram a

convergência, mais uma vez podemos observar que o método de Gauss-Seidel foi mais

eficiente que o de Jacobi tanto no quesito tempo de execução, como também no quesito

numero de iterações, mesmo assim, o método do gradiente convergiu com precisão superior a

de Gauss-Seidel em muito menos tempo de execução e com menos iterações realizadas.

A seguir apresentamos os gráficos que ilustram o comportamento das variáveis tempo

de execução e numero de iterações.

5000

1866

5000

0

1000

2000

3000

4000

5000

6000

Jacobi Seidel Gradiente

Numero de iterações (k)

53

Gráfico 5 – Analise do tempo de execução para o problema pde225

Fonte: Fonte própria (2013)

Gráfico 6 – Analise do numero de iterações realizadas pelos métodos no problema pde225

Fonte: Fonte própria (2013)

520,682

301,36

0,062 0

100

200

300

400

500

600

Jacobi Seidel Gradiente

Tempo de execução (s)

623

327

259

0

100

200

300

400

500

600

700

Jacobi Seidel Gradiente

Numero de iterações (k)

54

Resultados do problema mcfe

Tabela 15: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema

mcfe Parâmetros Jacobi Gauss-Seidel Gradiente

Resultado Convergiu Convergiu Não

Numero de iterações 217 207 5000

Tempo de execução (s) 2050.232 2262.787 3.027

Precisão 0 0 Não obteve

Fonte: Fonte própria (2013)

No problema mcfe, foi percebido que tanto o método de Jacobi como o método de

Gauss-Seidel atingiram a convergência, um fato curioso é que o método de Jacobi teve um

tempo de execução menor que o método de Gauss-Seidel. Mesmo realizando mais iterações, o

método de Jacobi foi mais eficiente que o de Gauss-Seidel nesse problema. O método do

gradiente não convergiu, o que nos leva a crer que isso ocorreu pelo fato de a matriz dos

coeficientes do problema não ser definida positiva.

A seguir apresentamos os gráficos que ilustram o comportamento das variáveis tempo

de execução e numero de iterações.

Gráfico 7 – Analise do tempo de execução para o problema mcfe

Fonte: Fonte própria (2013)

2050,232

2262,787

0,889 0

500

1000

1500

2000

2500

Jacobi Seidel Gradiente

Tempo de execução (s)

55

Gráfico 8 – Analise do numero de iterações realizadas pelos métodos no problema mcfe

Fonte: Fonte própria (2013)

Resultados do problema gr3030

Tabela 16: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema

gr3030 Parâmetros Jacobi Gauss-Seidel Gradiente

Resultado Convergiu Convergiu Convergiu

Numero de iterações 792 445 651

Tempo de execução (s) 10199.881 6632.399 0.187

Precisão 9.93 x 10-6

9.86 x 10-6

9.84022 x 10-6

Fonte:Fonte própria (2013)

Vemos então que todos os métodos chegaram àconvergência, isso porque a matriz

usada no problema é diagonalmente dominante e definida positiva, garantindo segundo

Burian (2011) e Franco (2006) a convergência para todos os métodos. Mais uma vez foi visto

que mesmo o método de Gauss-Seidel foi mais eficiente que o de Jacobi nos quesitos tempo

de execução e numero de iterações. Já o método do gradiente foi superior ao método de

Gauss-Seidel no quesito tempo de execução, sendo que o mesmo realizou mais iterações que

o método de Gauss-Seidel. No quesito precisão o método do gradiente levou vantagem sobre

os demais métodos.

A seguir apresentamos os gráficos que ilustram o comportamento das variáveis tempos

de execução e numero de iterações.

217 207

5000

0

1000

2000

3000

4000

5000

6000

Jacobi Seidel Gradiente

Numero de iterações (k)

56

Gráfico 9 – Analise do tempo de execução para o problema gr3030

Fonte: Fonte própria (2013)

Gráfico 10 – Analise do numero de iterações realizadas pelos métodos no problema gr3030

Fonte: Fonte própria (2013)

10199,881

6632,399

0,187 0

2000

4000

6000

8000

10000

12000

Jacobi Seidel Gradiente

Tempo de execução (s)

792

445

651

0

100

200

300

400

500

600

700

800

900

Jacobi Seidel Gradiente

Numero de iterações (k)

57

Resultados do problema SHERMAN1

Tabela 17: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema

SHERMAN1. Parâmetros Jacobi Gauss-Seidel Gradiente

Resultado Não convergiu Convergiu Convergiu

Numero de iterações 5000 3229 4421

Tempo de execução (s) 76528.376 53223.876 1.014

Precisão 1.19 x 10-6

9.99 x 10-5

9.99 x 10-5

Fonte: Fonte própria (2013)

No problema SHERMAN1 podemos observar que enquanto o método de Jacobi foi

limitado pelo numero máximo de iterações os demais métodos chegaram à convergência.

Sendo que novamente o método de Gauss-Seidel foi superado pelo método do gradiente no

quesito tempo de execução, porém, o método de Gauss-Seidel realizou menos iterações que o

método do gradiente. No quesito precisão os métodos de Gauss-Seidel e do gradiente se

igualaram.

A seguir apresentamos os gráficos que ilustram o comportamento das variáveis

tempode execução e numero de iterações.

Gráfico 11 – Analise do tempo de execução para o problema SHERMAN1

Fonte: Fonte própria (2013)

76528,376

53223,876

1,014 0

10000

20000

30000

40000

50000

60000

70000

80000

90000

Jacobi Seidel Gradiente

Tempo de execução (s)

58

Gráfico 12 – Analise do numero de iterações realizadas pelos métodos no problema

SHERMAN1

Fonte: Fonte própria (2013)

Resultados do problema SHERMAN4

Tabela 18: Resultados para os métodos de Jacobi, Gauss-Seidel e Gradiente para o problema

SHERMAN4. Parâmetros Jacobi Gauss-Seidel Gradiente

Resultado Convergiu Convergiu Convergiu

Numero de iterações 1780 1058 3861

Tempo de execução (s) 35310.688 23938.813 0.874

Precisão 9.98 x 10-5

9.99 x 10-5

9.99 x 10-5

Fonte: Fonte própria (2013)

Após uma analise dos resultados do problema SHERMAN4, podemos observar que os

três métodos chegaram a convergência, sendo que o de Gauss-Seidel foi mais eficiente que o

de Jacobi nos quesitos tempo de execução e numero de iterações, porém, no quesito precisão

o método de Jacobi foi um pouco superior ao método de Gauss-Seidel. Novamente os dois

métodos foram inferiores ao método do gradiente no quesito tempo de execução, mas já no

quesito precisão e numero de iterações o método de Jacobi foi superior ao do gradiente. O

método de Gauss-Seidel foi superior ao gradiente apenas no quesito numero de iterações.

A seguir apresentamos os gráficos que ilustram o comportamento das variáveis tempo

de execução e numero de iterações.

5000

3229

4421

0

1000

2000

3000

4000

5000

6000

Jacobi Seidel Gradiente

Numero de iterações (k)

59

Gráfico 13 – Analise do tempo de execução para o problema SHERMAN4

Fonte: Fonte própria (2013)

Gráfico 14 – Analise do numero de iterações realizadas pelos métodos no problema

SHERMAN4

Fonte: Fonte própria (2013)

4.1 COMPARATIVO ENTRE OS MÉTODOS

A seguir, através de um quadro comparativo, poderemos comparar o desempenho do

método de gradiente em relação aos demais métodos apresentados.

35310,688

23938,813

0,874 0

5000

10000

15000

20000

25000

30000

35000

40000

Jacobi Seidel Gradiente

Tempo de execução (s)

1780

1058

3861

0

500

1000

1500

2000

2500

3000

3500

4000

4500

Jacobi Seidel Gradiente

Numero de iterações (k)

60

Tabela 19 – Quadro comparativo entre os métodos para todos os problemas analisados

Fonte: Fonte própria (2013)

Problema Método Resultado Nº de iterações Tempo de execução Precisão alcançada

Problema m30 (30 x 30)(10-5

) Jacobi Convergiu 7 0,047s 4,89 x 10-6

Gauss-Seidel Convergiu 5 0,047s 3,17 x 10-5

Gradiente Convergiu 45 0,015s 7,12 x 10-6

Problema BCSSTRUC1 (48 x48)(10-5

) Jacobi Não convergiu 500 173,067s 1,90789

Gauss-Seidel Convergiu 1866 75,707s 9,97 x 10-7

Gradiente Não convergiu 5000 0,889s Não obteve

Problema pde225 (225 x 225)(10-5

) Jacobi Convergiu 623 520,682s 9,88 x 10-6

Gauss-Seidel Convergiu 327 301,360s 9,79 x 10-6

Gradiente Convergiu 259 0,062s 9,79 x 10-6

Problema mcfe (765 x 765)(10-5

) Jacobi Convergiu 217 2050,232s 0

Gauss-Seidel Convergiu 207 2262,787 0

Gradiente Não convergiu 5000 3,027s Não obteve

Problema gr3030 (900 x 900)(10-5

) Jacobi Convergiu 792 10119,881s 9,99 x 10-6

Gauss-Seidel Convergiu 445 6632,399s 9,86 x 10-6

Gradiente Convergiu 651 0,187s 9,84 x 10-6

Problema SHERMAN1 (1000 x 1000)(10-4) Jacobi Não convergiu 5000 76528,376s 1,19 x 10-4

Gauss-Seidel Convergiu 3229 53223,876s 9,99 x 10-5

Gradiente Convergiu 4421 1,014s 9,99 x 10-5

Problema SHERMAN4 (1104 x 1104)(10-4) Jacobi Convergiu 1780 35310,688s 9,98 x 10-5

Gauss-Seidel Convergiu 1058 23938,813s 9,99 x 10-5

Gradiente Convergiu 3861 0,874s 9,99 x 10-5

61

Analisando então o quadro comparativo apresentado na tabela acima, pode-se perceber

que para os 5 problemas o método do gradiente obteve convergência, o mesmo conseguiu este

feito com um tempo de execução menor. Um fato interessante é que mesmo realizando mais

iterações que os métodos de Gauss-Seidel e Jacobi, o método do gradiente utilizou muito

menos tempo que os demais. Foi percebido também que além de rápido, o método também foi

preciso assim como os métodos de Seidel e Jacobi.

Outro fato que merece destaque é que para certos problemas o método do gradiente

obteve convergência mesmo o problema não atendendo as suas condições de convergência.

A seguir um gráfico faz uma comparação entre o tempo de execução dos métodos para

os 5 problemas onde o método do gradiente obteve convergência.

Gráfico 15 – Tempo de execução em segundos (s) dos métodos para os problemas m30,

pde225, gr3030, SHERMAN1 e SHERMAN4.

Fonte: Fonte própria (2013)

Através do gráfico acima podemos visualizar o quão mais rápido o método do

gradiente foi em relação ao métodos de Jacobi e Gauss-Seidel. Em dois problemas o método

do gradiente não convergiu, esse fato pode ser explicado pelo fato de os problemas não

obedecerem ao critério de convergência, ou pelo fato de a solução inicial não ter sido

adequada.

0

10000

20000

30000

40000

50000

60000

70000

80000

90000

m30 pde225 gr3030 SHERMAN1 SHERMAN4

Jacobi

Gauss-Seidel

Gradiente

62

5 CONSIDERAÇÕES FINAIS

Neste trabalho foi apresentada uma revisão bibliográfica sobre o método do gradiente,

que segundo Franco (2006) está classificado como um método iterativo advindo dos

processos de relaxação. O mesmo possui certas limitações, pois para ter sua convergência

assegurada necessita que o problema atenda algumas condições pré-estabelecidas. Apesar de a

bibliografia ser escassa foi conseguido um bom estudo comparativo do método.

A condição que garantia o funcionamento do método era de que a matriz dos

coeficientes fosse definida positiva, mas mesmo com estas limitações o método se mostrou

bastante efetivo em relação aos métodos comparados a ele.

O método do gradiente se mostrou bastante superior aos métodos de Gauss-Seidel e

Jacobi no quesito tempo de execução nos 5 problemas onde obteve convergência. Em 2 dos 7

problemas analisados o método não obteve convergência. No problema mcfe o método

provavelmente não convergiu pelo fato de a matriz não ser definida positiva. Já no problema

BCSSTRUC1 a não convergência pode ser explicada pelo fato de a matriz não ser esparsa, já

que a mesma era definida positiva.

O fato mais curioso apresentado no trabalho foi a convergência do método do

gradiente nos problemas SHERMAN1 e SHERMAN4, onde além de os mesmo serem de

grande porte, não atendiam a condição de garantia imposta pelo método. Nesses problemas o

método chegou a ser 53.000 vezes mais rápido que o método de Gauss-Seidel, comprovando

assim seu vistoso desempenho.

Sugestões para trabalhos futuros

Os resultados obtidos neste trabalho foram bastante favoráveis para a utilização do método do

gradiente, o mesmo apresentou bons resultados, principalmente no quesito tempo de

execução, sendo assim, surge a sugestão de um trabalho que venha a frisar a utilização do

método em problemas que requeiram o mínimo de tempo de resolução, e que obedeçam os

requisitos de convergência do método.

63

REFERÊNCIAS

BOLDRINI, José Luiz; COSTA, Sueli I. Rodrigues; FIGUEIREDO, Vera Lúcia; WETZLER,

Henry G.Álgebra Linear, ampliada e revisada, 3a Edição, Editora HARBRA Ltda. 1980.

BURDEN, Richard L; FAIRES, Douglas.Análise Numérica.São Paulo: Cengage, 2008.

CAMPOS, Filho; FERREIRA, Frederico.Algoritmos Numéricos. 2. ed. Rio de Janeiro:

Ltc, 2010.

FRANCO, Neide Bertold.Cálculo Numérico. São Paulo: Prentice Hall, 2006.

GAVALA, Francisco Javier Cobos. Cálculo Numérico: Apuntes para el curso de 2001-

2002.Disponível em: <www.decom.ufop.br/bob/com400/livros/ap_cal_num_esp.PDF>.

Acesso em:30 ago. 2011.

LEON, Steven J. Álgebra Linear: com aplicações. 8a ed. Rio de Janeiro: LTC, 2011.

OLIVEIRA, João Paulo Carau de. Proposta preliminar de um método interativo híbrido

para a resolução de sistemas de equações lineares. 2012. 51 f. Trabalho de Conclusão de

Curso - Universidade Federal Rural do Semiárido - UFERSA, Angicos, 2012.

RUGGIERO, Márcia A. Gomes; LOPES, Vera Lúcia da Rocha.Cálculo Numérico: Aspectos

Teóricos e Computacionais. 2. ed. São Paulo: Makron Books, 1996.

SPERANDIO, Délcio.Cálculo Numérico: Características matemáticas e computacionais

dos métodos numéricos. São Paulo: Pearson Pretice Hall, 2003.

THOMAS, George B.Cálculo Volume 2. 11 ed. São Paulo: Addison Wesley, 2009.

Matrix Market - Um repositório visual de dados de teste para uso em estudos

comparativos de algoritmos para álgebra linear numérica, disponível em

<http://math.nist.gov/MatrixMarket/>acessado 05/01/2013.

64

FREITAS, Sérgio Roberto de.Métodos Numéricos. Notas de Aula, 2000, disponível em

<http://www:decom.ufop.br/bob/com400/livros/livro1.pdf> . Acesso em: 06 nov. 2011.

OLIVEIRA, Antonio Marmo de ; SILVA, Agostinho. Biblioteca da matemática moderna. 2

ed. São Paulo: Lisa, 1969