You are on page 1of 22

UNIVERSIDADE FEDERAL DO ESPRITO SANTO

PROGRAMA DE PS-GRADUAO EM ENGENHARIA MECNICA


Computao Cientfica
Trabalho 2 Matheus Dars Pagani

Estudo Sobre a Influncia do Reordenamento e


precondicionamento aplicados a sistemas
esparsos de grande porte utilizando mtodos
iterativos no estacionrios.

Vitria ES
30 de junho de 2015

NDICE
1.

Introduo ............................................................................................................................. 3

2.

Referencial terico ................................................................................................................ 3

2.1. Mtodos iterativos no-estacionrios .................................................................................. 3


2.2. Mtodo do mnimo resduo generalizado............................................................................. 3
2.3. Mtodo das direes conjugadas esquerda....................................................................... 4
2.4. Precondicionamento ............................................................................................................. 5
2.5. Armazenamento CSR............................................................................................................. 6
2.6. Reordenamento RCM ............................................................................................................ 6
3.

Experimentos numricos....................................................................................................... 6

3.1. Matriz bcsstk03 ..................................................................................................................... 7


3.2. Matriz orsirr_1....................................................................................................................... 8
3.3. Matriz plat1919 ................................................................................................................... 10
3.4. Matriz sherman5 ................................................................................................................. 11
3.5. Matriz wathen100 ............................................................................................................... 14
3.6. Matriz FEM_3D_thermal1 ................................................................................................... 15
4.

Concluso ............................................................................................................................ 16

5.

Apndice.............................................................................................................................. 18

1. INTRODUO
O uso de tcnicas numricas para a soluo de problemas complexos de engenharia hoje uma
realidade, principalmente devido ao desenvolvimento de computadores e tcnicas numricas
de alto desempenho. A modernizao dos computadores associada ao desenvolvimento de
novos algoritmos permite, por exemplo, a soluo de fenmenos complexos de mecnica dos
fluidos envolvendo termos difusivos, convectivos e no-lineares. Em geral, esses processos de
soluo recaem na necessidade de resolver sistemas de equaes algbricas lineares e nolineares.
Este trabalho tem como objetivo demonstrar as diferenas dentre alguns mtodos de resoluo
de sistemas lineares estudados na disciplina Computao Cientfica em questo de
implementao e custo computacional.
Os mtodos iterativos de resoluo de sistema lineares so uma boa alternativa quanto aos
diretos pelo fato de fornecerem uma soluo para o sistema com uma preciso pr-definida a
um custo geralmente menor do que um mtodo direto. A fim de reduzir o tempo computacional
para obter um resultado, existem tcnicas que podem ser utilizadas, como o reordenamento e
precondicionamento. Esses artifcios computacionais sero posteriormente explicados e seu
impacto no custo computacional ser demonstrado nos resultados numricos deste trabalho.

2. REFERENCIAL TERICO
2.1. Mtodos iterativos no-estacionrios
Os mtodos iterativos tm como principal caracterstica a produo de sucessivas solues x1,
x2, x3, xn a partir de uma soluo inicial x0 com uma preciso cada vez maior em relao
soluo exata de um sistema do tipo Ax = b nos casos onde acontece convergncia. O custo
computacional para grandes sistemas tragicamente reduzido por evitar a operao de inverso
de matrizes de grande porte.
So divididos em dois tipos: estacionrios como Jacobi, Seidel e SOR e no-estacionrios
como o mtodo do mnimo resduo generalizado e o mtodo das direes conjugadas
esquerda, que utilizam vetores no espao de Krylov.
2.2. Mtodo do mnimo resduo generalizado
O mtodo do mnimo resduo generalizado conhecido pelo nome GMRES desenvolvido por
Saad e Schultz em 1986, tem como principal objetivo minimizar a norma do resduo do sistema
linear. Considerando uma soluo inicial X0, uma soluo aproximada obtida atravs de x0 + z,
sendo z um membro do subespao de Krylov K = span(r0, Ar, Ar0, ..., Ak-1r0), onde k a dimenso
do subespao e r0 = b Ax0. O mtodo GMRES procura encontrar um z tal que a norma do resduo
seja mnima.
Sua principal caracterstica e a construo de uma base ortogonal no subespao de Krylov obtida
atravs do processo de Gram-Schmidt modificado sucedido por um processo de rotaes no
plano, denominado algoritmo QR. Esse mtodo pode contemplar a utilizao de um algoritmo
de restart a fim de limitar a quantidade de vetores armazenados, poupando memria
computacional.
Esse algoritmo descrito na ilustrao abaixo.

2.3. Mtodo das direes conjugadas esquerda


O mtodo das direes conjugadas esquerda conhecido como LCD , recentemente
apresentado por Yuan et al., em 2003, tem como objetivo encontrar a soluo do sistema em
um conjunto ortogonal de direes de busca cujos vetores tem a caracterstica de serem
conjugados esquerda da matriz A. Os vetores P1, P2, ..., Pn so chamados de direes
conjugadas esquerda de uma matriz real no-singular ANxN se Pi`APj = 0 para i < j e diferente
de zero para i = j. possvel provar que os vetores conjugados esquerda de A so linearmente
independentes. Dessa forma, considerando uma aproximao inicial x0, a soluo do sistema Ax
= b pode ser representada por um somatrio de aiPi e x0, onde os termos ai so determinados
unicamente por P1, P2, P3, ..., Pn e x0.

O processo de obteno das direes conjugadas a esquerda e apresentado por Yuan et al. Em
2003. O algoritmo LCD(k), inicialmente apresentado por Catabriga et al. em 2004 representa o
mtodo LCD numa estrutura com restart anloga ao algoritmo GMRES(k), limitando a dimenso
k do conjunto de direes de busca da soluo reinicializando o processo iterativo a partir de
uma determinada iterao. Essa implementao com restar evita que todos os produtos matrizvetor e matriz-transposta-vetor sejam efetuados e que todas as direes conjugadas a esquerda
sejam armazenadas.
Esse algoritmo descrito na ilustrao abaixo.

2.4. Precondicionamento
Pr-condicionar significa transformar o sistema linear original Ax = b em um sistema de soluo
equivalente que pode ser resolvido com uma menor quantidade de iteraes. O primeiro passo
ao pr-condicionar um sistema linear encontrar uma matriz de precondicionamento M que
satisfaa alguns requerimentos mnimos, como por exemplo, melhorar as propriedades
espectrais da matriz A.
A ideia bsica substituir o sistema Ax = b pelo sistema M-1Ax = M-1b. Na prtica, em lugar de
determinar M-1 explicitamente, a ao do pr-condicionado determinada na operao do
produto matriz-vetor p = M-1Av, como segue: primeiro, computa-se z = Av e ento aplica-se M-1
em p = M-1z pela resoluo do sistema linear Mp = z. De um ponto de vista prtico, resolver o
sistema pr-condicionado Mp = z mais eficiente tanto no consumo de memria quanto na
quantidade de operaes aritmtica envolvidas.
Existem diversas forma de se escolher a matriz de precondicionamento, neste trabalho foram
usados duas formas: o precondicionamento de Gauss-Seidel e o precondicionamento pela
fatorao incompleta . O primeiro consiste em determinar a matriz da seguinte forma:
= ( + )( + )
No qual = + + , neste mtodo no h a necessidade de armazenamento extra de
memria, pois este tem a mesma esparsidade de . J o segunda forma consiste em determinar
a matriz da seguinte forma:

=
so fatores da decomposio (). A fatorao incompleta da matriz original
No qual e
exige uma decomposio na forma = , onde e tm a mesma estrutura de
elementos no nulos de como partes inferior e superior de , respectivamente, e o residual

ou erro de fatorao. possvel aplicar um maior nmero de preenchimentos em L e U utilizando


a funo ILU(p).
2.5. Armazenamento CSR
Uma matriz esparsa aquela onde a maioria dos seus elementos zero, contendo alguns valores
no nulos na diagonal principal e outros em posies mais distantes da mesma. Quando um
sistema linear a ser resolvido tem a matiz A esparsa, existem mtodos de armazenamento a fim
de evitar inmeras operaes no significantes com elementos nulos, para reduzir o gasto
computacional. Essas formas de armazenamento so comumente utilizadas para resoluo de
sistemas de grande ordem derivados de problemas fsicos reais.
O mtodo utilizado nesse trabalho foi o CSR Compressed Sparse Row , que consiste em
substituir a matriz A por trs vetores que contenham sua informao. Um vetor geralmente
chamado de AA armazena os elementos no nulos da matriz A, um outro vetor geralmente
chamado de JA armazena a coluna correspondente que cada coeficiente no nulo ocuparia na
matriz original A, e um terceiro vetor geralmente chamado de IA representa o valor ordinrio
de cada primeiro elemento no nulo em cada linha na matriz dos coeficientes. Esse mtodo
melhor ilustrado na figura abaixo.

2.6. Reordenamento RCM


O reordenamento RCM se baseia na troca de linhas e coluna a fim de diminuir a distncia dos
termos no-nulos da diagonal principal sem alterar o resultado do sistema linear. Isso evita o
preenchimento de posies no-nulas processo denominado Fill-in que pode ocorrer em
algumas operaes de precondicionamento. O reordenamento utilizado nesse trabalho o RCM
Reverse Cuthill Mckee.

3. EXPERIMENTOS NUMRICOS
Experimentos utilizando parmetros:

itermax = 500;
tol = 10-6.

Software:

Matlab acadmico, verses 2015a (escrever) e 2011a (compilar).


Sistema operacional Windows 8.1 pro x64 (Build 9600)

Hardware:

Processador Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz (8 CPUs)

Memria 8192 MB RAM DDR3


SSD 64 GB
1.5 TB HHD

3.1. Matriz bcsstk03

Sem
RCM
k
20
50
100
Com
RCM
20
50
100
Sem
RCM
20
50
100
Com
RCM
20
50
100

GMRES
iter
2292
381
85

tempo
0.58357s
0.09274s
0.076812s
GMRES

2598
383
85

0.22011s
0.097104s
0.075277s
LCD

5322
948
88

0.48934s
0.1848s
0.077047s
LCD

3337
861
88

0.33457s
0.18012s
0.084029s

GMRES + ILU(0)
iter
10000
127
61

tempo
7.6059s
0.19351s
0.14036s

GMRES + ILU(0)
10000
144
67

7.9175s
0.21024s
0.14886s

LCD + ILU(0)
10000
148
62

7.8058s
0.21484s
0.14392s

LCD + ILU(0)
10000
200
67

7.912s
0.25188s
0.15323s

GMRES + ILU(1)

GMRES + ILU(10)

iter
96
34
34

iter
96
34
34

tempo
0.10371s
0.057278s
0.05662s

GMRES + ILU(1)
2000
45
45

1.6603s
0.081051s
0.080706s

LCD + ILU(1)
99
34
34

0.10567s
0.055213s
0.055056s

LCD + ILU(1)
115
45
45

0.1326s
0.078858s
0.079261s

tempo
0.15471s
0.10833s
0.10835s

GMRES + ILU(10)
10000
45
45

8.1584s
0.12956s
0.12965s

LCD + ILU(10)
99
34
34

0.15868s
0.10873s
0.10874s

LCD + ILU(10)
115
45
45

0.18115s
0.12823s
0.12808s

GMRES + GaussSeidel
iter
tempo
116
0.151s
33
0.085375s
33
0.085712s
GMRES + GaussSeidel
60
0.11471s
31
0.091058s
31
0.091153s
LCD + GaussSeidel
209
0.22979s
34
0.086861s
34
0.086681s
LCD + GaussSeidel
476
0.45377s
31
0.089833s
31
0.08971s

3.2. Matriz orsirr_1

Sem
RCM
k
20
50
100
Com
RCM
20
50
100
Sem
RCM
20
50
100
Com
RCM
20
50
100

GMRES
iter
7354
1762
1123

tempo
2.4281s
0.73832s
0.60582s

GMRES
8280
1760
1123

2.8215s
0.74627s
0.64456s
LCD

4042
1850
1125

1.4628s
0.96511s
0.85738s
LCD

4759
2046
1125

1.7163s
1.0663s
0.8694s

GMRES + ILU(0)
iter
10000
398
164

tempo
69.1405s
2.8435s
1.372s

GMRES + ILU(0)
10000
196
131

70.4847s
1.6062s
1.1775s

LCD + ILU(0)
10000
704
177

61.707s
4.6022s
1.4653s

LCD + ILU(0)
10000
1787
167

62.9082s
11.4771s
1.4082s

GMRES + ILU(1)

GMRES + ILU(10)

iter
2000
47
47

iter
35
33
33

tempo
14.9873s
1.1439s
1.1512s

tempo
67.3748s
67.3419s
67.3541s

GMRES + ILU(1)

GMRES + ILU(10)

2000
140
96

10000
40
40

15.0453s
1.7659s
1.4861s

LCD + ILU(1)
806
89
63

5.9657s
1.4185s
1.2883s

LCD + ILU(1)
2000
199
144

13.6476s
2.1538s
1.8086s

155.725s
56.1777s
56.178s

LCD + ILU(10)
73
24
24

67.7157s
67.2712s
67.2708s

LCD + ILU(10)
212
40
40

57.6845s
56.1985s
56.1811s

GMRES + GaussSeidel
iter
tempo
798
5.9591s
661
4.5235s
492
3.3364s
GMRES + GaussSeidel
977
7.236s
728
4.9377s
546
3.7804s
LCD + GaussSeidel
1372 9.1354s
623
4.0984s
523
3.5605s
LCD + GaussSeidel
1080 7.0839s
738
4.849s
606
4.3168s

3.3. Matriz plat1919

Sem
RCM

k
20
50
100
Com
RCM

20
50

GMRES

GMRES + ILU(0)

GMRES + ILU(1)

GMRES + ILU(10)

iter

tempo

iter

tempo

iter

tempo

iter

tempo

10000
8274
4021

10.1184s
9.1216s
5.3065s

10000
25000
50000

130.5307s
305.3806s
606.1962s

2000
5000
10000

41.188s
79.1218s
144.1329s

10000
25000
50000

1757.1075s
2163.8969s
2853.3436s

GMRES
10000
8545

10.2253s
9.4406s

GMRES + ILU(0)
10000
25000

129.832s
304.8429s

GMRES + ILU(1)
2000
5000

33.5473s
69.9958s

GMRES + ILU(10)
10000
25000

200.7886s
412.4867s

GMRES + GaussSeidel
iter
tempo
10000
1500
1389

140.2451s
19.8048s
18.2261s

GMRES + Gauss-Seidel
10000
1291

139.692s
17.0177s

100

3980

Sem
RCM

20
50
100

50000

LCD
10000
25000
19399

Com
RCM

20
50
100

5.143s
9.6994s
30.1138s
31.1489s

LCD + ILU(0)
7640
25000
50000

LCD
10000
23499
17399

9.9041s
28.3784s
28.0798s

605.9291s
95.6306s
301.5002s
613.1185s

LCD + ILU(0)
10000
15700
50000

3.4. Matriz sherman5

123.7547s
191.2652s
615.0755s

91

7.9113s

LCD + ILU(1)
2000
5000
10000

39.8481s
78.2036s
146.4966s

LCD + ILU(1)
2000
5000
10000

32.3546s
69.4835s
135.1517s

50000

774.1169s

LCD + ILU(10)
7000
15050
29600

1664.6651s
1884.6513s
2296.5684s

LCD + ILU(10)
5920
15450
27400

135.8831s
271.2278s
451.7741s

1191

15.6152s

LCD + Gauss-Seidel
7199
2399
4875

95.3488s
31.4724s
65.3871s

LCD + Gauss-Seidel
3000
3233
2591

39.6754s
42.7118s
34.8962s

Sem
RCM
k
20
50
100
Com
RCM
20
50
100
Sem
RCM
20
50
100
Com
RCM
20
50
100

GMRES
iter
10000
10387
5387

tempo
10.1809s
13.1274s
9.3591s

GMRES
10000
11567
8486

10.3153s
14.6652s
14.7032s
LCD

10000
25000
5245

13.4843s
49.4659s
15.7435s
LCD

10000
25000
5964

13.7201s
49.511s
18.0509s

GMRES + ILU(0)

GMRES + ILU(1)

GMRES + ILU(10)

iter
107
50
50

iter
96
44
44

iter
48
32
32

tempo
4.2207s
2.9597s
3.0029s

tempo
7.4462s
6.2291s
6.2632s

tempo
903.1694s
902.516s
902.5582s

GMRES + ILU(0)

GMRES + ILU(1)

GMRES + ILU(10)

102
55
53

118
49
49

79
47
47

4.4036s
3.2458s
3.1981s

LCD + ILU(0)
131
50
50

4.8749s
3.0131s
3.0037s

LCD + ILU(0)
99
56
54

4.2489s
3.2799s
3.2667s

8.2847s
6.6852s
6.69s

LCD + ILU(1)
95
44
44

7.4437s
6.2502s
6.2553s

LCD + ILU(1)
96
49
49

7.8753s
6.6743s
6.6827s

77.6388s
76.8072s
76.7805s

LCD + ILU(10)
46
32
32

903.0816s
902.5279s
902.5176s

LCD + ILU(10)
80
47
47

77.6554s
76.781s
76.7739s

GMRES + GaussSeidel
iter
tempo
10000 238.8271s
442
10.3774s
355
8.2574s
GMRES + GaussSeidel
3903
91.6665s
1434
33.4874s
900
21.2921s
LCD + Gauss-Seidel
1900
1597
545

45.832s
38.1621s
14.0203s

LCD + Gauss-Seidel
10000
14346
948

239.0496s
342.5137s
23.4653s

3.5. Matriz wathen100

Sem
RCM
k
20
50
100
Com
RCM
20
50
100
Sem
RCM
20
50
100
Com
RCM
20
50
100

GMRES
iter
252
174
165

tempo
4.559s
3.6654s
3.9108s
GMRES

252
174
165

5.3576s
4.4839s
4.7076s
LCD

430
262
238

8.1749s
6.2982s
7.2033s
LCD

430
262
238

8.8454s
7.2329s
7.9813s

GMRES + ILU(0)

GMRES + ILU(1)

GMRES + ILU(10)

iter
37
32
32

iter
37
31
31

iter
37
31
31

tempo
236.6131s
235.5439s
235.5541s

tempo
515.034s
513.7863s
513.7637s

tempo
6837.3399s
6835.6542s
6835.6336s

GMRES + ILU(0)

GMRES + ILU(1)

GMRES + ILU(10)

36
30
30

36
31
31

36
30
30

231.1192s
229.7618s
229.6752s

LCD + ILU(0)
38
32
32

236.8543s
235.3869s
235.393s

LCD + ILU(0)
37
31
31

231.1502s
229.7928s
229.7754s

399.6807s
398.5458s
398.5302s

LCD + ILU(1)
38
32
32

515.2019s
513.7822s
514.0238s

LCD + ILU(1)
37
31
31

399.7256s
398.3963s
398.4497s

4584.3646s
4582.9833s
4582.7547s

LCD + ILU(10)
37
31
31

6837.1985s
6835.4554s
6835.4814s

LCD + ILU(10)
37
31
31

4584.5247s
4582.8217s
4582.9453s

GMRES + GaussSeidel
iter
tempo
201
43.6392s
131
27.8367s
97
20.8012s
GMRES + GaussSeidel
178
39.4713s
123
27.3381s
91
20.4849s
LCD + GaussSeidel
225
48.8343s
142
30.678s
106
23.8091s
LCD + GaussSeidel
205
45.1753s
131
29.2234s
95
22.2586s

3.6. Matriz FEM_3D_thermal1

Sem
RCM
k
20
50
100
Com
RCM
20
50
100
Sem
RCM
20
50
100
Com
RCM
20
50
100

GMRES
iter
161
134
128

tempo
3.2506s
3.0248s
3.1444s
GMRES

161
134
128

4.877s
4.6842s
4.7518s
LCD

186
147
142

3.8031s
3.6027s
3.9604s
LCD

186
147
143

5.3889s
5.2258s
5.5953s

GMRES + ILU(0)

GMRES + ILU(1)

iter
36
35
35

iter
36
35
35

tempo
189.7643s
189.5765s
189.6212s

tempo
748.7982s
748.5803s
748.6813s

GMRES + ILU(0)

GMRES + ILU(1)

37
36
36

35
34
34

185.0102s
185.0365s
184.8598s

LCD + ILU(0)
37
36
36

189.9073s
189.675s
189.746s

LCD + ILU(0)
38
37
37

185.0184s
184.9351s
184.9185s

674.7263s
674.5058s
674.4925s

LCD + ILU(1)
37
36
36

748.999s
748.7042s
748.8976s

LCD + ILU(1)
36
35
35

674.704s
674.5797s
674.5576s

GMRES +
ILU(10)
iter
tempo
???
> 9999s
???
> 9999s
???
> 9999s
GMRES +
ILU(10)
???
> 9999s
???
> 9999s
???
> 9999s
LCD + ILU(10)
???
???
???

> 9999s
> 9999s
> 9999s

LCD + ILU(10)
???
???
???

> 9999s
> 9999s
> 9999s

GMRES + GaussSeidel
iter
tempo
158
24.5825s
125
19.6183s
114
18.2481s
GMRES + GaussSeidel
165
27.2642s
128
21.4704s
117
20.038s
LCD + GaussSeidel
177
27.5028s
135
21.1372s
126
20.2117s
LCD + GaussSeidel
179
29.1902s
140
23.6867s
130
22.312s

4. CONCLUSO
Atravs dos grficos e tabelas obtidos como resultado dos experimentos possvel obter
algumas concluses quanto aos artifcios computacionais utilizados:
a) Reordenamento RCM
O reordenamento s ajudou a reduzir o nmero de iteraes nas matrizes bcsstk03 e
plat1919. Nas demais o reordenamento ou no teve impacto ou dificultou a soluo do
sistema;
Em todos os casos, o reordenamento rapidamente aplicado, normalmente utilizando
de 1% a 10% do tempo total de resoluo do problema.

b)

Precondicionamento ILU
Na maioria dos casos diminui drasticamente o nmero de iteraes;
Pode levar o sistema a divergir, como o acontecido na matriz plat1919;
Em todos os casos, a montagem da matriz de precondicionamento demorou mais que a
resoluo do sistema em si algumas vezes chegando a 90% do tempo computacional
total.
c) Precondicionamento ILU(p)
Extremamente demorado conforme P aumenta;
Em grandes matrizes, como a FEM_3D_thermal1, a montagem da matriz de
precondicionamento pode demorar de horas para p = 1 ou valores baixos ou at
mesmo dias para p = 10 sou maior;
Diminui o nmero de iteraes mais ainda que o ILU(0), nos casos onde ocorre
convergncia;
Pode tomar at 99,9% do tempo computacional de resoluo do sistema.
d) Precondicionamento Gauss-Seidel
mais robusto que o ILU, possibilitando convergncia na matriz plat1919, quando o ILU
causou divergncia;
Diminui consideravelmente o nmero de iteraes. Na matriz bcsstk03 o
precondicionamento Gauss-Seidel diminuiu o nmero de iteraes mais do que o ILU e
o ILU(10);
Impacta pouco no tempo computacional total. Representa at 5% do tempo total na
maioria dos casos.
e) Algoritmo de resoluo
O algoritmo GMRES puro foi mais rpido que o LCD em todas as matrizes, exceto a
orsirr_1 e plat1919;
Utilizando-se o precondicionamento ILU e ILU(p), ambos os mtodos tm tempo de
convergncia bem similares na maioria dos casos;
Em alguns casos a utilizao de reordenamento RCM pode aumentar o tempo de
convergncia do algoritmo GMRES e diminuir o do LCD. Em outros casos acontece o
inverso.

A partir dessas concluses especficas do experimento realizado, possvel obter concluses


mais abrangentes:

Nem sempre a utilizao de precondicionamento ou reordenamento til ou vivel.


Muitos sistemas podem ser resolvidos muito mais rapidamente do que se cria a matriz
de precondicionamento ou que se realiza o reordenamento;
preciso estar atento quanto convergncia do sistema ao utilizar
precondicionamento, pois essa pode ser impactada. Em outros casos, a utilizao de
precondicionamento pode facilitar a convergncia;
O precondicionamento ILU(p) pode alcanar bons resultados em relao ao
precondicionamento ILU(0) mesmo com baixos valores de p, atingindo um melhor
benefcio por custo computacional, em alguns casos;
No geral, o mtodo GMRES produz resultados com menor custo computacional, porm
o mtodo LCD pode ser muito superior em alguns casos especficos.

5. APNDICE
O software Matlab possui diversas facilidades e artifcios para amplificar a capacidade de
programao e execuo de cdigos dos mais diversos tipos. As funes j inclusas no pacote
de produtos do Matlab chamadas funes nativas podem proporcionar um desempenho
muito superior a mtodos comumente implementados em outras linguagens de programao.
A fim de demonstrar o quanto possvel ganhar em desempenho ao utilizar as funes nativas
do Matlab, esse apndice no incluso no escopo inicial deste trabalho demonstra os
resultados da resoluo dos mesmos sistemas propostos utilizando o algoritmo GMRES sob as
mesmas condies de reordenamento e precondicionamento, mesmos parmetros de entrada,
mesmo software e hardware, mas utilizando somente as funes nativas do software. Observase que em alguns casos a soluo do sistema at 1000 vezes mais rpida por exemplo, na
comparao com casos que utilizem o ILU(10), que demora vrias horas para ser aplicado
utilizando-se os cdigos citados nesse trabalho.
Uma descrio de cada resultado segue na lista abaixo:
GMRES sem RCM, k = 20 sem precondicionador. Tempo = 0.13106s, Iteracoes = 99 matriz bcsstk03
O mtodo convergiu
GMRES sem RCM, k = 50 sem precondicionador. Tempo = 0.12886s, Iteracoes = 99 matriz bcsstk03
O mtodo convergiu
GMRES sem RCM, k = 100 sem precondicionador. Tempo = 0.13187s, Iteracoes = 99 matriz bcsstk03
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento ilu. Tempo = 0.0054679s, Iteracoes = 12 matriz bcsstk03
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento ilu. Tempo = 0.0046661s, Iteracoes = 12 matriz bcsstk03
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento ilu. Tempo = 0.0046804s, Iteracoes = 12 matriz bcsstk03
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento ilu(10). Tempo = 0.0020221s, Iteracoes = 1 matriz bcsstk03
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento ilu(10). Tempo = 0.0019175s, Iteracoes = 1 matriz bcsstk03
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento ilu(10). Tempo = 0.0019675s, Iteracoes = 1 matriz bcsstk03
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento seidel. Tempo = 0.045831s, Iteracoes = 73 matriz bcsstk03
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento seidel. Tempo = 0.04713s, Iteracoes = 73 matriz bcsstk03
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento seidel. Tempo = 0.046346s, Iteracoes = 73 matriz bcsstk03
O mtodo convergiu
GMRES com RCM, k = 20 sem precondicionador. Tempo = 0.14354s, Iteracoes = 99 matriz bcsstk03
O mtodo convergiu
GMRES com RCM, k = 50 sem precondicionador. Tempo = 0.1453s, Iteracoes = 99 matriz bcsstk03
O mtodo convergiu
GMRES com RCM, k = 100 sem precondicionador. Tempo = 0.14274s, Iteracoes = 99 matriz bcsstk03
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento ilu. Tempo = 0.0052631s, Iteracoes = 12 matriz bcsstk03
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento ilu. Tempo = 0.0050721s, Iteracoes = 12 matriz bcsstk03
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento ilu. Tempo = 0.0045793s, Iteracoes = 12 matriz bcsstk03
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento ilu(10). Tempo = 0.0022356s, Iteracoes = 1 matriz bcsstk03
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento ilu(10). Tempo = 0.0022639s, Iteracoes = 1 matriz bcsstk03
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento ilu(10). Tempo = 0.0022296s, Iteracoes = 1 matriz bcsstk03
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento seidel. Tempo = 0.045846s, Iteracoes = 75 matriz bcsstk03

O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento seidel. Tempo = 0.046698s, Iteracoes = 75 matriz bcsstk03
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento seidel. Tempo = 0.047894s, Iteracoes = 75 matriz bcsstk03
O mtodo convergiu
GMRES sem RCM, k = 20 sem precondicionador. Tempo = 1.0956s, Iteracoes = 100 matriz orsirr_1
O mtodo convergiu
GMRES sem RCM, k = 50 sem precondicionador. Tempo = 1.0711s, Iteracoes = 100 matriz orsirr_1
O mtodo convergiu
GMRES sem RCM, k = 100 sem precondicionador. Tempo = 1.0726s, Iteracoes = 100 matriz orsirr_1
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento ilu. Tempo = 0.024528s, Iteracoes = 39 matriz orsirr_1
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento ilu. Tempo = 0.024331s, Iteracoes = 39 matriz orsirr_1
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento ilu. Tempo = 0.024078s, Iteracoes = 39 matriz orsirr_1
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento ilu(10). Tempo = 0.024292s, Iteracoes = 1 matriz orsirr_1
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento ilu(10). Tempo = 0.024048s, Iteracoes = 1 matriz orsirr_1
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento ilu(10). Tempo = 0.02411s, Iteracoes = 1 matriz orsirr_1
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento seidel. Tempo = 0.51328s, Iteracoes = 86 matriz orsirr_1
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento seidel. Tempo = 0.51655s, Iteracoes = 86 matriz orsirr_1
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento seidel. Tempo = 0.51962s, Iteracoes = 86 matriz orsirr_1
O mtodo convergiu
GMRES com RCM, k = 20 sem precondicionador. Tempo = 1.0988s, Iteracoes = 100 matriz orsirr_1
O mtodo convergiu
GMRES com RCM, k = 50 sem precondicionador. Tempo = 1.101s, Iteracoes = 100 matriz orsirr_1
O mtodo convergiu
GMRES com RCM, k = 100 sem precondicionador. Tempo = 1.0995s, Iteracoes = 100 matriz orsirr_1
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento ilu. Tempo = 0.025384s, Iteracoes = 39 matriz orsirr_1
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento ilu. Tempo = 0.025357s, Iteracoes = 39 matriz orsirr_1
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento ilu. Tempo = 0.025215s, Iteracoes = 39 matriz orsirr_1
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento ilu(10). Tempo = 0.035175s, Iteracoes = 1 matriz orsirr_1
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento ilu(10). Tempo = 0.034866s, Iteracoes = 1 matriz orsirr_1
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento ilu(10). Tempo = 0.035043s, Iteracoes = 1 matriz orsirr_1
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento seidel. Tempo = 0.58234s, Iteracoes = 43 matriz orsirr_1
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento seidel. Tempo = 0.58154s, Iteracoes = 43 matriz orsirr_1
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento seidel. Tempo = 0.58001s, Iteracoes = 43 matriz orsirr_1
O mtodo convergiu
GMRES sem RCM, k = 20 sem precondicionador. Tempo = 68.1594s, Iteracoes = 500 matriz plat1919
O mtodo no convergiu.
GMRES sem RCM, k = 50 sem precondicionador. Tempo = 68.0172s, Iteracoes = 500 matriz plat1919
O mtodo no convergiu.
GMRES sem RCM, k = 100 sem precondicionador. Tempo = 67.1763s, Iteracoes = 500 matriz plat1919
O mtodo no convergiu.
GMRES sem RCM, k = 20 com precondicionamento ilu. Tempo = 76.196s, Iteracoes = 118 matriz plat1919
O mtodo no convergiu.
GMRES sem RCM, k = 50 com precondicionamento ilu. Tempo = 76.577s, Iteracoes = 118 matriz plat1919
O mtodo no convergiu.

GMRES sem RCM, k = 100 com precondicionamento ilu. Tempo = 76.7039s, Iteracoes = 118 matriz plat1919
O mtodo no convergiu.
GMRES sem RCM, k = 20 com precondicionamento ilu(10). Tempo = 3.5888s, Iteracoes = 1 matriz plat1919
O mtodo estagnou.
GMRES sem RCM, k = 50 com precondicionamento ilu(10). Tempo = 3.5889s, Iteracoes = 1 matriz plat1919
O mtodo estagnou.
GMRES sem RCM, k = 100 com precondicionamento ilu(10). Tempo = 3.5723s, Iteracoes = 1 matriz plat1919
O mtodo estagnou.
GMRES sem RCM, k = 20 com precondicionamento seidel. Tempo = 76.5651s, Iteracoes = 217 matriz plat1919
O mtodo no convergiu.
GMRES sem RCM, k = 50 com precondicionamento seidel. Tempo = 76.4442s, Iteracoes = 217 matriz plat1919
O mtodo no convergiu.
GMRES sem RCM, k = 100 com precondicionamento seidel. Tempo = 76.688s, Iteracoes = 217 matriz plat1919
O mtodo no convergiu.
GMRES com RCM, k = 20 sem precondicionador. Tempo = 67.4239s, Iteracoes = 500 matriz plat1919
O mtodo no convergiu.
GMRES com RCM, k = 50 sem precondicionador. Tempo = 67.2708s, Iteracoes = 500 matriz plat1919
O mtodo no convergiu.
GMRES com RCM, k = 100 sem precondicionador. Tempo = 67.2355s, Iteracoes = 500 matriz plat1919
O mtodo no convergiu.
GMRES com RCM, k = 20 com precondicionamento ilu. Tempo = 0.0080965s, Iteracoes = 2 matriz plat1919
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento ilu. Tempo = 0.0078091s, Iteracoes = 2 matriz plat1919
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento ilu. Tempo = 0.0078672s, Iteracoes = 2 matriz plat1919
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento ilu(10). Tempo = 0.079973s, Iteracoes = 1 matriz plat1919
O mtodo estagnou.
GMRES com RCM, k = 50 com precondicionamento ilu(10). Tempo = 0.080635s, Iteracoes = 1 matriz plat1919
O mtodo estagnou.
GMRES com RCM, k = 100 com precondicionamento ilu(10). Tempo = 0.079858s, Iteracoes = 1 matriz plat1919
O mtodo estagnou.
GMRES com RCM, k = 20 com precondicionamento seidel. Tempo = 77.2258s, Iteracoes = 441 matriz plat1919
O mtodo no convergiu.
GMRES com RCM, k = 50 com precondicionamento seidel. Tempo = 77.0168s, Iteracoes = 441 matriz plat1919
O mtodo no convergiu.
GMRES com RCM, k = 100 com precondicionamento seidel. Tempo = 76.9279s, Iteracoes = 441 matriz plat1919
O mtodo no convergiu.
GMRES sem RCM, k = 20 sem precondicionador. Tempo = 33.5584s, Iteracoes = 78 matriz sherman5
O mtodo convergiu
GMRES sem RCM, k = 50 sem precondicionador. Tempo = 33.5854s, Iteracoes = 78 matriz sherman5
O mtodo convergiu
GMRES sem RCM, k = 100 sem precondicionador. Tempo = 34.4294s, Iteracoes = 78 matriz sherman5
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento ilu. Tempo = 0.073083s, Iteracoes = 28 matriz sherman5
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento ilu. Tempo = 0.07262s, Iteracoes = 28 matriz sherman5
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento ilu. Tempo = 0.072431s, Iteracoes = 28 matriz sherman5
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento ilu(10). Tempo = 0.51788s, Iteracoes = 1 matriz sherman5
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento ilu(10). Tempo = 0.5179s, Iteracoes = 1 matriz sherman5
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento ilu(10). Tempo = 0.51839s, Iteracoes = 1 matriz sherman5
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento seidel. Tempo = 3.563s, Iteracoes = 74 matriz sherman5
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento seidel. Tempo = 3.5673s, Iteracoes = 74 matriz sherman5
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento seidel. Tempo = 3.5622s, Iteracoes = 74 matriz sherman5
O mtodo convergiu
GMRES com RCM, k = 20 sem precondicionador. Tempo = 34.2662s, Iteracoes = 83 matriz sherman5

O mtodo convergiu
GMRES com RCM, k = 50 sem precondicionador. Tempo = 34.3218s, Iteracoes = 83 matriz sherman5
O mtodo convergiu
GMRES com RCM, k = 100 sem precondicionador. Tempo = 34.3805s, Iteracoes = 83 matriz sherman5
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento ilu. Tempo = 0.075689s, Iteracoes = 27 matriz sherman5
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento ilu. Tempo = 0.073629s, Iteracoes = 27 matriz sherman5
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento ilu. Tempo = 0.073755s, Iteracoes = 27 matriz sherman5
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento ilu(10). Tempo = 0.061996s, Iteracoes = 1 matriz sherman5
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento ilu(10). Tempo = 0.061813s, Iteracoes = 1 matriz sherman5
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento ilu(10). Tempo = 0.06201s, Iteracoes = 1 matriz sherman5
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento seidel. Tempo = 232.0325s, Iteracoes = 496 matriz sherman5
O mtodo no convergiu.
GMRES com RCM, k = 50 com precondicionamento seidel. Tempo = 232.3478s, Iteracoes = 496 matriz sherman5
O mtodo no convergiu.
GMRES com RCM, k = 100 com precondicionamento seidel. Tempo = 237.7733s, Iteracoes = 496 matriz sherman5
O mtodo no convergiu.
GMRES sem RCM, k = 20 sem precondicionador. Tempo = 4.2396s, Iteracoes = 19 matriz wathen100
O mtodo convergiu
GMRES sem RCM, k = 50 sem precondicionador. Tempo = 4.238s, Iteracoes = 19 matriz wathen100
O mtodo convergiu
GMRES sem RCM, k = 100 sem precondicionador. Tempo = 4.0791s, Iteracoes = 19 matriz wathen100
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento ilu. Tempo = 0.14091s, Iteracoes = 8 matriz wathen100
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento ilu. Tempo = 0.13967s, Iteracoes = 8 matriz wathen100
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento ilu. Tempo = 0.14081s, Iteracoes = 8 matriz wathen100
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento ilu(10). Tempo = 6.0166s, Iteracoes = 1 matriz wathen100
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento ilu(10). Tempo = 5.9753s, Iteracoes = 1 matriz wathen100
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento ilu(10). Tempo = 6.0094s, Iteracoes = 1 matriz wathen100
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento seidel. Tempo = 2.1165s, Iteracoes = 96 matriz wathen100
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento seidel. Tempo = 2.1052s, Iteracoes = 96 matriz wathen100
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento seidel. Tempo = 2.1017s, Iteracoes = 96 matriz wathen100
O mtodo convergiu
GMRES com RCM, k = 20 sem precondicionador. Tempo = 4.2011s, Iteracoes = 19 matriz wathen100
O mtodo convergiu
GMRES com RCM, k = 50 sem precondicionador. Tempo = 4.1873s, Iteracoes = 19 matriz wathen100
O mtodo convergiu
GMRES com RCM, k = 100 sem precondicionador. Tempo = 4.2133s, Iteracoes = 19 matriz wathen100
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento ilu. Tempo = 0.16038s, Iteracoes = 8 matriz wathen100
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento ilu. Tempo = 0.16104s, Iteracoes = 8 matriz wathen100
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento ilu. Tempo = 0.16112s, Iteracoes = 8 matriz wathen100
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento ilu(10). Tempo = 6.9819s, Iteracoes = 1 matriz wathen100
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento ilu(10). Tempo = 6.9504s, Iteracoes = 1 matriz wathen100
O mtodo convergiu

GMRES com RCM, k = 100 com precondicionamento ilu(10). Tempo = 6.9468s, Iteracoes = 1 matriz wathen100
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento seidel. Tempo = 1.995s, Iteracoes = 92 matriz wathen100
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento seidel. Tempo = 2.0351s, Iteracoes = 92 matriz wathen100
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento seidel. Tempo = 1.9909s, Iteracoes = 92 matriz wathen100
O mtodo convergiu
GMRES sem RCM, k = 20 sem precondicionador. Tempo = 1.4793s, Iteracoes = 18 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES sem RCM, k = 50 sem precondicionador. Tempo = 1.4691s, Iteracoes = 18 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES sem RCM, k = 100 sem precondicionador. Tempo = 1.4957s, Iteracoes = 18 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento ilu. Tempo = 0.13664s, Iteracoes = 7 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento ilu. Tempo = 0.13645s, Iteracoes = 7 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento ilu. Tempo = 0.13731s, Iteracoes = 7 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento ilu(10). Tempo = 23.5366s, Iteracoes = 1 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento ilu(10). Tempo = 23.5336s, Iteracoes = 1 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento ilu(10). Tempo = 23.533s, Iteracoes = 1 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES sem RCM, k = 20 com precondicionamento seidel. Tempo = 2.0216s, Iteracoes = 41 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES sem RCM, k = 50 com precondicionamento seidel. Tempo = 2.0449s, Iteracoes = 41 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES sem RCM, k = 100 com precondicionamento seidel. Tempo = 2.0109s, Iteracoes = 41 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES com RCM, k = 20 sem precondicionador. Tempo = 1.5064s, Iteracoes = 18 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES com RCM, k = 50 sem precondicionador. Tempo = 1.5216s, Iteracoes = 18 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES com RCM, k = 100 sem precondicionador. Tempo = 1.4988s, Iteracoes = 18 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento ilu. Tempo = 0.16447s, Iteracoes = 9 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento ilu. Tempo = 0.16284s, Iteracoes = 9 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento ilu. Tempo = 0.16297s, Iteracoes = 9 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento ilu(10). Tempo = 4.0839s, Iteracoes = 1 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento ilu(10). Tempo = 4.0847s, Iteracoes = 1 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento ilu(10). Tempo = 4.0864s, Iteracoes = 1 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES com RCM, k = 20 com precondicionamento seidel. Tempo = 2.0657s, Iteracoes = 44 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES com RCM, k = 50 com precondicionamento seidel. Tempo = 2.0769s, Iteracoes = 44 matriz FEM_3D_thermal1
O mtodo convergiu
GMRES com RCM, k = 100 com precondicionamento seidel. Tempo = 2.287s, Iteracoes = 44 matriz FEM_3D_thermal1
O mtodo convergiu

You might also like