Buscar

Aula4 Metodos Iterativos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SOLUÇÃO DE SISTEMAS DE EQUAÇÕES 
LINEARES
Objetivo:
• Formas de resolver os sistemas de equações lineares 
resultantes do processo de discretização
• Rever os seguintes métodos: Gauss‐Seidel, Jacobi e SOR
• Apresentar o método: TDMA
MATRIZES ESPECIAIS
Matriz Banda: é uma matriz
quadrada que tem todos os
elementos zero, exceto uma
banda centrada na diagonal
principal.
HBW: half band width
BW: band width
BW: 2HBW + 1
aij=0 se |i‐j|>HBW
MATRIZES ESPECIAIS
Matriz Simétrica: é uma matriz quadrada cuja transposta
é igual à própria matriz.
[A]=[A]T aij=aji
Matriz Tridiagonal: é uma matriz quadrada cujos elementos são nulos, exceto em
três diagonais, a diagonal principal e nas diagonais imediatamente à esquerda e
imediatamente à direita da principal.
AUTORES
SISTEMA DE EQUAÇÕES LINEARES




























15
21
7
.
512
184
114
3
2
1
x
x
x
    bxA .
1552
2184
74
321
321
321



xxx
xxx
xxx
1552
2184
74
321
321
321



xxx
xxx
xxx
SISTEMA DE EQUAÇÕES LINEARES
5
152
8
214
4
7
21
3
31
2
32
1



xxx
xxx
xxx




























15
21
7
.
512
184
114
3
2
1
x
x
x




































3
8
21
4
7
.
05
1
5
2
8
102
1
4
1
4
10
3
2
1
3
2
1
x
x
x
x
x
x
bAx  dCxx 
MÉTODO JACOBI
Divulgado em 1845, é um método iterativo baseado na transformação do sistema linear
Ax=b em um sistema x=Cx+d , onde a matriz C tem zeros na diagonal principal. O
vetor x é atualizado usando os valores do vetor x estimados na iteração anterior. Assim:
    dCxx kk  1







































3
8
21
4
7
.
05
1
5
2
8
102
1
4
1
4
10
1
3
1
2
1
1
3
2
1
k
k
k
k
k
k
x
x
x
x
x
x
bAx 




























15
21
7
.
512
184
114
3
2
1
x
x
x
1552
2184
74
321
321
321



xxx
xxx
xxx
5
152
8
214
4
7
21
3
31
2
32
1



xxx
xxx
xxx
MÉTODO JACOBI
Em notação matricial, a matriz A pode ser decomposta em A=L+D+U

UDLA







 































000
100
110
500
080
004
012
004
000
512
184
114
E Ax=b pode ser reescrita na forma: Dx=b‐(L+U)x
 
xULbxD
x
x
x
x
x
x

























 





































3
2
1
3
2
1
000
100
110
012
004
000
15
21
7
.
500
080
004

Obtendo a inversa (D‐1) de D e reescrevendo: x(k) = D‐1[b‐(L+U) x(k‐1)]
 
 
 
 
 
 



































 









































  
)1(
1
)(
1
3
1
2
1
1
3
2
1
000
100
110
012
004
000
15
21
7
5
100
08
10
004
1
kk x
k
k
k
ULb
Dx
k
k
k
x
x
x
x
x
x
UDLA 
 xULbDx 
      11   kk xULbDx
MÉTODO JACOBI
Iteração 1
Iteração 2
Iteração 3
sk
i
k
i
k
i
xa x
xx
i
 

%100
1
,
Critério de convergência
Estimativa inicial: x1=1; x2=2; x3=2
5
152
8
214
4
7
21
3
31
2
32
1



xxx
xxx
xxx
3
5
1521.2
375,3
8
2121.4
75,1
4
722
3
2
1



x
x
x
025,3
5
15375,375,1.2
875,3
8
21375,1.4
84375,1
4
73375,3
3
2
1



x
x
x
9625,2
5
15875,384375,1.2
925,3
8
21025,384375,1.4
9625,1
4
7025,3875,3
3
2
1



x
x
x
%33,33%100
3
23
%74,40%100
375,3
2375,3
%86,42%100
75,1
175,1
3
2
1
,
,
,



xa
xa
xa



%%83,0%100
025,3
3025,3
%90,12%100
875,3
375,3875,3
%08,5%100
84375,1
75,184375,1
3
2
1
,
,
,



xa
xa
xa



%11,2%100
9625,2
025,39625,2
%27,1%100
925,3
875,3925,3
%05,6%100
9625,1
84375,19625,1
3
2
1
,
,
,



xa
xa
xa



MÉTODO GAUSS‐SEIDEL
Divulgado em 1874, é um método iterativo baseado na transformação do sistema linear
Ax=b em um sistema x=Cx+d , onde a matriz C tem zeros na diagonal principal. O
vetor x é atualizado à medida que os cálculos são feitos (atualização sequencial) e não
somente ao final de cada passo iterativo, como ocorre no método de Jacobi. Assim:






































3
8
21
4
7
.
05
1
5
2
8
102
1
4
1
4
10
1
3
1
2
1
3
2
1
k
k
k
k
k
k
x
x
x
x
x
x







































3
8
21
4
7
.
05
1
5
2
8
102
1
4
1
4
10
1
3
1
2
1
1
3
2
1
k
k
k
k
k
k
x
x
x
x
x
x




































 3
8
21
4
7
.
05
1
5
2
8
102
1
4
1
4
10
1
3
2
1
3
2
1
k
k
k
k
k
k
x
x
x
x
x
x
1552
2184
74
321
321
321



xxx
xxx
xxx
5
152
8
214
4
7
21
3
31
2
32
1



xxx
xxx
xxx
MÉTODO GAUSS‐SEIDEL
Iteração 1
Iteração 2
Iteração 3
sk
i
k
i
k
i
xa x
xx
i
 

%100
1
,
Critério de convergência
Estimativa inicial: x1=1; x2=2; x3=2
5
152
8
214
4
7
21
3
31
2
32
1



xxx
xxx
xxx
95,2
5
1575,375,1.2
75,3
8
21275,1.4
75,1
4
722
3
2
1



x
x
x
98625,2
5
1596875,395,1.2
96875,3
8
2195,295,1.4
95,1
4
795,275,3
3
2
1



x
x
x
99903,2
5
1599609,3995625,1.2
99609,3
8
2198625,2995625,1.4
995625,1
4
798625,296875,3
3
2
1


x
x
x
%20,32%100
95,2
295,2
%67,46%100
75,3
275,3
%86,42%100
75,1
175,1
3
2
1
,
,
,



xa
xa
xa



%%21,1%100
98625,2
95,298625,2
%51,5%100
96875,3
75,396875,3
%26,10%100
95,1
75,195,1
3
2
1
,
,
,



xa
xa
xa



%%43,0%100
99903,2
98625,299903,2
%68,0%100
99609,3
96875,399609,3
%29,2%100
995625,1
95,1995625,1
3
2
1
,
,
,



xa
xa
xa



COMPARAÇÃO GAUSS‐SEIDEL e JACOBI
COMPARAÇÃO GAUSS‐SEIDEL e JACOBI
Iteração 1
Iteração 2
Iteração 3
Iteração 1
Iteração 2
Iteração 3
JACOBI GAUSS‐SEIDEL
3
5
1521.2
375,3
8
2121.4
75,1
4
722
3
2
1



x
x
x
025,3
5
15375,375,1.2
875,3
8
21375,1.4
84375,1
4
73375,3
3
2
1



x
x
x
9625,2
5
15875,384375,1.2
925,3
8
21025,384375,1.4
9625,1
4
7025,3875,3
3
2
1



x
x
x
95,2
5
1575,375,1.2
75,3
8
21275,1.4
75,1
4
722
3
2
1



x
x
x
98625,2
5
1596875,395,1.2
96875,3
8
2195,295,1.4
95,1
4
795,275,3
3
2
1



x
x
x
99903,2
5
1599609,3995625,1.2
99609,3
8
2198625,2995625,1.4
995625,1
4
798625,296875,3
3
2
1



x
x
x
COMPARAÇÃO GAUSS‐SEIDEL e JACOBI
Iteração 1
Iteração 2
Iteração 3
Iteração 1
Iteração 2
Iteração 3
JACOBI GAUSS‐SEIDEL
%33,33%100
3
23
%74,40%100
375,3
2375,3
%86,42%100
75,1
175,1
3
2
1
,
,
,



xa
xa
xa



%%83,0%100
025,3
3025,3
%90,12%100
875,3
375,3875,3
%08,5%100
84375,1
75,184375,1
3
2
1
,
,
,



xa
xa
xa



%11,2%100
9625,2
025,39625,2
%27,1%100
925,3
875,3925,3
%05,6%100
9625,1
84375,19625,1
3
2
1
,
,
,



xa
xa
xa



%20,32%100
95,2
295,2
%67,46%100
75,3
275,3
%86,42%100
75,1
175,1
3
2
1
,
,
,



xa
xa
xa



%%21,1%100
98625,2
95,298625,2
%51,5%100
96875,3
75,396875,3
%26,10%100
95,1
75,195,1
3
2
1
,
,
,



xa
xa
xa



%%43,0%100
99903,2
98625,299903,2
%68,0%100
99609,3
96875,399609,3
%29,2%100
995625,1
95,1995625,1
3
2
1
,
,
,



xa
xa
xa



CONVERGÊNCIA DO GAUSS‐SEIDEL







yx
xgy
xy
xgy )()(
CONDIÇÃO DE CONVERGÊNCIA
Os métodos iterativos de Jacobi e Gauss‐Seidel convergem se a matriz A (do 
sistema Ax=b) é diagonalmente dominante, ou seja:



n
ij
j
ijii aa
1
CRITÉRIO DE SCARBOUROGH






equações das uma menos pelo para1
equações as todaspara11
ii
n
ij
j
ij
a
a
Esta é uma condição suficiente, mas não necessária para convergência, ou 
seja, a matriz pode não ser diagonal dominante e o processo ainda assim 
convergir.
É uma condição de convergência para qualquer método iterativo. 
É uma condição suficiente, mas não necessária. 
OBSERVAÇÕES
De um modo geral o método de Gauss‐Seidel tem convergência mais rápida 
que o método de Jacobi, porém não pode‐se generalizar esta afirmação;
Em alguns casos o método Gauss‐Seidel pode não convergir, enquanto o 
Jacobi converge;
O Jabobi tem sido bastante usado em arquitetura paralela para 
computadores;
EXERCÍCIO
1) Resolver com Gauss‐Seidel o sistema:




1
2,04,0
12
21
xx
xx
2) Resolver com Gauss‐Seidel o sistema:




5,05,2
1
12
21
xx
xx






































3
8
21
4
7
.
05
1
5
2
8
102
1
4
1
4
10
1
3
1
2
1
3
2
1
k
k
k
k
k
k
x
x
x
x
x
x
MÉTODO SOR
É uma modificação do Gauss‐Seidel
para melhorar a convergência. 







































3
8
21
4
7
.
05
1
5
2
8
102
1
4
1
4
10
1
3
1
2
1
1
3
2
1
k
k
k
k
k
k
x
x
x
x
x
x
       1111 1  kkk xxx 
       1222 1  kkk xxx 
       1333 1  kkk xxx 
1552
2184
74
321
321
321



xxx
xxx
xxx
5
152
8
214
4
7
21
3
31
2
32
1



xxx
xxx
xxx




































 3
8
21
4
7
.
05
1
5
2
8
102
1
4
1
4
10
1
3
2
1
3
2
1
k
k
k
k
k
k
x
x
x
x
x
x
MÉTODO SOR (Sucessive Over Relaxation)
0<ω<2        11  kikiki xxx 
0<ω<1→ Subrelaxação (underrelaxation)
1<ω<2→ Sobrerelaxação (overrelaxation)
Sobrerelaxação (SOR): usado para acelerar a convergência de um sistema que
converge.
Subrelaxação: é uma média ponderada entre o valor atual e o anterior da variável.
Usado para obter a covergência de um sistema que não converge, ou para
acelerar a convergência de um sistema reduzindo as oscilações.
ω=1→ Gauss-Seidel
Se a matriz A do sistema Ax=b é simétrica e positiva definida o método converge
para qualquer 0<ω<2.
MÉTODO TDMA (Tridiagonal matrix algorithm) ou 
algoritmo de Thomas
É um método baseado na eliminação de Gauss. Considerando um sistema de
equações lineares escrito na forma:
iiiiiii dxcxbxa   11
Supondo que se queira determinar um processo de substituição progressiva
escrito na forma:
iiii QxPx  1 (2)
111   iiii QxPx (3)
































n
n
n
n
nn
nnn
d
d
d
d
x
x
x
x
ac
bac
bac
ba
1
2
1
1
2
1
111
222
11
......
000
00
0.........0
00
000
(1)
A eq.(1) representa o sistema linear Ax=b, onde a matriz dos coeficientes (A) é
uma matriz tridiagonal. Decompondo a matriz A em A=D+L+U, o sistema pode ser
representado como escrito na eq.(1), que na forma matricial é dado por
Dx=(L+U)x+b:

























































n
n
n
n
n
nn
n
n
n
n
d
d
d
d
x
x
x
x
c
bc
bc
b
x
x
x
x
a
a
a
a
1
2
1
1
2
1
11
22
1
1
2
1
1
2
1
......
0000
000
0...0...0
000
0000
...
0000
0000
00...00
0000
0000
MÉTODO TDMA (Tridiagonal matrix algorithm) ou 
algoritmo de Thomas
Substituindo (3) em (1):
  iiiiiiiii dQxPcxbxa   111
Lembrando que a equação (2) é dada por:
iiii QxPx  1 (2)
   111   iiiiiiiii QcdxbxPca





 


 1
1
1
1 iii
iii
i
iii
i
i Pca
QcdxPca
bx (4)
Comparando (2) e (4) tem-se:
1

iii
i
i Pca
bP (5)
1
1




iii
iii
i Pca
QcdQ (6)
MÉTODO TDMA (Tridiagonal matrix algorithm) ou 
algoritmo de Thomas
Para o elemento “1” não existe o elemento “i-1” então “c1=0”, e resulta da eq.(1):
Para o elemento “n” não existe “n+1” então “Pn=0”, logo, a eq. (2) fica:
1
1
1 a
bP 
1
1
1 a
dQ 
121111012111 dxbxadxcxbxa 
Logo, as equações (5) e (6) para i=1 resultam:
 nn
P
niiii QxxQxPx
n
 

 11 0
(8)
nn Qx  (9)
(7)
MÉTODO TDMA (Tridiagonal matrix algorithm) ou 
algoritmo de Thomas
E o algoritmo do TDMA é dado por:
1) Calcular P1 e Q1 com as equações (7) e (8);
2) Calcular Pi e Qi com as equações (5) e (6) para i=2 até n;
3) Calcular “xn” com a equação (9), ou seja, fazer xn=Qn; e
4) Usando a equação (2) achar o valor xi de forma regressiva para i=n-1 até 1.
RESTRIÇÕES
Aplicável somente quando a matriz de coeficientes “A” do sistema Ax=b seja
diagonal dominante.



n
ij
j
ijii aa
1
EXEMPLO DO MÉTODO TDMA
100105
1005155
1005155
1100520
43
432
321
21




xx
xxx
xxx
xx





























100
100
100
1100
.
10500
51550
05155
00520
4
3
2
1
x
x
x
x
Deixando na forma do algoritmo:










































100
100
100
1100
.
0500
5050
0505
0050
.
10000
01500
00150
00020
4
3
2
1
4
3
2
1
x
x
x
x
x
x
x
x
Dado o sistema linear Ax=b:
Montando uma tabela auxiliar e seguindo os passos do algoritmo:
n cn an bn dn Pn Qn xn
1 0 20 5 1100 0,25 55 64,26
2 5 15 5 100 0,364 27,27 37,03
3 5 15 5 100 0,379 17,93 26,80
4 5 10 0 100 0 23,40 23,40
1) Calcular P1 e Q1 com as equações (7) e (8);
2) Calcular Pi e Qi com as equações (5) e (6) para i=2 até n;
3) Calcular “xn” com a equação (9), ou seja, fazer xn=Qn; e
4) Usando a equação (2) achar o valor xi de forma regressiva para i=n-1 até 1.










































100
100
100
1100
.
0500
5050
0505
0050
.
10000
01500
00150
00020
4
3
2
1
4
3
2
1
x
x
x
x
x
x
x
x
1
1
1 a
bP 
1
1
1 a
dQ 
1

iii
i
i Pca
bP
1
1




iii
iii
i Pca
QcdQ
nn Qx 
iiii QxPx  1
(7)
(9)
(2)
(8)
(5) (6)
EXEMPLO DO MÉTODO TDMA

Outros materiais