• Nenhum resultado encontrado

NI-GMRES Precondicionado

N/A
N/A
Protected

Academic year: 2021

Share "NI-GMRES Precondicionado"

Copied!
61
0
0

Texto

(1)

Universidade Federal do Rio Grande do Norte

Centro de Ciˆ

encias Exatas e da Terra

Programa de P´

os-Gradua¸c˜

ao em Matem´

atica Aplicada e Estat´ıstica

Elvis N´

eris de Medeiros

NI-GMRES Precondicionado

(2)
(3)
(4)

Dedicat´

oria

Aos meus pais, Dami˜ao e Elzamar, meus primeiros e maiores exemplos. Ao meu irm˜ao e amigo, Douglas.

`

A minha esposa amada, Myrelianny que me apoiou em todas as decis˜oes e caminhos.

(5)

Agradecimentos

Agrade¸co a Deus, o Sumo Bem do qual prov´em todas as coisas. Sem Ele n˜ao teria chegado at´e aqui.

Agrade¸co aos meus pais, Dami˜ao e Elzamar, que me ensinaram valores e princ´ıpios e me motivaram a continuar sempre buscando aprender com seus exemplos de vida. Meus pais n˜ao tiveram oportunidade de frequentar universidades. Mas, mesmo tendo o direito `a educa¸c˜ao superior negado, eles se esfor¸caram para que eu pudesse desafiar todas as estat´ısticas e chegar at´e aqui.

Agrade¸co 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.

Agrade¸co tamb´em ao meu irm˜ao, Douglas, que muito me ajudou como amigo, conselheiro e exemplo durante toda minha forma¸c˜ao.

Agrade¸co ao meu amigo e companheiro de lutas, Hudson, o qual sempre me ajudou a crescer, pois quando temos pessoas extraordin´arias com as quais nos espelhar, podemos alcan¸car metas mais elevadas.

Agrade¸co aos meus amigos e irm˜aos da Juventude Franciscana e da Ordem Fran-ciscana Secular que formam minha segunda fam´ılia, pois em cada um deles encontrei inspira¸c˜ao para prosseguir minha miss˜ao e tamb´em abra¸cos para animar a caminhada. Agrade¸co especialmente `a minha orientadora, J´ulia, 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 Inicia¸c˜ao Cient´ıfica na gradua¸c˜ao) em sua companhia. Aprendi bastante, tanto em conceitos de matem´atica aplicada, quanto profissionalmente e at´e mesmo como pessoa.

(6)

”N˜ao perca de vista seu ponto de partida!”

(7)

Resumo

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

F : Rn → Rn. Para solucion´a-lo empregamos o m´etodo 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 m´etodo do Res´ıduo

M´ı-nimo Generalizado ou GMRES, que pertence `a fam´ılia dos m´etodos de proje¸c˜ao em subespa¸cos de Krylov. A fim de evitar o acr´escimo no custo computacional devido ao aumento a cada itera¸c˜ao na dimens˜ao do subespa¸co de Krylov, utilizamos o GM-RES com recome¸cos ou GMGM-RES(m), o qual pode apresentar problemas de estagna¸c˜ao (duas solu¸c˜oes consecutivas iguais ou quase iguais). Uma das maneiras de contornar essa estagna¸c˜ao est´a 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 resolu¸c˜ao 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 m´etodo do Newton Inexato - GMRES(m). Apresentamos tamb´em uma estrat´egia que permite a mudan¸ca entre 3 precondicionadores (Jacobi, ILU e SSOR) dependendo de informa¸c˜oes advindas da aplica¸c˜ao do GMRES(m) a cada itera¸c˜ao do Newton Inexato, ou seja, a cada vez que se resolve o sistema linearizado precondicionado. Assim fazemos ao fi-nal uma compara¸c˜ao entre nossas estrat´egias e o uso de precondicionadores fixos na resolu¸c˜ao dos problemas de Luksan [13], [14] por meio do NI-GMRES.

Palavras-chave: Sistemas n˜ao-lineares, Sistemas lineares, Subespa¸cos de Krylov, GMRES, Precondicionamento

(8)

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

(9)

Sum´

ario

0 Introdu¸c˜ao 1

0.1 Objetivos . . . 3

0.2 Descri¸c˜ao dos cap´ıtulos . . . 3

1 M´etodo de Newton Inexato 5 1.1 M´etodo de Newton . . . 5

1.2 Convergˆencia . . . 7

1.2.1 Convergˆencia do M´etodo de Newton . . . 8

1.2.2 Convergˆencia do M´etodo de Newton Inexato . . . 8

2 Sistemas Lineares 9 2.1 M´etodos Diretos . . . 9 2.2 M´etodos Iterativos . . . 10 2.3 M´etodos de proje¸c˜ao . . . 11 2.3.1 M´etodo de Arnoldi . . . 12 3 Precondicionamento 14 3.1 N´umero de Condi¸c˜ao . . . 14 3.1.1 Norma de matrizes . . . 14

3.1.2 N´umero de condi¸c˜ao de matrizes . . . 15

3.2 Precondicionamento de Sistemas Lineares . . . 16

4 GMRES 18 4.1 Introdu¸c˜ao . . . 18 4.2 Implementa¸c˜ao . . . 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

(10)

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 estrat´egias de threshold . . . 33

6 Testes Num´ericos 34 6.1 Descri¸c˜ao das Estrat´egias Adaptativas . . . 34

6.2 Procedimento . . . 36

6.2.1 Problemas para os testes . . . 37

6.3 Resultados num´ericos . . . 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 estrat´egias adaptativas 1 e 2 . . . 43

7 Conclus˜oes 47 7.1 Perspectivas futuras . . . 48

(11)

Lista de Figuras

2.1 Proje¸c˜ao obl´ıqua (QKLx) e proje¸c˜ao ortogonal (PKx) . . . 12

2.2 Sistema resultante do M´etodo de Arnoldi . . . 13 5.1 Decomposi¸c˜ao da matriz A . . . 29 6.1 Fluxograma da primeira estrat´egia de mudan¸ca de precondicionadores . . . 35 6.2 Fluxograma da segunda estrat´egia de mudan¸ca de precondicionadores. . . . 36 6.3 Perfil de desempenho das itera¸c˜oes externas, precondicionadores fixos, 13

pro-blemas . . . 42 6.4 Perfil de desempenho das itera¸c˜oes internas, precondicionadores fixos, 13

pro-blemas . . . 42 6.5 Perfil de desempenho das itera¸c˜oes internas, precondicionadores fixos e duas

estrat´egias . . . 46 6.6 Perfil de desempenho das itera¸c˜oes externas, precondicionadores fixos e duas

estrat´egias . . . 46

(12)

Cap´ıtulo 0

Introdu¸

ao

O m´etodo de Newton Inexato para resolu¸c˜ao do sistema n˜ao linear,

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

consiste em construir a sequˆencia de solu¸c˜oes aproximadas sk, do sistema linearizado:

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

onde xk ´e uma aproxima¸c˜ao para a solu¸c˜ao na itera¸c˜ao k e J (xk) ´e a matriz Jacobiana

(ou matriz das derivadas parciais) da fun¸c˜ao F no ponto xk. Essas solu¸c˜oes aproximadas

devem atender ao crit´erio de parada:

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

onde ηk ´e chamado de termo for¸cante e controla o n´ıvel de precis˜ao para o c´alculo da

solu¸c˜ao aproximada. Com isso obtemos a sequˆencia de aproxima¸c˜oes para a solu¸c˜ao do sistema n˜ao linear inicial F (x) = 0, de modo que xk+1 = xk+sk. A solu¸c˜ao aproximada

do sistema linearizado pode ser obtida pelo m´etodo do GMRES, sendo ent˜ao chamado o m´etodo de Newton Inexato - GMRES, ou NI-GMRES. O m´etodo do GMRES consiste em encontrar uma solu¸c˜ao que minimize o res´ıduo do sistema no subespa¸co de Krylov correspondente.

Km(A, v) ≡ spanv, Av, A2v, . . . , Am−1v , (4)

onde a dimens˜ao m do subespa¸co de Krilov corresponde `a m-´esima itera¸c˜ao interna do GMRES. Nesse caso temos que A = J (xk) e v = −F (xk). Assim, no m´etodo

NI-GMRES, em cada passo do algoritmo de Newton Inexato se utiliza o m´etodo do GMRES para encontrar a solu¸c˜ao aproximada do sistema linearizado. A cada passo

(13)

2

dentro do GMRES acrescentamos um vetor na base do subespa¸co de Krylov correspon-dente, aumentando assim sua dimens˜ao.

Quando aplicamos o GMRES a sistemas de grande porte podemos ter um aumento consider´avel no custo computacional, devido ao aumento progressivo na dimens˜ao do subespa¸co de Krylov no qual buscamos a solu¸c˜ao que minimiza o res´ıduo. Ent˜ao, mesmo sabendo que o GMRES converge em at´e n passos, sendo n a dimens˜ao do problema [16], podemos fixar um valor m´aximo de itera¸c˜oes m para cada ciclo do GMRES. Desta maneira, ao atingir esse valor m, recome¸camos o GMRES, aproveitando o ´ultimo res´ıduo encontrado rm, que dar´a origem ao novo subespa¸co de Krylov, e a ´ultima solu¸c˜ao

aproximada sm, que passar´a a ser o chute inicial para o novo ciclo. Essa modifica¸c˜ao

no algoritmo ´e conhecida como GMRES(m) ou GMRES com recome¸co (restart). Como no GMRES(m) o ciclo ´e interrompido a cada m itera¸c˜oes, os teoremas de con-vergˆencia s˜ao modificados e temos a presen¸ca de um fenˆomeno chamado de estagna¸c˜ao [17]. A estagna¸c˜ao ocorre quando o incremento no n´umero de itera¸c˜oes n˜ao resulta em diminui¸c˜ao no res´ıduo, ou seja, n˜ao h´a melhoramento na solu¸c˜ao aproximada do sistema. A fim de diminuir esse efeito de estagna¸c˜ao, bem como melhorar propriedades de resolu¸c˜ao, se utilizam precondicionadores no sistema linear, gerando o m´etodo 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 f´acil de ser resolvido. Essa matriz tamb´em 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 influˆencia con-sider´avel na resolu¸c˜ao de sistemas lineares, especialmente em m´etodos de proje¸c˜ao em subespa¸cos de Krylov. Nesse trabalho iremos estudar o algoritmo do NI-GMRES pre-condicionado por trˆes precondicionadores diferentes: Jacobi, SSOR e Fatora¸c˜ao LU incompleta. Fizemos essa escolha para um estudo inicial levando em conta a simplici-dade de constru¸c˜ao das matrizes precondicionadoras e de suas inversas, como veremos nas se¸c˜oes 5.1, 5.2 e 5.3.

Quando testamos o m´etodo do NI-GMRES precondicionado pela esquerda por es-ses trˆes precondicionadores nos problemas descritos no cap´ıtulo 6, percebemos que em alguns casos a escolha do precondicionador determinava a convergˆencia do problema. Propomos ent˜ao duas estrat´egias que mudam o precondicionador quando, ap´os uma itera¸c˜ao do Newton Inexato, o GMRES tenha relatado algum problema (bandeiras). Com base nessas bandeiras de n´umero de condi¸c˜ao elevado da matriz M , ou de

(14)

estagna-0.1 Objetivos 3

¸c˜ao do GMRES(m), trocamos o precondicionador a fim de contornar esses problemas. Desse modo, esse trabalho apresenta um estudo do m´etodo NI-GMRES(m) precondi-cionado, bem como faz uma compara¸c˜ao entre o uso de precondicionadores fixos e as estrat´egias que mudam de precondicionador de acordo com as bandeiras advindas do pr´oprio GMRES, em uma s´erie de problemas encontrados em [13] e [14]. Para fazer tal compara¸c˜ao utilizamos, al´em de tabelas demonstrativas, uma ferramenta que tra¸ca perfis de desempenho [7] para cada algoritmo proposto e os compara todos em um ´

unico gr´afico.

0.1

Objetivos

O objetivo principal deste trabalho ´e estudar o uso de precondicionadores `a es-querda no m´etodo de Newton Inexato - GMRES(m). Al´em disso propomos o uso de duas estrat´egias que permitem a mudan¸ca de precondicionadores baseada em in-forma¸c˜oes advindas do GMRES(m) como a estagna¸c˜ao e a quase singularidade das matrizes precondicionadas. Assim, queremos comparar as duas estrat´egias propostas com os m´etodos que usam precondicionadores fixos em um m´etodo de Newton Inexato - GMRES(m) na resolu¸c˜ao dos problemas de Luksan [13], [14].

0.2

Descri¸

ao dos cap´ıtulos

A disserta¸c˜ao est´a dividida em 7 cap´ıtulos organizados do seguinte modo:

Cap´ıtulo 1 - M´etodo de Newton Inexato, onde fazemos uma breve introdu¸c˜ao ao m´etodo, indicando a principal diferen¸ca para o m´etodo de Newton, e apresentamos a escolha do termo for¸cante η utilizada nos testes, bem como um esbo¸co do algoritmo de Newton Inexato para resolver o sistema F (X) = 0. Por fim, apresentamos as hip´oteses necess´arias `a convergˆencia e tamb´em as ordens de convergˆencias dos m´etodos de Newton e Newton Inexato.

Cap´ıtulo 2 - Sistemas Lineares, no qual comentamos generalidades acerca dos m´ e-todos de resolu¸c˜ao dos sistemas lineares, dando um enfoque especial aos m´etodos de proje¸c˜ao.

Cap´ıtulo 3 - Precondicionamento, onde abordamos o tema de precondicionamento de sistemas lineares na melhoria da resolu¸c˜ao desses problemas.

Cap´ıtulo 4 - GMRES, em que estudamos o m´etodo do GMRES simples e com reco-me¸cos (GMRES(m)), al´em de apresentarmos alguns coment´arios sobre a convergˆencia e aspectos relacionados ao precondicionamento do GMRES.

(15)

0.2 Descri¸c˜ao dos cap´ıtulos 4

Cap´ıtulo 5 - Precondicionadores, no qual fazemos um resumo do estado da arte do uso de precondicionadores e apresentamos os trˆes precondicionadores (Jacobi, SSOR e Fatora¸c˜ao LU incompleta) que foram escolhidos para nossos testes num´ericos.

Cap´ıtulo 6 - Testes Num´ericos, onde descrevemos duas estrat´egias utilizadas no trabalho para trocar os precondicionadores entre as itera¸c˜oes do Newton Inexato, de acordo com informa¸c˜oes (bandeiras) fornecidas pelo GMRES(m), e tamb´em apresen-tamos a metodologia empregada nos testes bem como os resultados obtidos.

Cap´ıtulo 7 - Conclus˜oes, em que fazemos nossas considera¸c˜oes finais e apresentamos as principais conclus˜oes e perspectivas futuras do trabalho.

(16)

Cap´ıtulo 1

etodo de Newton Inexato

1.1

etodo de Newton

Um dos m´etodos 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 m´etodo de Newton. Nele a sequˆencia

{xk} ´e gerada atrav´es de xk+1 = xk+ sk, onde sk ´e a solu¸c˜ao exata do sistema linear

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

e J ´e a matriz Jacobiana de F (supostamente n˜ao singular em x∗, solu¸c˜ao de (1.1).

Apesar de sua grande utiliza¸c˜ao pelo fato de possuir uma taxa de convergˆencia q-quadr´atica [6], esse m´etodo apresenta algumas limita¸c˜oes especialmente em casos onde a dimens˜ao n do problema ´e elevada, o que torna necess´aria a resolu¸c˜ao de um sistema linear de grande porte de maneira exata a cada itera¸c˜ao, implicando em altos custos computacionais. Al´em disso, nem sempre temos bons modelos de aproxima¸c˜ao nos problemas, de maneira que a fun¸c˜ao F (x) pode n˜ao representar fielmente a situa¸c˜ao real que est´a sendo modelada e estaremos investindo em uma solu¸c˜ao exata (extrema-mente custosa) a cada passo, sem necessaria(extrema-mente estarmos traduzindo esse esfor¸co em resultados exatos.

Devido `as limita¸c˜oes de custo computacional do m´etodo de Newton, algumas alter-nativas foram propostas ao longo do tempo a fim de contornar esse problema, tentando manter a principal caracter´ıstica do m´etodo original que ´e a elevada taxa de convergˆ en-cia. Dentre elas destacamos neste trabalho o m´etodo de Newton Inexato proposto por

(17)

1.1 M´etodo de Newton 6

Dembo, Eisenstat e Steihaug em 1982, [5]. Este processo, bem como suas variantes, como Newton-Krylov, [3], Newton–GMRES, [1], vˆem sendo amplamente utilizados h´a mais de duas d´ecadas como uma alternativa ao m´etodo de Newton.

No m´etodo de Newton Inexato, o passo sk ´e uma solu¸c˜ao aproximada do sistema

linear (1.2), obtida de modo a satisfazer o crit´erio de parada, [5]

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

Nesse caso em vez de buscarmos uma solu¸c˜ao exata para o sistema linear, passa-mos a permitir uma tolerˆancia que ser´a controlada pelo fator ηk, chamado de termo

for¸cante. A escolha de um termo for¸cante adequado pode melhorar o desempenho do m´etodo de Newton Inexato, levando em conta que muitas vezes nos interessamos em uma precis˜ao menos exigente no in´ıcio do processo iterativo e mais exigente quando estamos mais pr´oximos de atingir a convergˆencia. Desse modo o termo for¸cante ηk

pode determinar em que momento do processo iterativo ser´a exigida uma maior preci-s˜ao. Utilizamos as duas escolhas propostas por Eisenstat e Walker em [8], com as quais obtivemos resultados similares, sendo que apresentamos em nossos gr´aficos 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 = kF (xk) − F (xk−1) − J (xk−1)sk−1k kF (xk−1)k , k = 1, 2, 3, . . . (1.4) ou ηk = kkF (xk)k − kF (xk−1) + J (xk−1)sk−1kk kF (xk−1)k , k = 1, 2, 3, . . . , (1.5) possibilitando levar em conta a qualidade do modelo local linear encontrado, onde um bom modelo implicar´a numa redu¸c˜ao no valor de ηk.

Chamaremos itera¸c˜oes internas as itera¸c˜oes realizadas para atingir o crit´erio (1.3) quando utilizado algum m´etodo iterativo para obter o passo sk; e itera¸c˜oes externas as

itera¸c˜oes da sequˆencia xk.

Assim o m´etodo de Newton Inexato para solucionar o sistema n˜ao linear (1.1), sendo k o n´umero de itera¸c˜oes externas, pode ser representado no seguinte algoritmo:

Algoritmo 1.1.1. Newton Inexato • Para k = 1, 2, 3, . . .

(18)

1.2 Convergˆencia 7

• Encontre um vetor sk que satisfa¸ca:

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

• Fa¸ca xk+1 = xk+ sk; k = k + 1.

Cada forma de resolu¸c˜ao aproximada do sistema (1.2) gera variantes do m´etodo de Newton Inexato, entre as quais consta a fam´ılia dos m´etodos de subespa¸cos de Krylov [12], [17]. O GMRES ´e um dos m´etodos mais conhecidos desta fam´ılia e, quando usado para resolver (1.2), o m´etodo de Newton Inexato fica denominado por m´etodo Newton Inexato–GMRES (NI-GMRES). No cap´ıtulo 4 iremos estudar o m´etodo GMRES que ser´a utilizado em nossos testes num´ericos no cap´ıtulo 6.

1.2

Convergˆ

encia

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

limk→∞kxk− x∗k = 0 ([6], se¸c˜ao 2.3). Isso implica que existe um valor k0 ∈ N de modo

que para todo k ≥ k0 , kxk+1− x∗k < kxk− x∗k, ou seja, a partir do ´ındice k0, os termos

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

Mas esse tipo de an´alise n˜ao revela qu˜ao r´apido determinada sequˆencia se aproxima de seu limite. Isso quer dizer que precisamos definir outro conceito importante no estudo de convergˆencia de sequˆencias (e consequentemente dos m´etodos que as geram). Esse conceito, chamado de taxa ou ordem de convergˆencia, est´a relacionado tamb´em com a diminui¸c˜ao da distˆancia kxk− x∗k (que pode ser interpretada como o erro na

solu¸c˜ao aproximada de um problema cuja solu¸c˜ao ´e x∗) quando k aumenta.

Assim, podemos classificar a ordem de convergˆencia de uma sequˆencia da seguinte forma ([6], se¸c˜ao 2.3):

• convergˆencia q-linear, quando existe uma constante c ∈ [0, 1) e um inteiro k0 tais

que, para todo k ≥ k0, kxk+1− x∗k ≤ ckxk− x∗k;

• convergˆencia q-superlinear, quando existe uma sequˆencia {ck} que converge para

0, tal que kxk+1− x∗k ≤ ckkxk− x∗k;

• convergˆencia de q-ordem pelo menos p, quando existem constantes p > 1, c ≥ 0 e k0 ≥ 0, tais que para todo k ≥ k0, kx

k+1 − x∗k ≤ ckxk − x∗kp. No caso

particular em que p = 2 ou 3, a convergˆencia ´e dita q-quadr´atica ou q-c´ubica, respectivamente.

(19)

1.2 Convergˆencia 8

Neste tipo de classifica¸c˜ao o ´ındice q representa o fato da compara¸c˜ao ser dada por um quociente, havendo tamb´em compara¸c˜oes que utilizam por exemplo a raiz [6].

Existe tamb´em uma classifica¸c˜ao das ordens de convergˆencia de sequˆencias (e con-sequentemente dos m´etodos associados) utilizando termos n˜ao imediatamente consecu-tivos. Neste caso, teremos um inteiro j tal que ([6], se¸c˜ao 2.3):

• kxk+j − x∗k ≤ ckkxk − x∗k, onde {ck} converge para 0 e a convergˆencia ´e dita

q-superlinear de passo j;

• kxk+j− x∗k ≤ ckxk− x∗kp, com convergˆencia chamada de q-ordem pelo menos p

com passo j. Nos casos particulares em que p = 2 ou 3, a convergˆencia ser´a dita q-quadr´atica de passo j e q-c´ubica de passo j, respectivamente.

1.2.1

Convergˆ

encia do M´

etodo de Newton

Com as hip´oteses feitas no in´ıcio deste cap´ıtulo sobre a fun¸c˜ao F e assumindo que exista uma vizinhan¸ca de x∗ em D, N = {x ∈ Rn, kx − x∗k < r}, denotada por

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

existe  > 0 tal que para todo x0 ∈ N (x∗, ), a sequˆencia {xk} gerada pelo m´etodo de

Newton ´e bem definida e converge para x∗ com taxa de convergˆencia q-quadr´atica ([6],

se¸c˜ao 5.2).

1.2.2

Convergˆ

encia do M´

etodo de Newton Inexato

No caso do m´etodo de Newton Inexato, utilizando as mesmas hip´oteses da se¸c˜ao 1.2, e assumindo que o termo for¸cante ηk satisfaz 0 ≤ ηk ≤ ηmax < 1 ent˜ao {xk} converge

a x∗ q-linearmente na norma k.k∗, definida por kvk∗ ≡ kJ(x∗)vk para v ∈ Rn [8].

Se, adicionalmente, tivermos limk→∞ηk = 0, a convergˆencia ser´a q-superlinear. E

se ηk= O(kF (xk)k) ent˜ao a convergˆencia ser´a q-quadr´atica [8].

Com a escolha de ηk utilizada em nossos testes 1.4, a convergˆencia ser´a dada por

([8], teorema 2.2):

kxk+1− x∗k ≤ βkxk− x∗kkxk−1− x∗k, k = 1, 2, . . . . (1.6)

De (1.6), essa convergˆencia ´e do tipo q-superlinear, como tamb´em q-quadr´atica de passo 2.

(20)

Cap´ıtulo 2

Sistemas Lineares

Vimos no cap´ıtulo anterior que ap´os linearizar o problema (1.1), devemos escolher um m´etodo que resolva (1.2) de maneira exata, no caso do m´etodo de Newton, ou de maneira aproximada, no m´etodo de Newton Inexato.

Desse modo, ´e necess´ario estudar os diversos m´etodos de resolu¸c˜ao de sistemas lineares para poder aplicar corretamente os m´etodos de Newton e Newton Inexato.

Sabemos que encontrar solu¸c˜oes satisfat´orias para o sistema linear

Ax = b (2.1)

onde A ∈ Rn×n, x e b ∈ Rn, foi a fonte para a cria¸c˜ao e aperfei¸coamento de diversas

t´ecnicas e m´etodos computacionais ao longo do tempo.

A evolu¸c˜ao desses procedimentos levou em conta as ferramentas dispon´ıveis ao ho-mem em cada momento hist´orico. Desse modo, com o advento dos computadores cada vez mais poderosos, foi poss´ıvel utilizar t´ecnicas mais elaboradas de calcular poss´ıveis solu¸c˜oes para (2.1).

Ao longo desse cap´ıtulo iremos abordar os principais m´etodos utilizados na resolu¸c˜ao desse sistema. M´etodos diretos e m´etodos iterativos, especialmente os m´etodos de proje¸c˜ao que servir˜ao para o entendimento dos m´etodos de proje¸c˜ao em subespa¸cos de Krylov que estudaremos no cap´ıtulo 4.

2.1

etodos Diretos

Os m´etodos mais cl´assicos para solucionar (2.1) s˜ao os assim chamados m´etodos diretos, pelo fato de que conduzem a uma solu¸c˜ao x, exata, por meio de procedimentos predeterminados. Sendo assim, possuem um n´umero finito (e conhecido) de opera¸c˜oes

(21)

2.2 M´etodos Iterativos 10

necess´arias para que o algoritmo chegue `a solu¸c˜ao em aritm´etica exata.

Essa robustez te´orica fez dos m´etodos diretos a principal escolha para solucionar (2.1). Por´em, os m´etodos 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.

Al´em disso, os m´etodos diretos exigem um esfor¸co computacional elevado e h´a mui-tas aplica¸c˜oes onde um menor esfor¸co computacional ´e mais importante que a qualidade da solu¸c˜ao x de (2.1). Nesses casos uma solu¸c˜ao aproximada ˜x pode ser suficientemente boa, podendo ser utilizado um m´etodo iterativo, como ser´a visto na se¸c˜ao 2.2.

H´a 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 ap´os a aplica¸c˜ao do m´etodo. Isso porque armazenar e operar matrizes esparsas de dimens˜ao n elevada ´e muito melhor, de um ponto de vista computacional, que matrizes cheias. No caso das matrizes esparsas o uso de m´etodos diretos produz um efeito negativo conhecido como fill-in ou preenchimento, em portuguˆes. Esse fenˆomeno ocorre quando elementos n˜ao-nulos surgem, durante o processo de resolu¸c˜ao do sistema linear, em posi¸c˜oes onde os elementos da matriz original eram nulos, diminuindo a esparsidade da matriz. Em outras palavras, aplicar um m´etodo direto em uma matriz de grande porte esparsa pode resultar em uma matriz cheia ao fim (ou no decorrer) do processo.

2.2

etodos Iterativos

Como vimos na se¸c˜ao 2.1, o uso de m´etodos iterativos em sistemas lineares se justifica em v´arios casos. Pelo fato de n˜ao calcularem diretamente uma solu¸c˜ao exata para (2.1), s˜ao especialmente ´uteis quando uma solu¸c˜ao aproximada ´e satisfat´oria.

De um modo geral, os m´etodos iterativos trazem procedimentos que solucionam (2.1) de maneira aproximada a cada itera¸c˜ao. A sequˆencia de solu¸c˜oes {xm} converge

sob algumas hip´oteses `a solu¸c˜ao exata, com uma determinada margem de erro.

H´a uma diversidade enorme de m´etodos iterativos que diferenciam-se por v´arias caracter´ısticas, n˜ao havendo um m´etodo geral para solucionar qualquer sistema Ax = b. Na verdade, a maioria dos m´etodos iterativos se baseiam em propriedades da matriz A, sendo comum o fato de m´etodos diferentes reagirem de modo diverso (convergindo ou n˜ao, por exemplo) quando aplicados ao mesmo problema.

Em geral os m´etodos iterativos s´o possuem convergˆencia garantida sob v´arias hip´ o-teses particulares para cada m´etodo, o que restringe o uso de um determinado algoritmo

(22)

2.3 M´etodos de proje¸c˜ao 11

a uma gama de problemas espec´ıficos. Al´em disso, ´e necess´ario por vezes uma pr´atica para utiliza¸c˜ao correta dos algoritmos que possuem parˆametros que determinam a con-vergˆencia e cuja escolha envolve experiˆencia espec´ıfica em cada problema, fruto de diversas tentativas.

Nesse texto nos deteremos no estudo dos m´etodos de proje¸c˜ao, especialmente os chamados m´etodos de proje¸c˜ao em subespa¸cos de Krylov. O leitor interessado poder´a consultar [17], [12] para um maior aprofundamento nos m´etodos iterativos.

2.3

etodos de proje¸

ao

A maioria dos processos iterativos se utiliza de um processo de proje¸c˜ao em algum momento do algoritmo ([16], p. 133). M´etodos de proje¸c˜ao s˜ao uma alternativa para encontrar solu¸c˜oes aproximadas para um sistema linear sob determinadas condi¸c˜oes. Nesse sentido existem dois subespa¸cos caracter´ısticos desses m´etodos. Primeiramente h´a um subespa¸co de buscas K, assim chamado pois ´e nele que os m´etodos ir˜ao procurar a solu¸c˜ao x para o sistema. O outro subespa¸co representa as restri¸c˜oes impostas `a solu¸c˜ao x, sendo chamado de subespa¸co das restri¸c˜oes L.

Uma caracter´ıstica fundamental dos m´etodos de proje¸c˜ao ´e que, na sua constru¸c˜ao, eles devem atender `as chamadas condi¸c˜oes de Petrov-Galerkin [16]. Essas condi¸c˜oes s˜ao de ortogonalidade, implicando em uma proje¸c˜ao ortogonal ao subespa¸co das restri¸c˜oes L. Isso significa, em geral, que quando procuramos uma solu¸c˜ao para um sistema linear de dimens˜ao m, devemos impor m condi¸c˜oes de ortogonalidade, pois os subespa¸cos K e L possuem mesma dimens˜ao.

Ent˜ao, dado um m´etodo de proje¸c˜ao qualquer, no k − ´esimo passo teremos um subespa¸co de buscas Kk e um subespa¸co de restri¸c˜oes Lk de modo que as condi¸c˜oes de

Petrov-Galerkin ser˜ao representadas da seguinte forma:

xk ∈ x0+ Kk (2.2)

rk = b − Axk ⊥ Lk (2.3)

Os m´etodos de proje¸c˜ao s˜ao divididos em dois grandes grupos de acordo com a rela¸c˜ao existente entre os dois subespa¸cos caracter´ısticos. Quando L = K o m´etodo ´e chamado de proje¸c˜ao ortogonal. Neste caso ´e comum tratar as condi¸c˜oes de Petrov-Galerkin apenas pelo nome de condi¸c˜oes de Galerkin [16].

(23)

2.3 M´etodos de proje¸c˜ao 12

Figura 2.1: Proje¸c˜ao obl´ıqua (QKLx) e proje¸c˜ao ortogonal (PKx)

J´a no caso em que ocorre de L 6= K, ou seja, os subespa¸cos de busca e de restri¸c˜oes s˜ao diferentes, chamamos o m´etodo de proje¸c˜ao obl´ıqua (ver figura 2.1).

2.3.1

etodo de Arnoldi

O m´etodo de Proje¸c˜ao de Arnoldi constr´oi uma base ortogonal para o subespa¸co de Krylov dado por

Km = spanv, Av, A2v, . . . , Am−1v . (2.4)

Algoritmo 2.3.1.

Escolha um vetor inicial kv1k2 = 1

Para j = 1, 2, . . . , m Para i = 1, 2, . . . , j hij = (Avj, vj) wj = Avj − j P i=1 hijvi Fim hj+1,j = kwjk2, se hj+1,j = 0 ent˜ao pare vj+1 = wj/hj+1,j Fim

Desse modo obtemos uma nova base, ortonormal por constru¸c˜ao, para gerar o su-bespa¸co de Krylov:

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

Definimos Vm como sendo a matriz cujas colunas s˜ao os vetores ortonormais vi, 1 ≤

(24)

2.3 M´etodos de proje¸c˜ao 13 Vm =    v1 v2 v3 . . . vm   .

Podemos definir a matriz ˜Hm em que seus ´unicos elementos n˜ao-nulos s˜ao 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 acr´escimo de uma subdiagonal n˜ao nula.

Podemos tamb´em definir a matriz Hm = [ ˜Hm] excluindo-se a ´ultima linha, desse

modo Hm ´e uma matriz quadrada.

Assim, o m´etodo de Arnoldi implicar´a na rela¸c˜ao representada na figura seguinte:

(25)

Cap´ıtulo 3

Precondicionamento

Ao resolver um sistema linear utilizando um dos m´etodos vistos no cap´ıtulo 2 po-demos nos deparar com um problema de condicionamento. Veremos nesse cap´ıtulo que esse tipo de problema est´a associado com o sistema linear e pode ter influˆencia direta na qualidade da solu¸c˜ao do sistema, especialmente no caso de m´etodos de proje¸c˜ao em subespa¸cos de Krylov.

Neste cap´ıtulo estudaremos o conceito de n´umero de condi¸c˜ao de um sistema linear e a ideia b´asica de precondicionamento de sistemas. Veremos que o precondicionamento visa reduzir esse n´umero de condi¸c˜ao (consequentemente reduzir os problemas relaci-onados a ele). Deixaremos a discuss˜ao sobre a escolha dos precondicionadores para o cap´ıtulo 5.

3.1

umero de Condi¸

ao

O n´umero de condi¸c˜ao ou condicionamento de um problema est´a relacionado com as caracter´ısticas particulares dele e ´e utilizado como uma maneira de indicar o erro associado `a resolu¸c˜ao do problema.

O conceito de condicionamento possui um significado mais amplo que vai al´em do estudo de matrizes, podendo ser aplicado `as mais diversas ´areas da matem´atica. 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 × n e seja x um vetor de dimens˜ao n. Uma norma induzida por uma norma vetorial ´e

(26)

3.1 N´umero de Condi¸c˜ao 15 definida como: kAk = max kxk=1kAxk = maxkxk6=0 kAxk kxk . (3.1)

Sabemos que uma norma ´e uma fun¸c˜ao que possui as seguintes propriedades: • kAk ≥ 0 e kAk = 0 ⇔ A = 0

• Seja um escalar λ ∈ R: kλAk = |λ|kAk • kA + Bk ≤ kAk + kBk, B matriz n × n.

Al´em dessas propriedades, uma norma matricial euclidiana satisfaz a seguinte propri-edade:

kABk ≤ kAkkBk. (3.2)

3.1.2

umero de condi¸

ao de matrizes

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

Seja ˜x = x + δ, onde δ ´e o erro no c´alculo de x, que pode ser interpretado tamb´em como uma perturba¸c˜ao na solu¸c˜ao exata de (2.1). Seja tamb´em ˜b = b + , com  representando o erro na representa¸c˜ao do vetor independente b (ou perturba¸c˜ao em b). Assim, supondo A n˜ao-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)

kδk = kA−1k ≤ kA−1kkk (3.7)

Calculando agora o erro relativo com rela¸c˜ao ao vetor solu¸c˜ao x; x 6= 0: kδk kxk ≤ kA−1kkk kxk (3.8) ≤ kAkkA −1kkk kAkkxk (3.9) kδk kxk ≤ kAkkA−1kkk kbk , (3.10)

(27)

3.2 Precondicionamento de Sistemas Lineares 16

onde kkkbk ´e o erro relativo com rela¸c˜ao ao vetor independente b. Desse modo o produto kAkkA−1k representa a rela¸c˜ao entre as perturba¸c˜oes no vetor solu¸c˜ao x e no vetor

independente b. Esse produto ´e conhecido como n´umero de condi¸c˜ao da matriz A:

cond(A) = kAkkA−1k (3.11)

´

E claro que se A for uma matriz identidade ent˜ao cond(A) = 1. Al´em disso, se A for uma matriz singular, dizemos que cond(A) = ∞. Assim, valores altos do n´umero de condi¸c˜ao indicam que a matriz ´e pr´oxima de uma matriz singular, mais precisamente a matriz ´e dita mal-condicionada. De maneira oposta, valores baixos do n´umero de condi¸c˜ao indicam uma matriz bem-condicionada.

Para matrizes de grandes dimens˜oes o determinante n˜ao ´e um bom indicador do que podemos chamar de “tendˆencia” 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 n´umero de condi¸c˜ao ´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 solu¸c˜ao) e cuja resolu¸c˜ao seja de alguma forma mais f´acil:

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

onde a matriz precondicionadora M , quando aplicada como na equa¸c˜ao (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)

H´a ainda o caso do precondicionamento simultˆaneo 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:

M1AM2−1y = M1b, x = M2−1y. (3.14)

(28)

3.2 Precondicionamento de Sistemas Lineares 17

O precondicionamento visa melhorias na resolu¸c˜ao do sistema linear original, tendo como meta a redu¸c˜ao do n´umero de condi¸c˜ao 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 constru¸c˜ao e de aplica¸c˜ao da matriz M no sistema, aproveitando especialmente as caracter´ısticas da matriz A;

• o sistema precondicionado deve ser mais f´acil (menos custoso) de resolver. Infelizmente as duas ´ultimas propriedades esperadas s˜ao, em geral, conflitantes, de modo que se busca um ponto ´otimo, em cada problema, entre um bom precondicionador que n˜ao seja t˜ao caro para construir e aplicar ao sistema (2.1).

(29)

Cap´ıtulo 4

GMRES

Vimos no cap´ıtulo 1 que no m´etodo de Newton Inexato ´e preciso resolver o sis-tema (1.2), de modo a satisfazer o crit´erio (1.3). Para tanto, utilizaremos o m´etodo chamado GMRES. Assim, obtemos o m´etodo chamado de Newton Inexato - GMRES (NI-GMRES). ´E com base nesse m´etodo que faremos nossos testes de precondiciona-mento e, portanto, iremos estudar alguns aspectos relacionados ao precondicionaprecondiciona-mento no GMRES no decorrer deste cap´ıtulo.

4.1

Introdu¸

ao

O m´etodo do M´ınimo Res´ıduo Generalizado (Generalized Minimum REsidual)[16] ´e um m´etodo de Krylov, e portanto de proje¸c˜ao, com K = Km e L = AKm, onde Km

´e o subespa¸co de Krylov associado `a matriz A e ao res´ıduo r0.

Um m´etodo de Krylov ´e um m´etodo de proje¸c˜ao em subespa¸cos de Krylov, ou seja, um m´etodo onde o subespa¸co de buscas ´e do tipo:

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

(4.1) Esses subespa¸cos 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, ent˜ao: Km(A, v) = Km(α1A, α2v)

• Se α ∈ C, ent˜ao: Km(A, v) = Km(A − αI, v)

• Se W ´e regular, ent˜ao: Km(W−1AW, W−1v) = W−1Km(A, v)

(30)

4.2 Implementa¸c˜ao 19

• Km ´e o subespa¸co de todos os vetores em Rn que podem ser escritos como x =

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

O GMRES foi proposto em 1986 [16] como uma generaliza¸c˜ao do m´etodo MINRES [15] para sistemas n˜ao-sim´etricos. Essa generaliza¸c˜ao foi baseada no processo de Ar-noldi, como uma alternativa ao m´etodo de Lanczos utilizado no MINRES para cria¸c˜ao da base para o subespa¸co de Krylov. O m´etodo MINRES se aplica a sistemas sim´ etri-cos indefinidos, sendo uma alternativa ao m´etodo dos gradientes conjugados que resolve apenas sistemas sim´etricos e positivos definidos. J´a o GMRES pode ser aplicado tanto a sistemas indefinidos quanto a sistemas n˜ao sim´etricos.

Assim como o MINRES, o GMRES busca minimizar a norma do res´ıduo sobre o subespa¸co de Krylov em cada itera¸c˜ao. O GMRES ´e matematicamente equivalente ao GCR e ao ORTHODIR como provado em [16]. Al´em disso, dado um sistema cuja matriz dos coeficientes ´e quadrada de dimens˜ao n, o GMRES converge em no m´aximo n passos em aritm´etica exata, sendo uma op¸c˜ao muito utilizada especialmente na resolu¸c˜ao de sistemas lineares de grande porte esparsos e n˜ao sim´etricos.

4.2

Implementa¸

ao

A base do m´etodo do GMRES consiste na minimiza¸c˜ao do res´ıduo sobre o subespa¸co de Krylov a cada itera¸c˜ao. Na k-´esima itera¸c˜ao desse algoritmo teremos um problema de quadrados m´ınimos para solucionar, a saber:

min

x∈x0+Kk

kb − Axk2. (4.2)

Tomando Vk uma base ortogonal para Kk. Temos que

x = x0+ Vky. (4.3)

O GMRES busca a solu¸c˜ao em y que minimiza o res´ıduo:

kb − A(x0+ Vky)k2 = kr0− AVkyk2, (4.4)

ou seja, o GMRES resolve:

min

y∈Rkkr0− AVkyk2. (4.5)

(31)

4.3 GMRES(m) 20

Uma constru¸c˜ao b´asica do m´etodo do GMRES segue no algoritmo seguinte: Algoritmo 4.2.1. GMRES • r0 = b − Ax0, β := kr0k2, 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 = kwjk2 Se hj+1,j = 0, m := j vj+1 = wj/hj+1,j • Fim • Hm = hi,j 1≤i≤m+1,1≤j≤m • ym = minkβe1− Hmyk2 • xm = x0+ Vmym

4.3

GMRES(m)

A cada itera¸c˜ao realizada no GMRES h´a um aumento na dimens˜ao do subespa¸co de Krylov devido ao acr´escimo de um vetor [16]. Desse modo para sistemas de grande porte, `a medida que se realizam as itera¸c˜oes internas do GMRES, o custo computacional pode crescer de modo a tornar invi´avel o uso do m´etodo [16]. Para contornar esse problema ´e utilizado o GMRES com recome¸cos a cada m itera¸c˜oes, ou GMRES(m) [16], onde o vetor solu¸c˜ao sm e o res´ıduo final rm ser˜ao utilizados, respectivamente,

como aproxima¸c˜ao inicial e gerador do novo subespa¸co de Krylov no pr´oximo ciclo do GMRES(m) [16].

Esse novo m´etodo n˜ao possui a mesma garantia de convergˆencia que o GMRES, pois pode apresentar um problema de estagna¸c˜ao [16]. Assim, ´e preciso levar esse fato em considera¸c˜ao com uso de estrat´egias que contornem esse fato como em [11] ou pelo uso de precondicionadores, como veremos na se¸c˜ao seguinte.

(32)

4.3 GMRES(m) 21

Lembramos que O m´etodo do GMRES sem recome¸cos, ou completo, possui garantia de convergˆencia em um m´aximo de n itera¸c˜oes, sendo n a dimens˜ao do sistema linear a ser resolvido. Para verificar este fato, basta tomarmos a proposi¸c˜ao e o corol´ario que seguem [16]:

Proposi¸c˜ao 4.3.1. A solu¸c˜ao xj produzida pelo GMRES no passo j ´e exata se e

somente se as seguintes condi¸c˜oes (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 polinˆomio m´ınimo do vetor res´ıduo inicial r0 ´e igual a j

Como o grau do polinˆomio m´ınimo do res´ıduo n˜ao pode exceder a dimens˜ao n do problema, temos o seguinte corol´ario [16]:

Corol´ario 4.3.1. Para um problema de dimens˜ao n × n, o GMRES finaliza em um m´aximo de n itera¸c˜oes.

No caso do GMRES(m), deseja-se utilizar um valor m < n de modo que esse teorema n˜ao pode ser utilizado a fim de estudar a convergˆencia. Por´em, [16] mostra que esse m´etodo ´e equivalente ao GCR(m-1) o qual converge quando a matriz A ´e positiva real, ou seja, quando sua parte sim´etrica (A + AT)/2 ´e positiva definida (SPD). Nesse caso

podemos utilizar os seguintes resultados [16]:

Proposi¸c˜ao 4.3.2. Suponha A diagonaliz´avel tal que A = XDX−1 e defina:

m = min

p∈Pm,p(0)=1

max

λi∈σ

kp(λi)k. (4.6)

Ent˜ao a norma residual dada pelo m-´esimo passo do GMRES satisfaz [16]:

krm+1k ≤ cond(X)mkr0k, (4.7)

onde cond(X) = kXkkX−1k ´e o n´umero de condi¸c˜ao da matriz X.

Quando A ´e positivo real com a parte sim´etrica M , o seguinte limitante para o erro pode ser derivado da proposi¸c˜ao [16]:

(33)

4.4 GMRES precondicionado 22

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

todo m quando A ´e positivo real [16].

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

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

n˜ao-positivas e que os outros autovalores estejam contidos em um c´ırculo centrado em C, com C > 0, e raio R com C > R, ent˜ao [16]:

 ≤ R C m−t max j=t+1,...,n t Y i=1 kλi− λjk kλik ≤ D d t R C m−t , (4.9)

onde D = maxi=1,...,t;j=t+1,...,nkλi− λjk e d = mini=1,...,tkλik .

Corol´ario 4.3.2. Sob a hip´otese da proposi¸c˜ao 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 corol´ario determina um valor m´ınimo de ciclos m para o qual h´a garantia de convergˆencia do GMRES(m).

Devemos fazer algumas observa¸c˜oes pertinentes sobre esse corol´ario. Primeira-mente, a maneira como se expressou o limitante superior para o erro na solu¸c˜ao apro-ximada (teorema 4.3.1) n˜ao ´e t˜ao preciso de modo podemos ter convergˆencia para valores de m muito inferiores ao minimal dado por (4.10). Em segundo lugar, podemos perceber que a garantia de convergˆencia est´a relacionada com a distribui¸c˜ao dos auto-valores e com o n´umero de condi¸c˜ao, sendo independente da dimens˜ao n do problema. Finalmente, pode ocorrer de ao seguir o corol´ario obtermos m > n indicando uma informa¸c˜ao 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:

(34)

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 n´umero de condi¸c˜ao da matriz A ´e: cond(A) = 1, 0025 ∗ 105 .

Quando aplicamos o GMRES(2) para o sistema original Ax = b n˜ao ocorre conver-gˆencia.

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 n´umero de condi¸c˜ao cond(M−1A) = 76, 2.

Aplicando agora o GMRES(2) ao sistema precondicionado obtemos ao fim do pri-meiro ciclo a convergˆencia para a solu¸c˜ao:

x =    5, 001x10−4 −0, 0045 10, 02   

Assim, percebemos a influˆencia do precondicionador na aplica¸c˜ao do m´etodo GM-RES(m), especialmente nesse caso em que a redu¸c˜ao no condicionamento do sistema foi acentuada.

4.4.1

Precondicionamento `

a esquerda

Como vimos, o precondicionamento `a esquerda ´e realizado pela multiplica¸c˜ao de ambos os membros do sistema linear Ax = b pelo inverso da matriz precondicionadora, resultando em um novo res´ıduo:

r = kM−1(b − Ax)k. (4.11)

(35)

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), β := kr0k2, 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 = kwjk2 vj+1 = wj/hj+1,j • Fim • Vm := [v1, . . . , vm], e ¯Hm = hi,j 1≤i≤j+1,1≤j≤m • ym = minykβe1− ¯Hmyk2 • xm = x0+ Vmym

• Se convergiu Pare, Sen˜ao fa¸ca: x0 := xm e recomece o ciclo.

Nesse caso, o subespa¸co 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) ≡ spanM−1r0, (M−1A)(M−1r0), . . . , (M−1A)m−1(M−1r0) . (4.13)

Vimos na se¸c˜ao 2.2 que em m´etodos iterativos ´e necess´ario a indica¸c˜ao de um crit´erio de parada. No caso do precondicionamento pela esquerda ´e importante verificar que um crit´erio de parada baseado no erro/res´ıduo m´aximo admiss´ıvel precisa levar em conta esse res´ıduo precondicionado (4.11) e n˜ao o erro real r = kb − Axk para determinar o n´ıvel satisfat´orio da solu¸c˜ao de (3.12).

(36)

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 substitui¸c˜ao do vetor x pelo novo vetor M−1y de modo que teremos o sistema M x = y, cuja solu¸c˜ao ´e a mesma que a do sistema (2.1).

A aplica¸c˜ao do precondicionador pela direita d´a origem ao m´etodo do GMRES aplicado ao sistema seguinte:

AM−1M x = b. (4.14)

Neste caso o res´ıduo do sistema precondicionado (4.14) ´e o mesmo que o do sistema normal, ou seja, r = kb − Axk.

Algoritmo 4.4.2. GMRES precondicionado pela direita • r0 = b − Ax0, β := kr0k2, 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 = kwjk2 vj+1 = wj/hj+1,j • Fim • Vm := [v1, . . . , vm], e ¯Hm = hi,j 1≤i≤j+1,1≤j≤m • ym = minkβe1− Hmyk2 • xm = x0+ M−1Vmym

• Se convergiu Pare, Sen˜ao fa¸ca: x0 := xm e recomece o ciclo.

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

alterado da seguinte forma quando precondicionado pela direita:

(37)

4.4 GMRES precondicionado 26

Existe uma observa¸c˜ao sobre esse tipo de precondicionamento quando aplicado ao GMRES. Como podemos conferir em ([16], p. 287-290) n˜ao h´a 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 itera¸c˜oes. Por´em o algoritmo (4.4.2) pode ser modificado de modo a variar o precondicionador a cada itera¸c˜ao, dando origem ao m´etodo conhecido como Flexible Variant [17].

4.4.3

Precondicionamento tipo split

H´a ainda uma terceira forma poss´ıvel de precondicionamento quando se tem a forma fatorada de um precondicionador M = M1M2:

Nesse caso h´a uma esp´ecie de precondicionamento simultˆaneo pela esquerda e di-reita, acarretando um res´ıduo diferente como no caso do precondicionamento pela es-querda e uma mudan¸ca de vari´aveis como no caso do da direita.

E o subespa¸co de Krylov correspondente fica:

(38)

Cap´ıtulo 5

Precondicionadores

O uso de precondicionadores em sistemas lineares de grande porte e esparsos est´a diretamente relacionado com o desenvolvimento dos m´etodos iterativos. Hoje em dia existe uma enorme quantidade de precondicionadores dispon´ıveis com as mais diversas caracter´ısticas e limita¸c˜oes, 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 hist´oria dos precondicionadores ´e marcado pelo trabalho de Cesari em 1937 [4]. Por´em o termo “precondicionamento” usado como uma t´ecnica para m´etodos iterativos na solu¸c˜ao de sistemas lineares surgiu apenas em 1968 num artigo de Evans [9]. ´E importante ressaltar que desde o s´eculo 19 os m´etodos iterativos vinham sendo desenvolvidos, por´em foi com o tr´agico advento da Segunda Guerra Mundial que computadores com poder de processamento maior puderam impulsionar o desenvolvimento tecnol´ogico e com ele a necessidade de solucionar problemas de grande porte.

Em um primeiro momento, entre as d´ecadas de 1940 e 1970 houve um dom´ınio dos m´etodos chamados diretos, em sua maioria variantes da Elimina¸c˜ao Gaussiana. Apesar de ter surgido em 1952 o m´etodo dos Gradientes Conjugados, para matrizes sim´etricas positivas definidas (SPD), era ainda compreendido como uma esp´ecie de m´etodo direto uma vez que possui convergˆencia em no m´aximo m passos, com m sendo o n´umero de autovalores distintos da matriz A.

Mas foi apenas entre as d´ecadas de 1980 e 1990 que os m´etodos de subespa¸cos de Krylov ganharam definitivamente espa¸co. Foi em 1986 que surgiu o m´etodo do Res´ıduo M´ınimo Generalizado (GMRES) [16], e em 1992 o m´etodo dos Gradientes Biconjugados estabilizado (Bi-CGSTAB). Com a maior aceita¸c˜ao do uso de m´etodos

(39)

28

que utilizam subespa¸cos de Krylov, e o entendimento que um fator cr´ıtico para um m´etodo 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 consider´avel nas ´ultimas duas d´ecadas, enquanto n˜ao se percebeu grandes avan¸cos em m´etodos de subespa¸cos de Krylov.

Devido a enorme quantidade de precondicionadores, ´e interessante fazermos uma classifica¸c˜ao mesmo que did´atica em grupos para aproveitar caracter´ısticas semelhantes. Uma primeira separa¸c˜ao que pode ser feita ´e entre os precondicionadores projetados especificamente para um determinado problema e os precondicionadores de aplica¸c˜ao “geral”.

Os precondicionadores espec´ıficos levam em considera¸c˜ao caracter´ısticas do pro-blema como as condi¸c˜oes de contorno e as propriedades f´ısicas do sistema de equa¸c˜oes a ser solucionado. Desse modo, pode-se construir precondicionadores que possuem grande efetividade em um dado problema, mas que em geral n˜ao podem ser aprovei-tados em outros problemas sem grandes esfor¸cos de pesquisa. Ainda que diante do mesmo problema, se ocorrerem mudan¸cas em alguma caracter´ıstica relativa a ele, o efeito ben´efico de um precondicionador desse tipo pode ser reduzido.

Por outro lado, os precondicionadores chamados de Alg´ebricos 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 estrat´egia, mesmo quando a interpreta¸c˜ao f´ısica dos problemas n˜ao tenham nenhuma correla¸c˜ao. Infelizmente n˜ao existe um precondicionador t˜ao geral ao ponto de poder ser aplicado a qualquer matriz, levando a uma enorme quantidade de precon-dicionadores dispon´ıveis. Ainda no grupo dos preconprecon-dicionadores alg´ebricos, pode-se dividi-los como fez Benzi [2] em duas classes, fatora¸c˜oes incompletas e inversas aproxi-madas. Essas duas classes se diferenciam essencialmente pelo fato de que na fatora¸c˜ao incompleta a matriz aplicada M−1 n˜ao ´e formada explicitamente, enquanto no caso da inversa aproximada ´e a pr´opria matriz M−1 que ´e constru´ıda e diretamente aplicada.

H´a ainda um outro tipo de precondicionador alg´ebrico chamado de Multigrid, o qual vem suscitando uma grande pesquisa na ´ultima d´ecada [10]. A principal vantagem do Multigrid ´e que ele se adapta a escala, ou seja, a convergˆencia n˜ao depende do n´umero de n´os da malha, podendo ser adaptado a uma malha mais fina sem grande aumento no custo computacional.

(40)

5.1 Jacobi 29

para aplica¸c˜ao num´erica 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: Decomposi¸c˜ao 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 compara¸c˜ao com a itera¸c˜ao de ponto-fixo [17]:

Dado o sistema

Ax = b, A = M − N.

(5.1) Pode-se definir a itera¸c˜ao linear de ponto-fixo:

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

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

(41)

5.2 SSOR 30

obtendo a nova aproxima¸c˜ao:

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 pr´opria 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 itera¸c˜oes 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 compara¸c˜ao com 5.2 que o precondicionador SSOR ´e definido do seguinte modo [17]:

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

(42)

5.3 ILU 31 Logo, (MSSOR) = 1 ω(2 − ω)(D − ωE)D −1(D − ωF )

, onde ω ´e chamado de fator de relaxa¸c˜ao (ω = 1 resulta no precondicionador SGS Symmetric Gauss-Seidel).

5.3

ILU

Dada uma matriz geral esparsa A a fatora¸c˜ao LU incompleta resulta em A = LU − R, onde L ´e matriz triangular inferior com diagonal unit´aria e esparsa, U ´e matriz triangular superior tamb´em esparsa e R a matriz residual. Sobre a matriz residual R se imp˜oem condi¸c˜oes como ter zeros em posi¸c˜oes determinadas a fim de manter em certos aspectos a estrutura da matriz original A.

Um algoritmo geral para fatora¸c˜ao LU incompleta, ou simplesmente ILU, pode ser obtido aplicando-se a Elimina¸c˜ao Gaussiana e dispondo alguns elementos em posi¸c˜oes predeterminadas. Para isso determinamos um conjunto de pontos P ⊂ {(i, j)|i 6= j; 1 ≤ i, j ≤ n} onde os elementos da matriz ser˜ao nulos.

Dessa forma podemos definir o seguinte algoritmo [17]: Algoritmo 5.3.1. Fatora¸c˜ao ILU geral

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

• Para k = 1, . . . , n − 1 Fa¸ca:

Para i = k + 1, . . . , n (e se (i, k) /∈ P ) Fa¸ca: aik:= aik/akk

Para j = k + 1, . . . , n e para (i, j) /∈ P Fa¸ca: aij := aij − aikakj.

Fim Fim • Fim

Utilizando variantes da Elimina¸c˜ao Gaussiana obtemos tamb´em variantes na im-plementa¸c˜ao da fatora¸c˜ao ILU. A variante mais comumente utilizada ´e a chamada IKJ e o algoritmo passa a ser [17]:

(43)

5.3 ILU 32

Algoritmo 5.3.2. ILU - Elimina¸c˜ao Gaussiana - IKJ • Para i = 2, ..., n Fa¸ca:

Para k = 1, ..., i − 1 (e se (i, k) /∈ P ) Fa¸ca: aik:= aik/akk

Para j = k + 1, . . . , n e para (i, j) /∈ P Fa¸ca: aij := aij − aikakj.

FimPara FimPara • FimPara

Assim no i-´esimo passo as i-´esimas linhas das matrizes L e U s˜ao constru´ıdas. Para isso as linhas anteriores 1, . . . , i − 1 s˜ao acessadas mas n˜ao sofrem altera¸c˜ao. Desde que os elementos da diagonal de L s˜ao todos iguais a 1, eles n˜ao precisam ser computados e teremos a sobreposi¸c˜ao das matrizes L e U representando a matriz A.

Quando falamos em preserva¸c˜ao da estrutura esparsa de uma matriz mediante uma fatora¸c˜ao estamos nos referindo ao fenˆomeno conhecido como preenchimento, fill-in em inglˆes. Esse fenˆomeno ocorre quando elementos n˜ao-nulos s˜ao inseridos em posi¸c˜oes da matriz onde os elementos eram inicialmente nulos de modo a aumentar a quantidade de elementos n˜ao-nulos total da matriz.

A esparsidade ou grau de esparsidade de uma matriz ´e medido com rela¸c˜ao ao n´umero de elementos nulos que ela possui com rela¸c˜ao ao n´umero 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 esfor¸co tanto de armazenamento quanto de custo computacional para realizar opera¸c˜oes como multiplica¸c˜oes e invers˜oes.

5.3.1

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

A fatora¸c˜ao LU incompleta com preenchimento zero (zero fill-in) ou ILU(0) ocorre quando se define o conjunto P dos pontos onde n˜ao haver´a 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 n˜ao-nulos de A, ou seja N Z(A) = (i, j)|1 ≤ i, j ≤ n, aij 6= 0 teremos que N Z(A) = N Z(LU ) [17]. Podemos

ent˜ao construir o seguinte algoritmo para o ILU(0)[17]: Algoritmo 5.3.3. ILU(0)

(44)

5.3 ILU 33

• Para i = 2, ..., n Fa¸ca:

Para k = 1, ..., i − 1 (e se (i, k) ∈ N Z(A) Fa¸ca: aik:= aik/akk

Para j = k + 1, . . . , n e para (i, j) ∈ N Z(A) Fa¸ca: aij := aij − aikakj.

FimPara FimPara • FimPara

5.3.2

N´ıvel de preenchimento e estrat´

egias de threshold

Preservar a estrutura esparsa da matriz A ´e importante, por´em a exigˆencia do preenchimento zero pode se tornar impratic´avel devido a baixa taxa de convergˆencia que pode ocorrer. A fim de obter mais eficiˆencia na fatora¸c˜ao LU incompleta s˜ao propostas alternativas que permitem n´ıveis de preenchimento. Assim a fatora¸c˜ao ILU(p) permite um n´ıvel p de preenchimento [17]. Esse n´ıvel de preenchimento da fatora¸c˜ao ILU(p) ´e baseada na estrutura da matriz, sendo preservada essa estrutura com uma esp´ecie de tolerˆancia.

Outra forma de se controlar o preenchimento est´a na t´ecnica conhecida por threshold na fatora¸c˜ao chamada ILU(t). Nesse caso a tolerˆancia ao preenchimento passar´a a ser determinada pela magnitude dos elementos na Eliminina¸c˜ao Gaussiana e n˜ao mais em sua posi¸c˜ao 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 se¸c˜ao 10.3.

(45)

Cap´ıtulo 6

Testes Num´

ericos

Neste cap´ıtulo fazemos um resumo dos testes realizados, detalhando os algoritmos e resultados obtidos.

6.1

Descri¸

ao das Estrat´

egias Adaptativas

Propomos duas estrat´egias de precondicionamento h´ıbridas que mudam o precondi-cionador de acordo com as bandeiras (flags) do GMRES(m). Assim, a cada vez que o m´etodo de Newton Inexato solicita a resolu¸c˜ao do sistema linear (1.2), nosso algoritmo determina se mant´em o precondicionador utilizado no passo anterior do Newton Ine-xato, ou se faz uma mudan¸ca, uma vez que o precondicionador utilizado tenha falhado. A primeira estrat´egia apresentada utiliza apenas a bandeira que indica o condiciona-mento do precondicionador. Caso o n´umero de condi¸c˜ao seja considerado infinito pelo GMRES(m), o que implica em um precondicionador singular, o algoritmo muda o pre-condicionador, o qual ser´a mantido at´e o fim do processo, desde que ele tamb´em n˜ao seja singular.

(46)

6.1 Descri¸c˜ao das Estrat´egias Adaptativas 35

Figura 6.1: Fluxograma da primeira estrat´egia de mudan¸ca de precondicionadores

Na segunda estrat´egia, podemos ter a mudan¸ca de precondicionador entre as ite-ra¸c˜oes do Newton Inexato em duas situa¸c˜oes: com rela¸c˜ao ao condicionamento do precondicionador, e em rela¸c˜ao ao caso de estagna¸c˜ao do GMRES(m). O primeiro caso ´e idˆentico `a primeira estrat´egia, e o segundo ocorre quando duas itera¸c˜oes seguidas do GMRES(m) apresentam mesma solu¸c˜ao, indicando que os subespa¸cos de Krylov correspondentes s˜ao quase linearmente dependentes.

(47)

6.2 Procedimento 36

Figura 6.2: Fluxograma da segunda estrat´egia de mudan¸ca de precondicionadores

6.2

Procedimento

Na se¸c˜ao 6.1 propomos duas estrat´egias que permitem ao algoritmo NI-GMRES precondicionado trocar de precondicionador diante de mal funcionamento do GMRES. A fim de analisar o desempenho dessas estrat´egias frente ao uso do NI-GMRES com precondicionadores fixos, foi implementado um algoritmo para solucionar os problemas descritos na subse¸c˜ao 6.2.1. Foram testados o NI-GMRES sem uso de precondicionador e com uso de um precondicionador fixo, al´em das duas estrat´egias h´ıbridas.

Para todos os testes foram utilizados os mesmos parˆametros do NI-GMRES, a saber: • dimens˜ao das matrizes Jacobianas 200 × 200 ;

(48)

6.2 Procedimento 37

• precis˜ao para a solu¸c˜ao do GMRES dada pelo termo for¸cante ηk da primeira

escolha de [8] ;

• n´umero m´aximo de itera¸c˜oes em cada ciclo do GMRES = 50.

Para os precondicionadores fixos foram selecionados Jacobi (se¸c˜ao 5.1), SSOR (se¸c˜ao 5.2) e ILU (se¸c˜ao 5.3).

No caso das duas estrat´egias h´ıbridas foram testadas as 6 permuta¸c˜oes para o orde-namento dos precondicionadores, de maneira a pr´e-estabelecer a sucess˜ao em caso de acionamento. A tabela seguinte ilustra essas permuta¸c˜oes:

Permuta¸c~ao Descri¸c~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 compara¸c˜oes foram tomados como parˆametros: • Itera¸c˜oes internas, ou seja, as itera¸c˜oes dentro do GMRES(m)

• Itera¸c˜oes externas, ou seja, as itera¸c˜oes do m´etodo de Newton Inexato

6.2.1

Problemas para os testes

Para realizar nossos testes utilizamos como base os problemas de [13] e tamb´em os problemas do cap´ıtulo 4 de [14]. A seguir descrevemos a numera¸c˜ao utilizada para os problemas nesse trabalho e as respectivas referˆencias com rela¸c˜ao `as fontes citadas. Os primeiros 17 problemas utilizados para os testes foram retirados de [13].

(49)

6.3 Resultados num´ericos 38

Problema Refer^encia 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 num´

ericos

A fim de melhor analisar os resultados obtidos durante os testes iremos separar nos-sas an´alises em duas subse¸c˜oes. Em um primeiro momento iremos comparar os m´etodos que utilizaram Precondicionadores fixos durante as itera¸c˜oes do Newton Inexato, com o m´etodo NI-GMRES sem precondicionamento. Essa an´alise utilizar´a uma ferramenta chamada de perfil de desempenho ou Perfomance Profile [7], que permite comparar diversos m´etodos dentro de um conjunto de problemas, por meio de m´etricas como o n´umero de itera¸c˜oes (internas e externas) e o n´umero de avalia¸c˜oes de fun¸c˜ao. Na pr´ o-xima subse¸c˜ao descrevemos abreviadamente essa ferramenta de perfil de desempenho.

(50)

6.3 Resultados num´ericos 39

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

A segunda an´alise ser´a feita para comparar as duas estrat´egias propostas, com os algoritmos com precondicionadores fixos e sem precondicionador. Para tanto selecio-namos apenas os problemas que utilizaram a mudan¸ca de precondicionador, uma vez que os problemas que n˜ao mudaram de precondicionador funcionaram na pr´atica 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 t´ecnicas de resolu¸c˜ao (solvers) um dos grandes desafios est´a na escolha de ferramentas que possam auxiliar na compara¸c˜ao entre as t´ecnicas de maneira correta e de f´acil visualiza¸c˜ao.

Uma ferramenta para este fim deve levar em considera¸c˜ao alguns fatores associados a esse tipo de an´alise como a facilidade e objetividade da interpreta¸c˜ao, pois o uso de tabelas por exemplo para uma grande quantidade de problemas pode dificultar bastante a an´alise dos dados. Outro ponto que pode induzir a interpreta¸c˜oes equivocadas ´e o uso de valores m´edios de determinados parˆametros para cada m´etodo, o que pode transferir o peso da compara¸c˜ao para apenas alguns problemas que se destacaram nesse parˆametro. Isso pode ocorrer por exemplo quando comparamos o tempo de resolu¸c˜ao dos problemas, em um conjunto em que apenas alguns deles possuem solu¸c˜oes extremamente lentas comparadas aos outros. Desse modo a influˆencia desses problemas na m´etrica induzir´a a uma an´alise diferente da realidade.

Em nosso trabalho iremos utilizar a ferramenta proposta por Dolan e Mor´e em [7]. Essa ferramenta proporciona a constru¸c˜ao de m´etricas que permitem tra¸car perfis de desempenhos nos quais cada algoritmo ´e representado por um perfil, e a an´alise 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 vari´avel t para a qual desejamos comparar o desempenho dos m´etodos. Tipicamente o tempo de CPU, o n´umero de itera¸c˜oes e o n´umero de avalia¸c˜oes de fun¸c˜ao podem ser utilizadas como medidas de desempenho de m´etodos computacionais. Sendo assim:

tp,s = medida do desempenho do m´etodo s na solu¸c˜ao do problema p (6.1)

A fim de normalizar a m´etrica utiliza-se a raz˜ao de desempenho definida como a raz˜ao entre a medida de desempenho do algoritmo no problema p dividido pelo valor

Referências

Documentos relacionados

Pensei em A rosa púrpura do Cairo falar da cena de Arabella no avião com o pai como comandante. Pensei também em acrescentar que Ária, na parte em que ela descobre a traição

A forma de como os estudantes de licenciatura enxerga a maneira de como os professores fazem seu papel muitas vezes é constrangedora fazendo com que as instituições de

0 gerador manual de pulsos consiste em um flip-flop SR, fej_ to com duas portas NAND, utilizando um circuito integrado da serie 74LS00 (National Semiconductor, 1980). A chave

Dados sobre os incêndios ocorridos em determinada região, tais como: localização, extensão da área afetada, tipo de vegetação atingida, informações sobre o comportamento do

Outro ponto importante referente à inserção dos jovens no mercado de trabalho é a possibilidade de conciliar estudo e trabalho. Os dados demonstram as

Em 1981 esse grupo de enfermeiros elaborou um documento com atribuições do enfermeiro, oficializado pela direção da Secretaria (Porto Alegre, 1981) que definia aos chefes de

Este trabalho é resultado de uma pesquisa quantitativa sobre a audiência realizada em 1999 envolvendo professores e alunos do Núcleo de Pesquisa de Comunicação da Universidade

Com efeito, Portugal é o país europeu com a mais longa história de intercâmbio com o Japão e, na expectativa de reforçar e desenvolver para o futuro os laços de amizade destes 470