Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte...

103
Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática Aplicada e Estatística Mestrado em Matemática Aplicada e Estatística Precondicionamento do método GMRES para Z -matrizes Josimara Tatiane da Silva Natal-RN Julho de 2016

Transcript of Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte...

Page 1: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

Universidade Federal do Rio Grande do NorteCentro de Ciências Exatas e da Terra

Programa de Pós-Graduação em Matemática Aplicadae Estatística

Mestrado em Matemática Aplicada e Estatística

Precondicionamento do método GMRESpara Z-matrizes

Josimara Tatiane da Silva

Natal-RN

Julho de 2016

Page 2: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

Josimara Tatiane da Silva

Precondicionamento do método GMRES paraZ-matrizes

Trabalho apresentado ao Programa dePós-Graduação em Matemática Aplicadae Estatística da Universidade Federal doRio Grande do Norte, em cumprimentocom as exigências legais para obtenção dotítulo de Mestre.Área de Concentração: Modelagem Ma-temática.Linha de Pesquisa: Otimização, Proble-mas Inversos e Matrizes.

Orientador

Dr. Nir Cohen

Coorientadora

Dra. Julia Victoria Toledo Benavides

Universidade Federal do Rio Grande do Norte – UFRNPrograma de Pós-Graduação em Matemática Aplicada e

Estatística – PPGMAE

Natal-RN

Julho de 2016

Page 3: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática
Page 4: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

Dissertação de Mestrado sob o título Precondicionamento do método GMRES para

Z-matrizes apresentada por Josimara Tatiane da Silva e aceita pelo Programa de

Pós-Graduação em Matemática Aplicada e Estatística da Universidade Federal do

Rio Grande do Norte, sendo aprovada por todos os membros da banca examinadora

abaixo especificada:

Dr. Nir CohenOrientador

Departamento de MatemáticaUniversidade Federal do Rio Grande do Norte

Dra. Julia Victoria Toledo BenavidesCoorientadora

Departamento de MatemáticaUniversidade Federal do Rio Grande do Norte

Dr. Luiz Mariano Paes de Carvalho FilhoDepartamento de Matemática Aplicada

Universidade do Estado do Rio de Janeiro

Page 5: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

Dr. Santos Demetrio Miranda BorjasDepartamento de Matemática

Universidade Federal do Rio Grande do Norte

Natal-RN, 19 de julho de 2016.

Page 6: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

Aos meus pais, Fátima e Batista.

A minha irmã, Thaynara.

Page 7: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

Agradecimentos

Primeiro, gradeço a Deus por tudo, por todo o cuidado comigo. Por ter permi-

tido que eu chegasse até aqui. A Ele devo toda honra e toda glória. Sem Ele não

teria conseguido passar por muitos momentos difíceis. Por todo o cuidado em cada

detalhe, inclusive pelas maravilhosas pessoas que Ele colocou em meu caminho.

Aos meus grandes amores, os meus pais, João Batista e Maria de Fátima, por

todo apoio, dedicação e cuidado incondicional que sempre tiveram comigo. E a

minha querida irmã, Josimeiry Thaynara, por todo o carinho, amor e momentos

de descontração. Amo vocês!

Aos meus avóis, João e Carmelita, Zé Danta e Carminha; a minha tia Ném; a

madrinha Dacira; as minhas outras avós de coração: Assunção, Chiquita; a minha

grande amiga Carme (in memoriam); pela confiança, pelo apoio.

As minhas grandes amigas, Silvana, Edione e Elyzama, pelos altos momentos

de descontração e por toda essa amizade, apoio que me deram.

A meu amigo Paulo Sérgio, pelo encorajamento de sempre, inclusive nos mo-

mentos em que falhei ainda estava ali me incentivando a continuar.

A meu orientador Nir, por todas as brilhantes sugestões e paciência comigo.

A minha coorientadora Julia, pela amizade e por ter permitido meu primeiro

contato com o tema Métodos de Krylov onde tive a oportunidade de estudar um

pouco sobre isso durante a iniciação científica.

Ao professor Mariano, por ter aceitado fazer parte de minha banca, por ter

ajudado bastante mesmo com todos os seus comentários e discussões.

Page 8: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

Aos professores do Departamento de Estatística, Jeanete, Dione, Damião, Ma-

riana e Luz, pelos maravilhosos ensinamentos, incentivo e compreensão pois du-

rante o mestrado também cursava a graduação em Estatística.

Aos professores do Departamento de Matemática, Giselle, Liliane, Claúdio, Vi-

viane Klein, Carlos Gomes, por todo o incentivo, confiança em mim depositada e

pela significativa contribuição durante a minha formação na graduação em Mate-

mática Licenciatura. Em especial, a professora Elaine, um amor de pessoa, que foi

minha professora na graduação em Matemática e no mestrado, sem palavras para

descrever o quanto já me ajudou até aqui, me ensinou e é para mim, um exemplo

de profissional extremamente competente.

Aos colegas do mestrado, Camila, Tito, Laís, Paulo, Messias, Daniel, Alexan-

dre, Bárbara, Nildo, Djackson, Jéssica Stefanny, pelos momentos de descontração

e de conhecimentos compartilhados.

Aos colegas Waldson, Eduardo e July, pelas conversas, pelas dicas com a pro-

gramação no Matlab, escrita no Latex (“Errors!”).

A Daniel, secretário do PPgMAE, pelas inúmeras vezes sempre disponível a

ajudar, por ter sido sempre competente.

Enfim, a todos aqueles que de uma forma ou de outra foram colocados por

Deus em meu caminho para me apoiar em todos os momentos.

A CAPES, pelo apoio financeiro.

Page 9: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

O SENHOR é o meu pastor; nada me faltará.

Salmos 23:1

Page 10: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

Precondicionamento do método GMRES paraZ-matrizes

Autora: Josimara Tatiane da Silva

Orientador: Dr. Nir Cohen

Coorientadora: Dra. Julia Victoria Toledo Benavides

Resumo

Este trabalho tem por objetivo investigar o comportamento de convergência do

método GMRES (Generalized Minimal RESidual) e sua versão GMRES(m), sem e

com precondicionador ILU(0) aplicado à sistemas lineares não simétricos esparsos.

Nosso interesse principal é verificar se o comportamento destes algoritmos pode ser

influenciado pela estrutura das matrizes consideradas, em particular, as Z-matrizes

e a influência da escolha do grau de esparsidade. Entre os parâmetros observados,

concentramos no raio espectral dessas matrizes, tanto como a norma do resíduo

relativo obtido por estes algoritmos.

Palavras-chave: Z-matrizes, Métodos de Krylov, GMRES, GMRES(m), Precondi-

cionador ILU(0).

Page 11: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

Preconditioning of the GMRES method forZ-matrices

Author: Josimara Tatiane da Silva

Advisor: Ph.D. Nir Cohen

Co-advisor: Ph.D. Julia Victoria Toledo Benavides

Abstract

This study aims to investigate the convergence behavior of the GMRES (Gene-

ralized Minimal Residual) method and its version GMRES(m), without and with

preconditioner ILU(0) applied to sparse non-symmetric linear systems. Our main

interest is to see if the behavior of these algorithms can be influenced by the struc-

ture of the matrices considered, in particular, the Z-matrices. Furthermore, the

influence of the choice of the degree of sparsity. Among the observed parameters,

we focus on the spectral radius of these matrices, as well as the relative residual

norm obtained by these algorithms.

Keywords : Z-matrices, Krylov Methods, GMRES, GMRES(m), ILU(0) Precon-

ditioner.

Page 12: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

Lista de figuras

1 Matriz esparsa. nz(A) é o número de elementos não nulos da matriz. p. 23

2 A ideia é buscar a solução aproximada de um sistema de equações

Ax = b em um subespaço de dimensão menor. . . . . . . . . . . p. 39

3 Projeção de r, resíduo, sobre K e ortogonal a L. . . . . . . . . . p. 40

4 Representação esquemática da condição de ortogonalidade do re-

síduo do GMRES. Essa figura é a mesma encontrada em (CAR-

VALHO et al., 2010) porém, a reproduzimos colocando tais cores. p. 41

5 spy da matriz Z1 com grau de esparsidade 90.26%. . . . . . . . p. 50

6 spy da matriz Z1 com grau de esparsidade 99.57%. . . . . . . . p. 50

7 Gráfico do grau de esparsidade × Norma residual relativa do GM-

RES. Matrizes Z1 de ordem 300. . . . . . . . . . . . . . . . . . . p. 51

8 Gráfico do grau de esparsidade × Norma residual relativa do GM-

RES(60). Matrizes Z1 de ordem 300. . . . . . . . . . . . . . . . p. 52

9 Gráfico do grau de esparsidade × Norma residual relativa do GM-

RES. Matriz K de ordem 300. . . . . . . . . . . . . . . . . . . . p. 53

10 Gráfico da norma residual relativa da matriz K × Norma residual

relativa do GMRES(60). Matriz K de ordem 300. . . . . . . . . p. 53

11 Gráfico do grau de esparsidade da matriz Z1 × Raio espectral da

matriz Z1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 54

Page 13: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

12 Gráfico do grau de esparsidade da matriz K × Raio espectral da

matriz K. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 55

13 Gráfico referente às matrizes Z1, Z2 e K com o GMRES. Matrizes

de ordem 300. . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 56

14 Gráfico referente às matrizes Z1, Z2 e K menos esparsas conside-

radas com o GMRES. Matrizes de ordem 300. . . . . . . . . . . p. 57

15 Gráfico referente às matrizes Z1, Z2 e K com o GMRES. Matrizes

de ordem 300. . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 57

16 Gráfico referente às matrizes Z1, Z2 e K menos esparsas conside-

radas com o GMRES. Matrizes de ordem 300. . . . . . . . . . . p. 58

17 Gráfico para GMRES. Problemas mais esparsos. Matrizes de or-

dem 300. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 60

18 Gráfico para GMRES. Problemas menos esparsos. Matrizes de

ordem 300. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 61

19 Gráfico para GMRES(60). Problemas mais esparsos. Matrizes de

ordem 300. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 62

20 Gráfico para GMRES(60). Problemas menos esparsos. Matrizes

de ordem 300. . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 63

21 Perfil de desempenho para o número de iterações com 50 proble-

mas envolvendo a matriz Z1. Matrizes de ordem 300. . . . . . . p. 65

22 Perfil de desempenho para o tempo com 50 problemas envolvendo

a matriz Z1. Matrizes de ordem 300. . . . . . . . . . . . . . . . p. 66

23 Perfil de desempenho para o número de iterações com 50 proble-

mas envolvendo a matriz K. Matrizes de ordem 300. . . . . . . . p. 67

24 Perfil de desempenho para o tempo com 50 problemas envolvendo

a matriz K. Matrizes de ordem 300. . . . . . . . . . . . . . . . . p. 68

Page 14: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

Lista de tabelas

1 Resultados numéricos para as matrizes Z1. . . . . . . . . . . . . p. 77

2 Continuação dos resultados numéricos para as matrizes Z1. . . . p. 79

3 Continuação dos resultados numéricos para as matrizes Z1. . . . p. 81

4 Continuação dos resultados numéricos para as matrizes Z1. . . . p. 83

5 Resultados numéricos para as matrizes K. . . . . . . . . . . . . p. 85

6 Continuação dos resultados numéricos para as matrizes K. . . . p. 87

7 Continuação dos resultados numéricos para as matrizes K. . . . p. 89

8 Continuação dos resultados numéricos para as matrizes K. . . . p. 91

Page 15: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

Lista de símbolos

Mn(R) Conjunto de todas as matrizes quadradas de ordem n com entradas reais

ge(A) Grau de esparsidade da matriz A

σ(A) Espectro de A

ρ(A) Raio espectral da matriz A

NZ(A) Conjunto das posições dos elementos não nulos da matriz A

Page 16: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

Conteúdo

1 Introdução p. 17

2 Tópicos elementares p. 20

2.1 Sistemas lineares . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20

2.1.1 Matrizes esparsas . . . . . . . . . . . . . . . . . . . . . . p. 21

2.1.2 Métodos iterativos para sistemas de equações lineares . . p. 23

2.1.2.1 Conceitos de Cálculo Numérico e de Álgebra Linear p. 26

2.2 Algumas classes matriciais importantes . . . . . . . . . . . . . . p. 29

2.3 Precondicionadores . . . . . . . . . . . . . . . . . . . . . . . . . p. 34

2.3.1 Fatoração incompleta LU (ILU) . . . . . . . . . . . . . . p. 35

2.4 Métodos de Krylov . . . . . . . . . . . . . . . . . . . . . . . . . p. 36

2.4.1 Base para subespaço de Krylov . . . . . . . . . . . . . . p. 37

2.4.2 Métodos de projeção . . . . . . . . . . . . . . . . . . . . p. 38

2.4.3 GMRES . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 41

3 Experimentos numéricos p. 45

3.1 Sobre a matriz dos coeficientes dos problemas . . . . . . . . . . p. 45

3.1.1 Propriedades estruturais . . . . . . . . . . . . . . . . . . p. 46

Page 17: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

3.1.2 Propriedades numéricas . . . . . . . . . . . . . . . . . . p. 47

3.2 Resultados numéricos . . . . . . . . . . . . . . . . . . . . . . . . p. 48

3.2.1 Configurações para as simulações numéricas . . . . . . . p. 48

3.2.2 Gráficos de dispersão . . . . . . . . . . . . . . . . . . . . p. 49

3.2.3 Análise dos resíduos para Z1, Z2 e K . . . . . . . . . . . p. 55

3.2.4 Análise dos resíduos para outras matrizes K . . . . . . . p. 58

3.3 Perfil de desempenho . . . . . . . . . . . . . . . . . . . . . . . . p. 63

4 Considerações finais p. 69

4.1 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 69

4.2 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . p. 70

Referências p. 71

Apêndice A - Tabelas p. 76

A.1 Matrizes Z1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 77

A.2 Matrizes K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 85

Apêndice B - Programação no Matlab p. 94

B.1 Geraçao dos bancos de dados . . . . . . . . . . . . . . . . . . . . p. 94

B.2 Matriz para perfil de desempenho . . . . . . . . . . . . . . . . . . p. 98

B.3 Perfil de desempenho para matriz Z1 . . . . . . . . . . . . . . . . p. 99

Page 18: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

17

1 Introdução

A resolução de sistemas lineares não simétricos de grande porte esparsos surge

em diversas áreas e entre os métodos numéricos bastante utilizados para isso

encontra-se o método GMRES (Generalized Minimal RESidual). Tem sido uma

escolha comum em Dinâmica dos Fluidos Computacional, em supercomputação

paralela, onde ocorrem simulações em grande escala, (HIGGINS, 2004).

Existem muitos problemas de diversas áreas onde a matriz dos coeficientes tem

uma estrutura especial. Por exemplo, M -matrizes aparecem em métodos de ele-

mentos finitos ou de diferenças finitas de EDPs, análise input-output em economia

e cadeias de Markov em processos estocásticos, (PLEMMONS, 1977), (RODRIGUEZ,

2012).

É conhecido que M -matrizes inversíveis e H-matrizes admitem fatoração LU

incompleta numericamente estável, (MESSAOUDI, 1995). Portanto, valeria investi-

gar se o GMRES com precondicionador LU tenha um melhor desempenho (me-

nor tempo de execução de CPU, número de iterações, norma resídual) para estas

classes, comparado com matrizes gerais. Porém, dada a matriz, é difícil verificar

se ela pertence a estas classes (POOLE; BOULLION, 1974). Assim, neste trabalho,

considera-se a classe de Z-matrizes (com diagonal positiva), onde a fatoração LU

não é garantida mas a verificação da propriedade-Z é fácil ver. Na prática, todas

as Z-matrizes de ordem 300 esparsas consideradas neste trabalho admitem esta fa-

toraçao. A classe das Z-matrizes contem a classe das M -matrizes e tem interseção

considerável com a maior classe de H-matrizes.

Page 19: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

18

Neste trabalho consideraremos quatro versões do algoritmo GMRES: GMRES

nominal; GMRES(m) obtido por reiniciar o GMRES cadam iterações; e as versões

precondicionadas destes algoritmos, usando o precondicionador LU . Estudamos a

influência da escolha do grau de esparsidade. Entre os parâmetros observados,

concentramos no raio espectral da matriz dos coeficientes, tanto como a norma do

resíduo relativo obtido por estes algoritmos.

No capítulo 2, faz-se uma breve apresentação sobre alguns tópicos preliminares

relevantes a sistemas lineares esparsos de grande porte, alguns conceitos básicos

de Álgebra Linear e Cálculo Numérico. São definidas as classes das Z-matrizes,

M -matrizes e H-matrizes, a técnica de precondicionamento; aborda-se a fatoração

LU e apresenta-se o GMRES (Método do Resíduo Mínimo Generalizado).

No capítulo 3, contêm os resultados de nossos experimentos numéricos.

Na seção 3.2, estudamos por meio de gráficos de dispersão a relação entre o

grau de esparsidade, a norma do resíduo relativo do GMRES e o raio espectral das

matrizes Z1 e Z2 (Z-matrizes) e outras matrizes quaisquer com mesmo padrão de

esparsidade dessas. Especificamente, dadas duas Z-matrizes com o mesmo padrão

de esparsidade, Z1 e Z2, consideramos a matriz K =Z1 − Z2

2, maneira de gerar

uma matriz não Z aleatória geral com o mesmo padrão como uma Z-matriz de

referência (ou seja, Z1 e Z2). Dado que os termos de Z1 e Z2 são escolhidos aleatori-

amente no intervalo [0, 1], K representa matriz sem nenhuma estrutura particular,

porém, com aproximadamente o mesmo padrão de esparsidade como Z1 e Z2.

Na seção 3.3, plotamos as curvas de convergência dos 4 algoritmos para algumas

triplas representativas das matrizes Z1, Z2 e K acima definidas, representando

graus diferentes de esparsidade.

Na Seção 3.4, consideramos outras combinações lineares K =Z1 − βZ2

1 + β(β >

0) de matrizes Z1 e Z2, plotamos as curvas de convergência e atentamos para a

influência da estrutura da matriz.

Na seção 3.5, usamos a técnica de perfil de desempenho para comparar os 4

Page 20: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

19

métodos aplicados nas várias matrizes Z1 e as correspondentes matrizes K, em

termos de tempo de CPU e número de iterações.

No Apêndice A, colocamos alguns dados técnicos referentes à geração compu-

tacional das matrizes utilizadas neste trabalho. E também, alguns dos resultados

obtidos pelos quatro métodos numéricos considerados.

No Apêndice B, temos alguns dos códigos da programação feita no MATLAB.

Page 21: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

20

2 Tópicos elementares

Neste capítulo, abordam-se alguns tópicos básicos sobre sistemas lineares, tra-

tando sobre matrizes esparsas e alguns conceitos importantes de cálculo numérico.

Em seguida, são introduzidas algumas definições de classes matriciais. Discute-se

sobre a técnica de precondicionamento e uma breve apresentação do GMRES.

2.1 Sistemas lineares

A resolução de sistemas de equações lineares é um problema que surge nas

mais diversas áreas da engenharia e da ciência. Nesta relação, dada uma matriz

A ∈ Mn(R) e um vetor b ∈ Rn, deseja-se encontrar, se existir, algum x ∈ Rn tal

que Ax = b.

Equivalentemente,

n∑j=1

aijxj = bi, i = 1, 2, . . . , n,

em n equações e n incógnitas. Se A ∈ Mn(R) é não singular, a única solução é

x = A−1b ∈ Rn.

Sistemas lineares não simétricos de grande porte esparsos surgem frequente-

mente no processo de discretização de equações diferenciais parciais (EDPs). A

resolução de sistemas lineares desse tipo pode se tornar computacionalmente in-

viável se usarmos métodos analíticos, como a regra de Cramer ou até a eliminação

Page 22: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

21

gaussiana.

Entre as alternativas de métodos de projeção usados na resolução desses siste-

mas lineares, temos o método do GMRES (Generalized Minimal RESidual) pro-

posto por (SAAD; SCHULTZ, 1986) como um método de projeção em subespaços

de Krylov. Em resumo, esse método minimiza a norma residual sobre o subespaço

de Krylov e pode ser usado na resolução de sistemas lineares de grande porte não

necessariamente simétricos, muitas vezes, mal condicionados.

Por abordar esses tipos de sistemas esparsos, nos deteremos agora a esclarecer

o conceito de matriz esparsa e definir grau de esparsidade.

2.1.1 Matrizes esparsas

Uma matriz A ∈Mm×n é dita, em geral, esparsa se a maioria de suas entradas

são nulas, em oposição às matrizes densas onde a quantidade de zeros é irrelevante.

Porém, essa definição é imprecisa por que não temos um limite inferior predefinido

da quantidade de zeros que A deve ter, em relação ao seu tamanho, para classificar

A como esparsa ou, ao contrário, densa, cheia (BIEZUNER, 2009). Existem técnicas

especiais a fim de tirar vantagem da grande quantidade de zeros e de suas posições

de modo a economizar o custo computacional quanto à armazenamento, acesso, e

algoritmos para resolução do sistema, ver (SAAD, 2003).

Para mais informações sobre outras definições de matriz esparsa e sobre "a

arte de manipular matrizes esparsas", veja (PISSANETZKY, 1984).

Várias aplicações reais da engenharia, física, matemática, pesquisa operacional,

em particular, discretização de EDPs com o método de elementos finitos ou com o

método de diferenças finitas é uma grande fonte de problemas envolvendo matrizes

esparsas. Para maiores detalhes sobre discretização de EDPs por diferenças finitas,

consultar (CUMINATO; MENEGUETTE, 2013).

"Problemas hoje considerados de grande porte envolvem milhões de equações,

Page 23: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

22

sendo a maioria destes altamente estruturados, muito esparsos", (STERN, 1994).

Para questões relacionadas a esparsidade, eliminação simétrica e assimétrica, estru-

tura e paralelismo, ver (STERN, 1994). A ordem das matrizes que frequentemente

aparecem, por exemplo, “the Google matrix, decipting connections between all web

pages on the World Wide Web, has dimensions on the order of billions”, (GREEN-

BAUM, 1997). Neste trabalho, consideram-se matrizes de ordem 300 e trata-se de

estudos preliminares sobre o GMRES(m) precondicionado aplicado à classe das

Z-matrizes.

Exemplo. 2.1 Matriz muito esparsa.

A =

0 0.1 0 0 0 0 0 2

0 0 0 0 0 0 0 0

0 0 5 0 0 0 0 0

0 0 0 0 0 0 0 6

0 0 0 0 0 0 0 1

0 0 0 0 1 0 0 0

0 0 0 0 0 0 0 0

3 0 0 0 0 0 0 0

8×8

(2.1)

Trabalharemos com grau de esparsidade e entende-se por padrão de esparsidade

como a disposição dos elementos não nulos que pode ser observado com o auxílio

do comando spy no Matlab.

Definição 2.1 (Grau de esparsidade) O grau de esparsidade de uma matriz A

ge(A) é definido como a porcentagem de elementos nulos de A:

ge(A) =n0

nT

onde n0 é o número de elementos nulos e nT é o número total de elementos.

No exemplo anterior, ge(A) = 89.0625% e o spy(A) é

Page 24: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

23

0 2 4 6 8

0

1

2

3

4

5

6

7

8

9

nz = 7

Figura 1: Matriz esparsa. nz(A) é o número de elementos não nulos da matriz.

Esses pontos no gráfico representam a posição dos elementos não nulos da

matriz.

Veremos algumas questões importantes sobre métodos iterativos e algumas

definições de Cálculo Numérico e Álgebra Linear necessários ao desenvolvimento

do trabalho.

2.1.2 Métodos iterativos para sistemas de equações lineares

Entre as técnicas utilizadas para resolver sistemas lineares de grande porte

encontram-se os métodos iterativos, que veremos a seguir.

Os métodos iterativos geram uma sequência de vetores (xk), a partir de uma

solução inicial x0 dada e espera-se, sob certas condições, que a sequência convirja

para a solução do problema. Enquanto que os métodos diretos, a menos de erros de

arredondamento, fornecem a solução exata do sistema linear, caso ela exista, após

um número finito de operações, mas ainda assim tem-se vários problemas numéricos

quanto estabilidade numérica e pivoteamente, (RUGGIERO; LOPES, 1997).

Page 25: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

24

Definição 2.2 Um método iterativo linear para resolver o sistema Ax = b é um

método da forma

xk+1 = Gxk +Nb (2.2)

onde G e N são matrizes dadas. A matriz G é chamada a matriz de iteração do

método.

Ao trabalhar com matrizes esparsas, é interessante utilizar métodos iterati-

vos devido ao fato deles preservarem a estrutura da matriz dos coefientes. Para

mais detalhes sobre vantagens e desvantagens de métodos iterativos em geral, veja

(VORST, 1993). Para métodos iterativos mais específicos, como os de Krylov, ver

(PRADA, 2010). Prada discorre sobre as principais características, as vantagens e

desvantagens desses métodos iterativos.

Definição 2.3 Seja A,R ∈ Mn(R) uma matriz, um splitting de A é uma decom-

posição aditiva A = C−R. onde C é não singular e a matriz C é chamada matriz

splitting.

Veremos que C também pode ser chamada de precondicionador.

A ideia básica do splitting é trocar o sistema Ax = b pelo algoritmo iterativo

xk+1 = C−1Rxk + C−1b, (2.3)

dado que no caso de convergência (xk → x) x é solução de Ax = b e C−1R = G é

a matriz de iteração.

Alguns algoritmos conhecidos podem ser interpretados como “splittings methods”

como os algoritmos de Jacobi e Gauss-Seidell. Além disso, existem várias estra-

tégias diferentes de splitting na literatura, veja (AXELSSON, 1996), (WOŹNICKI,

2001).

Page 26: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

25

Definição 2.4 Para métodos iterativos em geral, o erro algébrico é definido por

ek = x− xk,

e o erro residual por

rk = b− Axk.

Esses erros relacionam-se pela expressão

Aek = rk.

Considere A ∈ Mn(C). O conjunto de todos os autovalores de A é chamado o

espectro de A, denotado por σ(A) .

Definição 2.5 (Raio espectral) O raio espectral de A é dado por

ρ(A) = maxλ∈σ(A)

|λ|.

O raio espectral é importante porque informa sobre a convergência de métodos

iterativos da forma 2.3.

O próximo teorema fornece uma condição necessária e suficiente para a con-

vergência de um método iterativo.

Teorema 2.1 (BIEZUNER, 2009) Seja G a matriz de iteração do método iterativo

2.2. Então,

ek → 0 para todo vetor inicial x0 ⇔ ρ(G) < 1.

Sobre a convergência de métodos iterativos diante da tipologia dos splittings

usando apenas teoria matricial, o leitor pode consultar (AXELSSON, 1996). Nesse

texto, ademais Axelsson estuda algumas propriedades gerais de M -matrizes e fa-

mílias gerais de splittings convergentes. Também discute vários princípios para

comparar a taxa de convergência de diferentes splittings. Para uma abordagem so-

bre a convergência de alguns métodos iterativos como uma aplicação do Teorema

do Ponto Fixo, veja (ALBRECHT, 1973), (ALVES, 1999).

Page 27: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

26

Seguem algumas definições e resultados importantes que serão utilizadas nas

próximas partes do trabalho.

2.1.2.1 Conceitos de Cálculo Numérico e de Álgebra Linear

Usaremos a norma-2 vetorial, definida por ‖x‖2 =n∑i=1

√|xi|2.

Definição 2.6 Dada ‖ · ‖ uma norma vetorial em Rn, ela induz uma norma ma-

tricial através da definição

‖A‖ = max‖x‖=1

‖Ax‖. (2.4)

Definição 2.7 O número de condição de uma matriz A ∈Mn não singular, para

uma norma matricial ‖.‖ é dado por

Cond(A) = ||A||.||A−1||

.

Para a norma-2, o número de condição depende dos valores singulares σi não

negativos com i = 1, · · · , n, especificadamente, Cond(A) =σ1σn

onde σi > σi+1.

É importante observar o número de condição pois ele nos informa sobre o

quanto mal condicionado pode estar o problema Ax = b considerado. Quando o

valor do número de condição é alto, diz-se que A é mal condicionada. Isso significa

que pequenas pertubações em A ou em b podem resultar em alterações significati-

vas no vetor solução aproximado.

Definição 2.8 Dada A ∈Mn, dizemos que λ1 é um autovalor dominante de A se

|λ1| > |λi|, ∀i = 2, · · · , n.

Page 28: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

27

O Método da Potência Clássico (veja a Proposição 2.1 abaixo) é importante

para justificar o fato de uma matriz de Krylov não ser uma boa opção para uma

base para o subespaço de Krylov. Considera-se o método da potência clássico que

trata do caso onde as matrizes possuem um único autovalor dominante, isto é,

|λ1| > |λi|, ∀i = 2, · · · , n.

Proposição 2.1 (ARAUJO, 2012) Seja A ∈ Mn diagonalizável e com um único

autovalor dominante λ1. Então, para quase todo valor inicial b ∈ Rn dado, a

sequência de vetores (xk) definida por

xk+1 =Axk‖Axk‖

, para todo k = 0, 1, · · · e x0 = b

tende a um autovetor associado ao autovalor dominante de A.

Demonstração. 2.1 Suponha que A seja diagonalizável. Então, existe uma base

β = {x1, · · · , xn} de autovetores unitários de Cn. Logo, Axi = λixi para i =

1, 2, . . . , n e seja λ1 o autovalor dominante.

Dado um vetor b, podemos escrever b como uma combinação linear dos vetores

de β, ou seja,

b =n∑i=1

αixi com αi ∈ Cn e suponha α1 6= 0.

Pré-multiplicando b por Ak, tem-se

Akb =n∑i=1

αiAkxi.

Afirmação: se Av = λv então Akv = λkv.

De fato, fazendo indução sobre k, claramente, a expressão Akv = λkv é válida

para k = 1. Suponha que essa expressão vale para k. Mostremos que vale também

Page 29: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

28

para k + 1, então

Ak+1v = Ak(Av) = Ak(λv) = λ(Akv) = λ(λkv) = λk+1v.

Logo, Akv = λkv é válida.

Por essa afirmação,

Akb =n∑i=1

αiλki xi.

Pondo λk1 em evidência, tem-se

Akb = λk1

(α1x1 +

n∑i=2

αi

(λiλ1

)kxi

).

Sendo λ1 o autovalor dominante, isto é, |λ1| > |λi| para todo i = 2, · · · , n,

então(λiλ1

)< 1.

Então,(λiλ1

)k→ 0 quando k →∞ implica que

Akb

λk1→ α1x1.

Logo, xk ≈α1λ

k1x1

‖α1λk1x1‖= cx1, com c ∈ C, onde cx1 é autovetor para λ1.

A proposicao fica válida mesmo se a matriz A não for diagonalizável.

Uma exceção ocorre se α1 = 0, onde xk converge para zero. Esta é a única

exceção no caso diagonalizável; no caso não diagonalizável, de fato, a proposição

segue valendo, porém, pode acontecer que Akb = 0 para algum k, donde o algoritmo

não pode ser continuado. Pode-se ver que os vetores b para os quais α1 6= 0 e Akb

e não nulo para todo k formam um conjunto aberto e denso em Rn, justificando a

palavra ”quase” no teorema.

Page 30: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

29

2.2 Algumas classes matriciais importantes

Nesta seção, apresentamos e discutimos algumas classes de matrizes, em es-

pecial, as Z-matrizes. Muitos problemas de diversas áreas podem ser reduzidos a

problemas envolvendo matrizes com uma determinada estrutura especial e, conse-

quentemente, pertencentes a classes especiais de matrizes como as dasM -matrizes.

Definiremos tais classes que serão mencionadas durante o trabalho e em seguida,

deremo-nos a algumas questões e resultados interessantes sobre elas.

Definição 2.9 A = (aij) ∈Mn(R) é não negativa se aij > 0, ∀i, j.

Definição 2.10 A matriz P = (Pij)16i,j6n é uma matriz estocástica se

i) pij > 0 para todos i, j;

ii) Para todo i,n∑j=1

pij = 1.

Em outras palavras, todas as entradas de uma matriz estocástica são não

negativas e qualquer linha tem soma um.

O espectro de matrizes não negativas é discutido pelo Teorema de Perron-

Frobenius, veja (AXELSSON, 1996). O estudo destas matrizes é motivado pelo es-

tudo de Cadeias de Markov onde aparecem matrizes estocásticas.

Definição 2.11 A é Z-matriz se aij 6 0, ∀i 6= j.

Em outras palavras, A é Z-matriz se, e somente se, A = sI − B com s ∈ Re B não negativa. As Z-matrizes estudadas neste trabalho terão sempre diagonal

estritamente positiva.

Definição 2.12 A é M-matriz se A = sI −B com B não negativa e s > ρ(B).

Page 31: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

30

Resulta que cada M -matriz é também Z-matriz.

Alguns chamam de M -matrizes o que chamamos M -matriz inversível, veja

(MESSAOUDI, 1995).

As M -matrizes foram introduzidos em 1937 por Alexander M. Ostrowski, em

(OSTROWSKI, 1937), em (PLEMMONS, 1977).

Ainda sobre este brilhante matemático, devido à diversas contribuições em

difentes áreas da Matemática como a Álgebra Linear, Teoria dos Números, Geo-

metria, Topologia, Análise Numérica, Equações Diferenciais etc; encontra-se um

trabalho sobre "His life, work, and students"(GAUTSCHI, 2010) donde vale desta-

car:

"The theory of M -matrices and the related theory of H-matrices, stemming

from Ostrowski’s 1937 paper, have proved to be powerful tools in the analysis of

iterative methods for solving large systems of linear equations. In addition, this

theory forms the basis for the general theory of eigenvalue inclusion regions for

matrices, as in the case of the well-known Gershgorin Theorem."

De fato,M -matrizes surgem em diversos campos científicos, entre eles: métodos

de elementos finitos ou de diferenças de EDPs, análise input-output em economia

e cadeias de Markov em processos estocásticos (PLEMMONS, 1977).

Mais detalhes sobre outras classes de matrizes com inversa positiva e B-

matrizes, estreitamente relacionadas com as M -matrizes e um histórico sobre os

problemas antecedentes da área podem ser encontrados em (RODRIGUEZ, 2012).

A fatoração incompleta LU (ILU) consiste em conseguir um splitting da matriz

esparsa A em que A = LU − R, onde L é uma matriz triangular inferior e U ,

triangular superior e R é a matriz residual, idealmente com padrão predeterminado

‖R‖ << 1, ver (MEIJERINK; VORST, 1977). O caso particular clássico de fatoracao

LU , ocorre quando R = 0.

Teorema 2.2 Seja A uma Z-matriz. Então, são equivalentes:

Page 32: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

31

1. A é M-matriz invertível;

2. A possui menores principais positivos;

3. A admite fatoração LU ;

4. A−1 existe e é não negativa;

5. Existe um splitting A = C − R com C−1, N não negativas e ρ(C−1R) < 1

implicando convergência do método iterativo 2.3.

Para este resultado, veja (PLEMMONS, 1977), onde são acrescentadas outras

condições equivalentes a mais.

Definição 2.13 A matriz de comparaçãoM(A) = (bij) para uma matriz arbitrá-

ria A ∈Mn(C) com A = (aij) é definida por

bij =

|aij| se i = j

−|aij| se i 6= j.(2.5)

Em (BRU et al., 2008), na literatura sobre métodos iterativos de sistemas li-

neares, H-matrizes são amplamente utilizadas porque elas aparecem em muitas

aplicações envolvendo discretização de certas equações parabólicas não lineares e

no LPC. Além disso, H-matrizes estão intimamente relacionados comM -matrizes.

Definição 2.14 A ∈Mn(C) é uma H-matriz seM(A) é uma M-matriz.

Entre as razões pelas quais a teoria matricial é assunto de interesse da comu-

nidade científica é devido às diversas aplicações onde surgem matrizes com certas

propriedades especiais. Um exemplo importante é o problema do LPC (Problema

da Complementariedade Linear) usado em problemas logísticos de grande porte

da programação linear. Para mais detalhes, ver (MURTY; YU, 1988).

Page 33: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

32

Em 2010, no texto de Cottle, ”Over the years, many authors have compiled lists

of classes related to the LCP, and a few authors have created diagrams indicating

the inclusion relationships between most of the matrix classes known at the time“,

ver (COTTLE, 2010).

Em geral, nota-se que há muitos trabalhos direcionados à determinação de pro-

priedades das matrizes pertencentes a certa classe, mas poucos trabalhos feitos, no

sentido de mostrar diagramas de inclusões e também de se criar técnicas computa-

cionais eficientes para determinar se uma matriz pertence ou não a alguma classe.

Para mais detalhes sobre abordagens em termos de caracterizações o leitor pode

consultar os seguintes clássicos: (ROTHBLUM, 1979), (PLEMMONS, 1977).

A verificação eficiente se uma matriz pertence ou não a uma determinada classe

é uma tarefa muito importante tanto teórica como prática. Em particular, a veri-

ficação das propriedades M ou H pode ser complicada, por exemplo, por requerer

o cálculo de A−1. Não nos debruçaremos sobre esta questão. Conforme (POOLE;

BOULLION, 1974), “Most of the work in M -matrices has been in the area of deter-

mining the properties of such matrices. Some work has been done in determining

which matrices from a particular class of matrices are M -matrices.“

Em (PEÑA, 2004), é apresentado um teste estável para verificar se uma matriz

é uma M -matrix não singular. Recentemente, em (GUILLEARD; ANTONIO, 2015),

discute-se sobre determinação e caracterizações de H-matrizes, expõe um levanta-

mento sobre algoritmos propostos na literatura que buscam estabelecer de maneira

automática se uma dada matriz é ou não H-matriz.

Neste trabalho, não faremos estudos sobre questões relacionadas a esparsi-

dade, operações matriciais, invertibilidade, convergência de splittings ou métodos

iterativos envolvendo matrizes dessas classes.

Vejamos agora algumas considerações relacionadas à estabilidade da fatoração

LU baseadas nos textos de (HIGHAM, 2002), (MESSAOUDI, 1995), (IPSEN, 2009).

Page 34: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

33

Existe vasta literatura sobre a estabilidade da fatoração LU . Como parâmetro

principal, considera-se a razão

α =‖L.U‖‖A‖

(para qualquer norma matricial) onde A = LU é a fatoração dada e L e U são

obtidas de L e de U usando o valor absoluto termo a termo.

Na literatura, podemos encontrar limitantes para α para várias classes ma-

triciais intimamente relacionadas com as Z-matrizes, como as M -matrizes, as H-

matrizes, matrizes não negativas, entre outras; mas não para as Z-matrizes (onde

a fatoração LU não é garantida). Em particular, veja o seguinte teorema:

Teorema 2.3 (MESSAOUDI, 1995),(MEIJERINK; VORST, 1977) A fatoração LU

incompleta de uma H-matriz é tão estável como a fatoração LU incompleta de sua

matriz de comparaçãoM(A).

Existe também resultados sobre a estabilidade de algumas classes de matrizes

esparsas, como as matrizes de Hessenberg, de banda, em particular, para matrizes

tridiagonais. Para mais detalhes, o leitor pode consultar (SAAD, 2003).

Há muitos trabalhos sobre fatorações LU ou ILU (LU incompleta) para a clas-

ses dasM -matrizes e H-matrizes, ver (MEIJERINK; VORST, 1977). Entre eles, men-

cionamos trabalhos sobre a fatoração LU para M -matrizes (VARGA; CAI, 1981),

estatibilidade da fatoração LU para H-matrizes (AHAC; BUONI; OLESKY, 1988), so-

bre a estabilidade das fatorações LU incompletas e caracterizações de H-matrizes,

(MESSAOUDI, 1995).

Na sequência, definiremos as matrizes denotadas por K, sendo geradas de tal

forma a não serem mais Z-matrizes.

Definição 2.15 Dadas duas Z-matrizes, Z1 e Z2, e um número positivo β, pode-

Page 35: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

34

mos gerar uma matriz K da seguinte forma

K =Z1 − βZ2

1 + β.

Esta construção será útil quando formos discutir sobre a influência nos algorit-

mos numéricos quanto à estrutura das matrizes, em particular, K terá aproxima-

damente o mesmo padrão de esparsidade de Z1 e de Z2. Porém, K não será mais

Z-matriz. Para matrizes aleatórias Z1, Z2 com a mesma distribuição dos termos,

a melhor escolha a priori é β = 1 pois não teremos uma preferência quanto aos

sinais dos elementos de Z1 e de Z2.

Agora, discutiremos sobre precondicionadores onde faremos o uso da fatoração

LU incompleta.

2.3 Precondicionadores

Ao lado do splitting, outra técnica para resolver sistemas grandes, esparsos ou

mal condicionados, Ax = b, é pré- (ou pós-) multiplicação de A por uma matriz

M−1 que, de um lado, aproxima A−1 e, portanto, acelera a convergência e, por

outro lado, mais fácil de se construir assim que seu uso não torne o sistema mais

complicado ou mude suas características (e.g., esparso).

Precondicionamento é uma técnica usada para acelerar um método iterativo.

A idéia é reduzir o número de condição da matriz do sistema linear. Idealmente, o

precondicionador da matriz A é uma matrizM tal queM−1A deve ter um número

de condição menor

Cond(M−1A) < Cond(A).

Além disso, diminuir a dispersão espectral. Seu uso é indicado para matrizes mal

condicionadas e/ou de grande porte.

Algebricamente, precondicionar um sistema linear do tipo Ax = b seria aplicar

Page 36: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

35

uma das tranformações: pela esquerda,M−1Ax =M−1b; pela direita, AM−1y = b,

com M−1y = x; ou ambos os lados. No caso do GMRES, o precondicionador é

usado durante o procedimento de Arnoldi, para mais detalhes, veja (CARVALHO et

al., 2010).

Neste trabalho, a técnica de precondicionamento é usada à esquerda e considera-

se o precondicionador ILU(0) onde M = LU .

O início da história dos precondicionadores é marcado pelo trabalho de Cesari

em 1937, ver (FERRONATO, 2012), (MEDEIROS, 2014). Existem vários candidatos

de precondicionador na literatura, por exemplo, (BENZI, 2002), (VORST, 2003),

(FERRONATO, 2012), porém ainda não existe uma teoria unificada justificando o

sucesso de seu uso com quaisquer matrizes e aplicado ao GMRES. Dessa forma,

podemos tentar fazer o uso de determinados precondicionadores além do método

baseado na fatoração ILU(0) para certos problemas e tentar encontrar algum

padrão de convergência. Em geral, outras fatorações incompletas, inversa aproxi-

mada, decomposição de domínio, multigrid são alguns exemplos clássicos de classes

de precondicionadores na literatura, (CARVALHO et al., 2010), (FERRONATO, 2012).

2.3.1 Fatoração incompleta LU (ILU)

Existem várias variações desse tipo de fatoração onde se impõe certas restrições

sobre a matriz R como ter zeros em certas posições em que A tem elementos não

nulos. Entre elas, existe a fatoração de preenchimento zero (zero fill-in), ILU(0); a

fatoração ILU(l) com nível de preenchimento l, esta não descarta tantos elementos

como a ILU(0) e pode ser mais precisa; a fatoração ILU modificada,MILU ; entre

outras.

Na fatoração ILU(0), descarta-se todos os preenchimentos por coefientes não

nulos em posições originalmente nulas. Dessa forma, espera-se que o conjunto dos

elementos não nulos da matriz A e o da LU sejam iguais e assim, quanto ao número

de elementos não nulos, temos nz(A) = nz(LU) que pode ser facilmente verificado

Page 37: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

36

no MATLAB. Isto é sempre verdade quando A = LU .

Um dos motivos de fazer modificações nessa fatoração é a questão de preservar

a estrutura da matriz A tal como o grau de esparsidade após uma fatoração . É

de se esperar, muitas vezes, que ocorra um preenchimento conhecido como fill-

in onde os elementos não nulos surgem de R após a fatoração em posições na

matriz A onde originalmente tinham elementos nulos, com isso, diminui o grau

de esparsidade de A e consequentemente, exige-se mais espaço de memória para

armazenar A aumentando o custo computacional.

Sobre precondicionadores e certas classes matriciais, veja (BROYDEN; VES-

PUCCI, 2004), ”Thus if A is an M -matrix or an H-matrix, not only is incomplete

factorisation always possible but this factorisation will provide a workable pre-

conditioner. Since many important applications derived from partial differential

equations give rise to just such matrices, the results of Meijerink, van der Vorst

and Manteuffel are of very considerable practical and theoretical importance.“

Em (CHEN, 2005), Chen também relata sobre a fatoração ILU para certas

classes de matrizes.

A seguir, veremos um pouco sobre métodos de Krylov, entre eles, o GMRES,

o GMRES(m).

2.4 Métodos de Krylov

Os Métodos de Krylov são centrais no processamento de sistemas lineares de

grande porte. Por exemplo, (DONGARRA; SULLIVAN, 2000) os consideram entre

os 10 algoritmos mais importantes do século XX: ”We tried to assemble the 10

algorithms with the greatest influence on the development and practice of science

and engineering in the 20th century”. Para mais detalhes, veja (CIPRA, 2000).

Sejam A ∈Mn(R) e 0 6= b ∈Mn×1(R), define-se por:

Page 38: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

37

Definição 2.16 Sequência de Krylov

(b, Ab,A2b, . . . , Aj−1b)

Definição 2.17 Dada A ∈ Mn e um vetor não nulo b ∈ Rn, definimos o subes-

paço de Krylov por

Kj = span{b, Ab,A2b, . . . , Aj−1b}.

Definição 2.18 Matriz de Krylov

Kn×j =[b Ab A2b . . . Aj−1b

]2.4.1 Base para subespaço de Krylov

Uma matriz de Krylov Kn×j que contem uma base para o subespaço de Krylov

Kj não é adequada para a implementação numérica pois com o aumento de j as

colunas ficam mais próximas da dependência linear, pela Proposição 2.1. Suponha

λ1 seja um autovalor dominante, sendo o quocienteλk−1λ1

pequeno, espera-se um

mal condicionamento de Kn×j uma vez que duas colunas tornam-se quase linear-

mente dependentes. Assim, não basta tentar ortogonalizar a base do subespaço,

pois como os vetores são quase linearmente dependentes, o processo de ortogonali-

zação seria numericamente instável. Uma solução para esse problema será discutida

onde apresentaremos o método de Arnoldi.

Dado Ax0 = b, pela Proposição 2.1, veja que (enquanto Axj−1 6= 0)

k = j − 1 xj =Axj−1‖Axj−1‖

=Aj−1b

‖Aj−1b‖. (2.6)

O processo de Arnoldi é um algoritmo para construir uma base ortogonal do

subespaço de Krylov Kl. Uma variante desse método é a seguinte:

Algoritmo: Arnoldi

Escolha um vetor v1 , tal que ‖v1‖2 = 1

Page 39: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

38

Para j = 1, 2, · · · ,m Faça:

Calcule hij = 〈Avj, vi〉 para i = 1, 2, · · · , j

Calcule wj := Avj −j∑i=1

hijvi

hj+1,j = ‖wj‖2Se hj+1,j = 0 então Para

vj+1 =wj

hj+1,j

Fim Faça

Agora, veremos sobre métodos de projeção.

2.4.2 Métodos de projeção

A maioria dos métodos iterativos para resolução de sistemas lineares de grande

porte usam algum processo de projeção para obter, de maneira canônica, a melhor

solução aproximada dentro de um subespaço aproximado e de dimensão menor,

conhecido como subespaço de busca. Para uma visão mais geral sobre métodos de

projeção, consulte (SAAD, 2003), (ARAUJO, 2011).

Page 40: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

39

Figura 2: A ideia é buscar a solução aproximada de um sistema de equações Ax = b

em um subespaço de dimensão menor.

Veja que

xn ∈ x0 +Kk, rn ∈ ro + Ln

onde as restrições desejadas para determinar xn são dadas por

rn ⊥ Ln, L⊥n ⊕ Ln = Rn,

Kn é o subespaço de busca e Ln é o subespaço de restrição.

r0 = r0 |AKn +r0 |L⊥n= r0 |AKn +rn, r0 ∈ K⊥n .

Nosso tratatamento do subespaços de Krylov acima é baseado em (STRAKOŠ

et al., 2009).

Normalmente, a escolha é uma das seguintes: se Ln = Kn temos uma projeção

ortogonal; se Ln = AKn, a projeção é chamada oblíqua.

Page 41: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

40

Figura 3: Projeção de r, resíduo, sobre K e ortogonal a L.

Métodos que fornecem melhores aproximações em subespaços de Krylov são

conhecidos como Métodos de Krylov (MK), isto é, utilizam o subespaço de Krylov

como subespaço de busca, ver (VORST, 2003). Para uma abordagem sobre a evo-

lução desses métodos de projeção, em particular, os de Kylov, veja (EIERMANN;

ERNST, 2001).

Os métodos de Krylov para encontrar xl ∈ Kl são divididos em quatro classes

de projeção de acordo com a condição imposta, a saber,

1. de Ritz-Galerkin: Ll = Kl = (A, r0), isto é, busca xl ∈ Kl tal que rl ⊥ Kl;

2. da norma mínima residual: busca xl ∈ Kl tal que ‖rn‖2 é mínima sobre

Kl = (A, r0);

3. de Petrov-Galerkin: Ll = AKl e Kl = Kl(A, r0), isto é, busca rl ⊥ Ll e

x ∈ Kl;

4. da norma mínima do erro: Ll = Kl(AT , r0) e Kl = Kl(A, r0), isto, é deter-

mina xl ∈ ATKk(A, r0) tal que ‖xl − x‖2 seja mínima.

Note, então, que as diferentes versões dos Métodos de Krylov decorrem, prin-

cipalmente, das diferentes escolhas de Ln e do produto interno considerado. Por

Page 42: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

41

exemplo, se tomarmos a condição de Ritz-Galerkin, que define um problema a ser

resolvido, temos um algoritmo específico para tal solução, temos o FOM (Método

da Ortogonalização Completa) dependendo do produto interno considerado; se a

escolha for a condição 3., entre os métodos mais conhecidos dessa classe, temos o

GMRES, objeto de estudo desse trabalho.

Figura 4: Representação esquemática da condição de ortogonalidade do resíduo do

GMRES. Essa figura é a mesma encontrada em (CARVALHO et al., 2010) porém, a

reproduzimos colocando tais cores.

A seguir, descreveremos brevemente o GMRES.

2.4.3 GMRES

O GMRES ((SAAD; SCHULTZ, 1986)) é um método de projeção baseado em

tomar K = Km e L = AKm, no qual Km é o m-ésimo subespaço de Krylov, com

v1 =r0‖r0‖2

. É uma técnica que minimiza norma residual sobre todos os vetores

x0 +Km.

Usando a relação de Arnoldi (AVm = Vm+1Hm onde Hm é uma matriz de

Hessenberg), temos que qualquer vector x em x0 +Km pode ser escrita como

x = x0 + Vmy,

Page 43: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

42

onde y ∈ Rm. Definindo

‖b− Ax‖2 = ‖b− A(x0 + Vmy)‖2,

da relação de Arnoldi,

rm = b− Axm

= b− A(x0 + Vmym)

= r0 − AVmym

= r0 − Vm+1Hmym

= Vm+1(‖r0‖2e1 + Hmym)

Desde que as colunas de Vm+1 sejam ortonormais, então

‖rm‖2 = ‖‖r0‖2e1 − Hmym‖2

Temos então que resolver o sistema linear de ordem reduzida

Hmym = ‖r0‖2e1.

Algoritmo do GMRES(m)

1. Início: Escolha x0 e calcule r0 = b− Ax0 e v1 =r0‖r0‖

.

∗ Processo de Arnoldi.

2. Itere: Para j = 1, . . . ,m faça:

3. hij = 〈Avj, vi〉, i = 1, . . . , j,

Page 44: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

43

4. vj+1 = Avj −j∑i=1

hijvi

5. hj+1,j = ‖vj+1‖, e

6. vj+1 =vj+1

hj+1,j

7. Forme a solução aproximada: x = X0 + Vmym onde ym minimiza ||βe1−Hmym||, ym ∈ Rm, β = ||r0|| e e1 = (1, 0, · · · , 0)t um vetor.

8. Recomeço: Calcule rm = b−Axm; se o critério de convergência for satisfeito

Pare

9. senão compute x0 := xm, v1 := rm/||rm||.

10. Volte para a linha 2.

Observe que o algoritimo acima é chamado apenasGMRES quando desconsidera-

se a atualização em item 9.

O precondicionamento do GMRES à esquerda resolve

M−1Ax =M−1b

em vez de resolver Ax = b.

O precondicionamento no MATLAB é feito de modo que o precondicionador

M é dado por uma matriz ou são dadas duas matrizes M1 e M2 tais que M =

M1.M2 e aplica-se M−1Ax = M−1b à Ax = b. No caso, quando o GMRES(m) é

precondicionado com ILU(0), tem-se M1 = L e M2 = U .

No caso do GMRES(m) precondicionado com uma matriz M à esquerda, na

linha 1., inicia-se com r0 =M−1(b−Ax0) e na linha 3., no lugar de Avj, calcula-se

M−1Avj.

Sobre o uso do GMRES(m) precondicionado aplicado a sistemas lineares com

M -matrizes não singulares, encontramos o artigo do (WANG; SONG, 2009), onde os

Page 45: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

44

autores sugerem que, em geral, o GMRES(m) precondicionado funcione melhor que

o GMRES(m). Também há outro trabalho envolvendo sistemas singulares surgidos

da modelagem de cadeias de Markov onde aplica-se o GMRES(m) precondicionado

em que matriz do sistema possivelmente éM -matriz singular, (BENZI; UÇAR, 2007).

Em (VIRNIK, 2007), trabalha-se com o GMRES precondicionado para resolver

sistemas lineares grandes singulares do tipo (I − T t)x = 0 onde T é assumida

como a matriz de transição de um processo de Markov. Observe que T (matriz

estocástica) satisfaz ρ(T ) = 1 assim que I − T t é uma matriz M .

No entanto, há poucos trabalhos envolvendo o GMRES(m) precondicionado

aplicado a certas classes especiais como essas.

Sobre resultados relacionados à convergência do GMRES e do GMRES(m),

o leitor pode consultar (SAAD; SCHULTZ, 1986), (STRIKWERDA; STODDER, 1995),

(SIMONCINI; SZYLD, 2007), (MEURANT, 2012), (MEURANT, 2014), (TEBBENS et al.,

2014) e (TEBBENS; MEURANT, 2015).

Neste trabalho, encontramos alguns resultados numéricos interessantes para o

conjunto de dados que trabalhamos onde alguns padrões de repetem. No próximo

capítulo, nos deteremos a esses resultados.

Page 46: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

45

3 Experimentos numéricos

Neste capítulo, observam-se algumas relações importantes entre as proprie-

dades estruturais e numéricas da matriz dos coeficientes dos problemas Ax = b

considerados nos casos particulares em que A = Z1, A = Z2, A = K, as defi-

nições de matrizes encontram-se na seção 2.2. Em seguida, procuramos algumas

relações dessas propriedades entre o comportamento dos métodos GMRES, GM-

RES precondicionado com ILU(0), GMRES(m), GMRES(m) precondicionado com

ILU(0), quanto as variáveis consideradas: o número de iterações (nit), o tempo

de execução em segundos de CPU (time), a norma do resíduo relativo (res) e a

bandeira de convergência (flag).

Apresentaremos apenas os gráficos das variáveis que mostram alguma relação

interessante e as tabelas com os dados numéricos deste capítulo encontram-se no

Apêndice A.

3.1 Sobre a matriz dos coeficientes dos problemas

Nesta seção, serão destacadas algumas propriedades estruturais, numéricas e

espectrais das matrizes Z1, Z2 e K, onde Z1 e Z2 são Z-matrizes esparsas com o

mesmo padrão de esparsidade (NZ(Z1) = NZ(Z2)) e K =Z1 − Z2

2é matriz geral

com, essencialmente NZ(K) = NZ(Z1) = NZ(Z2) onde NZ(Z1) = {(i, j), 1 6i, j 6 n; zij 6= 0} . Esse é o conjunto das posições dos elementos não nulos da

matriz Z1. .

Page 47: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

46

3.1.1 Propriedades estruturais

Consideramos as matrizes Z1, Z2 e K estruturalmente idêntidas no sentido de

serem não simétricas (Z1 6= ZT1 ), terem elementos não nulos distintos nas mesmas

posições e, consequentemente, possuem praticamente o mesmo grau de esparsidade

após serem geradas.

Todas as matrizes Z1 deste trabalho foram geradas da seguinte forma:

1. Gera-se uma matriz “R” com densidade uniforme d ∼ U [0, 1] (densidade d

com distribuição uniforme no intervalo [0, 1]);

2. Os elementos da diagonal nulos são substituídos por números positivos ale-

atórios com a mesma densidade e os negativos são substituídos por menos o

módulo de seu valor;

3. Feitas tais modificações na matriz R, tem-se a matriz Z1.

E assim, foi contruída a matriz Z1 (Z-matriz).

Para as matrizes Z2, temos:

1. Gera-se uma matriz “S” com a mesma densidade d de Z1;

2. É feito o mesmo processo 2 feito para a matriz Z1, porém, acrescenta-se a

condição que para os elementos não nulos fora da diagonal estes estejam nas

mesmas posições da matriz Z1 e os elementos positivos fora da diagonal são

substituídos pelos seus negativos. Caso, não estejam, esses números não nulos

são substituídos por zero.

3. Feitas tais modificações na matriz S, obtem-se a matriz Z2.

O objetivo de acrescentar tal condição no item 2 é que a matriz K (combinação

linear de Z1 e de Z2) tenha praticamente mesma esparsidade de Z1 e Z2 para

possibilitar certas comparações da variação do grau de esparsidade com outras

Page 48: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

47

variáveis consideradas neste trabalho. A ideia é que estejamos trabalhando com o

mesmo grau para Z1, Z2 e a combinação linear destas que é a matriz K.

Note que quando gera-se a matriz Z1 e suponha que gerassemos a Z2 da mesma

forma que a Z1 sem acrescentar tal condição no item 2., embora que com a mesma

densidade da Z1, teríamos K muito mais densa.

Exemplo. 3.1

Z1 =

0.2 0 −0.70 0.25 0

0 0 0.5

Z2 =

0.3 0 0

−0.1 0.2 0

0 0 0.9

(3.1)

Se K = 0.5Z1 − 0.5Z2, tem-se

K =

−0.1 0 −0.350.05 0.025 0

0 0 −0.2

(3.2)

Nesse caso, Z1 e Z2 mas K não tem o mesmo grau de esparsidade. E isso

dificultaria certas comparações importantes. Portanto, a condição do padrão de

esparsidade no item 2 para Z2 evita este aumento de densidade K.

3.1.2 Propriedades numéricas

Sobre as propriedades numéricas para as matrizes Z1, Z2 e K, atentaremos

para o grau de esparsidade (ge(·)) e o número de condicionamento (cond(·)).

Note que à medida que o valor da densidade (d) aumenta, o grau de esparsidade

(ge) diminui e assim, as matrizes ficarão menos esparsas. São medidas inversamente

proporcionais pois a densidade trata da razão entre o número de elementos não

nulos e o número total de elementos da matriz, já o grau de esparsidade é a

razão entre o número de elementos nulos e o número total de elementos da matriz

Page 49: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

48

multiplicado por 100 para sair o valor em %.

Como foram feitas modificações nas matrizes geradas aleatoriamente com certa

densidade d trocando-se elementos nulos por não nulos na diagonal das matrizes

geradas, calculamos também o grau de esparsidade. Optamos, então, por usar

apenas o grau de esparsidade da matriz devido a essas alterações.

3.2 Resultados numéricos

Apresentaremos os principais resultados obtidos, levando em conta diversas

análises. Todos os experimentos numéricos foram realizados no software MA-

TLAB R2013, 64-bit, instalado em uma máquina com processador Intel Core i5

2.60GHz×4 e 4Gb de memória RAM.

3.2.1 Configurações para as simulações numéricas

A tolerância tol usada para o GMRES em todos as simulações numéricas foi

de‖rk‖2‖b‖

= 10−6.

Para as matrizes de ordem 300, sempre que trabalhamos com o GMRES(m)

precondicionado ou não, utilizamos m = 60. Adotamos arbitrariamente esse valor

e assim, foi fixado tal valor para todos os problemas. A norma do resíduo relativo

é dada por‖b− Ax‖2‖b‖2

. Para o GMRES(m), precondicionado ou não, fixamos em

10 o número máximo de iterações seguindo a opcão DEFAULT de MATLAB. Para

cada sistema, a solução exata é conhecida e o erro obtido em relação a solução

exata pode ser visto nas tabelas apresentadas no Apêndice A. O erro é dado por‖x− x∗‖2‖x∗‖2

onde x é a solução exata do problema e x∗ é a solução aproximada

obtida pelo método considerado.

A configuração utilizada para a fatoração ILU(0) no MATLAB encontra-se no

Apêndice B onde constam os códigos com a programação feita no MATLAB.

Page 50: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

49

Denotaremos apenas por

1. GMRES(60) para o método GMRES(60) sem precondicionador;

2. GMRES(60)/ILU(0) para GMRES(60) precondicionado com ILU(0);

3. GMRES para o método GMRES sem precondicionador;

4. GMRES/ILU(0) para GMRES precondicionado com ILU(0).

As barras coloridas ao lado dos gráficos de dispersão exibem o mapa de cores

corrente e indicam o mapeamento dos valores dos graus de esparsidade para o

mapa de cores. Ou seja, cada ponto colorido representa um problema diferente

onde a essa cor indica o grau de esparsidade do problema considerado.

Apresentaremos agora os resultados que obtivemos.

3.2.2 Gráficos de dispersão

Apresentaremos os gráficos onde encontramos relações significativas entre o

raio espectral das matrizes dos coeficientes, o grau de esparsidade e as normas do

resíduo relativo para as matrizes Z1, Z2 e K. Como os resultados para as matrizes

Z2 foram no estilo dos resultados para as matrizes Z1, então, por esse motivo,

vamos expor apenas tais resultados para as matrizes Z1 e K.

Para o conjunto de todas matrizes de ordem 300 usadas neste trabalho, temos

matrizes Z1, Z2 e K, onde cada uma das 50 triplas dessas de matrizes tem um

certo grau de esparsidade. E, por sua vez, essas triplas tem grau de esparsidade

variando de 90.26% a 99.57%. Para cada tripla, geramos um vetor aleatório b com

densidade uniforme em [0, 1] e o chute inicial x0 é o vetor nulo, onde resolveremos

os sistemas Z1x = b, Z2x = b e Kx = b, no caso, por 4 métodos numéricos.

Sobre o padrão de esparsidade, veja os spy’s de duas matrizes Z1, a primeira

matriz é que tem o menor grau de esparsidade e segunda é a que tem o maior grau.

Page 51: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

50

0 50 100 150 200 250 300

0

50

100

150

200

250

300

nz = 8764

Figura 5: spy da matriz Z1 com grau de esparsidade 90.26%.

0 50 100 150 200 250 300

0

50

100

150

200

250

300

nz = 390

Figura 6: spy da matriz Z1 com grau de esparsidade 99.57%.

Para as matrizes Z1, encontramos uma relação entre as variáveis grau de espar-

sidade e a norma do resíduo relativo quando aplicado o GMRES ou GMRES(60)

aos problemas Z1x = b, onde temos 50 matrizes Z1 com o grau de esparsidade

variando no intervalo mencionado acima. Isto é, quando a matriz torna-se mais es-

parsa, a norma do resíduo relativo também aumentou. Isto sugere uma influência

Page 52: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

51

do grau de esparsidade quanto aos resíduos obtidos pelo GMRES ou GMRES(60).

Nos casos em que fizemos o uso de precondicionador, não observamos tais relações.

90 91 92 93 94 95 96 97 98 99 1000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1x 10

−6

Grau de esparsidade

Norm

a d

o r

esid

uo

rela

tivo

Z1 − GMRES

91

92

93

94

95

96

97

98

99

Figura 7: Gráfico do grau de esparsidade × Norma residual relativa do GMRES.

Matrizes Z1 de ordem 300.

Observamos, no gráfico acima, que quanto mais esparsos os problemas, maiores

foram os valores das normas do resíduos relativos quando utilizamos o GMRES

para essas Z-matrizes. Nota-se uma relação não linear um pouco acentuada.

Page 53: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

52

90 91 92 93 94 95 96 97 98 99 1000

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

Grau de esparsidade

No

rma d

o r

esid

uo r

ela

tivo

Z1 − GMRES(60)

91

92

93

94

95

96

97

98

99

Figura 8: Gráfico do grau de esparsidade × Norma residual relativa do GM-

RES(60). Matrizes Z1 de ordem 300.

Ainda há uma relação não linear bastante acentuada. Quanto mais esparsos

foram os problemas, maiores foram os resíduos. O que sugere que a esparsidade

dos problemas exerce alguma influência na norma do resíduo relativo do método

considerado.

Page 54: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

53

90 91 92 93 94 95 96 97 98 99 1000

1

2

3

4

5

6

7

8

9x 10

−7

Grau de esparsidade

No

rma d

o r

esid

uo r

ela

tivo

K − GMRES

91

92

93

94

95

96

97

98

99

Figura 9: Gráfico do grau de esparsidade × Norma residual relativa do GMRES.

Matriz K de ordem 300.

Para a matriz K, note que o resíduo não oscilou muito e ficou muito alto,

mesmo com a esparsidade variando.

90 91 92 93 94 95 96 97 98 99 1000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Grau de esparsidade

Norm

a d

o r

esid

uo

rela

tivo

K − GMRES(60)

91

92

93

94

95

96

97

98

99

Figura 10: Gráfico da norma residual relativa da matriz K × Norma residual

relativa do GMRES(60). Matriz K de ordem 300.

Page 55: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

54

Veja no gráfico acima que não há muita oscilação da norma do resíduo relativo

à medida que varia-se o grau de esparsidade e os valores dessas normas foram

muito altos. As matrizes K, que não pertencem mais ao conjunto das Z-matrizes,

não apresentam resultados tão bons no sentido de poder sugerir relações lineares

ou não lineares fortes entre essas variáveis. Isso é bastante notável ao observarmos

as figuras 8 e 10. Assim, ressaltamos a forte influência da estrutura matricial nos

resultados obtidos a fim de encontrar certos “padrões”.

Também observamos uma relação linear forte entre o grau de esparsidade das

matrizes e o raio espectral da matriz ρ(Z1) para as matrizes Z1.

90 91 92 93 94 95 96 97 98 99 1000

2

4

6

8

10

12

14

Grau de esparsidade

Raio

espectr

al da m

atr

iz Z

1

Z1

91

92

93

94

95

96

97

98

99

Figura 11: Gráfico do grau de esparsidade da matriz Z1 × Raio espectral da matriz

Z1.

Veja que quando a matriz é mais esparsa, o ρ diminui.

Para as matrizes K como se pode observar no gráfico abaixo:

Page 56: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

55

90 91 92 93 94 95 96 97 98 99 1000.4

0.5

0.6

0.7

0.8

0.9

1

1.1

1.2

1.3

Grau de esparsidade

Ra

io e

spe

ctr

al d

a m

atr

iz K

K

91

92

93

94

95

96

97

98

99

Figura 12: Gráfico do grau de esparsidade da matriz K × Raio espectral da matriz

K.

Veja que quando a matriz é mais esparsa, o ρ diminui, porém há maior varia-

bilidade nos dados do que para a matriz Z1.

Se plotarmos, o gráfico com o raio espectral dessas matrizes Z1 pela norma

do resíduo obtido pelo GMRES ou GMRES(60), teremos gráficos no estilo dos

anteriores a esses dois gráficos acima. Isso acontece por conta dessa relação linear

que há esse raio espectral e o grau de esparsidade.

Os gráficos de dispersão apresentados mostram similaridade dos resultados

obtidos com o GMRES e o GMRES(60). No mesmo tempo, eles mostram uma

diferença significativa entre as matrizes Z1 e as matrizes K.

3.2.3 Análise dos resíduos para Z1, Z2 e K

A seguir, plotaremos as curvas de convergência para a tripla de matrizes (Z1,

Z2,K) no mesmo gráfico que possuem o mesmo grau de esparsidade.

A partir do primeiro gráfico dos 50 plotados, observamos um certo padrão

Page 57: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

56

nas curvas de convergência dessas triplas para o GMRES ou para o GMRES(60).

Notamos qua à medida que as matrizes ficam menos esparsas, a curva da matriz

K tende a se afastar das curvas das matrizes Z1 e Z2.

Veja o gráfico envolvendo as matrizes mais esparsas:

0 50 100 150 200 250 30010

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Numero de iteracoes

No

rma d

o r

esid

uo r

ela

tivo

GMRES aplicado a matrizes com ge(⋅)=99.5667%

Z1

Z2

K

Figura 13: Gráfico referente às matrizes Z1, Z2 e K com o GMRES. Matrizes de

ordem 300.

E nos casos de matrizes menos esparsas, o estilo dos gráficos é parecido com

esse abaixo

Page 58: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

57

0 50 100 150 200 250 30010

−5

10−4

10−3

10−2

10−1

100

Numero de iteracoes

No

rma d

o r

esid

uo r

ela

tivo

GMRES aplicado a matrizes com ge(⋅)=90.2533%

Z1

Z2

K

Figura 14: Gráfico referente às matrizes Z1, Z2 e K menos esparsas consideradas

com o GMRES. Matrizes de ordem 300.

Averiguamos que algo semelhante aconteceu para esses mesmos casos anterio-

res, porém, considerando o GMRES(60).

0 50 100 150 200 250 300 35010

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Numero de iteracoes

Norm

a d

o r

esid

uo

rela

tivo

GMRES(60) aplicado a matrizes com ge(⋅)=99.5667%

Z1

Z2

K

Figura 15: Gráfico referente às matrizes Z1, Z2 e K com o GMRES. Matrizes de

ordem 300.

Page 59: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

58

E nos casos de matrizes menos esparsas, o estilo dos gráficos é parecido com

esse abaixo

0 50 100 150 200 250 300 35010

−2

10−1

100

Numero de iteracoes

No

rma d

o r

esid

uo r

ela

tivo

GMRES(60) aplicado a matrizes com ge(⋅)=90.2533%

Z1

Z2

K

Figura 16: Gráfico referente às matrizes Z1, Z2 e K menos esparsas consideradas

com o GMRES. Matrizes de ordem 300.

É notável que nestes gráficos as diferenças em padrão de convergência entre as

duas classes de matrizes. Z1, Z2 de um lado (Z-matrizes) e K do outro lado (não

Z-matrizes).

A seguir, consideraremos outras combinações lineares das matrizes Z1 e Z2.

3.2.4 Análise dos resíduos para outras matrizes K

Nesta seção, analizaremos de forma similar a seção anterior, mas acrescen-

tando 4 novas matrizes. Veremos o que acontece quando perturbamos gradativa-

mente uma matriz K. Então, aos gráficos anteriores, acrescentaremos essas 4 novas

matrizes.

Considere as seguintes matrizes dadas por

Page 60: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

59

K4 =Z1 − 4Z2

1 + 4

K2 =Z1 − 2Z2

1 + 2

K1/2 =Z1 − 0.5Z2

1 + 0.5

K1/4 =Z1 − 0.25Z2

1 + 0.25.

No caso, consideramos β = 4, 2,1

2,1

4de acordo com a expressão 2.6.

Enfatizamos o quanto a estrutura do problema influência bastante nas curvas

de convergência conforme esperávamos. Pois quanto mais “próxima” a estrutura da

matriz K for da matriz Z1 (ou Z2) mais próxima será sua curva de convergência

da matriz Z1. No caso, a matriz K1/4 se aproxima da matriz Z1 e a curva de

convergência da matriz K1/4 tende a ficar mais próxima da matriz Z1 do que a

curva da matriz K.

Abaixo, considerando os problemas mais esparsos aos menos esparsos, vejamos

o gráfico do oitavo problema mais esparso para o método GMRES.

Page 61: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

60

0 50 100 150 200 250 30010

−7

10−6

10−5

10−4

10−3

10−2

10−1

100

Numero de iteracoes

Norm

a d

o r

esid

uo r

ela

tivo

GMRES sem precondicionador − ge(.)=98.1833%

Z1

Z2

K4

K2

K

K1/2

K1/4

Figura 17: Gráfico para GMRES. Problemas mais esparsos. Matrizes de ordem

300.

A partir do oitavo gráfico, observe que as curvas das matrizesK4, K2, K1/2, K1/4

ficam próximas das curvas de Z1 e de Z2, enquanto que a curva da matriz K se

mantem mais afastada das demais e o número de iterações do GMRES para esta

matriz é maior do que o das demais nos casos mais esparsos.

Em seguida, veja o caso dos problemas menos esparsos.

Page 62: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

61

0 50 100 150 200 250 30010

−6

10−5

10−4

10−3

10−2

10−1

100

Numero de iteracoes

Norm

a d

o r

esid

uo r

ela

tivo

GMRES sem precondicionador − ge(.)=90.2533%

Z1

Z2

K4

K2

K

K1/2

K1/4

Figura 18: Gráfico para GMRES. Problemas menos esparsos. Matrizes de ordem

300.

Observamos que a curva da matriz K está quase sempre acima das demais

em todos os problemas considerados, desde os problemas mais esparsos até os

menos esparsos. Além disso, observe que quanto menos esparsos os problemas, mais

iterações ocorreram usando GMRES para todas as matrizes. Ou seja, à medida que

variou o grau de esparsidade das matrizes K4, K2, K1/2, K1/4, Z1, Z2 (do caso mais

esparso para o menos esparso), notamos um aumento no número de iterações do

GMRES para os problemas envolvendo estas matrizes. Quanto a matrizK, tivemos

sempre um número elevado de iterações, em torno de 300, não influenciando a

variação do grau de esparsidade dos 50 problemas considerados envolvendo essa

matriz.

Page 63: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

62

Agora, vejamos o quinto gráfico dos problemas mais esparsos para o método

GMRES(60).

0 50 100 150 200 250 300 350

100

Numero de iteracoes

Resid

uo r

ela

tivo

gmres(60) sem precondicionador − ge(.)=98.7778%

Z1

Z2

K4

K2

K

K1/2

K1/4

Figura 19: Gráfico para GMRES(60). Problemas mais esparsos. Matrizes de ordem

300.

A partir desse gráfico, observamos que as curvas das matrizesK4, K2, K1/2, K1/4

ficam próximas das curvas de Z1 e de Z2, ocorrendo estagnação depois da iteração

70, aproximadamente.

Em seguida, veja o caso dos problemas menos esparsos.

Page 64: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

63

0 50 100 150 200 250 300 35010

−2

10−1

100

Numero de iteracoes

Re

sid

uo

rela

tivo

gmres(60) sem precondicionador − ge(.)=90.2533%

Z1

Z2

K4

K2

K

K1/2

K1/4

Figura 20: Gráfico para GMRES(60). Problemas menos esparsos. Matrizes de or-

dem 300.

Nesse caso dos problemas menos esparsos, temos praticamente a mesma situ-

ação do gráfico anterior (Figura 19), porém a curva da matriz K ficou ainda mais

distante das demais.

Para o GMRES(60) ou o GMRES ambos com precondicionador ILU(0) não

observamos tais relações.

Portanto, observamos por meio desses gráficos que pequenas pertubações nas

Z-matrizes não influenciam muito nas curvas de convergência para o GMRES (ou

GMRES(m)) sem precondicionador.

3.3 Perfil de desempenho

A ideia do perfil de desempenho é avaliar e comparar o desempenho do conjunto

de algoritmos S em um conjunto de testes P . Segue uma breve apresentação desse

método extraído do artigo onde foi proposto (DOLAN; MORÉ, 2002).

Assuma que temos ns solvers e np problemas. Estamos interessados em avaliar,

Page 65: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

64

por exemplo, o tempo de CPU como uma medida de desempenho. Para cada

problema p e solver s, definimos

tp,s = tempo necessário de processamento para resolver o problema p por s solvers.

A fim de comparar o desempenho no problema p pelo solver s com melhor

desempenho por qualquer solver aplicado a este problema, usamos o raio de de-

sempenho dado por

rp,s =tp,s

min{tp,s; s ∈ S}.

Assuma que parâmetro rM > rp,s para todo p, s escolhidos e rp,s = rM se, e

somente se, o solver s não soluciona o problema p.

Deseja-se obter uma avaliação global do desempenho do solver. Se definirmos

ρs(τ) =1

np#{p ∈ P ; rp,s 6 τ},

então ρs é a probabilidade do solver s ∈ S que do raio de desempenho rp,sé com um fator τ ∈ R do melhor raio possível. A função ρs é uma função de

distribuição acumulada para o raio de desempenho.

O perfil de desempenho ρs : R→ [0, 1] para um solucionador é não decrescente,

constante por partes e contínua à direita em cada ponto de descontinuidade. O

valor de ρs(1) é a probabilidade que o solver ganhou sobre o restante dos solvers.

Assim, se estamos interessados apenas no número de vitórias, precisamos apenas

para comparar os valores de ρs(1) para todos os solucionadores.

Veja os gráficos de perfil de desempenho para 50 problemas Z1x = b resolvidos

por quatro métodos numéricos (listados no Apêndice A).

Page 66: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

65

10 20 30 40 50 600

0.2

0.4

0.6

0.8

1

τ

ρ

s(τ

)

Z1 − Numero de iteracoes

GMRES(60)

GMRES(60)/ILU(0)

GMRES

GMRES/ILU(0)

Figura 21: Perfil de desempenho para o número de iterações com 50 problemas

envolvendo a matriz Z1. Matrizes de ordem 300.

A curva que apresenta o menor numero de iterações é a do GMRES/ILU(0). As-

sim, com relação ao número de iterações, quando τ = 1, veja que o GMRES/ILU(0)

foi melhor, seguido do GMRES(60)/ILU(0) com mais de 95%. Em seguida, temos

o GMRES com um pouco mais de 15%. Notemos que o GMRES e o GMRES(60)

resolveram cerca de 30% dos problemas apenas.

Page 67: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

66

2 4 6 8 10 120

0.2

0.4

0.6

0.8

1

τ

ρ

s(τ

)

Z1 − Tempo

GMRES(60)

GMRES(60)/ILU(0)

GMRES

GMRES/ILU(0)

Figura 22: Perfil de desempenho para o tempo com 50 problemas envolvendo a

matriz Z1. Matrizes de ordem 300.

Nos experimentos numéricos, consideramos o tempo gasto de apenas uma exe-

cução do algoritmo.

Os valores à esquerda com τ = 1 no gráfico mostram que o GMRES/ILU(0)

alcançou solução ótima em mais de 80% dos problemas envolvendo as matrizes Z1

utilizando menor tempo de execução de CPU(s) se comparado aos demais métodos.

Em seguida, temos o GMRES com um pouco mais de 15%.

Agora, vejamos os gráficos para os problemas Kx = b. Para as matrizes K

temos praticamente as mesmas observações feitas para as matrizes Z1.

Page 68: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

67

10 20 30 40 50 600

0.2

0.4

0.6

0.8

1

τ

ρ

s(τ

)

K − Numero de iteracoes

GMRES(60)

GMRES(60)/ILU(0)

GMRES

GMRES/ILU(0)

Figura 23: Perfil de desempenho para o número de iterações com 50 problemas

envolvendo a matriz K. Matrizes de ordem 300.

Os valores à esquerda com τ = 1 no gráfico mostram que o GMRES/ILU(0)

alcançou solução ótima em 100% dos problemas envolvendo as matrizes K uti-

lizando menor número de iterações se comparado aos demais métodos, seguido

do GMRES(60)/ILU(0) com um pouco mais de 95%. Observe que o GMRES e o

GMRES(60) resolveram cerca de 40% dos problemas apenas.

Page 69: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

68

2 4 6 8 10 120

0.2

0.4

0.6

0.8

1

τ

ρ

s(τ

)

K − Tempo

GMRES(60)

GMRES(60)/ILU(0)

GMRES

GMRES/ILU(0)

Figura 24: Perfil de desempenho para o tempo com 50 problemas envolvendo a

matriz K. Matrizes de ordem 300.

Os valores à esquerda com τ = 1 no gráfico mostram que o GMRES(60)/ILU(0)

alcançou solução ótima em mais de 80% dos problemas envolvendo as matrizes K

utilizando menor tempo de execução de CPU(s) se comparado aos demais métodos.

Em seguida, temos o GMRES/ILU(0) com um pouco mais de 18%.

Observamos, então, que o método GMRES/ILU(0) e GMRES(60) foram os

melhores com relação ao tempo e também como relação ao número de iterações.

Isso tanto para as matrizes Z1 com para as matrizes K.

E sobre as tabelas 2, 4, 6 e 8 (veja Apêndice A), nota-se que houve con-

vergência para a maioria dos problemas onde usamos GMRES/ILU(0) e o GM-

RES(60)/ILU(0), ver figuras 21, 22, 23, 24. O que reforça a importância do uso de

precondicionadores.

Page 70: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

69

4 Considerações finais

4.1 Conclusão

Neste trabalho, consideramos algumas versões do algoritmo GMRES para ma-

trizes esparsas de ordem 300 de dois tipos: Z-matrizes e as matrizes K delas cons-

truídas. Consideramos matrizes de vários graus de esparsidade criadas de forma

aleatória dentro de seu respectivo padrão de esparsidade.

Nossa observação principal é que a taxa de convergência dos algoritmos sem

condicionador foi bem maior para as Z-matrizes, ou seja, as matrizes “estrutura-

das”, comparando com as matrizes K. Vale mencionar que esta diferença dimunuiu

à medida que aumentou a esparsidade das matrizes, e nao foi observada em maneira

clara na versão com precondicionador.

Observou-se também uma relação não linear entre o grau de esparsidade e o

resíduo obtido pelo GMRES e pelo GMRES(60) sem precondicionador incluindo

todos os problemas (convergiram ou não) envolvendo a matriz Z. Para as matrizes

K, esse fenômeno não é muito acentuado; ao passo que entre o grau de esparsidade

e o raio espectral das matrizes dos coeficientes observa-se uma relação linear.

Podemos concluir dos graficos de pefil dedesempenho 22 e 24 (tempo) que os

metodos de GMRES(60)/ILU(0) e GMRES/ILU(0) apresentaram melhor desem-

penho no que se refere a otimalidade. Eles tiveram menor tempo de resolução.

Por outro lado cabe destacar que o desempenho do metodo GMRES(60)/ILU(0)

Page 71: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

70

foi o que apresentou melhor desempenho quanto à otimalidade e robustez. Como

pode ser observado nos gráficos da seção 3.3. Em todos os casos a curva do GM-

RES(60)/ILU(0) (curva azul) está acima das demais e da curva referente ao mé-

todo GMRES(60) (curva vermelha). Com isto temos uma gama de exemplos de

Z-matrizes e K-matrizes esparsas onde o uso de precondicionadores se mostrou

mais eficiente quando comparada a um método sem precondicionador.

4.2 Trabalhos futuros

Ver outras variações dos métodos numéricos envolvidos: outros métodos de

Krylov; outras técnicas de precondicionamento, por exemplo, ver outras versões

da fatoração LU incompleta para esses problemas; variações no valor dom. Investi-

gar outras classes matrizes e sua influência sobre esses algoritmos. Complementar

o estudo atual acrescentando mais testes numéricos envolvendo outras matrizes

provenientes de algum banco de dados, por exemplo, UF Sparse Matrix Collec-

tion.

Realizar experimentos numéricos nos mesmos cenários mas considerando ma-

trizes de ordens diferentes para ver se tais observações feitas para as matrizes

pequenas (de ordem 300) também serão mantidas para essas com nova ordem.

Fazer o uso de uma técnica estatística chamada análise de variância a fim de

analisar com uma riqueza maior de detalhes e de forma mais precisa os vários

dados obtidos neste trabalho. E também, comparar com as conclusões tiradas com

o perfil de desempenho.

Page 72: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

71

Referências

AHAC, A. A.; BUONI, J. J.; OLESKY, D. Stable LU factorization of H-matrices.Linear Algebra and its Applications, Elsevier, v. 99, p. 97–110, 1988.

ALBRECHT, P. Análise numérica: um curso moderno. [S.l.]: LTC, 1973.

ALVES, C. J. Fundamentos de Análise Numérica. Associaçao dos Estudantes doInstituto Superior Técnico-Secçao de Folhas, 1999.

ARAUJO, F. O. d. Método de Projeções Ortogonais. Universidade Federal doRio Grande do Norte, 2011.

ARAUJO, T. J. d. Métodos numéricos para resolução de equações diferenciaisordinárias lineares baseados em interpolação por spline. Universidade Federal doRio Grande do Norte, 2012.

AXELSSON, O. Iterative solution methods. [S.l.]: Cambridge university press,1996.

BENZI, M. Preconditioning techniques for large linear systems: a survey. Journalof computational Physics, Elsevier, v. 182, n. 2, p. 418–477, 2002.

BENZI, M.; UÇAR, B. Block triangular preconditioners for M-matrices andMarkov chains. Electronic Transactions on Numerical Analysis, v. 26, p. 209–227,2007.

BIEZUNER, R. J. Notas de Aula Algebra Linear Numérica. 2009.

BROYDEN, C. G.; VESPUCCI, M. T. Krylov Solvers for Linear AlgebraicSystems: Krylov Solvers. [S.l.]: Elsevier, 2004.

BRU, R. et al. Classes of general H-matrices. Linear Algebra and Its Applications,Elsevier, v. 429, n. 10, p. 2358–2366, 2008.

CARVALHO, L. M. et al. Álgebra Linear Numérica e Computacional - Métodosde Krylov para a Solução de Sistemas Lineares. Ciência Moderna, 2010.

Page 73: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

72

CHEN, K. Matrix preconditioning techniques and applications. [S.l.]: CambridgeUniversity Press, 2005.

CIPRA, B. A. The best of the 20th century: editors name top 10 algorithms.SIAM news, v. 33, n. 4, p. 1–2, 2000.

COTTLE, R. W. A field guide to the matrix classes found in the literature of thelinear complementarity problem. Journal of Global Optimization, Springer, v. 46,n. 4, p. 571–580, 2010.

CUMINATO, J. A.; MENEGUETTE, M. Discretização de equações diferenciaisparciais: técnicas de diferenças finitas. [S.l.: s.n.], 2013.

DOLAN, E. D.; MORÉ, J. J. Benchmarking optimization software withperformance profiles. Mathematical programming, Springer, v. 91, n. 2, p.201–213, 2002.

DONGARRA, J.; SULLIVAN, F. Guest editors’ introduction: The top 10algorithms. Computing in Science & Engineering, AIP Publishing, v. 2, n. 1, p.22–23, 2000.

EIERMANN, M.; ERNST, O. G. Geometric aspects of the theory of Krylovsubspace methods. Acta Numerica 2001, Cambridge Univ Press, v. 10, p. 251–312,2001.

FERRONATO, M. Preconditioning for sparse linear systems at the dawn ofthe 21st century: history, current developments, and future perspectives. ISRNApplied Mathematics, Hindawi Publishing Corporation, 2012.

GAUTSCHI, W. Alexander M. Ostrowski (1893–1986): His life, work, andstudents. math. ch/100, p. 257–278, 2010.

GREENBAUM, A. Iterative methods for solving linear systems. [S.l.]: Siam, 1997.

GUILLEARD, S.; ANTONIO, J. Determinación y propiedades de H-matrices.Tese (Doutorado), 2015.

HIGGINS, J. Introducing GMRes: a simple analysis of the algorithm. Tese(Doutorado) — Master’s thesis, South Dakota School of Mines and Technology,Rapid City, South Dakota 57701, 2004.

HIGHAM, N. J. Accuracy and stability of numerical algorithms. [S.l.]: Siam, 2002.

IPSEN, I. C. Numerical matrix analysis: Linear systems and least squares. [S.l.]:Siam, 2009.

Page 74: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

73

MEDEIROS, E. N. d. NI-GMRES precondicionado. Universidade Federal do RioGrande do Norte, 2014.

MEIJERINK, J. A.; VORST, H. A. van der. An iterative solution methodfor linear systems of which the coefficient matrix is a symmetric M-matrix.Mathematics of computation, v. 31, n. 137, p. 148–162, 1977.

MESSAOUDI, A. On the stability of the incomplete LU-factorizations andcharacterizations of H-matrices. Numerische Mathematik, Springer, v. 69, n. 3, p.321–331, 1995.

MEURANT, G. The complete stagnation of GMRES for n 6 4. ElectronicTransactions on Numerical Analysis, v. 39, p. 75–101, 2012.

MEURANT, G. Necessary and sufficient conditions for GMRES complete andpartial stagnation. Applied Numerical Mathematics, Elsevier, v. 75, p. 100–107,2014.

MURTY, K. G.; YU, F.-T. Linear complementarity, linear and nonlinearprogramming. [S.l.]: Citeseer, 1988.

OSTROWSKI, A. Über die Determinanten mit überwiegender Hauptdiagonale.Commentarii Mathematici Helvetici, Springer, v. 10, n. 1, p. 69–96, 1937.

PEÑA, J. A stable test to check if a matrix is a nonsingular M-matrix.Mathematics of computation, v. 73, n. 247, p. 1385–1392, 2004.

PISSANETZKY, S. Sparse Matrix Technology-electronic edition. [S.l.]: AcademicPress, 1984.

PLEMMONS, R. J. M-matrix characterizations. I–nonsingular M-matrices.Linear Algebra and its Applications, Elsevier, v. 18, n. 2, p. 175–188, 1977.

POOLE, G.; BOULLION, T. A survey on M-matrices. SIAM review, SIAM,v. 16, n. 4, p. 419–427, 1974.

PRADA, R. B. Um Solucionador Iterativo Para Sistemas-Lineares: Aplicação noProblema do Fluxo de Carga. Tese (Doutorado) — PUC-Rio, 2010.

RODRIGUEZ, M. F. A. Algunos resultados sobre B-matrices y matrices coninversa positiva. Tese (Doutorado), 2012.

ROTHBLUM, U. G. An index classification of M-matrices. Linear Algebra andits Applications, Elsevier, v. 23, p. 1–12, 1979.

Page 75: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

74

RUGGIERO, M. A. G.; LOPES, V. L. d. R. Cálculo numérico: aspectos teóricose computacionais. [S.l.]: Makron Books do Brasil, 1997.

SAAD, Y. Iterative methods for sparse linear systems. [S.l.]: Siam, 2003.

SAAD, Y.; SCHULTZ, M. H. GMRES: A generalized minimal residual algorithmfor solving nonsymmetric linear systems. SIAM Journal on scientific andstatistical computing, SIAM, v. 7, n. 3, p. 856–869, 1986.

SIMONCINI, V.; SZYLD, D. B. Recent computational developments in Krylovsubspace methods for linear systems. Numerical Linear Algebra with Applications,Wiley Online Library, v. 14, n. 1, p. 1–59, 2007.

STERN, J. M. Esparsidade, Estrutura, Estabilidade e Escalamento em ÁlgebraLinear Computacional. 1994.

STRAKOŠ, Z. et al. Analysis of Krylov subspace methods: Moments, errorestimators, numerical stability and unexpected consequences. Winter School: NewTrends in Scientific Computing, CIRM, p. 2–3, 2009.

STRIKWERDA, J. C.; STODDER, S. C. Convergence results for GMRES(m).Department of Computer Sciences, University of Wisconsin, 1995.

TEBBENS, J. D.; MEURANT, G. On the admissible convergence curves forrestarted GMRES. [S.l.]: submitted, 2015.

TEBBENS, J. D. et al. On investigating gmres convergence using unitarymatrices. Linear Algebra and its Applications, Elsevier, v. 450, p. 83–107, 2014.

VARGA, R. S.; CAI, D.-Y. On the LU factorization of M-matrices. NumerischeMathematik, Springer, v. 38, n. 2, p. 179–192, 1981.

VIRNIK, E. An algebraic multigrid preconditioner for a class of singularM-matrices. SIAM Journal on Scientific Computing, SIAM, v. 29, n. 5, p.1982–1991, 2007.

VORST, H. A. V. d. Lecture notes on iterative methods. [S.l.]: Citeseer, 1993.1–4 p.

VORST, H. A. V. d. Iterative Krylov methods for large linear systems. [S.l.]:Cambridge University Press, 2003.

WANG, L.; SONG, Y. Preconditioned AOR iterative methods for M-matrices.Journal of Computational and Applied Mathematics, Elsevier, v. 226, n. 1, p.114–124, 2009.

Page 76: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

75

WOŹNICKI, Z. I. Matrix splitting principles. International Journal ofMathematics and Mathematical Sciences, Hindawi Publishing Corporation, v. 28,n. 5, p. 251–284, 2001.

Page 77: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

76

Apêndice A - Tabelas

Apresentaremos alguns dos resultados obtidos pelos métodos considerados.

Como cada matriz é unicamente determinada pelo seu grau de esparsidade, dis-

tinguiremos cada problema pelo seu grau de esparsidade e não por algum nome

específico para a matriz.

Denotaremos nas tabelas:

• ge(.)→ Grau de esparsidade;

• cond → Número de condição (condest em MATLAB);

• flag → Bandeira de convergência;

• erro → Erro relativo;

• res → Norma do resíduo relativo do método numérico considerado;

• nit → Número de iterações;

• tempo → Tempo (s) gasto pelo método numérico (tempo só do solver, não

envolve o tempo gasto na contrução de precondicionador nos casos onde

houve seu uso).

Quanto as bandeiras:

• flag = 0→ GMRES converge com a tolerância desejada até o número de

iterações definido;

• flag = 1→ GMRES não converge até o número de iterações definido.

Page 78: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

77

Utilizaremos apenas três casas decimais nos valores apresentados nas tabelas

abaixo.

A.1 Matrizes Z1

Tabela 1: Resultados numéricos para as matrizes Z1.

Problemas GMRES(60)

ge(z1) cond(z1) flag relres nit time erro

9.96e+01 3.5e+03 0 8.35e-07 79 1.08e-01 8.03e-05

9.94e+01 3.3e+05 0 8.72e-07 177 1.44e-01 5.06e-03

9.92e+01 2.4e+07 1 1.49e-01 300 2.15e-01 4.14e+01

9.90e+01 5.3e+06 1 3.55e-01 300 2.21e-01 1.87e+00

9.88e+01 2.1e+05 1 4.04e-01 300 2.22e-01 1.20e+00

9.86e+01 3.3e+06 1 3.22e-01 300 2.15e-01 1.02e+00

9.84e+01 1.2e+05 1 3.47e-01 300 2.46e-01 8.40e-01

9.82e+01 3.7e+04 1 2.48e-01 300 2.47e-01 7.90e-01

9.80e+01 2.4e+04 1 2.38e-01 300 2.34e-01 7.42e-01

9.78e+01 4.6e+03 1 2.62e-01 300 2.50e-01 6.88e-01

9.76e+01 1.1e+05 1 2.10e-01 300 2.31e-01 7.34e-01

9.74e+01 4.1e+04 1 2.51e-01 300 2.73e-01 8.68e-01

9.72e+01 9.5e+04 1 2.02e-01 300 2.17e-01 6.51e-01

9.70e+01 6.5e+03 1 1.95e-01 300 2.25e-01 6.91e-01

9.68e+01 5.9e+03 1 1.72e-01 300 2.56e-01 6.58e-01

9.66e+01 1.3e+04 1 2.11e-01 300 2.20e-01 6.27e-01

9.64e+01 4.4e+04 1 1.72e-01 300 2.15e-01 6.54e-01

9.62e+01 2.2e+04 1 1.77e-01 300 2.16e-01 6.49e-01

9.61e+01 5.4e+04 1 1.84e-01 300 2.19e-01 6.06e-01

9.59e+01 4.8e+04 1 1.53e-01 300 2.16e-01 6.00e-01

Page 79: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

78

9.57e+01 2.5e+04 1 1.68e-01 300 2.15e-01 6.45e-01

9.55e+01 6.9e+03 1 1.39e-01 300 2.18e-01 5.85e-01

9.53e+01 9.6e+04 1 1.35e-01 300 2.66e-01 5.79e-01

9.51e+01 5.9e+03 1 1.35e-01 300 2.18e-01 6.22e-01

9.49e+01 4.9e+03 1 1.42e-01 300 2.25e-01 5.70e-01

9.47e+01 8.7e+03 1 1.23e-01 300 2.21e-01 5.44e-01

9.45e+01 1.7e+04 1 1.32e-01 300 2.16e-01 5.56e-01

9.43e+01 1.1e+04 1 1.29e-01 300 2.25e-01 5.59e-01

9.41e+01 5.0e+03 1 1.33e-01 300 2.17e-01 5.97e-01

9.39e+01 1.2e+04 1 1.19e-01 300 2.77e-01 5.60e-01

9.38e+01 2.2e+04 1 1.30e-01 300 2.21e-01 5.59e-01

9.36e+01 2.1e+04 1 1.14e-01 300 2.16e-01 5.36e-01

9.34e+01 1.5e+05 1 1.15e-01 300 2.32e-01 5.52e-01

9.32e+01 6.8e+04 1 1.23e-01 300 2.17e-01 5.75e-01

9.30e+01 5.1e+03 1 1.21e-01 300 2.38e-01 5.52e-01

9.29e+01 4.2e+03 1 1.33e-01 300 2.28e-01 5.88e-01

9.27e+01 4.5e+03 1 1.10e-01 300 2.22e-01 5.56e-01

9.25e+01 5.7e+03 1 1.14e-01 300 2.41e-01 5.63e-01

9.23e+01 1.1e+05 1 1.03e-01 300 2.16e-01 5.70e-01

9.21e+01 7.4e+03 1 9.97e-02 300 2.49e-01 4.88e-01

9.19e+01 1.6e+05 1 1.05e-01 300 2.16e-01 5.39e-01

9.17e+01 2.6e+04 1 1.15e-01 300 2.46e-01 5.82e-01

9.15e+01 5.5e+03 1 1.05e-01 300 2.17e-01 5.62e-01

9.13e+01 1.8e+04 1 1.01e-01 300 2.57e-01 5.65e-01

9.12e+01 1.5e+04 1 1.09e-01 300 2.49e-01 6.07e-01

9.10e+01 2.9e+05 1 1.02e-01 300 2.26e-01 5.23e-01

9.08e+01 4.0e+03 1 1.05e-01 300 2.16e-01 5.70e-01

9.07e+01 4.8e+03 1 9.59e-02 300 2.39e-01 5.35e-01

9.04e+01 1.1e+05 1 9.12e-02 300 2.18e-01 5.62e-01

Page 80: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

79

9.03e+01 5.4e+03 1 9.71e-02 300 2.43e-01 5.43e-01

Tabela 2: Continuação dos resultados numéricos para as

matrizes Z1.

Problemas GMRES(60)/ILU(0)

ge(z1) flag relres nit time erro

9.96e+01 0 3.66e-17 3 2.349e-02 5.90e-15

9.94e+01 0 3.08e-17 8 2.421e-02 6.80e-15

9.92e+01 0 2.94e-07 28 3.748e-02 8.03e-02

9.90e+01 0 4.86e-07 48 5.350e-02 6.50e+00

9.88e+01 0 9.82e-07 56 6.194e-02 2.58e+01

9.86e+01 1 1.63e-05 300 2.229e-01 1.73e+01

9.84e+01 0 9.12e-07 14 3.410e-02 2.88e+01

9.82e+01 0 5.09e-07 14 3.117e-02 1.89e+01

9.80e+01 0 3.18e-07 9 2.823e-02 1.21e+02

9.78e+01 0 8.23e-07 8 2.770e-02 1.63e+02

9.76e+01 0 1.25e-08 3 2.597e-02 2.63e+01

9.74e+01 0 5.25e-08 2 2.581e-02 3.60e+01

9.72e+01 0 3.46e-07 11 2.880e-02 1.06e+02

9.70e+01 0 8.49e-07 7 2.704e-02 1.05e+02

9.68e+01 0 8.52e-07 8 2.788e-02 3.90e+01

9.66e+01 0 3.20e-07 11 2.902e-02 8.91e+01

9.64e+01 0 3.00e-07 4 2.670e-02 2.37e+02

9.62e+01 0 4.62e-07 4 2.684e-02 4.31e+00

9.61e+01 0 6.42e-07 4 2.655e-02 4.11e+01

9.59e+01 0 2.67e-08 3 2.671e-02 1.83e+01

Page 81: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

80

9.57e+01 0 4.01e-08 4 2.666e-02 1.28e+02

9.55e+01 0 9.36e-09 1 2.562e-02 4.47e+03

9.53e+01 0 1.38e-07 3 2.631e-02 3.40e+01

9.51e+01 0 5.29e-13 1 2.561e-02 5.68e+01

9.49e+01 0 5.45e-07 2 3.313e-02 6.62e+00

9.47e+01 0 7.47e-10 1 2.583e-02 6.16e+01

9.45e+01 0 9.01e-07 1 2.700e-02 2.57e+01

9.43e+01 0 4.50e-12 2 2.573e-02 2.99e+02

9.41e+01 0 6.54e-09 4 2.635e-02 7.15e+02

9.39e+01 0 1.24e-08 1 2.564e-02 1.86e+01

9.38e+01 0 4.97e-07 1 2.561e-02 5.87e+01

9.36e+01 0 8.10e-16 2 2.608e-02 1.55e+01

9.34e+01 0 9.70e-07 1 2.566e-02 3.62e+01

9.32e+01 0 3.44e-08 1 2.565e-02 1.78e+01

9.30e+01 0 4.52e-08 1 2.565e-02 5.82e+01

9.29e+01 0 3.25e-10 1 2.846e-02 4.92e+00

9.27e+01 0 1.01e-11 1 2.574e-02 1.66e+01

9.25e+01 0 8.65e-12 1 2.578e-02 1.10e+01

9.23e+01 0 1.73e-09 1 2.549e-02 4.75e+01

9.21e+01 0 1.56e-15 1 2.559e-02 2.87e+02

9.19e+01 0 6.36e-11 1 2.565e-02 1.39e+02

9.17e+01 0 1.55e-08 1 2.554e-02 1.78e+01

9.15e+01 0 3.69e-09 1 2.565e-02 4.96e+01

9.13e+01 0 5.49e-09 1 2.851e-02 3.19e+01

9.12e+01 0 1.89e-13 2 2.642e-02 5.04e+01

9.10e+01 0 8.95e-07 1 2.690e-02 9.68e+01

9.08e+01 0 1.38e-15 1 2.518e-02 5.80e+00

9.07e+01 0 1.23e-15 1 2.573e-02 1.67e+01

9.04e+01 0 1.12e-15 1 2.586e-02 1.31e+01

Page 82: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

81

9.03e+01 0 2.47e-13 1 2.555e-02 1.71e+02

Tabela 3: Continuação dos resultados numéricos para as

matrizes Z1.

Problemas GMRES

ge(z1) flag relres nit time erro

9.96e+01 0 8.16e-07 73 7.447e-02 3.93e-05

9.94e+01 0 9.98e-07 105 1.185e-01 7.33e-03

9.92e+01 0 9.25e-07 135 1.792e-01 1.69e-01

9.90e+01 0 5.74e-07 213 4.177e-01 2.05e-02

9.88e+01 0 9.78e-07 238 5.254e-01 2.79e-04

9.86e+01 0 8.35e-07 264 6.251e-01 2.01e-02

9.84e+01 0 7.19e-07 269 6.389e-01 3.33e-04

9.82e+01 0 8.98e-07 275 6.687e-01 2.14e-04

9.80e+01 0 8.59e-07 273 6.443e-01 7.80e-05

9.78e+01 0 7.20e-07 284 7.069e-01 9.53e-05

9.76e+01 0 9.42e-07 291 7.335e-01 1.08e-03

9.74e+01 0 2.83e-07 294 7.483e-01 1.51e-03

9.72e+01 0 5.77e-07 291 7.303e-01 1.50e-04

9.70e+01 0 4.48e-07 294 7.373e-01 3.55e-05

9.68e+01 0 4.64e-07 292 7.338e-01 9.24e-05

9.66e+01 0 3.47e-07 297 7.854e-01 7.01e-05

9.64e+01 0 9.90e-07 299 7.663e-01 5.59e-04

9.62e+01 0 5.25e-07 298 7.658e-01 2.44e-04

9.61e+01 0 6.24e-07 297 7.881e-01 8.08e-04

9.59e+01 0 1.58e-08 299 7.702e-01 4.09e-05

Page 83: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

82

9.57e+01 0 2.45e-07 298 7.612e-01 2.15e-04

9.55e+01 0 1.82e-07 298 7.790e-01 3.47e-05

9.53e+01 0 4.58e-07 299 7.683e-01 5.78e-04

9.51e+01 0 5.45e-07 298 7.644e-01 1.54e-04

9.49e+01 0 6.96e-07 295 7.517e-01 3.23e-04

9.47e+01 0 6.03e-07 299 7.694e-01 5.71e-04

9.45e+01 0 0.00e+00 299 7.796e-01 2.18e-14

9.43e+01 0 8.79e-07 298 7.619e-01 1.43e-04

9.41e+01 0 2.97e-09 299 7.641e-01 6.42e-07

9.39e+01 0 1.26e-07 299 7.920e-01 5.09e-05

9.38e+01 0 0.00e+00 299 7.759e-01 4.44e-13

9.36e+01 0 6.97e-07 299 7.718e-01 2.33e-04

9.34e+01 0 0.00e+00 299 7.958e-01 3.37e-14

9.32e+01 0 0.00e+00 299 7.815e-01 7.38e-13

9.30e+01 0 0.00e+00 299 7.800e-01 2.34e-14

9.29e+01 0 0.00e+00 299 7.787e-01 1.79e-14

9.27e+01 0 0.00e+00 299 7.790e-01 3.77e-14

9.25e+01 0 1.08e-07 299 7.919e-01 6.67e-05

9.23e+01 0 0.00e+00 299 7.763e-01 3.18e-13

9.21e+01 0 0.00e+00 299 7.786e-01 9.24e-14

9.19e+01 0 0.00e+00 299 7.960e-01 6.43e-13

9.17e+01 0 0.00e+00 299 7.778e-01 8.74e-14

9.15e+01 0 0.00e+00 299 7.769e-01 1.64e-14

9.13e+01 0 0.00e+00 299 7.861e-01 1.91e-13

9.12e+01 0 0.00e+00 299 7.877e-01 1.40e-13

9.10e+01 0 0.00e+00 299 7.884e-01 1.79e-12

9.08e+01 0 2.94e-07 299 7.700e-01 6.46e-05

9.07e+01 0 0.00e+00 299 7.725e-01 2.15e-14

9.04e+01 0 0.00e+00 299 7.961e-01 3.63e-13

Page 84: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

83

9.03e+01 0 0.00e+00 299 7.833e-01 1.25e-13

Tabela 4: Continuação dos resultados numéricos para as

matrizes Z1.

Problemas GMRES/ILU(0)

ge(z1) flag relres nit time erro

9.96e+01 0 3.66e-17 3 2.327e-02 5.90e-15

9.94e+01 0 3.08e-17 8 2.440e-02 6.80e-15

9.92e+01 0 2.94e-07 28 5.434e-02 8.03e-02

9.90e+01 0 4.86e-07 48 8.060e-02 6.50e+00

9.88e+01 0 9.82e-07 56 6.355e-02 2.58e+01

9.86e+01 0 8.83e-07 78 1.131e-01 4.34e+00

9.84e+01 0 9.12e-07 14 4.226e-02 2.88e+01

9.82e+01 0 5.09e-07 14 4.145e-02 1.89e+01

9.80e+01 0 3.18e-07 9 3.928e-02 1.21e+02

9.78e+01 0 8.23e-07 8 4.848e-02 1.63e+02

9.76e+01 0 1.25e-08 3 2.669e-02 2.63e+01

9.74e+01 0 5.25e-08 2 2.636e-02 3.60e+01

9.72e+01 0 3.46e-07 11 3.560e-02 1.06e+02

9.70e+01 0 8.49e-07 7 2.827e-02 1.05e+02

9.68e+01 0 8.52e-07 8 2.827e-02 3.90e+01

9.66e+01 0 3.20e-07 11 2.914e-02 8.91e+01

9.64e+01 0 3.00e-07 4 2.839e-02 2.37e+02

9.62e+01 0 4.62e-07 4 2.699e-02 4.31e+00

9.61e+01 0 6.42e-07 4 2.693e-02 4.11e+01

9.59e+01 0 2.67e-08 3 2.661e-02 1.83e+01

Page 85: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

84

9.57e+01 0 4.01e-08 4 2.699e-02 1.28e+02

9.55e+01 0 9.36e-09 1 2.593e-02 4.47e+03

9.53e+01 0 1.38e-07 3 2.685e-02 3.40e+01

9.51e+01 0 5.29e-13 1 2.590e-02 5.68e+01

9.49e+01 0 5.45e-07 2 2.632e-02 6.62e+00

9.47e+01 0 7.47e-10 1 2.598e-02 6.16e+01

9.45e+01 0 9.01e-07 1 2.518e-02 2.57e+01

9.43e+01 0 4.50e-12 2 2.676e-02 2.99e+02

9.41e+01 0 6.54e-09 4 2.710e-02 7.15e+02

9.39e+01 0 1.24e-08 1 3.566e-02 1.86e+01

9.38e+01 0 4.97e-07 1 2.513e-02 5.87e+01

9.36e+01 0 8.10e-16 2 3.637e-02 1.55e+01

9.34e+01 0 9.70e-07 1 2.534e-02 3.62e+01

9.32e+01 0 3.44e-08 1 3.619e-02 1.78e+01

9.30e+01 0 4.52e-08 1 3.395e-02 5.82e+01

9.29e+01 0 3.25e-10 1 3.568e-02 4.92e+00

9.27e+01 0 1.01e-11 1 3.568e-02 1.66e+01

9.25e+01 0 8.65e-12 1 3.114e-02 1.10e+01

9.23e+01 0 1.73e-09 1 3.585e-02 4.75e+01

9.21e+01 0 1.56e-15 1 3.577e-02 2.87e+02

9.19e+01 0 6.36e-11 1 3.585e-02 1.39e+02

9.17e+01 0 1.55e-08 1 3.578e-02 1.78e+01

9.15e+01 0 3.69e-09 1 3.582e-02 4.96e+01

9.13e+01 0 5.49e-09 1 3.571e-02 3.19e+01

9.12e+01 0 1.89e-13 2 3.652e-02 5.04e+01

9.10e+01 0 8.95e-07 1 2.490e-02 9.68e+01

9.08e+01 0 1.38e-15 1 3.615e-02 5.80e+00

9.07e+01 0 1.23e-15 1 3.529e-02 1.67e+01

9.04e+01 0 1.12e-15 1 3.600e-02 1.31e+01

Page 86: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

85

9.03e+01 0 2.47e-13 1 3.527e-02 1.71e+02

A.2 Matrizes K

Tabela 5: Resultados numéricos para as matrizes K.

Problemas GMRES(60)

ge(k) cond(k) flag relres nit time erro

9.96e+01 1.1e+03 1 1.71e-03 301 2.64e-01 1.62e-01

9.94e+01 6.1e+06 1 1.26e-02 301 2.15e-01 3.04e+02

9.92e+01 5.9e+06 1 3.99e-01 301 2.29e-01 5.27e+00

9.90e+01 1.9e+06 1 5.52e-01 301 2.17e-01 1.35e+00

9.88e+01 1.1e+05 1 6.24e-01 301 2.53e-01 1.12e+00

9.86e+01 1.6e+07 1 6.83e-01 301 2.17e-01 1.05e+00

9.84e+01 1.2e+05 1 6.07e-01 301 2.14e-01 9.62e-01

9.82e+01 1.3e+04 1 6.68e-01 301 2.19e-01 1.13e+00

9.80e+01 4.6e+04 1 6.80e-01 301 2.27e-01 1.01e+00

9.78e+01 2.4e+04 1 7.54e-01 301 2.25e-01 1.04e+00

9.76e+01 1.7e+04 1 7.21e-01 301 2.28e-01 9.59e-01

9.74e+01 1.0e+04 1 6.74e-01 301 2.32e-01 1.00e+00

9.72e+01 1.1e+04 1 7.58e-01 301 2.19e-01 1.05e+00

9.70e+01 3.5e+04 1 7.32e-01 301 2.32e-01 1.06e+00

9.68e+01 1.2e+05 1 7.30e-01 301 2.30e-01 1.04e+00

9.66e+01 2.3e+04 1 7.51e-01 301 2.34e-01 1.03e+00

9.64e+01 1.2e+04 1 7.11e-01 301 2.30e-01 1.01e+00

9.62e+01 4.6e+03 1 7.74e-01 301 2.26e-01 1.01e+00

9.61e+01 1.3e+04 1 7.74e-01 301 2.62e-01 1.00e+00

Page 87: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

86

9.59e+01 6.5e+03 1 6.87e-01 301 2.29e-01 1.01e+00

9.57e+01 5.3e+03 1 7.40e-01 301 2.33e-01 1.02e+00

9.55e+01 9.0e+03 1 7.44e-01 301 2.27e-01 1.06e+00

9.53e+01 7.4e+03 1 7.51e-01 301 2.30e-01 1.02e+00

9.51e+01 9.9e+04 1 7.75e-01 301 2.29e-01 9.95e-01

9.49e+01 5.1e+04 1 7.59e-01 301 2.32e-01 1.04e+00

9.47e+01 7.1e+03 1 8.05e-01 301 2.31e-01 9.76e-01

9.45e+01 5.9e+03 1 8.24e-01 301 2.27e-01 1.05e+00

9.43e+01 3.5e+03 1 7.58e-01 301 2.32e-01 9.52e-01

9.41e+01 9.4e+03 1 7.57e-01 301 2.37e-01 1.05e+00

9.39e+01 2.1e+04 1 7.59e-01 301 2.33e-01 1.02e+00

9.38e+01 9.0e+03 1 8.22e-01 301 2.29e-01 1.01e+00

9.36e+01 2.8e+04 1 7.93e-01 301 2.31e-01 1.02e+00

9.34e+01 4.2e+03 1 7.24e-01 301 3.15e-01 1.00e+00

9.32e+01 4.1e+04 1 7.25e-01 301 2.20e-01 9.69e-01

9.30e+01 5.7e+03 1 7.38e-01 301 2.33e-01 9.97e-01

9.29e+01 2.9e+03 1 7.80e-01 301 2.17e-01 9.83e-01

9.27e+01 3.1e+03 1 8.12e-01 301 2.34e-01 1.04e+00

9.25e+01 8.4e+03 1 7.90e-01 301 2.34e-01 1.01e+00

9.23e+01 9.3e+03 1 7.89e-01 301 2.33e-01 9.98e-01

9.21e+01 3.6e+04 1 8.23e-01 301 2.28e-01 1.02e+00

9.19e+01 2.9e+04 1 7.26e-01 301 2.33e-01 9.78e-01

9.17e+01 9.7e+04 1 8.35e-01 301 2.36e-01 9.93e-01

9.15e+01 2.3e+04 1 7.75e-01 301 2.98e-01 1.04e+00

9.13e+01 6.2e+03 1 7.18e-01 301 2.21e-01 9.83e-01

9.12e+01 3.1e+04 1 7.90e-01 301 2.29e-01 9.89e-01

9.10e+01 2.7e+04 1 8.24e-01 301 2.41e-01 9.91e-01

9.08e+01 1.2e+04 1 7.85e-01 301 2.32e-01 1.06e+00

9.07e+01 8.8e+03 1 8.47e-01 301 2.31e-01 1.03e+00

Page 88: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

87

9.04e+01 1.2e+04 1 7.75e-01 301 2.32e-01 1.06e+00

9.03e+01 2.6e+04 1 7.43e-01 301 2.29e-01 9.80e-01

Tabela 6: Continuação dos resultados numéricos para as

matrizes K.

Problemas GMRES(60)/ILU(0)

ge(k) flag relres nit time erro

9.96e+01 0 1.96e-17 4 2.350e-02 1.50e-15

9.94e+01 0 1.59e-17 9 2.441e-02 1.89e-13

9.92e+01 0 7.62e-07 30 3.776e-02 2.19e-03

9.90e+01 0 7.45e-07 50 5.457e-02 8.57e+00

9.88e+01 0 9.24e-07 35 4.234e-02 1.63e+01

9.86e+01 1 5.96e-06 301 2.199e-01 2.90e+01

9.84e+01 1 3.21e-06 301 2.232e-01 1.34e+01

9.82e+01 0 7.11e-07 33 4.506e-02 8.57e+00

9.80e+01 0 9.11e-07 38 4.365e-02 6.13e+01

9.78e+01 0 9.63e-07 17 3.064e-02 1.85e+01

9.76e+01 0 9.54e-07 40 4.576e-02 1.22e+02

9.74e+01 0 4.66e-07 11 2.749e-02 3.09e+01

9.72e+01 0 3.44e-07 11 2.775e-02 8.98e+01

9.70e+01 0 8.54e-07 9 2.713e-02 6.91e+01

9.68e+01 0 1.93e-07 6 2.653e-02 1.96e+01

9.66e+01 0 2.27e-07 9 2.733e-02 4.20e+01

9.64e+01 0 2.22e-07 6 2.636e-02 1.50e+01

9.62e+01 0 2.59e-07 6 2.709e-02 5.35e+02

9.61e+01 0 3.22e-10 6 2.628e-02 4.17e+01

Page 89: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

88

9.59e+01 0 5.69e-09 3 2.555e-02 2.93e+01

9.57e+01 0 5.08e-07 3 2.510e-02 3.90e+02

9.55e+01 0 8.80e-07 4 2.581e-02 4.21e+00

9.53e+01 0 6.72e-07 2 2.460e-02 3.79e+00

9.51e+01 0 3.11e-07 5 3.397e-02 7.56e+01

9.49e+01 0 2.38e-09 3 2.563e-02 1.88e+02

9.47e+01 0 7.63e-07 4 2.578e-02 4.54e+00

9.45e+01 0 4.19e-08 4 2.600e-02 4.81e+02

9.43e+01 0 5.49e-10 3 2.560e-02 1.28e+02

9.41e+01 0 1.15e-08 2 2.490e-02 1.77e+01

9.39e+01 0 7.56e-07 2 2.500e-02 2.36e+00

9.38e+01 0 4.61e-07 2 2.488e-02 1.21e+00

9.36e+01 0 5.98e-14 2 2.471e-02 7.97e+01

9.34e+01 0 6.09e-12 3 4.174e-02 1.29e+03

9.32e+01 0 7.06e-17 2 2.550e-02 1.21e+02

9.30e+01 0 7.03e-07 2 2.472e-02 1.54e+01

9.29e+01 0 4.16e-13 3 2.583e-02 2.08e+02

9.27e+01 0 6.70e-10 2 2.526e-02 5.80e+01

9.25e+01 0 8.16e-08 2 2.499e-02 1.31e+01

9.23e+01 0 8.25e-13 2 2.565e-02 6.12e+00

9.21e+01 0 1.64e-12 2 2.505e-02 3.38e+02

9.19e+01 0 7.18e-09 3 2.517e-02 1.06e+01

9.17e+01 0 4.59e-10 2 2.653e-02 1.89e+01

9.15e+01 0 2.09e-13 2 3.843e-02 2.64e+00

9.13e+01 0 2.88e-08 3 2.543e-02 7.15e+00

9.12e+01 0 1.74e-11 2 2.571e-02 1.04e+00

9.10e+01 0 1.55e-15 2 2.533e-02 3.51e+01

9.08e+01 0 1.90e-08 2 2.539e-02 6.82e+00

9.07e+01 0 9.18e-16 2 2.572e-02 5.35e+01

Page 90: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

89

9.04e+01 0 5.83e-10 2 2.507e-02 1.83e+00

9.03e+01 0 7.90e-17 2 2.506e-02 6.72e+01

Tabela 7: Continuação dos resultados numéricos para as

matrizes K.

Problemas GMRES

ge(k) flag relres nit time erro

9.96e+01 0 0.00e+00 300 7.862e-01 6.25e-15

9.94e+01 0 8.83e-07 288 7.254e-01 2.67e-01

9.92e+01 0 0.00e+00 300 7.849e-01 7.11e-13

9.90e+01 0 3.32e-07 300 7.756e-01 4.07e-03

9.88e+01 0 0.00e+00 300 7.877e-01 5.10e-13

9.86e+01 0 0.00e+00 300 7.859e-01 5.04e-12

9.84e+01 0 0.00e+00 300 8.182e-01 2.53e-14

9.82e+01 0 0.00e+00 300 7.846e-01 3.03e-14

9.80e+01 0 0.00e+00 300 7.818e-01 2.64e-13

9.78e+01 0 0.00e+00 300 8.194e-01 4.58e-14

9.76e+01 0 0.00e+00 300 7.801e-01 8.92e-14

9.74e+01 0 0.00e+00 300 8.265e-01 2.39e-14

9.72e+01 0 0.00e+00 300 7.812e-01 2.34e-14

9.70e+01 0 0.00e+00 300 7.898e-01 3.44e-14

9.68e+01 0 0.00e+00 300 8.098e-01 2.67e-13

9.66e+01 0 0.00e+00 300 7.836e-01 3.58e-14

9.64e+01 0 0.00e+00 300 7.870e-01 4.98e-14

9.62e+01 0 0.00e+00 300 7.824e-01 2.90e-14

9.61e+01 0 0.00e+00 300 7.869e-01 6.97e-14

Page 91: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

90

9.59e+01 0 0.00e+00 300 7.857e-01 2.37e-14

9.57e+01 0 0.00e+00 300 8.122e-01 9.72e-15

9.55e+01 0 0.00e+00 300 7.947e-01 2.53e-14

9.53e+01 0 0.00e+00 300 7.767e-01 3.10e-14

9.51e+01 0 0.00e+00 300 8.100e-01 6.17e-14

9.49e+01 0 0.00e+00 300 7.829e-01 2.43e-13

9.47e+01 0 0.00e+00 300 8.045e-01 6.26e-15

9.45e+01 0 0.00e+00 300 7.880e-01 2.54e-14

9.43e+01 0 0.00e+00 300 8.198e-01 2.08e-14

9.41e+01 0 0.00e+00 300 7.931e-01 4.05e-14

9.39e+01 0 0.00e+00 300 7.862e-01 1.23e-14

9.38e+01 0 0.00e+00 300 7.905e-01 1.35e-14

9.36e+01 0 0.00e+00 300 8.350e-01 3.11e-14

9.34e+01 0 0.00e+00 300 8.958e-01 3.50e-14

9.32e+01 0 0.00e+00 300 8.275e-01 3.63e-14

9.30e+01 0 0.00e+00 300 8.596e-01 1.20e-14

9.29e+01 0 0.00e+00 300 7.929e-01 2.14e-14

9.27e+01 0 0.00e+00 300 7.866e-01 2.34e-14

9.25e+01 0 0.00e+00 300 7.798e-01 8.45e-15

9.23e+01 0 0.00e+00 300 8.142e-01 1.10e-14

9.21e+01 0 0.00e+00 300 7.853e-01 7.40e-14

9.19e+01 0 0.00e+00 300 7.855e-01 5.63e-14

9.17e+01 0 0.00e+00 300 8.407e-01 9.63e-14

9.15e+01 0 0.00e+00 300 8.086e-01 6.18e-14

9.13e+01 0 0.00e+00 300 7.857e-01 2.31e-14

9.12e+01 0 0.00e+00 300 8.060e-01 8.32e-14

9.10e+01 0 0.00e+00 300 7.856e-01 2.43e-14

9.08e+01 0 0.00e+00 300 7.846e-01 6.26e-14

9.07e+01 0 0.00e+00 300 8.124e-01 7.10e-15

Page 92: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

91

9.04e+01 0 0.00e+00 300 7.832e-01 3.48e-14

9.03e+01 0 0.00e+00 300 8.339e-01 4.18e-14

Tabela 8: Continuação dos resultados numéricos para as

matrizes K.

Problemas GMRES/ILU(0)

ge(k) flag relres nit time erro

9.96e+01 0 1.96e-17 4 2.395e-02 1.50e-15

9.94e+01 0 1.59e-17 9 2.560e-02 1.89e-13

9.92e+01 0 7.62e-07 30 3.850e-02 2.19e-03

9.90e+01 0 7.45e-07 50 6.137e-02 8.57e+00

9.88e+01 0 9.24e-07 35 5.063e-02 1.63e+01

9.86e+01 0 9.81e-07 77 8.617e-02 7.42e+00

9.84e+01 0 8.85e-07 70 8.020e-02 7.97e+00

9.82e+01 0 7.11e-07 33 4.074e-02 8.57e+00

9.80e+01 0 9.11e-07 38 4.359e-02 6.13e+01

9.78e+01 0 9.63e-07 17 3.110e-02 1.85e+01

9.76e+01 0 9.54e-07 40 4.689e-02 1.22e+02

9.74e+01 0 4.66e-07 11 2.852e-02 3.09e+01

9.72e+01 0 3.44e-07 11 2.854e-02 8.98e+01

9.70e+01 0 8.54e-07 9 2.786e-02 6.91e+01

9.68e+01 0 1.93e-07 6 2.677e-02 1.96e+01

9.66e+01 0 2.27e-07 9 2.819e-02 4.20e+01

9.64e+01 0 2.22e-07 6 2.613e-02 1.50e+01

9.62e+01 0 2.59e-07 6 2.936e-02 5.35e+02

9.61e+01 0 3.22e-10 6 2.677e-02 4.17e+01

Page 93: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

92

9.59e+01 0 5.69e-09 3 2.601e-02 2.93e+01

9.57e+01 0 5.08e-07 3 2.603e-02 3.90e+02

9.55e+01 0 8.80e-07 4 2.637e-02 4.21e+00

9.53e+01 0 6.72e-07 2 2.564e-02 3.79e+00

9.51e+01 0 3.11e-07 5 2.657e-02 7.56e+01

9.49e+01 0 2.38e-09 3 2.612e-02 1.88e+02

9.47e+01 0 7.63e-07 4 4.188e-02 4.54e+00

9.45e+01 0 4.19e-08 4 2.637e-02 4.81e+02

9.43e+01 0 5.49e-10 3 2.694e-02 1.28e+02

9.41e+01 0 1.15e-08 2 2.556e-02 1.77e+01

9.39e+01 0 7.56e-07 2 2.551e-02 2.36e+00

9.38e+01 0 4.61e-07 2 2.562e-02 1.21e+00

9.36e+01 0 5.98e-14 2 3.306e-02 7.97e+01

9.34e+01 0 6.09e-12 3 2.604e-02 1.29e+03

9.32e+01 0 7.06e-17 2 2.572e-02 1.21e+02

9.30e+01 0 7.03e-07 2 3.671e-02 1.54e+01

9.29e+01 0 4.16e-13 3 2.615e-02 2.08e+02

9.27e+01 0 6.70e-10 2 3.236e-02 5.80e+01

9.25e+01 0 8.16e-08 2 2.558e-02 1.31e+01

9.23e+01 0 8.25e-13 2 2.627e-02 6.12e+00

9.21e+01 0 1.64e-12 2 2.550e-02 3.38e+02

9.19e+01 0 7.18e-09 3 2.672e-02 1.06e+01

9.17e+01 0 4.59e-10 2 4.590e-02 1.89e+01

9.15e+01 0 2.09e-13 2 2.712e-02 2.64e+00

9.13e+01 0 2.88e-08 3 2.610e-02 7.15e+00

9.12e+01 0 1.74e-11 2 2.573e-02 1.04e+00

9.10e+01 0 1.55e-15 2 2.566e-02 3.51e+01

9.08e+01 0 1.90e-08 2 2.549e-02 6.82e+00

9.07e+01 0 9.18e-16 2 2.552e-02 5.35e+01

Page 94: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

93

9.04e+01 0 5.83e-10 2 2.552e-02 1.83e+00

9.03e+01 0 7.90e-17 2 2.768e-02 6.72e+01

Page 95: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

94

Apêndice B - Programação no

Matlab

Seguem-se alguns dos scripts utilizados nesse trabalho na linguagemMATLAB:

1. Geração dos bancos de dados e sub-rotinas;

2. Matriz para perfil de desempenho;

3. Perfil de desempenho para matriz Z1.

B.1 Geraçao dos bancos de dados

1 % data_generate.m

2

3 clear all

4 clc

5

6 rng(1)

7

8 dimension = 300;

9 fileQtty = 100;

10

11 % Gerando arquivos

12

13 for i=1:2:fileQtty

Page 96: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

95

14 density = i * 1e-3;

15

16 Z1 = negateNonDiagonal(generateMatrix(dimension, density));

17 sparsity_degre_z1 = (dimension^2-nnz(Z1))/dimension^2;

18 ge_z1 = sparsity_degre_z1*100;

19

20 Z2 = generateZ2(Z1, generateMatrix(dimension, density));

21 sparsity_degre_z2 = (dimension^2-nnz(Z2))/dimension^2;

22 ge_z2 = sparsity_degre_z2*100;

23

24 K = 0.5*Z1 - 0.5*Z2;

25 sparsity_degre_k = (dimension^2-nnz(K))/dimension^2;

26 ge_k = sparsity_degre_k*100;

27

28 x_z1 = rand(dimension,1);

29 x_z2 = rand(dimension,1);

30 x_k = rand(dimension,1);

31 b_z1 = Z1*x_z1;

32 b_z2 = Z2*x_z2;

33 b_k = K*x_k;

34

35 % Decomposicoes ILU

36 setup.type = ’nofill’;

37 setup.milu = ’off’;

38 [L_Z1,U_Z1] = ilu(Z1,setup);

39 [L_Z2,U_Z2] = ilu(Z2,setup);

40 [L_K,U_K] = ilu(K,setup);

41

42 I = eye(dimension);

43

Page 97: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

96

44 save(sprintf(’o%03d_dados%04d’,dimension,i),’dimension’,...

45 ’density’,’Z1’,’sparsity_degre_z1’,’ge_z1’,...

46 ’sparsity_degre_z2’,’ge_z2’,’sparsity_degre_k’,...

47 ’ge_k’,’Z2’,’K’,’x_z1’,’x_z2’,’x_k’,’b_z1’,...

48 ’b_z2’,’b_k’,’L_Z1’,’U_Z1’,’L_Z2’,’U_Z2’,’L_K’,...

49 ’U_K’,’I’);

50

51 end

Seguem as sub-rotinas utilizadas no programa acima para gerar as matrizes.

1 % negateNonDiagonal.m

2 % Troca o sinal do elemento fora da diagonal. Se for positivo,

ficará negativo.

3 function [m] = negateNonDiagonal(m2)

4 m = m2;

5 [i,j] = find(m);

6

7 for i=1:length(m)

8 for j=1:length(m)

9 if i~=j

10 m(i,j)= -abs(m(i,j));

11 end

12 end

13 end

14 end

15

16 % generateMatrix.m

17 % Gera matriz aleatoria de ordem n com densidade d e onde tiver

18 % elemento nulo na diagonal, substitui por um número aleatório.

19 function [m] = generateMatrix(n, d)

Page 98: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

97

20 m = sprand(n, n, d);

21 for i=1:n

22 if (m(i, i) == 0)

23 m(i, i) = rand(1);

24 end

25 end

26 end

27

28 % generatez2

29 % Baseado nas posições fora da diagonal onde há elementos não nulos

30 % de $Z_1$, cria-se a matriz $Z_2$

31 function [z2] = generatez2(z1, m)

32 z2 = m;

33 [i,j] = find(z1);

34

35 for i=1:length(z1)

36 for j=1:length(z1)

37 if (i==j)

38 continue;

39 end

40 if (z1(i,j) == 0)

41 z2(i, j) = 0;

42 elseif (m(i, j) ~= 0)

43 z2(i, j) = -abs(m(i, j));

44 else

45 z2(i, j) = -abs(rand(1));

46 end

47 end

48 end

49 end

Page 99: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

98

B.2 Matriz para perfil de desempenho

1 % matrix_perf.m

2 clear all

3

4 fileQtty = 100;

5 dimension = 300;

6

7 % Cria uma matriz com numero de iteracoes e

8 % outra com o tempo para cada problema e para

9 % todos os metodos.

10

11 for i=1:2:fileQtty

12 load(sprintf(’results_Z1_gm%04d’,i));

13

14 for j = ((i+1)/2):50

15 time_matrix_z1(j,1) = time1_z1;

16 iterin_matrix_z1(j,1) = nit1_z1;

17 time_matrix_z1(j,2) = time2_z1;

18 iterin_matrix_z1(j,2) = nit2_z1;

19 time_matrix_z1(j,3) = time3_z1;

20 iterin_matrix_z1(j,3) = nit3_z1;

21 time_matrix_z1(j,4) = time4_z1;

22 iterin_matrix_z1(j,4) = nit4_z1;

23 end

24

25 clearvars -except fileQtty dimension i j time_matrix_z1...

26 iterin_matrix_z1

27 end

28

Page 100: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

99

29 save time_matrix_z1

30 save iterin_matrix_z1

B.3 Perfil de desempenho para matriz Z1

1 % performance_profile1.m

2 % Performance profile

3

4 clear all

5

6 load(’time_matrix_z1.mat’);

7 load(’iterin_matrix_z1.mat’);

8

9 % Tamanho do passo de cada "tau"

10 passo1= 0.1;

11 passo2= 0.1;

12

13 % Tau maximo permitido para este tipo de razao (dos tempos)

14 M1 = 9;

15 M2 = 70;

16

17 % Numero de problemas testados

18 np = 50;

19

20 % Numero de metodos usados

21 ns = 4;

22

23 % Criando as matrizes das razoes de cada ’metrica’

24 for i=1:np

Page 101: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

100

25 min_time = min(time_matrix_z1(i,:));

26 min_GM = min(iterin_matrix_z1(i,:));

27 for j= 1:ns

28 Rte(i,j) = time_matrix_z1(i,j)*(1/min_time);

29 RGM(i,j) = iterin_matrix_z1(i,j)*(1/min_GM);

30 end

31 clear min_te

32 clear min_GM

33 end

34

35 % Criando a funcao distribuicao P1 com respeito a ’metrica do

tempo’

36 x1=1:passo1:M1;

37

38 for j= 1: ns

39 for jj = 1: max(size(x1))

40 c1 = 0;

41 for i = 1: np

42 if( Rte(i,j) <= x1(jj))

43 c1 = c1+1;

44 end

45 end

46 P11(j,jj) = (1/np)*c1;

47 end

48 end

49

50 % Criando a funcao distribuicao P2

51 % com respeito a "metrica do # GMRES"

52

53 x2=1:passo2:M2;

Page 102: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

101

54

55 for j= 1: ns

56 for jj = 1: max(size(x2))

57 c2 = 0;

58 for i = 1: np

59 if( RGM(i,j) <= x2(jj))

60 c2 = c2+1;

61 end

62 end

63 P22(j,jj) = (1/np)*c2;

64 end

65 end

66

67 % Graficos

68

69 figure(1)

70 plot(x1,P11(1,:),’--r’,x1,P11(2,:),’--b’,x1,P11(3,:),’-g’,...

71 x1,P11(4,:),’-m’,’LineWidth’,1)

72 axis([1 M1 0 1.1])

73 legend(’GMRES(60)’,’GMRES(60)/ILU(0)’,’GMRES’,’GMRES/ILU(0)’);

74 title(’Z_1 - Tempo’);

75 xlabel(’\tau’)

76 ylabel(’\rho_s(\tau)’);

77

78 figure(2)

79 plot(x2,P22(1,:),’--r’,x2,P22(2,:),’--b’,x2,P22(3,:),’-g’,...

80 x2,P22(4,:),’-m’,’LineWidth’,1)

81 axis([1 M2 0 1.1])

82 legend(’GMRES(60)’,’GMRES(60)/ILU(0)’,’GMRES’,’GMRES/ILU(0)’);

83 title(’Z_1 - Numero de iteracoes’);

Page 103: Precondicionamento do método GMRES para Z-matrizes · Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Programa de Pós-Graduação em Matemática

102

84 xlabel(’\tau’)

85 ylabel(’\rho_s(\tau)’);