ni-gmres precondicionado · 2017. 11. 2. · elvis n eris de medeiros ni-gmres precondicionado...

61
Universidade Federal do Rio Grande do Norte Centro de Ciˆ encias Exatas e da Terra ProgramadeP´os-Gradua¸c˜ ao em Matem´ atica Aplicada e Estat´ ıstica Elvis N´ eris de Medeiros NI-GMRES Precondicionado Natal, 2014

Upload: others

Post on 17-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Universidade Federal do Rio Grande do Norte

Centro de Ciencias Exatas e da Terra

Programa de Pos-Graduacao em Matematica Aplicada e Estatıstica

Elvis Neris de Medeiros

NI-GMRES Precondicionado

Natal, 2014

Page 2: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos
Page 3: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos
Page 4: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Dedicatoria

Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos.

Ao meu irmao e amigo, Douglas.

A minha esposa amada, Myrelianny que me apoiou em todas as decisoes e caminhos.

iii

Page 5: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Agradecimentos

Agradeco a Deus, o Sumo Bem do qual provem todas as coisas. Sem Ele nao teria

chegado ate aqui.

Agradeco aos meus pais, Damiao e Elzamar, que me ensinaram valores e princıpios

e me motivaram a continuar sempre buscando aprender com seus exemplos de vida.

Meus pais nao tiveram oportunidade de frequentar universidades. Mas, mesmo tendo

o direito a educacao superior negado, eles se esforcaram para que eu pudesse desafiar

todas as estatısticas e chegar ate aqui.

Agradeco a minha esposa amada, Myrelianny, que foi meu porto seguro nos mo-

mentos em que mais precisei. A estrada se tornou mais iluminada ao teu lado meu

amor.

Agradeco tambem ao meu irmao, Douglas, que muito me ajudou como amigo,

conselheiro e exemplo durante toda minha formacao.

Agradeco ao meu amigo e companheiro de lutas, Hudson, o qual sempre me ajudou a

crescer, pois quando temos pessoas extraordinarias com as quais nos espelhar, podemos

alcancar metas mais elevadas.

Agradeco aos meus amigos e irmaos da Juventude Franciscana e da Ordem Fran-

ciscana Secular que formam minha segunda famılia, pois em cada um deles encontrei

inspiracao para prosseguir minha missao e tambem abracos para animar a caminhada.

Agradeco especialmente a minha orientadora, Julia, que me acompanhou e sempre

teve uma palavra amiga, mesmo nos momentos em que foi preciso me dar broncas.

Foi muito bom ter trabalhado esses quase 5 anos (a contar do projeto de Iniciacao

Cientıfica na graduacao) em sua companhia. Aprendi bastante, tanto em conceitos de

matematica aplicada, quanto profissionalmente e ate mesmo como pessoa.

Agradeco a CAPES pelo apoio financeiro ao longo do perıodo do Mestrado.

Page 6: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

”Nao perca de vista seu ponto

de partida!”

Clara de Assis

Page 7: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Resumo

Neste trabalho estudamos o problema nao linear F (X) = 0, onde F ∈ C1 com

F : Rn → Rn. Para soluciona-lo empregamos o metodo de Newton Inexato, obtendo

um sistema linearizado J(xk)sk = −F (xk), onde J(xk) representa a matriz Jacobiana

no ponto xk e o passo iterativo sk e calculado por meio do metodo do Resıduo Mı-

nimo Generalizado ou GMRES, que pertence a famılia dos metodos de projecao em

subespacos de Krylov. A fim de evitar o acrescimo no custo computacional devido

ao aumento a cada iteracao na dimensao do subespaco de Krylov, utilizamos o GM-

RES com recomecos ou GMRES(m), o qual pode apresentar problemas de estagnacao

(duas solucoes consecutivas iguais ou quase iguais). Uma das maneiras de contornar

essa estagnacao esta no uso de precondicionadores no sistema inicial Ax = b, passando

a um sistema equivalente do tipo M−1Ax = M−1b, onde a matriz M e chamada de

precondicionador e tem o papel de facilitar a resolucao do sistema inicial. A escolha

de precondicionadores e uma area de pesquisa que remete ao conhecimento especıfico

a priori do problema a ser resolvido e/ou da estrutura da matriz dos coeficientes A.

Neste trabalho buscamos estudar o precondicionamento pela esquerda no metodo do

Newton Inexato - GMRES(m). Apresentamos tambem uma estrategia que permite a

mudanca entre 3 precondicionadores (Jacobi, ILU e SSOR) dependendo de informacoes

advindas da aplicacao do GMRES(m) a cada iteracao do Newton Inexato, ou seja, a

cada vez que se resolve o sistema linearizado precondicionado. Assim fazemos ao fi-

nal uma comparacao entre nossas estrategias e o uso de precondicionadores fixos na

resolucao dos problemas de Luksan [13], [14] por meio do NI-GMRES.

Palavras-chave: Sistemas nao-lineares, Sistemas lineares, Subespacos de Krylov,

GMRES, Precondicionamento

vi

Page 8: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Abstract

In this work we study the nonlinear problem F (X) = 0, where F ∈ C1 with

F : Rn → Rn. To solve it we use Inexact Newton’s method getting a linearized system

J(xk)sk = −F (xk), where J(xk) is the Jacobian matrix at point xk and the iterative

step sk is calculated using the Generalized Minimum REsidual - GMRES - method,

which belongs to the family of projection methods on Krylov subspace. In order to

avoid a large computational cost at each iteration due to the increasing in the dimension

of the Krylov subspace, we use the GMRES with restarts or GMRES(m) method, which

can present problems of stagnation (two equal, or almost equal, consecutive solutions).

One of the ways to avoid this stagnation is the use of preconditioners in the original

system Ax = b, passing to an equivalent system of type M−1Ax = M−1b, where the

matrix M is called preconditioner and has the role to facilitate the solution of the

original system. The choice of preconditioners is an area of research which refers to

the specific knowledge a priori of the problem to be solved and/or the structure of

the coefficient matrix A. In this work we study the left preconditioning of the Inexact

Newton - GMRES(m). We also present a strategy that allows switching between 3

preconditioners (Jacobi, ILU and SSOR) depending on information resulting from the

application of GMRES(m) at each iteration of the Inexact Newton, i.e., every time you

solve the preconditioned linearized system. So we end with a comparison between our

strategies and the use of fixed preconditioners for solving Luksan’s problems [13], [14]

with Inexact Newton - GMRES.

Keywords: Nonlinear systems, Linear systems, Krylov Subspaces, GMRES, Pre-

conditioning

vii

Page 9: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Sumario

0 Introducao 1

0.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

0.2 Descricao dos capıtulos . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1 Metodo de Newton Inexato 5

1.1 Metodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2.1 Convergencia do Metodo de Newton . . . . . . . . . . . . . . . 8

1.2.2 Convergencia do Metodo de Newton Inexato . . . . . . . . . . . 8

2 Sistemas Lineares 9

2.1 Metodos Diretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Metodos Iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 Metodos de projecao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3.1 Metodo de Arnoldi . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Precondicionamento 14

3.1 Numero de Condicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1.1 Norma de matrizes . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1.2 Numero de condicao de matrizes . . . . . . . . . . . . . . . . . . 15

3.2 Precondicionamento de Sistemas Lineares . . . . . . . . . . . . . . . . . 16

4 GMRES 18

4.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2 Implementacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.3 GMRES(m) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.4 GMRES precondicionado . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.4.1 Precondicionamento a esquerda . . . . . . . . . . . . . . . . . . 23

4.4.2 Precondicionamento a direita . . . . . . . . . . . . . . . . . . . 25

viii

Page 10: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

4.4.3 Precondicionamento tipo split . . . . . . . . . . . . . . . . . . . 26

5 Precondicionadores 27

5.1 Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.2 SSOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.3 ILU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.3.1 Preenchimento zero (Zero fill-in) - ILU(0) . . . . . . . . . . . . 32

5.3.2 Nıvel de preenchimento e estrategias de threshold . . . . . . . . 33

6 Testes Numericos 34

6.1 Descricao das Estrategias Adaptativas . . . . . . . . . . . . . . . . . . 34

6.2 Procedimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

6.2.1 Problemas para os testes . . . . . . . . . . . . . . . . . . . . . . 37

6.3 Resultados numericos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

6.3.1 Perfil de Desempenho . . . . . . . . . . . . . . . . . . . . . . . . 39

6.3.2 Resultados com Precondicionadores Fixos (Jacobi, ILU e SSOR) 40

6.3.3 Resultados com as estrategias adaptativas 1 e 2 . . . . . . . . . 43

7 Conclusoes 47

7.1 Perspectivas futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

ix

Page 11: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Lista de Figuras

2.1 Projecao oblıqua (QLK x) e projecao ortogonal (PKx) . . . . . . . . . . . . . 12

2.2 Sistema resultante do Metodo de Arnoldi . . . . . . . . . . . . . . . . . . 13

5.1 Decomposicao da matriz A . . . . . . . . . . . . . . . . . . . . . . . . . . 29

6.1 Fluxograma da primeira estrategia de mudanca de precondicionadores . . . 35

6.2 Fluxograma da segunda estrategia de mudanca de precondicionadores . . . . 36

6.3 Perfil de desempenho das iteracoes externas, precondicionadores fixos, 13 pro-

blemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6.4 Perfil de desempenho das iteracoes internas, precondicionadores fixos, 13 pro-

blemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

6.5 Perfil de desempenho das iteracoes internas, precondicionadores fixos e duas

estrategias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

6.6 Perfil de desempenho das iteracoes externas, precondicionadores fixos e duas

estrategias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

x

Page 12: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Capıtulo 0

Introducao

O metodo de Newton Inexato para resolucao do sistema nao linear,

F (x) = 0, F ∈ C1(D), F : Rn → Rn, (1)

consiste em construir a sequencia de solucoes aproximadas sk, do sistema linearizado:

J(xk)s = −F (xk), (2)

onde xk e uma aproximacao para a solucao na iteracao k e J(xk) e a matriz Jacobiana

(ou matriz das derivadas parciais) da funcao F no ponto xk. Essas solucoes aproximadas

devem atender ao criterio de parada:

||J(xk)sk + F (xk)|| ≤ ηk||F (xk)||, (3)

onde ηk e chamado de termo forcante e controla o nıvel de precisao para o calculo da

solucao aproximada. Com isso obtemos a sequencia de aproximacoes para a solucao do

sistema nao linear inicial F (x) = 0, de modo que xk+1 = xk+sk. A solucao aproximada

do sistema linearizado pode ser obtida pelo metodo do GMRES, sendo entao chamado

o metodo de Newton Inexato - GMRES, ou NI-GMRES. O metodo do GMRES consiste

em encontrar uma solucao que minimize o resıduo do sistema no subespaco de Krylov

correspondente.

Km(A, v) ≡ span{v, Av,A2v, . . . , Am−1v

}, (4)

onde a dimensao m do subespaco de Krilov corresponde a m-esima iteracao interna

do GMRES. Nesse caso temos que A = J(xk) e v = −F (xk). Assim, no metodo

NI-GMRES, em cada passo do algoritmo de Newton Inexato se utiliza o metodo do

GMRES para encontrar a solucao aproximada do sistema linearizado. A cada passo

1

Page 13: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

2

dentro do GMRES acrescentamos um vetor na base do subespaco de Krylov correspon-

dente, aumentando assim sua dimensao.

Quando aplicamos o GMRES a sistemas de grande porte podemos ter um aumento

consideravel no custo computacional, devido ao aumento progressivo na dimensao do

subespaco de Krylov no qual buscamos a solucao que minimiza o resıduo. Entao, mesmo

sabendo que o GMRES converge em ate n passos, sendo n a dimensao do problema

[16], podemos fixar um valor maximo de iteracoes m para cada ciclo do GMRES.

Desta maneira, ao atingir esse valor m, recomecamos o GMRES, aproveitando o ultimo

resıduo encontrado rm, que dara origem ao novo subespaco de Krylov, e a ultima solucao

aproximada sm, que passara a ser o chute inicial para o novo ciclo. Essa modificacao

no algoritmo e conhecida como GMRES(m) ou GMRES com recomeco (restart).

Como no GMRES(m) o ciclo e interrompido a cada m iteracoes, os teoremas de con-

vergencia sao modificados e temos a presenca de um fenomeno chamado de estagnacao

[17]. A estagnacao ocorre quando o incremento no numero de iteracoes nao resulta

em diminuicao no resıduo, ou seja, nao ha melhoramento na solucao aproximada do

sistema. A fim de diminuir esse efeito de estagnacao, bem como melhorar propriedades

de resolucao, se utilizam precondicionadores no sistema linear, gerando o metodo do

GMRES(m) precondicionado.

De maneira geral, o precondicionamento de um sistema linear consiste em, dado

o sistema original Ax = b, aplicar uma matriz M chamada de precondicionadora, de

modo que o novo sistema M−1Ax = M−1b (precondicionado pela esquerda) seja mais

facil de ser resolvido. Essa matriz tambem pode ser aplicada pela direita (precondicio-

namento pela direita) ou simultaneamente pelos dois lados, quando temos M = M1∗M2

(split). A escolha de uma matriz precondicionadora adequada tem uma influencia con-

sideravel na resolucao de sistemas lineares, especialmente em metodos de projecao em

subespacos de Krylov. Nesse trabalho iremos estudar o algoritmo do NI-GMRES pre-

condicionado por tres precondicionadores diferentes: Jacobi, SSOR e Fatoracao LU

incompleta. Fizemos essa escolha para um estudo inicial levando em conta a simplici-

dade de construcao das matrizes precondicionadoras e de suas inversas, como veremos

nas secoes 5.1, 5.2 e 5.3.

Quando testamos o metodo do NI-GMRES precondicionado pela esquerda por es-

ses tres precondicionadores nos problemas descritos no capıtulo 6, percebemos que em

alguns casos a escolha do precondicionador determinava a convergencia do problema.

Propomos entao duas estrategias que mudam o precondicionador quando, apos uma

iteracao do Newton Inexato, o GMRES tenha relatado algum problema (bandeiras).

Com base nessas bandeiras de numero de condicao elevado da matriz M , ou de estagna-

Page 14: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

0.1 Objetivos 3

cao do GMRES(m), trocamos o precondicionador a fim de contornar esses problemas.

Desse modo, esse trabalho apresenta um estudo do metodo NI-GMRES(m) precondi-

cionado, bem como faz uma comparacao entre o uso de precondicionadores fixos e as

estrategias que mudam de precondicionador de acordo com as bandeiras advindas do

proprio GMRES, em uma serie de problemas encontrados em [13] e [14]. Para fazer

tal comparacao utilizamos, alem de tabelas demonstrativas, uma ferramenta que traca

perfis de desempenho [7] para cada algoritmo proposto e os compara todos em um

unico grafico.

0.1 Objetivos

O objetivo principal deste trabalho e estudar o uso de precondicionadores a es-

querda no metodo de Newton Inexato - GMRES(m). Alem disso propomos o uso

de duas estrategias que permitem a mudanca de precondicionadores baseada em in-

formacoes advindas do GMRES(m) como a estagnacao e a quase singularidade das

matrizes precondicionadas. Assim, queremos comparar as duas estrategias propostas

com os metodos que usam precondicionadores fixos em um metodo de Newton Inexato

- GMRES(m) na resolucao dos problemas de Luksan [13], [14].

0.2 Descricao dos capıtulos

A dissertacao esta dividida em 7 capıtulos organizados do seguinte modo:

Capıtulo 1 - Metodo de Newton Inexato, onde fazemos uma breve introducao ao

metodo, indicando a principal diferenca para o metodo de Newton, e apresentamos a

escolha do termo forcante η utilizada nos testes, bem como um esboco do algoritmo

de Newton Inexato para resolver o sistema F (X) = 0. Por fim, apresentamos as

hipoteses necessarias a convergencia e tambem as ordens de convergencias dos metodos

de Newton e Newton Inexato.

Capıtulo 2 - Sistemas Lineares, no qual comentamos generalidades acerca dos me-

todos de resolucao dos sistemas lineares, dando um enfoque especial aos metodos de

projecao.

Capıtulo 3 - Precondicionamento, onde abordamos o tema de precondicionamento

de sistemas lineares na melhoria da resolucao desses problemas.

Capıtulo 4 - GMRES, em que estudamos o metodo do GMRES simples e com reco-

mecos (GMRES(m)), alem de apresentarmos alguns comentarios sobre a convergencia

e aspectos relacionados ao precondicionamento do GMRES.

Page 15: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

0.2 Descricao dos capıtulos 4

Capıtulo 5 - Precondicionadores, no qual fazemos um resumo do estado da arte do

uso de precondicionadores e apresentamos os tres precondicionadores (Jacobi, SSOR e

Fatoracao LU incompleta) que foram escolhidos para nossos testes numericos.

Capıtulo 6 - Testes Numericos, onde descrevemos duas estrategias utilizadas no

trabalho para trocar os precondicionadores entre as iteracoes do Newton Inexato, de

acordo com informacoes (bandeiras) fornecidas pelo GMRES(m), e tambem apresen-

tamos a metodologia empregada nos testes bem como os resultados obtidos.

Capıtulo 7 - Conclusoes, em que fazemos nossas consideracoes finais e apresentamos

as principais conclusoes e perspectivas futuras do trabalho.

Page 16: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Capıtulo 1

Metodo de Newton Inexato

1.1 Metodo de Newton

Um dos metodos mais conhecidos para solucionar problemas do tipo:

F (x) = 0, F ∈ C1(D), F : Rn → Rn, (1.1)

onde D e um conjunto aberto e convexo em Rn, e o metodo de Newton. Nele a sequencia

{xk} e gerada atraves de xk+1 = xk + sk, onde sk e a solucao exata do sistema linear

J(xk)s = −F (xk), (1.2)

e J e a matriz Jacobiana de F (supostamente nao singular em x∗, solucao de (1.1).

Apesar de sua grande utilizacao pelo fato de possuir uma taxa de convergencia q-

quadratica [6], esse metodo apresenta algumas limitacoes especialmente em casos onde

a dimensao n do problema e elevada, o que torna necessaria a resolucao de um sistema

linear de grande porte de maneira exata a cada iteracao, implicando em altos custos

computacionais. Alem disso, nem sempre temos bons modelos de aproximacao nos

problemas, de maneira que a funcao F (x) pode nao representar fielmente a situacao

real que esta sendo modelada e estaremos investindo em uma solucao exata (extrema-

mente custosa) a cada passo, sem necessariamente estarmos traduzindo esse esforco em

resultados exatos.

Devido as limitacoes de custo computacional do metodo de Newton, algumas alter-

nativas foram propostas ao longo do tempo a fim de contornar esse problema, tentando

manter a principal caracterıstica do metodo original que e a elevada taxa de convergen-

cia. Dentre elas destacamos neste trabalho o metodo de Newton Inexato proposto por

5

Page 17: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

1.1 Metodo de Newton 6

Dembo, Eisenstat e Steihaug em 1982, [5]. Este processo, bem como suas variantes,

como Newton-Krylov, [3], Newton–GMRES, [1], vem sendo amplamente utilizados ha

mais de duas decadas como uma alternativa ao metodo de Newton.

No metodo de Newton Inexato, o passo sk e uma solucao aproximada do sistema

linear (1.2), obtida de modo a satisfazer o criterio de parada, [5]

||J(xk)sk + F (xk)|| ≤ ηk||F (xk)||. (1.3)

Nesse caso em vez de buscarmos uma solucao exata para o sistema linear, passa-

mos a permitir uma tolerancia que sera controlada pelo fator ηk, chamado de termo

forcante. A escolha de um termo forcante adequado pode melhorar o desempenho do

metodo de Newton Inexato, levando em conta que muitas vezes nos interessamos em

uma precisao menos exigente no inıcio do processo iterativo e mais exigente quando

estamos mais proximos de atingir a convergencia. Desse modo o termo forcante ηk

pode determinar em que momento do processo iterativo sera exigida uma maior preci-

sao. Utilizamos as duas escolhas propostas por Eisenstat e Walker em [8], com as quais

obtivemos resultados similares, sendo que apresentamos em nossos graficos e tabelas

sempre os resultados obtidos com a primeira escolha, a qual apresentamos a seguir.

Para aprofundamento no tema das escolhas pode ser consultado o trabalho de [18]:

A escolha consiste, em para η0 ∈ [0, 1), determinado, fazermos:

ηk =‖F (xk)− F (xk−1)− J(xk−1)sk−1‖

‖F (xk−1)‖, k = 1, 2, 3, . . . (1.4)

ou

ηk =‖‖F (xk)‖ − ‖F (xk−1) + J(xk−1)sk−1‖‖

‖F (xk−1)‖, k = 1, 2, 3, . . . , (1.5)

possibilitando levar em conta a qualidade do modelo local linear encontrado, onde um

bom modelo implicara numa reducao no valor de ηk.

Chamaremos iteracoes internas as iteracoes realizadas para atingir o criterio (1.3)

quando utilizado algum metodo iterativo para obter o passo sk; e iteracoes externas as

iteracoes da sequencia xk.

Assim o metodo de Newton Inexato para solucionar o sistema nao linear (1.1), sendo

k o numero de iteracoes externas, pode ser representado no seguinte algoritmo:

Algoritmo 1.1.1. Newton Inexato

• Para k = 1, 2, 3, . . .

• Escolha ηk.

Page 18: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

1.2 Convergencia 7

• Encontre um vetor sk que satisfaca:

||J(xk)sk + F (xk)|| ≤ ηk||F (xk)||.

• Faca xk+1 = xk + sk; k = k + 1.

Cada forma de resolucao aproximada do sistema (1.2) gera variantes do metodo de

Newton Inexato, entre as quais consta a famılia dos metodos de subespacos de Krylov

[12], [17]. O GMRES e um dos metodos mais conhecidos desta famılia e, quando usado

para resolver (1.2), o metodo de Newton Inexato fica denominado por metodo Newton

Inexato–GMRES (NI-GMRES). No capıtulo 4 iremos estudar o metodo GMRES que

sera utilizado em nossos testes numericos no capıtulo 6.

1.2 Convergencia

Dizemos que uma sequencia {xk}, xk ∈ Rn, k = 0, 1, 2, . . . , converge para x∗ se

limk→∞‖xk− x∗‖ = 0 ([6], secao 2.3). Isso implica que existe um valor k′ ∈ N de modo

que para todo k ≥ k′ , ‖xk+1−x∗‖ < ‖xk−x∗‖, ou seja, a partir do ındice k′, os termos

de xk se aproximam cada vez mais do limite x∗.

Mas esse tipo de analise nao revela quao rapido determinada sequencia se aproxima

de seu limite. Isso quer dizer que precisamos definir outro conceito importante no

estudo de convergencia de sequencias (e consequentemente dos metodos que as geram).

Esse conceito, chamado de taxa ou ordem de convergencia, esta relacionado tambem

com a diminuicao da distancia ‖xk − x∗‖ (que pode ser interpretada como o erro na

solucao aproximada de um problema cuja solucao e x∗) quando k aumenta.

Assim, podemos classificar a ordem de convergencia de uma sequencia da seguinte

forma ([6], secao 2.3):

• convergencia q-linear, quando existe uma constante c ∈ [0, 1) e um inteiro k′ tais

que, para todo k ≥ k′, ‖xk+1 − x∗‖ ≤ c‖xk − x∗‖;

• convergencia q-superlinear, quando existe uma sequencia {ck} que converge para

0, tal que ‖xk+1 − x∗‖ ≤ ck‖xk − x∗‖;

• convergencia de q-ordem pelo menos p, quando existem constantes p > 1, c ≥ 0

e k′ ≥ 0, tais que para todo k ≥ k′, ‖xk+1 − x∗‖ ≤ c‖xk − x∗‖p. No caso

particular em que p = 2 ou 3, a convergencia e dita q-quadratica ou q-cubica,

respectivamente.

Page 19: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

1.2 Convergencia 8

Neste tipo de classificacao o ındice q representa o fato da comparacao ser dada por

um quociente, havendo tambem comparacoes que utilizam por exemplo a raiz [6].

Existe tambem uma classificacao das ordens de convergencia de sequencias (e con-

sequentemente dos metodos associados) utilizando termos nao imediatamente consecu-

tivos. Neste caso, teremos um inteiro j tal que ([6], secao 2.3):

• ‖xk+j − x∗‖ ≤ ck‖xk − x∗‖, onde {ck} converge para 0 e a convergencia e dita

q-superlinear de passo j;

• ‖xk+j − x∗‖ ≤ c‖xk − x∗‖p, com convergencia chamada de q-ordem pelo menos p

com passo j. Nos casos particulares em que p = 2 ou 3, a convergencia sera dita

q-quadratica de passo j e q-cubica de passo j, respectivamente.

1.2.1 Convergencia do Metodo de Newton

Com as hipoteses feitas no inıcio deste capıtulo sobre a funcao F e assumindo que

exista uma vizinhanca de x∗ em D, N = {x ∈ Rn, ‖x − x∗‖ < r}, denotada por

N(x∗, r) ⊂ D, com r > 0, na qual a Jacobiana e Lipchitz com constante γ. Entao,

existe ε > 0 tal que para todo x0 ∈ N(x∗, ε), a sequencia {xk} gerada pelo metodo de

Newton e bem definida e converge para x∗ com taxa de convergencia q-quadratica ([6],

secao 5.2).

1.2.2 Convergencia do Metodo de Newton Inexato

No caso do metodo de Newton Inexato, utilizando as mesmas hipoteses da secao 1.2,

e assumindo que o termo forcante ηk satisfaz 0 ≤ ηk ≤ ηmax < 1 entao {xk} converge

a x∗ q-linearmente na norma ‖.‖∗, definida por ‖v‖∗ ≡ ‖J(x∗)v‖ para v ∈ Rn [8].

Se, adicionalmente, tivermos limk→∞ ηk = 0, a convergencia sera q-superlinear. E

se ηk = O(‖F (xk)‖) entao a convergencia sera q-quadratica [8].

Com a escolha de ηk utilizada em nossos testes 1.4, a convergencia sera dada por

([8], teorema 2.2):

‖xk+1 − x∗‖ ≤ β‖xk − x∗‖‖xk−1 − x∗‖, k = 1, 2, . . . . (1.6)

De (1.6), essa convergencia e do tipo q-superlinear, como tambem q-quadratica de

passo 2.

Page 20: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Capıtulo 2

Sistemas Lineares

Vimos no capıtulo anterior que apos linearizar o problema (1.1), devemos escolher

um metodo que resolva (1.2) de maneira exata, no caso do metodo de Newton, ou de

maneira aproximada, no metodo de Newton Inexato.

Desse modo, e necessario estudar os diversos metodos de resolucao de sistemas

lineares para poder aplicar corretamente os metodos de Newton e Newton Inexato.

Sabemos que encontrar solucoes satisfatorias para o sistema linear

Ax = b (2.1)

onde A ∈ Rn×n, x e b ∈ Rn, foi a fonte para a criacao e aperfeicoamento de diversas

tecnicas e metodos computacionais ao longo do tempo.

A evolucao desses procedimentos levou em conta as ferramentas disponıveis ao ho-

mem em cada momento historico. Desse modo, com o advento dos computadores cada

vez mais poderosos, foi possıvel utilizar tecnicas mais elaboradas de calcular possıveis

solucoes para (2.1).

Ao longo desse capıtulo iremos abordar os principais metodos utilizados na resolucao

desse sistema. Metodos diretos e metodos iterativos, especialmente os metodos de

projecao que servirao para o entendimento dos metodos de projecao em subespacos de

Krylov que estudaremos no capıtulo 4.

2.1 Metodos Diretos

Os metodos mais classicos para solucionar (2.1) sao os assim chamados metodos

diretos, pelo fato de que conduzem a uma solucao x, exata, por meio de procedimentos

predeterminados. Sendo assim, possuem um numero finito (e conhecido) de operacoes

9

Page 21: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

2.2 Metodos Iterativos 10

necessarias para que o algoritmo chegue a solucao em aritmetica exata.

Essa robustez teorica fez dos metodos diretos a principal escolha para solucionar

(2.1). Porem, os metodos diretos nem sempre preservam as vantagens citadas, princi-

palmente do ponto de vista computacional, onde se opera em ponto flutuante, o que

introduz erros de arredondamento que podem prejudicar os resultados.

Alem disso, os metodos diretos exigem um esforco computacional elevado e ha mui-

tas aplicacoes onde um menor esforco computacional e mais importante que a qualidade

da solucao x de (2.1). Nesses casos uma solucao aproximada x pode ser suficientemente

boa, podendo ser utilizado um metodo iterativo, como sera visto na secao 2.2.

Ha ainda o caso das matrizes esparsas (matrizes que apresentam uma quantidade

grande de elementos nulos chamada de grau de esparsidade da matriz) nas quais se

pretende manter a estrutura apos a aplicacao do metodo. Isso porque armazenar e

operar matrizes esparsas de dimensao n elevada e muito melhor, de um ponto de

vista computacional, que matrizes cheias. No caso das matrizes esparsas o uso de

metodos diretos produz um efeito negativo conhecido como fill-in ou preenchimento,

em portugues. Esse fenomeno ocorre quando elementos nao-nulos surgem, durante

o processo de resolucao do sistema linear, em posicoes onde os elementos da matriz

original eram nulos, diminuindo a esparsidade da matriz. Em outras palavras, aplicar

um metodo direto em uma matriz de grande porte esparsa pode resultar em uma matriz

cheia ao fim (ou no decorrer) do processo.

2.2 Metodos Iterativos

Como vimos na secao 2.1, o uso de metodos iterativos em sistemas lineares se

justifica em varios casos. Pelo fato de nao calcularem diretamente uma solucao exata

para (2.1), sao especialmente uteis quando uma solucao aproximada e satisfatoria.

De um modo geral, os metodos iterativos trazem procedimentos que solucionam

(2.1) de maneira aproximada a cada iteracao. A sequencia de solucoes {xm} converge

sob algumas hipoteses a solucao exata, com uma determinada margem de erro.

Ha uma diversidade enorme de metodos iterativos que diferenciam-se por varias

caracterısticas, nao havendo um metodo geral para solucionar qualquer sistema Ax = b.

Na verdade, a maioria dos metodos iterativos se baseiam em propriedades da matriz

A, sendo comum o fato de metodos diferentes reagirem de modo diverso (convergindo

ou nao, por exemplo) quando aplicados ao mesmo problema.

Em geral os metodos iterativos so possuem convergencia garantida sob varias hipo-

teses particulares para cada metodo, o que restringe o uso de um determinado algoritmo

Page 22: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

2.3 Metodos de projecao 11

a uma gama de problemas especıficos. Alem disso, e necessario por vezes uma pratica

para utilizacao correta dos algoritmos que possuem parametros que determinam a con-

vergencia e cuja escolha envolve experiencia especıfica em cada problema, fruto de

diversas tentativas.

Nesse texto nos deteremos no estudo dos metodos de projecao, especialmente os

chamados metodos de projecao em subespacos de Krylov. O leitor interessado podera

consultar [17], [12] para um maior aprofundamento nos metodos iterativos.

2.3 Metodos de projecao

A maioria dos processos iterativos se utiliza de um processo de projecao em algum

momento do algoritmo ([16], p. 133). Metodos de projecao sao uma alternativa para

encontrar solucoes aproximadas para um sistema linear sob determinadas condicoes.

Nesse sentido existem dois subespacos caracterısticos desses metodos. Primeiramente

ha um subespaco de buscas K, assim chamado pois e nele que os metodos irao procurar

a solucao x para o sistema. O outro subespaco representa as restricoes impostas a

solucao x, sendo chamado de subespaco das restricoes L.

Uma caracterıstica fundamental dos metodos de projecao e que, na sua construcao,

eles devem atender as chamadas condicoes de Petrov-Galerkin [16]. Essas condicoes sao

de ortogonalidade, implicando em uma projecao ortogonal ao subespaco das restricoes

L. Isso significa, em geral, que quando procuramos uma solucao para um sistema linear

de dimensao m, devemos impor m condicoes de ortogonalidade, pois os subespacos Ke L possuem mesma dimensao.

Entao, dado um metodo de projecao qualquer, no k − esimo passo teremos um

subespaco de buscas Kk e um subespaco de restricoes Lk de modo que as condicoes de

Petrov-Galerkin serao representadas da seguinte forma:

xk ∈ x0 +Kk (2.2)

rk = b− Axk ⊥ Lk (2.3)

Os metodos de projecao sao divididos em dois grandes grupos de acordo com a

relacao existente entre os dois subespacos caracterısticos. Quando L = K o metodo e

chamado de projecao ortogonal. Neste caso e comum tratar as condicoes de Petrov-

Galerkin apenas pelo nome de condicoes de Galerkin [16].

Page 23: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

2.3 Metodos de projecao 12

Figura 2.1: Projecao oblıqua (QLK x) e projecao ortogonal (PKx)

Ja no caso em que ocorre de L 6= K, ou seja, os subespacos de busca e de restricoes

sao diferentes, chamamos o metodo de projecao oblıqua (ver figura 2.1).

2.3.1 Metodo de Arnoldi

O metodo de Projecao de Arnoldi constroi uma base ortogonal para o subespaco de

Krylov dado por

Km = span{v, Av,A2v, . . . , Am−1v

}. (2.4)

Algoritmo 2.3.1.

Escolha um vetor inicial ‖v1‖2 = 1

Para j = 1, 2, . . . ,m

Para i = 1, 2, . . . , j

hij = (Avj, vj)

wj = Avj −j∑i=1

hijvi

Fim

hj+1,j = ‖wj‖2, se hj+1,j = 0 entao pare

vj+1 = wj/hj+1,j

Fim

Desse modo obtemos uma nova base, ortonormal por construcao, para gerar o su-

bespaco de Krylov:

Km = span {v1, v2, . . . , vm} . (2.5)

Definimos Vm como sendo a matriz cujas colunas sao os vetores ortonormais vi, 1 ≤i ≤ m. Assim temos:

Page 24: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

2.3 Metodos de projecao 13

Vm =

v1 v2 v3 . . . vm

.Podemos definir a matriz Hm em que seus unicos elementos nao-nulos sao os valores

de hij gerados pelo algoritmo 2.3.1, chamada de matriz de Hessenberg, a qual possui

uma estrutura semelhante a uma matriz triangular com o acrescimo de uma subdiagonal

nao nula.

Podemos tambem definir a matriz Hm = [Hm] excluindo-se a ultima linha, desse

modo Hm e uma matriz quadrada.

Assim, o metodo de Arnoldi implicara na relacao representada na figura seguinte:

Figura 2.2: Sistema resultante do Metodo de Arnoldi

Page 25: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Capıtulo 3

Precondicionamento

Ao resolver um sistema linear utilizando um dos metodos vistos no capıtulo 2 po-

demos nos deparar com um problema de condicionamento. Veremos nesse capıtulo que

esse tipo de problema esta associado com o sistema linear e pode ter influencia direta

na qualidade da solucao do sistema, especialmente no caso de metodos de projecao em

subespacos de Krylov.

Neste capıtulo estudaremos o conceito de numero de condicao de um sistema linear

e a ideia basica de precondicionamento de sistemas. Veremos que o precondicionamento

visa reduzir esse numero de condicao (consequentemente reduzir os problemas relaci-

onados a ele). Deixaremos a discussao sobre a escolha dos precondicionadores para o

capıtulo 5.

3.1 Numero de Condicao

O numero de condicao ou condicionamento de um problema esta relacionado com

as caracterısticas particulares dele e e utilizado como uma maneira de indicar o erro

associado a resolucao do problema.

O conceito de condicionamento possui um significado mais amplo que vai alem

do estudo de matrizes, podendo ser aplicado as mais diversas areas da matematica.

Nesse trabalho iremos abordar apenas o condicionamento de matrizes e o respectivo

precondicionamento de sistemas lineares.

3.1.1 Norma de matrizes

Relembramos alguns conceitos sobre normas de matrizes. Seja A uma matriz n×ne seja x um vetor de dimensao n. Uma norma induzida por uma norma vetorial e

14

Page 26: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

3.1 Numero de Condicao 15

definida como:

‖A‖ = max‖x‖=1

‖Ax‖ = max‖x‖6=0

‖Ax‖‖x‖

. (3.1)

Sabemos que uma norma e uma funcao que possui as seguintes propriedades:

• ‖A‖ ≥ 0 e ‖A‖ = 0⇔ A = 0

• Seja um escalar λ ∈ R: ‖λA‖ = |λ|‖A‖

• ‖A+B‖ ≤ ‖A‖+ ‖B‖, B matriz n× n.

Alem dessas propriedades, uma norma matricial euclidiana satisfaz a seguinte propri-

edade:

‖AB‖ ≤ ‖A‖‖B‖. (3.2)

3.1.2 Numero de condicao de matrizes

Consideremos o sistema linear (2.1), Ax = b.

Seja x = x+ δ, onde δ e o erro no calculo de x, que pode ser interpretado tambem

como uma perturbacao na solucao exata de (2.1). Seja tambem b = b + ε, com ε

representando o erro na representacao do vetor independente b (ou perturbacao em b).

Assim, supondo A nao-singular, o sistema (2.1) ficaria:

A(x+ δ) = b+ ε (3.3)

(x+ δ) = A−1(b+ ε) (3.4)

(x+ δ) = A−1b+ A−1ε (3.5)

Lembrando que x = A−1b temos:

δ = A−1ε (3.6)

‖δ‖ = ‖A−1ε‖ ≤ ‖A−1‖‖ε‖ (3.7)

Calculando agora o erro relativo com relacao ao vetor solucao x; x 6= 0:

‖δ‖‖x‖

≤ ‖A−1‖‖ε‖‖x‖

(3.8)

≤ ‖A‖‖A−1‖‖ε‖‖A‖‖x‖

(3.9)

‖δ‖‖x‖

≤ ‖A‖‖A−1‖‖ε‖‖b‖

, (3.10)

Page 27: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

3.2 Precondicionamento de Sistemas Lineares 16

onde ‖ε‖‖b‖ e o erro relativo com relacao ao vetor independente b. Desse modo o produto

‖A‖‖A−1‖ representa a relacao entre as perturbacoes no vetor solucao x e no vetor

independente b. Esse produto e conhecido como numero de condicao da matriz A:

cond(A) = ‖A‖‖A−1‖ (3.11)

E claro que se A for uma matriz identidade entao cond(A) = 1. Alem disso, se A

for uma matriz singular, dizemos que cond(A) =∞. Assim, valores altos do numero de

condicao indicam que a matriz e proxima de uma matriz singular, mais precisamente

a matriz e dita mal-condicionada. De maneira oposta, valores baixos do numero de

condicao indicam uma matriz bem-condicionada.

Para matrizes de grandes dimensoes o determinante nao e um bom indicador do

que podemos chamar de “tendencia” de singularidade, ou alto grau de instabilidade do

sistema linear associado a matriz. Isso porque det(A) depende da escala da matriz, ou

seja, det(λA) = λndet(A), enquanto o numero de condicao e invariante quanto a escala

cond(λA) = cond(A).

3.2 Precondicionamento de Sistemas Lineares

Precondicionar um sistema linear significa substituir o sistema (2.1) por um sistema

equivalente (mesma solucao) e cuja resolucao seja de alguma forma mais facil:

M−1Ax = M−1b, (3.12)

onde a matriz precondicionadora M , quando aplicada como na equacao (3.12), implica

em um precondicionamento pela esquerda e, quando aplicada a direita da matriz A,

implica em um precondicionamento pela direita:

AM−1y = b, x = M−1y. (3.13)

Ha ainda o caso do precondicionamento simultaneo ou split quando temos uma ma-

triz precondicionadora do tipo M = M1 ∗M2 e aplicamos simultaneamente as matrizes

M1 pela esquerda e M2 pela direita de modo a obter um sistema precondicionado da

seguinte forma:

M1AM−12 y = M1b, x = M−1

2 y. (3.14)

Estudaremos os detalhes desses tipos de precondicionamento na secao 4.4.

Page 28: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

3.2 Precondicionamento de Sistemas Lineares 17

O precondicionamento visa melhorias na resolucao do sistema linear original, tendo

como meta a reducao do numero de condicao da matriz precondicionada M−1A frente a

matriz original A. Desse modo, espera-se que um precondicionador possua as seguintes

propriedades:

• cond(M−1A) ≤ cond(A);

• Facilidade de construcao e de aplicacao da matriz M no sistema, aproveitando

especialmente as caracterısticas da matriz A;

• o sistema precondicionado deve ser mais facil (menos custoso) de resolver.

Infelizmente as duas ultimas propriedades esperadas sao, em geral, conflitantes, de

modo que se busca um ponto otimo, em cada problema, entre um bom precondicionador

que nao seja tao caro para construir e aplicar ao sistema (2.1).

Page 29: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Capıtulo 4

GMRES

Vimos no capıtulo 1 que no metodo de Newton Inexato e preciso resolver o sis-

tema (1.2), de modo a satisfazer o criterio (1.3). Para tanto, utilizaremos o metodo

chamado GMRES. Assim, obtemos o metodo chamado de Newton Inexato - GMRES

(NI-GMRES). E com base nesse metodo que faremos nossos testes de precondiciona-

mento e, portanto, iremos estudar alguns aspectos relacionados ao precondicionamento

no GMRES no decorrer deste capıtulo.

4.1 Introducao

O metodo do Mınimo Resıduo Generalizado (Generalized Minimum REsidual)[16]

e um metodo de Krylov, e portanto de projecao, com K = Km e L = AKm, onde Kme o subespaco de Krylov associado a matriz A e ao resıduo r0.

Um metodo de Krylov e um metodo de projecao em subespacos de Krylov, ou seja,

um metodo onde o subespaco de buscas e do tipo:

Km(A, v) ≡ span{v, Av,A2v, . . . , Am−1v

}(4.1)

Esses subespacos possuem propriedades importantes como:

• Km(A, v) ⊂ Km+1(A, v) e AKm(A, v) ⊂ Km+1(A, v)

• Se αi ∈ C e αi 6= 0, i = 1, 2, entao: Km(A, v) = Km(α1A,α2v)

• Se α ∈ C, entao: Km(A, v) = Km(A− αI, v)

• Se W e regular, entao: Km(W−1AW,W−1v) = W−1Km(A, v)

18

Page 30: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

4.2 Implementacao 19

• Km e o subespaco de todos os vetores em Rn que podem ser escritos como x =

p(A)v, com p polinomio de grau menor ou igual a m− 1.

O GMRES foi proposto em 1986 [16] como uma generalizacao do metodo MINRES

[15] para sistemas nao-simetricos. Essa generalizacao foi baseada no processo de Ar-

noldi, como uma alternativa ao metodo de Lanczos utilizado no MINRES para criacao

da base para o subespaco de Krylov. O metodo MINRES se aplica a sistemas simetri-

cos indefinidos, sendo uma alternativa ao metodo dos gradientes conjugados que resolve

apenas sistemas simetricos e positivos definidos. Ja o GMRES pode ser aplicado tanto

a sistemas indefinidos quanto a sistemas nao simetricos.

Assim como o MINRES, o GMRES busca minimizar a norma do resıduo sobre o

subespaco de Krylov em cada iteracao. O GMRES e matematicamente equivalente ao

GCR e ao ORTHODIR como provado em [16]. Alem disso, dado um sistema cuja matriz

dos coeficientes e quadrada de dimensao n, o GMRES converge em no maximo n passos

em aritmetica exata, sendo uma opcao muito utilizada especialmente na resolucao de

sistemas lineares de grande porte esparsos e nao simetricos.

4.2 Implementacao

A base do metodo do GMRES consiste na minimizacao do resıduo sobre o subespaco

de Krylov a cada iteracao. Na k-esima iteracao desse algoritmo teremos um problema

de quadrados mınimos para solucionar, a saber:

minx∈x0+Kk

‖b− Ax‖2. (4.2)

Tomando Vk uma base ortogonal para Kk. Temos que

x = x0 + Vky. (4.3)

O GMRES busca a solucao em y que minimiza o resıduo:

‖b− A(x0 + Vky)‖2 = ‖r0 − AVky‖2, (4.4)

ou seja, o GMRES resolve:

miny∈Rk‖r0 − AVky‖2. (4.5)

Esse problema de minimizacao pode ser resolvido por uma fatoracao QR.

Page 31: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

4.3 GMRES(m) 20

Uma construcao basica do metodo do GMRES segue no algoritmo seguinte:

Algoritmo 4.2.1. GMRES

• r0 = b− Ax0, β := ‖r0‖2, e v1 := r0/β

• Para j = 1, 2, . . . ,m:

wj := Avj

Para i = 1, . . . , j:

hi,j := (wj, vj)

wj := wj − hi,jvi

Fim

hj+1,j = ‖wj‖2

Se hj+1,j = 0, m := j

vj+1 = wj/hj+1,j

• Fim

• Hm = hi,j1≤i≤m+1,1≤j≤m

• ym = min‖βe1 −Hmy‖2

• xm = x0 + Vmym

4.3 GMRES(m)

A cada iteracao realizada no GMRES ha um aumento na dimensao do subespaco

de Krylov devido ao acrescimo de um vetor [16]. Desse modo para sistemas de grande

porte, a medida que se realizam as iteracoes internas do GMRES, o custo computacional

pode crescer de modo a tornar inviavel o uso do metodo [16]. Para contornar esse

problema e utilizado o GMRES com recomecos a cada m iteracoes, ou GMRES(m)

[16], onde o vetor solucao sm e o resıduo final rm serao utilizados, respectivamente,

como aproximacao inicial e gerador do novo subespaco de Krylov no proximo ciclo do

GMRES(m) [16].

Esse novo metodo nao possui a mesma garantia de convergencia que o GMRES,

pois pode apresentar um problema de estagnacao [16]. Assim, e preciso levar esse fato

em consideracao com uso de estrategias que contornem esse fato como em [11] ou pelo

uso de precondicionadores, como veremos na secao seguinte.

Page 32: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

4.3 GMRES(m) 21

Lembramos que O metodo do GMRES sem recomecos, ou completo, possui garantia

de convergencia em um maximo de n iteracoes, sendo n a dimensao do sistema linear

a ser resolvido. Para verificar este fato, basta tomarmos a proposicao e o corolario que

seguem [16]:

Proposicao 4.3.1. A solucao xj produzida pelo GMRES no passo j e exata se e

somente se as seguintes condicoes (equivalentes) forem satisfeitas:

1. O algoritmo e interrompido no passo j (lucky break down)

2. vj+1 = 0

3. hj+1,j = 0

4. O grau do polinomio mınimo do vetor resıduo inicial r0 e igual a j

Como o grau do polinomio mınimo do resıduo nao pode exceder a dimensao n do

problema, temos o seguinte corolario [16]:

Corolario 4.3.1. Para um problema de dimensao n × n, o GMRES finaliza em um

maximo de n iteracoes.

No caso do GMRES(m), deseja-se utilizar um valorm < n de modo que esse teorema

nao pode ser utilizado a fim de estudar a convergencia. Porem, [16] mostra que esse

metodo e equivalente ao GCR(m-1) o qual converge quando a matriz A e positiva real,

ou seja, quando sua parte simetrica (A+ AT )/2 e positiva definida (SPD). Nesse caso

podemos utilizar os seguintes resultados [16]:

Proposicao 4.3.2. Suponha A diagonalizavel tal que A = XDX−1 e defina:

εm = minp∈Pm,p(0)=1

maxλi∈σ‖p(λi)‖. (4.6)

Entao a norma residual dada pelo m-esimo passo do GMRES satisfaz [16]:

‖rm+1‖ ≤ cond(X)εm‖r0‖, (4.7)

onde cond(X) = ‖X‖‖X−1‖ e o numero de condicao da matriz X.

Quando A e positivo real com a parte simetrica M , o seguinte limitante para o erro

pode ser derivado da proposicao [16]:

‖rm‖ ≤ [1− α/β]m/2‖r0‖, (4.8)

Page 33: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

4.4 GMRES precondicionado 22

com α = (λmin(M))2, β = λmax(ATA). Isso prova a convergencia do GMRES(m) para

todo m quando A e positivo real [16].

No caso da matriz A nao ser positiva real temos o seguinte resultado [16]:

Teorema 4.3.1. Suponha que existam t autovalores λ1, λ2, . . . , λt de A com partes reais

nao-positivas e que os outros autovalores estejam contidos em um cırculo centrado em

C, com C > 0, e raio R com C > R, entao [16]:

ε ≤[R

C

]m−tmax

j=t+1,...,n

t∏i=1

‖λi − λj‖‖λi‖

≤[D

d

]t [R

C

]m−t, (4.9)

onde D = maxi=1,...,t;j=t+1,...,n‖λi − λj‖ e d = mini=1,...,t‖λi‖ .

Corolario 4.3.2. Sob a hipotese da proposicao e do teorema, o GMRES(m) converge

para qualquer vetor inicial x0 se [16]:

m >

t log

[DC

dRcond(X)1/t

]log

[C

R

] . (4.10)

Ou seja, o corolario determina um valor mınimo de ciclos m para o qual ha garantia

de convergencia do GMRES(m).

Devemos fazer algumas observacoes pertinentes sobre esse corolario. Primeira-

mente, a maneira como se expressou o limitante superior para o erro na solucao apro-

ximada (teorema 4.3.1) nao e tao preciso de modo podemos ter convergencia para

valores de m muito inferiores ao minimal dado por (4.10). Em segundo lugar, podemos

perceber que a garantia de convergencia esta relacionada com a distribuicao dos auto-

valores e com o numero de condicao, sendo independente da dimensao n do problema.

Finalmente, pode ocorrer de ao seguir o corolario obtermos m > n indicando uma

informacao redundante uma vez que o GMRES(n) converge no primeiro ciclo por ser

equivalente a forma completa do GMRES.

4.4 GMRES precondicionado

O GMRES oferece a possibilidade de precondicionamento pela esquerda, pela direita

e split [17].

Vejamos um exemplo de precondicionamento pela esquerda em uma matriz 3 × 3

no GMRES(2). Sendo o sistema Ax = b com a matriz A e o vetor b dados a seguir:

Page 34: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

4.4 GMRES precondicionado 23

A =

10000 2 −0.4

0.3 900 0.5

0.7 0.5 0.1

b =

1

1

1

Temos que o numero de condicao da matriz A e: cond(A) = 1, 0025 ∗ 105 .

Quando aplicamos o GMRES(2) para o sistema original Ax = b nao ocorre conver-

gencia.

Utilizando agora o precondicionador Jacobi 5.1 temos que:

M =

10000 0 0

0 900 0

0 0 0, 1

e o novo sistema M−1Ax = M−1b passa a ter um numero de condicao cond(M−1A) =

76, 2.

Aplicando agora o GMRES(2) ao sistema precondicionado obtemos ao fim do pri-

meiro ciclo a convergencia para a solucao:

x =

5, 001x10−4

−0, 0045

10, 02

Assim, percebemos a influencia do precondicionador na aplicacao do metodo GM-

RES(m), especialmente nesse caso em que a reducao no condicionamento do sistema

foi acentuada.

4.4.1 Precondicionamento a esquerda

Como vimos, o precondicionamento a esquerda e realizado pela multiplicacao de

ambos os membros do sistema linear Ax = b pelo inverso da matriz precondicionadora,

resultando em um novo resıduo:

r = ‖M−1(b− Ax)‖. (4.11)

O GMRES precondicionado pela esquerda e o algoritmo do GMRES aplicado ao

Page 35: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

4.4 GMRES precondicionado 24

sistema:

M−1Ax = M−1b. (4.12)

Algoritmo 4.4.1. GMRES precondicionado pela esquerda

• r0 = M−1(b− Ax0), β := ‖r0‖2, e v1 := r0/β

• Para j = 1, 2, . . . ,m:

wj := Avj

Para i = 1, . . . , j:

hi,j := (wj, vi)

wj := wj − hi,jvi

Fim

hj+1,j = ‖wj‖2

vj+1 = wj/hj+1,j

• Fim

• Vm := [v1, . . . , vm], e Hm = hi,j1≤i≤j+1,1≤j≤m

• ym = miny‖βe1 − Hmy‖2

• xm = x0 + Vmym

• Se convergiu Pare, Senao faca: x0 := xm e recomece o ciclo.

Nesse caso, o subespaco de Krylov baseado no resıduo r0 = (b − Ax0) e na matriz

A fica alterado da seguinte forma quando precondicionado pela esquerda:

Km(A, r0) ≡ span{M−1r0, (M

−1A)(M−1r0), . . . , (M−1A)m−1(M−1r0)

}. (4.13)

Vimos na secao 2.2 que em metodos iterativos e necessario a indicacao de um criterio

de parada. No caso do precondicionamento pela esquerda e importante verificar que um

criterio de parada baseado no erro/resıduo maximo admissıvel precisa levar em conta

esse resıduo precondicionado (4.11) e nao o erro real r = ‖b − Ax‖ para determinar o

nıvel satisfatorio da solucao de (3.12).

Page 36: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

4.4 GMRES precondicionado 25

4.4.2 Precondicionamento a direita

No precondicionamento a direita se aplica o inverso da matriz precondicionadora

M ao sistema por meio da substituicao do vetor x pelo novo vetor M−1y de modo que

teremos o sistema Mx = y, cuja solucao e a mesma que a do sistema (2.1).

A aplicacao do precondicionador pela direita da origem ao metodo do GMRES

aplicado ao sistema seguinte:

AM−1Mx = b. (4.14)

Neste caso o resıduo do sistema precondicionado (4.14) e o mesmo que o do sistema

normal, ou seja, r = ‖b− Ax‖.

Algoritmo 4.4.2. GMRES precondicionado pela direita

• r0 = b− Ax0, β := ‖r0‖2, e v1 := r0/β

• Para j = 1, 2, . . . ,m:

wj := Avj

Para i = 1, . . . , j:

hi,j := (wj, vi)

wj := wj − hi,jvi

Fim

hj+1,j = ‖wj‖2

vj+1 = wj/hj+1,j

• Fim

• Vm := [v1, . . . , vm], e Hm = hi,j1≤i≤j+1,1≤j≤m

• ym = min‖βe1 −Hmy‖2

• xm = x0 +M−1Vmym

• Se convergiu Pare, Senao faca: x0 := xm e recomece o ciclo.

Assim, o subespaco de Krylov baseado no resıduo r0 = (b−Ax0) e na matriz A fica

alterado da seguinte forma quando precondicionado pela direita:

Km(A, r0) ≡ span{r0, (AM

−1)r0, (AM−1)2r0, . . . , (AM

−1)m−1r0}. (4.15)

Page 37: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

4.4 GMRES precondicionado 26

Existe uma observacao sobre esse tipo de precondicionamento quando aplicado ao

GMRES. Como podemos conferir em ([16], p. 287-290) nao ha necessidade de aplicar

a matriz precondicionadora M−1 no inıcio do algoritmo (4.4.2) como foi feito no caso

do precondicionamento pela esquerda, isso levando em conta que a matriz M−1 e a

mesma em todas as iteracoes. Porem o algoritmo (4.4.2) pode ser modificado de modo

a variar o precondicionador a cada iteracao, dando origem ao metodo conhecido como

Flexible Variant [17].

4.4.3 Precondicionamento tipo split

Ha ainda uma terceira forma possıvel de precondicionamento quando se tem a forma

fatorada de um precondicionador M = M1M2:

Nesse caso ha uma especie de precondicionamento simultaneo pela esquerda e di-

reita, acarretando um resıduo diferente como no caso do precondicionamento pela es-

querda e uma mudanca de variaveis como no caso do da direita.

E o subespaco de Krylov correspondente fica:

Km(A, r0) ≡ span{r0, (AM

−1)r0, (AM−1)2r0, . . . , (AM

−1)m−1r0}. (4.16)

Page 38: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Capıtulo 5

Precondicionadores

O uso de precondicionadores em sistemas lineares de grande porte e esparsos esta

diretamente relacionado com o desenvolvimento dos metodos iterativos. Hoje em dia

existe uma enorme quantidade de precondicionadores disponıveis com as mais diversas

caracterısticas e limitacoes, e consequentemente muitos trabalhos foram desenvolvidos

para compreender o tema, podendo ser citados os trabalhos de Benzi [2] e Ferronato

[10]. Os dois trabalhos citados podem ajudar a entender o estado da arte dos precon-

dicionadores, sendo que [10] e mais recente (2012).

De certa forma o inıcio da historia dos precondicionadores e marcado pelo trabalho

de Cesari em 1937 [4]. Porem o termo “precondicionamento” usado como uma tecnica

para metodos iterativos na solucao de sistemas lineares surgiu apenas em 1968 num

artigo de Evans [9]. E importante ressaltar que desde o seculo 19 os metodos iterativos

vinham sendo desenvolvidos, porem foi com o tragico advento da Segunda Guerra

Mundial que computadores com poder de processamento maior puderam impulsionar o

desenvolvimento tecnologico e com ele a necessidade de solucionar problemas de grande

porte.

Em um primeiro momento, entre as decadas de 1940 e 1970 houve um domınio dos

metodos chamados diretos, em sua maioria variantes da Eliminacao Gaussiana. Apesar

de ter surgido em 1952 o metodo dos Gradientes Conjugados, para matrizes simetricas

positivas definidas (SPD), era ainda compreendido como uma especie de metodo direto

uma vez que possui convergencia em no maximo m passos, com m sendo o numero de

autovalores distintos da matriz A.

Mas foi apenas entre as decadas de 1980 e 1990 que os metodos de subespacos

de Krylov ganharam definitivamente espaco. Foi em 1986 que surgiu o metodo do

Resıduo Mınimo Generalizado (GMRES) [16], e em 1992 o metodo dos Gradientes

Biconjugados estabilizado (Bi-CGSTAB). Com a maior aceitacao do uso de metodos

27

Page 39: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

28

que utilizam subespacos de Krylov, e o entendimento que um fator crıtico para um

metodo desse tipo e a escolha de um bom precondicionador, houve um crescimento no

interesse dos pesquisadores pelo tema do precondicionamento de sistemas lineares.

Como disse Ferronato [10], a pesquisa no campo dos precondicionadores teve um

crescimento consideravel nas ultimas duas decadas, enquanto nao se percebeu grandes

avancos em metodos de subespacos de Krylov.

Devido a enorme quantidade de precondicionadores, e interessante fazermos uma

classificacao mesmo que didatica em grupos para aproveitar caracterısticas semelhantes.

Uma primeira separacao que pode ser feita e entre os precondicionadores projetados

especificamente para um determinado problema e os precondicionadores de aplicacao

“geral”.

Os precondicionadores especıficos levam em consideracao caracterısticas do pro-

blema como as condicoes de contorno e as propriedades fısicas do sistema de equacoes

a ser solucionado. Desse modo, pode-se construir precondicionadores que possuem

grande efetividade em um dado problema, mas que em geral nao podem ser aprovei-

tados em outros problemas sem grandes esforcos de pesquisa. Ainda que diante do

mesmo problema, se ocorrerem mudancas em alguma caracterıstica relativa a ele, o

efeito benefico de um precondicionador desse tipo pode ser reduzido.

Por outro lado, os precondicionadores chamados de Algebricos se baseiam nas ca-

racterısticas da matriz A dos coeficientes do sistema linear. Desse modo, para um

determinado grupo de problemas que possuam algumas caracterısticas em comum,

como serem diagonal dominantes por exemplo, podem ser precondicionadas utilizando

uma mesma estrategia, mesmo quando a interpretacao fısica dos problemas nao tenham

nenhuma correlacao. Infelizmente nao existe um precondicionador tao geral ao ponto

de poder ser aplicado a qualquer matriz, levando a uma enorme quantidade de precon-

dicionadores disponıveis. Ainda no grupo dos precondicionadores algebricos, pode-se

dividi-los como fez Benzi [2] em duas classes, fatoracoes incompletas e inversas aproxi-

madas. Essas duas classes se diferenciam essencialmente pelo fato de que na fatoracao

incompleta a matriz aplicada M−1 nao e formada explicitamente, enquanto no caso da

inversa aproximada e a propria matriz M−1 que e construıda e diretamente aplicada.

Ha ainda um outro tipo de precondicionador algebrico chamado de Multigrid, o qual

vem suscitando uma grande pesquisa na ultima decada [10]. A principal vantagem do

Multigrid e que ele se adapta a escala, ou seja, a convergencia nao depende do numero

de nos da malha, podendo ser adaptado a uma malha mais fina sem grande aumento

no custo computacional.

Nas secoes seguintes iremos estudar tres precondicionadores algebricos escolhidos

Page 40: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

5.1 Jacobi 29

para aplicacao numerica proposta no capıtulo 6:

• ILU

• SSOR

• Jacobi

Para entender o funcionamento desses precondicionadores precisamos decompor a

matriz A em suas componentes: A = D − E − F , onde:

A = -E + D + -F

Figura 5.1: Decomposicao da matriz A

• D = diagonal de A

• -E = componente triangular inferior estrita de A

• -F = componente triangular superior estrita de A

5.1 Jacobi

O precondicionador de Jacobi, assim como o SSOR, podem ser obtidos a partir do

desenvolvimento e comparacao com a iteracao de ponto-fixo [17]:

Dado o sistemaAx = b,

A = M −N.(5.1)

Pode-se definir a iteracao linear de ponto-fixo:

xk+1 = M−1Nxk +M−1b. (5.2)

No caso de Jacobi, calcula-se o i-esimo componente de xk+1 resolvendo:

(b− Axk+1)i = 0, (5.3)

Page 41: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

5.2 SSOR 30

obtendo a nova aproximacao:

xk+1 = D−1 (E + F )xk +D−1b. (5.4)

Comparando 5.2 com 5.4 podemos observar que M = D, ou seja, o precondicionador

de Jacobi e a diagonal da propria matriz A.

5.2 SSOR

Over Relaxation:

ωA = (D − ωE)− (ωF + (1− ω)D)

SOR (Sucessive Over Relaxation):

(D − ωE)xk+1 = −[ωF + (1− ω)D]xk + ωb

SOR backward:

(D − ωF )xk+1 = −[ωE + (1− ω)D]xk + ωb

O SSOR e composto por duas iteracoes seguidas, sendo uma SOR aplicada para

xk+1/2 e outra SOR backward de xk+1/2 para xk+1, de modo que [17]:

xk+1 = Gωxk + fω

, onde,

Gω = (D − ωF )−1[ωE + (1− ω)D](D − ωE)−1[ωF + (1− ω)D]

,

fω = ω(2− ω)(D − ωF )−1D(D − ωE)−1b

.

Desse modo, segue da comparacao com 5.2 que o precondicionador SSOR e definido

do seguinte modo [17]:

(MSSOR)−1 = ω(2− ω)(D − ωF )−1D(D − ωE)−1

.

Page 42: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

5.3 ILU 31

Logo,

(MSSOR) =1

ω(2− ω)(D − ωE)D−1(D − ωF )

, onde ω e chamado de fator de relaxacao (ω = 1 resulta no precondicionador SGS

Symmetric Gauss-Seidel).

5.3 ILU

Dada uma matriz geral esparsa A a fatoracao LU incompleta resulta em A =

LU−R, onde L e matriz triangular inferior com diagonal unitaria e esparsa, U e matriz

triangular superior tambem esparsa e R a matriz residual. Sobre a matriz residual R se

impoem condicoes como ter zeros em posicoes determinadas a fim de manter em certos

aspectos a estrutura da matriz original A.

Um algoritmo geral para fatoracao LU incompleta, ou simplesmente ILU, pode ser

obtido aplicando-se a Eliminacao Gaussiana e dispondo alguns elementos em posicoes

predeterminadas. Para isso determinamos um conjunto de pontos P ⊂ {(i, j)|i 6= j; 1 ≤i, j ≤ n} onde os elementos da matriz serao nulos.

Dessa forma podemos definir o seguinte algoritmo [17]:

Algoritmo 5.3.1. Fatoracao ILU geral

• Para cada (i, j) ∈ P aij = 0

• Para k = 1, . . . , n− 1 Faca:

Para i = k + 1, . . . , n (e se (i, k) /∈ P ) Faca:

aik := aik/akk

Para j = k + 1, . . . , n e para (i, j) /∈ P Faca:

aij := aij − aikakj.

Fim

Fim

• Fim

Utilizando variantes da Eliminacao Gaussiana obtemos tambem variantes na im-

plementacao da fatoracao ILU. A variante mais comumente utilizada e a chamada IKJ

e o algoritmo passa a ser [17]:

Page 43: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

5.3 ILU 32

Algoritmo 5.3.2. ILU - Eliminacao Gaussiana - IKJ

• Para i = 2, ..., n Faca:

Para k = 1, ..., i− 1 (e se (i, k) /∈ P ) Faca:

aik := aik/akk

Para j = k + 1, . . . , n e para (i, j) /∈ P Faca:

aij := aij − aikakj.

FimPara

FimPara

• FimPara

Assim no i-esimo passo as i-esimas linhas das matrizes L e U sao construıdas. Para

isso as linhas anteriores 1, . . . , i−1 sao acessadas mas nao sofrem alteracao. Desde que

os elementos da diagonal de L sao todos iguais a 1, eles nao precisam ser computados

e teremos a sobreposicao das matrizes L e U representando a matriz A.

Quando falamos em preservacao da estrutura esparsa de uma matriz mediante uma

fatoracao estamos nos referindo ao fenomeno conhecido como preenchimento, fill-in em

ingles. Esse fenomeno ocorre quando elementos nao-nulos sao inseridos em posicoes da

matriz onde os elementos eram inicialmente nulos de modo a aumentar a quantidade

de elementos nao-nulos total da matriz.

A esparsidade ou grau de esparsidade de uma matriz e medido com relacao ao

numero de elementos nulos que ela possui com relacao ao numero total de elementos da

matriz. Desse modo, quando ocorre o preenchimento de uma matriz esparsa ela diminui

sua esparsidade e passa a necessitar de um maior esforco tanto de armazenamento

quanto de custo computacional para realizar operacoes como multiplicacoes e inversoes.

5.3.1 Preenchimento zero (Zero fill-in) - ILU(0)

A fatoracao LU incompleta com preenchimento zero (zero fill-in) ou ILU(0) ocorre

quando se define o conjunto P dos pontos onde nao havera preenchimento como

sendo exatamente o conjunto de elementos nulos da matriz A. Desse modo se de-

nominarmos como NZ(A) como o conjunto dos elementos nao-nulos de A, ou seja

NZ(A) = (i, j)|1 ≤ i, j ≤ n, aij 6= 0 teremos que NZ(A) = NZ(LU) [17]. Podemos

entao construir o seguinte algoritmo para o ILU(0)[17]:

Algoritmo 5.3.3. ILU(0)

Page 44: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

5.3 ILU 33

• Para i = 2, ..., n Faca:

Para k = 1, ..., i− 1 (e se (i, k) ∈ NZ(A) Faca:

aik := aik/akk

Para j = k + 1, . . . , n e para (i, j) ∈ NZ(A) Faca:

aij := aij − aikakj.

FimPara

FimPara

• FimPara

5.3.2 Nıvel de preenchimento e estrategias de threshold

Preservar a estrutura esparsa da matriz A e importante, porem a exigencia do

preenchimento zero pode se tornar impraticavel devido a baixa taxa de convergencia que

pode ocorrer. A fim de obter mais eficiencia na fatoracao LU incompleta sao propostas

alternativas que permitem nıveis de preenchimento. Assim a fatoracao ILU(p) permite

um nıvel p de preenchimento [17]. Esse nıvel de preenchimento da fatoracao ILU(p) e

baseada na estrutura da matriz, sendo preservada essa estrutura com uma especie de

tolerancia.

Outra forma de se controlar o preenchimento esta na tecnica conhecida por threshold

na fatoracao chamada ILU(t). Nesse caso a tolerancia ao preenchimento passara a ser

determinada pela magnitude dos elementos na Elimininacao Gaussiana e nao mais em

sua posicao na estrutura. Desse modo o conjunto P passa a ser definido dinamicamente.

Para um maior aprofundamento no tema, o leitor deve se remeter ao livro [17],

especialmente a secao 10.3.

Page 45: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Capıtulo 6

Testes Numericos

Neste capıtulo fazemos um resumo dos testes realizados, detalhando os algoritmos

e resultados obtidos.

6.1 Descricao das Estrategias Adaptativas

Propomos duas estrategias de precondicionamento hıbridas que mudam o precondi-

cionador de acordo com as bandeiras (flags) do GMRES(m). Assim, a cada vez que o

metodo de Newton Inexato solicita a resolucao do sistema linear (1.2), nosso algoritmo

determina se mantem o precondicionador utilizado no passo anterior do Newton Ine-

xato, ou se faz uma mudanca, uma vez que o precondicionador utilizado tenha falhado.

A primeira estrategia apresentada utiliza apenas a bandeira que indica o condiciona-

mento do precondicionador. Caso o numero de condicao seja considerado infinito pelo

GMRES(m), o que implica em um precondicionador singular, o algoritmo muda o pre-

condicionador, o qual sera mantido ate o fim do processo, desde que ele tambem nao

seja singular.

34

Page 46: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

6.1 Descricao das Estrategias Adaptativas 35

Figura 6.1: Fluxograma da primeira estrategia de mudanca de precondicionadores

Na segunda estrategia, podemos ter a mudanca de precondicionador entre as ite-

racoes do Newton Inexato em duas situacoes: com relacao ao condicionamento do

precondicionador, e em relacao ao caso de estagnacao do GMRES(m). O primeiro caso

e identico a primeira estrategia, e o segundo ocorre quando duas iteracoes seguidas

do GMRES(m) apresentam mesma solucao, indicando que os subespacos de Krylov

correspondentes sao quase linearmente dependentes.

Page 47: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

6.2 Procedimento 36

Figura 6.2: Fluxograma da segunda estrategia de mudanca de precondicionadores

6.2 Procedimento

Na secao 6.1 propomos duas estrategias que permitem ao algoritmo NI-GMRES

precondicionado trocar de precondicionador diante de mal funcionamento do GMRES.

A fim de analisar o desempenho dessas estrategias frente ao uso do NI-GMRES com

precondicionadores fixos, foi implementado um algoritmo para solucionar os problemas

descritos na subsecao 6.2.1. Foram testados o NI-GMRES sem uso de precondicionador

e com uso de um precondicionador fixo, alem das duas estrategias hıbridas.

Para todos os testes foram utilizados os mesmos parametros do NI-GMRES, a saber:

• dimensao das matrizes Jacobianas 200× 200 ;

Page 48: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

6.2 Procedimento 37

• precisao para a solucao do GMRES dada pelo termo forcante ηk da primeira

escolha de [8] ;

• numero maximo de iteracoes em cada ciclo do GMRES = 50.

Para os precondicionadores fixos foram selecionados Jacobi (secao 5.1), SSOR (secao

5.2) e ILU (secao 5.3).

No caso das duas estrategias hıbridas foram testadas as 6 permutacoes para o orde-

namento dos precondicionadores, de maneira a pre-estabelecer a sucessao em caso de

acionamento. A tabela seguinte ilustra essas permutacoes:

Permutac~ao Descric~ao

1 Jacobi-ILU-SSOR

2 Jacobi-SSOR-ILU

3 ILU-Jacobi-SSOR

4 ILU-SSOR-Jacobi

5 SSOR-ILU-Jacobi

6 SSOR-Jacobi-ILU

Para fazer as comparacoes foram tomados como parametros:

• Iteracoes internas, ou seja, as iteracoes dentro do GMRES(m)

• Iteracoes externas, ou seja, as iteracoes do metodo de Newton Inexato

6.2.1 Problemas para os testes

Para realizar nossos testes utilizamos como base os problemas de [13] e tambem os

problemas do capıtulo 4 de [14]. A seguir descrevemos a numeracao utilizada para os

problemas nesse trabalho e as respectivas referencias com relacao as fontes citadas. Os

primeiros 17 problemas utilizados para os testes foram retirados de [13].

Na sequencia, foram utilizados os problemas retirados do capıtulo 4 de [14].

Page 49: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

6.3 Resultados numericos 38

Problema Referencia Tıtulo do problema

1 1 de [13] Countercurrent reactors problem 1 (modified)

2 2 de [13] Extended Powell badly scaled function

3 3 de [13] Trigonometric system

4 4 de [13] Trigonometric - exponential system 1

5 5 de [13] Trigonometric - exponential system 2

6 6 de [13] Singular Broyden problem

7 7 de [13] Tridiagonal system

8 8 de [13] Five - diagonal system

9 9 de [13] Seven - diagonal system

10 10 de [13] Structured Jacobian problem

11 11 de [13] Extended Rosenbrock function

12 12 de [13] Extended Powell singular problem

13 13 de [13] Extended Cragg and Levy problem

14 14 de [13] Broyden tridiagonal

15 15 de [13] Generalized Broyden banded problem

16 16 de [13] Discrete boundary-value problem

17 17 de [13] Broyden tridiagonal problem

18 4.2 de [14] Countercurrent reactors problem 2 (modified)

19 4.11 de [14] Extended Freudenstein and Roth function

20 4.17 de [14] Extended Wood problem

21 4.18 de [14] Tridiagonal exponential problem

22 4.19 de [14] Discrete boundary value problem

23 4.20 de [14] Brent problem

24 4.21 de [14] Troesch problem

6.3 Resultados numericos

A fim de melhor analisar os resultados obtidos durante os testes iremos separar nos-

sas analises em duas subsecoes. Em um primeiro momento iremos comparar os metodos

que utilizaram Precondicionadores fixos durante as iteracoes do Newton Inexato, com

o metodo NI-GMRES sem precondicionamento. Essa analise utilizara uma ferramenta

chamada de perfil de desempenho ou Perfomance Profile [7], que permite comparar

diversos metodos dentro de um conjunto de problemas, por meio de metricas como o

numero de iteracoes (internas e externas) e o numero de avaliacoes de funcao. Na pro-

xima subsecao descrevemos abreviadamente essa ferramenta de perfil de desempenho.

Page 50: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

6.3 Resultados numericos 39

O leitor pode encontrar mais detalhes no artigo original [7].

A segunda analise sera feita para comparar as duas estrategias propostas, com os

algoritmos com precondicionadores fixos e sem precondicionador. Para tanto selecio-

namos apenas os problemas que utilizaram a mudanca de precondicionador, uma vez

que os problemas que nao mudaram de precondicionador funcionaram na pratica como

algoritmos de precondicionador fixo.

6.3.1 Perfil de Desempenho

Quando temos uma variedade de problemas para os quais queremos analisar o de-

sempenho de algumas tecnicas de resolucao (solvers) um dos grandes desafios esta na

escolha de ferramentas que possam auxiliar na comparacao entre as tecnicas de maneira

correta e de facil visualizacao.

Uma ferramenta para este fim deve levar em consideracao alguns fatores associados

a esse tipo de analise como a facilidade e objetividade da interpretacao, pois o uso de

tabelas por exemplo para uma grande quantidade de problemas pode dificultar bastante

a analise dos dados. Outro ponto que pode induzir a interpretacoes equivocadas e o

uso de valores medios de determinados parametros para cada metodo, o que pode

transferir o peso da comparacao para apenas alguns problemas que se destacaram

nesse parametro. Isso pode ocorrer por exemplo quando comparamos o tempo de

resolucao dos problemas, em um conjunto em que apenas alguns deles possuem solucoes

extremamente lentas comparadas aos outros. Desse modo a influencia desses problemas

na metrica induzira a uma analise diferente da realidade.

Em nosso trabalho iremos utilizar a ferramenta proposta por Dolan e More em

[7]. Essa ferramenta proporciona a construcao de metricas que permitem tracar perfis

de desempenhos nos quais cada algoritmo e representado por um perfil, e a analise

comparativa pode ser feito de maneira visual.

Seja um conjunto de P com np problemas para os quais aplicaremos ns soluciona-

dores. Devemos ter alguma variavel t para a qual desejamos comparar o desempenho

dos metodos. Tipicamente o tempo de CPU, o numero de iteracoes e o numero de

avaliacoes de funcao podem ser utilizadas como medidas de desempenho de metodos

computacionais. Sendo assim:

tp,s = medida do desempenho do metodo s na solucao do problema p (6.1)

A fim de normalizar a metrica utiliza-se a razao de desempenho definida como a

razao entre a medida de desempenho do algoritmo no problema p dividido pelo valor

Page 51: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

6.3 Resultados numericos 40

do desempenho do melhor algoritmo para o mesmo problema:

ρp,s =tp,s

min{tp,s : 1 ≤ s ≤ ns}(6.2)

Para penalizar os metodos que nao convergiram para algum problema deve-se es-

colher ρM ≥ ρp,s para todos os problemas solucionados por todos os metodos. Entao,

define-se ρp,s = ρM se e somente se um metodo s nao converge para um problema p.

Finalmente define-se uma medida global para o desempenho de cada metodo s no

conjunto de problemas P:

ps(τ) =1

nssize{p ∈ P : ρp,s ≤ τ} (6.3)

A medida ps e entao a probabilidade que uma razao de desempenho ρp,s esta a

um fator τ da melhor razao para o problema p. A funcao ps e, portanto, a funcao de

distribuicao (acumulada) da razao de desempenhos.

Assim, o perfil de desempenho ps : R 7→ [0, 1] e uma funcao nao decrescente,

constante por partes e contınua pela direita em cada salto. O valor de ps(1) que o

metodos s seja o melhor dentre todos. Nesse caso dizemos que o metodo cujo valor

de ps(1) for maior e o mais eficiente dentre os metodos para o banco de problemas

testados.

Quando queremos analisar o metodo mais robusto devemos verificar aquele que

atinge ps(τ) = 1 para valores de τ < ρM . Graficamente o metodo mais robusto e

aquele cuja curva do perfil de desempenho fica acima dos outros.

6.3.2 Resultados com Precondicionadores Fixos (Jacobi, ILU

e SSOR)

Apresentamos o resultado dos testes para os 17 problemas para os quais pelo menos

um dos metodos convergiu, excluindo assim de nossa analise os problemas (2, 3, 12, 13,

18, 19, e 23), por terem divergido com todos os solvers com ou sem precondicionadores.

Sendo assim, os graficos que seguem se referem aos problemas (1, 4, 5, 6, 7, 8, 9, 10,

11, 14, 15, 16, 17, 20, 21, 22 e 24).

Dentro desses 17 problemas o algoritmo de Newton Inexato sem precondicionador foi

o unico que convergiu para todos, sendo portanto o mais robusto nesse conjunto. Como

vimos na subsecao 6.3.1, e preciso definir uma penalizacao aos outros metodos que nao

convergiram em determinados problemas, de maneira que eles sejam classificados como

piores metodos para os problemas em que ocorreu essa divergencia. Essa penalizacao

Page 52: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

6.3 Resultados numericos 41

pode ser especıfica para cada problema ou pode ser usada uma penalizacao geral.

Escolhemos utilizar uma mesma penalizacao para todos os problemas, modificando

apenas quanto as variaveis analisadas (iteracoes externas e internas e avaliacoes de

funcao).

Problema Jacobi ILU SSOR

1 DIVERGIU DIVERGIU

4 DIVERGIU DIVERGIU

5 DIVERGIU DIVERGIU DIVERGIU

6 DIVERGIU

7

8 DIVERGIU

9

10

11 DIVERGIU DIVERGIU

14

15

16

17 DIVERGIU

20 DIVERGIU

21

22

24

Tabela 6.1: Convergencia dos problemas com uso de precondicionadores fixos

Para escolher o valor para penalizacao e importante levar em conta a maxima razao

entre as metricas dos solvers dentre os problemas onde houve convergencia para todos

os metodos. Isso porque esse valor deve ser tal que apos aplicado resulte em razoes

sempre maiores que a referida.

Sendo assim escolhemos como valores de penalizacao para os perfis de desempenho:

• 1000 para o numero de iteracoes externas

• 1000000 para o numero de iteracoes internas

Com relacao a eficiencia dos metodos, percebemos que nos problemas para os quais

convergiu o metodo precondicionado com SSOR teve o melhor desempenho. Para

ilustrar essa comparacao em termos de eficiencia, tracamos o perfil de desempenho dos

metodos na resolucao dos problemas para os quais o metodo com precondicionador

SSOR convergiu. Da tabela anterior temos os seguintes problemas: 6, 7, 8, 9, 10, 14,

15, 16, 17, 20, 21, 22 e 24.

Page 53: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

6.3 Resultados numericos 42

Figura 6.3: Perfil de desempenho das iteracoes externas, precondicionadores fixos, 13 pro-

blemas

Figura 6.4: Perfil de desempenho das iteracoes internas, precondicionadores fixos, 13 pro-

blemas

A partir das figuras 6.3 e 6.4 percebemos que o algoritmo precondicionado com

SSOR foi o mais eficiente uma vez que ele toca o eixo vertical acima de todos.

Page 54: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

6.3 Resultados numericos 43

6.3.3 Resultados com as estrategias adaptativas 1 e 2

Para analisar as duas estrategias apresentadas na secao 6.1, fizemos os testes para

os mesmos 17 problemas do teste com precondicionadores fixos. Sendo que, como

esperado, a estrategia de troca so foi acionada em alguns dos problemas uma vez que

o GMRES nao acusou nenhuma das bandeiras para os outros problemas. Nesses casos

em que nao houve troca de precondicionadores, o metodo transcorre identicamente ao

de precondicionador fixo, de maneira que o numero de iteracoes internas e externas sao

os mesmos nestes problemas.

Vamos analisar entao os casos em que houve troca de precondicionadores. Como

descrito na secao 6.2, foram utilizadas 6 permutacoes dos 3 precondicionadores, deter-

minando assim a ordem com que foram utilizados nas trocas.

• As permutacoes que iniciaram com o precondicionador ILU trocaram de precon-

dicionador nos problemas 1 e 6 com a primeira estrategia e nos problemas 1,6 e

8. Todos esses problemas divergiram quando utilizado o precondicionador fixo

ILU, porem mesmo com as trocas eles continuaram divergindo.

Problema ILU Fixo Estrategia 1 com ILU Estrategia 2 com ILU

1 Diverge Aciona Diverge Aciona Diverge

6 Diverge Nao aciona Diverge Aciona Diverge

8 Diverge Aciona Diverge Aciona Diverge

• Ja no caso das permutacoes iniciadas com o precondicionador Jacobi foram acio-

nadas trocas nos problemas 4,5 e 11 nas duas estrategias. Esses 3 problemas sao

os unicos que nao convergiram quando utilizado o precondicionador Jacobi fixo.

Para os problemas 4 e 11 a troca de precondicionadores proporcionou a conver-

gencia. No caso do problema 5, apesar das trocas ele nao convergiu, o que era de

se esperar haja vista que ele nao covergiu com nenhum dos precondicionadores

isolados.

Problema Jacobi Fixo Estrategia 1 com Jacobi Estrategia 2 com Jacobi

4 Diverge Aciona Converge Aciona Converge

5 Diverge Aciona Diverge Aciona Diverge

11 Diverge Aciona Converge Aciona Converge

Page 55: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

6.3 Resultados numericos 44

• Finalmente, as permutacoes iniciadas com o precondicionador SSOR acionaram

trocas nos mesmos problemas que o Jacobi, com excecao da segunda estrategia

que alem desses acionou troca no problema 1. Tambem de maneira analoga, as

trocas levaram a convergencia nos problemas 4 e 11. Vale ressaltar que nesses

dois problemas o unico precondicionador com o qual o metodo convergiu no caso

fixo foi o ILU. Alem disso, o problema 5 continuou sem convergir apesar das

trocas. Por ultimo o problema 1 convergiu quando o primeiro acionamento da

segunda estrategia trocou o SSOR pelo Jacobi. Sendo assim, a segunda estrategia

utilizada com o ordenamento de precondicionadores SSOR-Jacobi-ILU divergiu

apenas para o problema 5.

Problema SSOR Fixo Estrategia 1 com SSOR Estrategia 2 com SSOR

1 Diverge Nao aciona Diverge Aciona Converge

4 Diverge Aciona Converge Aciona Converge

5 Diverge Aciona Diverge Aciona Diverge

11 Diverge Aciona Converge Aciona Converge

Tomando o conjunto de problemas, tracamos agora uma tabela comparativa sobre

a convergencia dos metodos com precondicionadores fixos e com as duas estrategias

iniciadas com SSOR (precondicionador fixo mais eficiente, no conjunto de problemas).

Por meio da comparacao entre as colunas da tabela podemos perceber o ganho em

utilizar as estrategias de mudancas de precondicionadores, uma vez que houve uma

diminuicao do numero de vezes em que os problemas divergiram, passando a divergir

apenas no problema 5.

Page 56: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

6.3 Resultados numericos 45

Problema Jacobi ILU SSOR Estrategia 1 Estrategia 2

1 DIVERGIU DIVERGIU DIVERGIU

4 DIVERGIU DIVERGIU

5 DIVERGIU DIVERGIU DIVERGIU DIVERGIU DIVERGIU

6 DIVERGIU

7

8 DIVERGIU

9

10

11 DIVERGIU DIVERGIU

14

15

16

17 DIVERGIU

20 DIVERGIU

21

22

24

Tabela 6.2: Convergencia dos problemas com uso das estrategias de mudanca de pre-condicionadores

Nas figuras seguintes tracamos o perfil de desempenho [7], a fim de comparar o

numero de iteracoes internas e externas dos metodos com precondicionadores fixos

e das estrategias. Para tanto selecionamos a permutacao nas duas estrategias que

iniciaram com o SSOR. Alem disso retiramos o problema 5 para o qual nenhum metodo

precondicionado convergiu.

A partir das figuras 6.5 e 6.6, podemos perceber que as duas estrategias foram

melhores que os precondicionadores fixos, e que a segunda estrategia foi melhor que a

primeira nesse conjunto de problemas.

Page 57: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

6.3 Resultados numericos 46

Figura 6.5: Perfil de desempenho das iteracoes internas, precondicionadores fixos e duas

estrategias

Figura 6.6: Perfil de desempenho das iteracoes externas, precondicionadores fixos e duas

estrategias

Page 58: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Capıtulo 7

Conclusoes

Estudamos o precondicionamento pela esquerda no metodo de Newton Inexato -

GMRES(m).

Vimos no capıtulo 5 que ha uma grande diversidade de precondicionadores dispo-

nıveis na literatura e propomos duas estrategias que alternam os precondicionadores

dentro do metodo de Newton Inexato de acordo com informacoes do GMRES, como

descrito na secao 6.1. Desse modo, se um precondicionador inicialmente escolhido nao

apresentar o comportamento desejado, poderemos troca-lo por outro antes de iniciar

uma nova iteracao no metodo de Newton Inexato.

A fim de testarmos estas estrategias, utilizamos tres precondicionadores: Jacobi,

ILU e SSOR. Para comparar o uso das estrategias propostas com o uso desses pre-

condicionadores fixos ao longo de todo o metodo de Newton Inexato, testamos nossas

estrategias na resolucao dos problemas descritos na subsecao 6.2.1, retirados de Luk-

san [13], [14] por meio do metodo de Newton Inexato-GMRES precondicionado. Os

resultados obtidos foram analisados por meio de uma ferramenta que traca perfis de

desempenho [7], e permite uma comparacao direta entre varios metodos na resolucao

de uma serie de problemas, conforme descrito na secao

Desse modo, apresentamos as seguintes constatacoes:

• Para o conjunto de problemas testado percebeu-se que o metodo do NI-GMRES

sem precondicionadores e mais robusto, resolvendo mais problemas que os outros.

Apesar disso o metodo precondicionado pelo SSOR foi mais eficiente, resolvendo

mais problemas com um numero menor de iteracoes internas e externas.

• Comparando o resultado dos precondicionadores fixos e das duas estrategias per-

cebemos um ganho, pois alguns problemas que nao convergiam com precondicio-

nadores fixos obtiverem convergencia ao acionar uma troca de precondicionadores,

47

Page 59: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

7.1 Perspectivas futuras 48

tornando assim os metodos mais robustos. Alem disso, as estrategias de alteracao

no precondicionamento sao extremamente simples, de modo a nao influenciar no

custo computacional. Por outro lado, se o precondicionador nao foi trocado, o

metodo funcionara como um metodo de precondicionador fixo.

• Verificamos especialmente que o metodo da segunda estrategia possibilitou que,

iniciando com o SSOR, seguido de Jacobi e ILU, obtivessemos o melhor resultado

para os metodos precondicionados, sendo que esse metodo nao convergiu em

apenas um dos problemas (5) e se mostrou o mais eficiente dos metodos testados.

7.1 Perspectivas futuras

Como vimos nas subsecoes 6.3.2 e 6.3.3, apesar do metodo de Newton ter convergido

em todos os problemas testados, o uso de precondicionadores possibilitou uma maior

eficiencia, especialmente quando foi aplicada a estrategia 2 proposta de mudanca de

precondicionadores.

Desse modo se apresentam duas possıveis mudancas para melhor avaliar o desem-

penho das estrategias de troca de precondicionadores: testar as estrategias para outro

banco de problemas e modificar os precondicionadores. Dessa maneira seria possıvel

avaliar melhor a influencia das trocas no desempenho do metodo.

Quanto a troca de precondicionadores acionada pela bandeira de precondicionador

ruim, apesar de aproveitar informacao do proprio algoritmo do GMRES, possui uma

alternativa simples, uma vez que so aciona quando o precondicionador e considerado

singular, cond(A) = inf pela precisao da maquina, de modo que precondicionadores

com numero de condicao elevado podem ser considerados uteis ainda. Uma sugestao

seria implementar um valor limite que implicasse na troca mesmo sem a bandeira do

GMRES.

Page 60: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

Referencias Bibliograficas

[1] Bellavia, S. and Morini, B., A globally convergent Newton-GMRES subspace

method for systems of nonlinear equations, SIAM J. Sci. Comput., Vol. 23, No. 3,

pp. 940–960, 2001.

[2] Benzi, M. Preconditioning techniques for large linear systems: a survey, Journal

of Computational Physics, Vol. 182, No. 2, pp. 418–477, 2002.

[3] Brown, P. N. and Saad, Y., Hybrid Krylov methods for nonlinear systems of equa-

tions, SIAM J. Sci. Stat. Comput., Vol. 11, No. 3, pp. 450–481, 1990.

[4] Cesari, L. Sulla risoluzione dei sistemi di equazioni lineari per approssimazioni

successive, Atti dell’Accademia Nazionale dei Lincei, Vol. 25, pp. 422–428, 1937.

[5] Dembo, R. S., Eisenstat, S. C. and Steihaug, T., Inexact Newton methods, SIAM

J. Numer. Anal., Vol. 19, No. 2, pp. 401-408, 1982.

[6] Dennis, Jr., J. E. and Schnabel, R. B., Numerical Methods for Unconstrained

Optimization and Nonlinear Equations, SIAM Classics in Applied Mathematics,

1996.

[7] Dolan, E. D. and More, J. J., Benchmarking optimization software with perfor-

mance profiles, Math. Programming Ser. A 91, pp. 201–213, 2002.

[8] Eisenstat, S. C. and Walker, H. F. Choosing the Forcing Terms in an Inexact

Newton Method, SIAM J. Sci. Comput., Vol. 17, No. 1, pp. 16–32, 1996.

[9] Evans, D. J. The use of pre-conditioning in iterative methods for solving linear

systems with symmetric positive definite matrices, Journal of the Institute of the

Mathematics and Its Applications, Vol. 4, pp. 295–314, 1968.

[10] Ferronato, M. Preconditioning for Sparse Linear Systems at the Dawn of the 21st

Century: History, Current Developments, and Future Perspectives, Review Arti-

cle, International Scholarly Research Network Applied Mathematics, 2012.

49

Page 61: NI-GMRES Precondicionado · 2017. 11. 2. · Elvis N eris de Medeiros NI-GMRES Precondicionado Natal, 2014. Dedicatoria Aos meus pais, Damiao e Elzamar, meus primeiros e maiores exemplos

50

[11] Gomes-Rugiero, M. and A., Rocha Lopes, V. L. and Toledo-Benavides, J. V. A sa-

feguard approach to detect stagnation of GMRES(m) with applications in Newton-

Krylov methods, Comput. Appl. Math., Vol. 27, No. 2, pp. 175–199, 2008.

[12] Kelley, C. T., Iterative methods for linear and nonlinear equations, SIAM, 1995.

[13] Luksan, L., Inexact trust region method for large sparse systems of nonlinear equa-

tions, Journal of Optimization Theory and Applications, Vol. 81 pp. 569–590, 1994.

[14] Luksan, L. and Jan Vlcek, Sparse and Partially Separable Test Problems for Un-

constrained and Equality Constrained Optimization, Technical report No. 767 Ins-

titute of computer Science, Academy of sciences of the Czech Republic, 1999.

[15] Paige, C. C. and Saunders, M. A. Solution of sparse indefinite systems of linear

equations, SIAM J. Numer. Anal., 12, pp. 617–624, 1975.

[16] Saad, Y. and Schultz, M. H. GMRES: A generalized minimal residual algorithm

for solving nonsymmetric linear systems, SIAM J. Sci. Stat. Comput., Vol. 7, No.

3, pp. 856–869, 1986.

[17] Saad, Y., Iterative Methods for Sparse Linear Sistems, SIAM, 2003.

[18] Toledo-Benavides, J. V. Um metodo Newton-GMRES globalmente convergente com

uma nova escolha para o termo forcante e algumas estrategias para melhorar o de-

sempenho de GMRES(m), 96p. Tese (Doutorado em Matematica Aplicada), Insti-

tuto de Matematica, Estatistica e Computacao Cientifica, Universidade Estadual

de Campinas, Campinas, 2005.