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
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
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.
”Nao perca de vista seu ponto
de partida!”
Clara de Assis
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
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
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
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
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
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
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-
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.
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.
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
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.
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.
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.
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
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
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].
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:
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
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
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)
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.
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).
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
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.
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.
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)
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:
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
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).
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)
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)
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
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
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)
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
.
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]:
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)
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.
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
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.
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 ;
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].
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.
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
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
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.
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.
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
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.
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.
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
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
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.
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
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.