Uploaded by Luís Paulo

MN 10 resolucao sistemas metodos iterativos ppt

advertisement
Métodos Numéricos
Sistemas Lineares – Métodos Iterativos
Professor Volmir Eugênio Wilhelm
Professora Mariana Kleina
Resolução de Sistemas Lineares
Métodos Iterativos – Introdução
• É bastante comum encontrar sistemas lineares que envolvem uma grande
porcentagem de coeficientes nulos. Esses sistemas são chamados de sistemas
esparsos. Para esses tipos de sistemas, o método de Eliminação de Gauss não é o
mais apropriado, pois ele não preserva essa esparsidade, que pode ser útil por
facilitar a resolução do sistema.
• Métodos iterativos são mais econômicos no que tange a memória dos
computadores
• Podem ser usados para reduzir os erros de arredondamento na solução obtida
por métodos exatos
• Em alguns casos podem ser aplicados para resolver conjuntos de equações não
lineares
(Ruggiero, página 154)
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
2
Resolução de Sistemas Lineares
Métodos Iterativos – Introdução
• Um método é iterativo quando fornece uma sequência de aproximações da
solução.
• Cada uma das aproximações é obtida das anteriores pela repetição do mesmo
processo.
• Precisamos sempre saber se a sequência obtida está convergindo ou não para a
solução desejada.
• Dada uma sequência de vetores {x(k)}, dizemos que a sequência {x(k)} converge
para x se ||x(k) – x||  0, quando k  .
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
3
Resolução de Sistemas Lineares
Métodos Iterativos – Introdução
• Portanto, como todo processo iterativo, estes métodos sempre apresentarão um
resultado aproximado, que será tão próximo do resultado real conforme o
número de iterações realizadas.
• Para determinar a solução de um sistema linear por métodos iterativos,
precisamos transformar o sistema dado em um outro sistema onde possa ser
definido um processo iterativo.
• A solução obtida para o sistema transformado deve ser também solução do
sistema original (sistemas lineares devem ser equivalentes).
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
4
Resolução de Sistemas Lineares
Métodos Iterativos – Algoritmo
• Escrever o sistema Ax = b, de forma equivalente x = Fx + d (tal como f(x) = x – g(x)
para iterações de ponto fixo).
• Escolher uma aproximação inicial x(0).
• Começando com x(0), gerar uma sequência de aproximações {xk} de forma
iterativa através de
x(k + 1) = Fx(k) + d
fazendo x(1) = Fx(0) + d, x(2) = Fx(1) + d e assim sucessivamente.
Observação
• A representação de F e d depende do tipo de método usado.
• Assim, para métodos iterativos diferentes, F e d são obtidos a partir de A e b de
formas diferentes.
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
5
Resolução de Sistemas Lineares
Métodos Iterativos – Algoritmo
• Como k→, a seqüência {x(k)} converge para o vetor solução sob algumas
condições da matriz F.
• Isto impõe condições diferentes na matriz A para diferentes métodos.
• Para a mesma matriz A, um método pode convergir, enquanto outro pode
divergir.
• Portanto, para cada processo, a relação entre A e F deve ser encontrada para
decidir sobre a convergência.
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
6
Resolução de Sistemas Lineares
Métodos Iterativos – Algoritmo
Quando Parar?
• Se a sequência {x(k)} estiver suficientemente próximo de x(k-1) paramos o processo.
• Dada um precisão ε, quando ||x(k) – x|| < ε então x(k) é a solução do sistema linear.
• Computacionalmente, um número máximo de iterações também é critério de
parada.
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
7
Resolução de Sistemas Lineares
Método Iterativo Gauss-Jacobi
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
8
Resolução de Sistemas Lineares
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
9
Resolução de Sistemas Lineares
Método Iterativo Gauss-Jacobi – Motivação
Seja um sistema com n variáveis e n equações
a11x 1  a12x 2    a1nx n  b1
a x  a x    a x  b
 21 1 22 2
2n n
2



an1x 1  an2x 2    annx n  bn
a11x 1  b1  a12x 2    a1nx n 
a x  b  a x    a x 
 22 2
2
21 1
2n n

...
annx n  bn  an1x 1    ann-1x n-1 
1

x

 1 a b1  a12x 2    a1nx n 
11

x  1 b  a x    a x 
2
2
21 1
2n n
a22

...

1
x n 
bn  an1x1    ann-1xn-1 

ann
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
10
Resolução de Sistemas Lineares
Método Iterativo Gauss-Jacobi
Seja x(0) uma solução inicial para este sistema . Calculando o segundo valor, x(1),
da sequência {x(k)} a partir de x(0)
1

b1  a12x 2    a1nxn 
x

1

a11

x  1 b  a x    a x 
2
2
21 1
2n n
a22

...

1
x n 
bn  an1x1    ann-1xn-1 

ann
x 10  
 0  
 0  x 2 
x 
 
 0  
x n 


 1  1
0 
0 
x 1  a b1  a12x 2    a1nx n
11

 1  1
b2  a21x 10   a23x 30     a2nx n0 
x 2 
a22

...

 1  1
0 
0 
0 
x n  a bn  an1x 1  an2x 2    ann1x n1
nn





x 11  
 1  
1  x 2 
x 
 
 1  
x n 
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
11
Resolução de Sistemas Lineares
Método Iterativo Gauss-Jacobi
Calculando o valor de ordem (k+1) da sequência {x(k)} a partir de x(k)




 k 1  1
k 
k 
k 
x 1  a b1  a12x 2  a13x 3    a1nx n
11

 k 1  1
b2  a21x 1k   a23x 3k     a2nx nk 
x 2 
a22

...

 k 1  1
k 
k 
k 
x

b

a
x

a
x



a
x
n
n
n1
1
n2
2
nn

1
n
1

ann



Equação geral
k 1 
xi
1

aii
i1
n

k 
k  
b

a
x

a
x
 i  ij j

ij j 
j1
ji1


Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
12
Resolução de Sistemas Lineares
Método Iterativo Gauss-Jacobi
• Seja o sistema


 k 1  1
k 
k 
x

b

a
x



a
x
1
1
12
2
1n
n

a11

 k 1  1
b2  a21x 1k   a23x 3k     a2nx nk 
x 2 
a22

...

 k 1  1
k 
k 
k 
x n  a bn  an1x 1  an2x 2    ann1x n1
nn





• Considerando que x(k+1) = Fx(k) + d, então temos
0


  a /a
F   21 22
........

  a /a
 n1 nn
 a12/a11 ......  a1n/a11 

0
.......  a2n/a22 
......... ....... ......... 

 an2 /ann .......
0 
 b1 /a11 


 b /a 
d   2 22 
.......


 b /a 
 n nn 
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
13
Resolução de Sistemas Lineares
Método Iterativo Gauss-Jacobi
A iteração xk+1 = Fxk + d para o método Gauss-Jacobi
A matriz A pode ser rescrita como A=L+D+U (não é decomposição)
a11 a12 a13  x 1   0 0 0 x 1  a11 0 0  x 1  0 a12 a13  x 1 
a
 x   a
 x    0 a
  x   0 0 a   x 
a
a
0
0
0
21
22
23
2
21
2
22
23   2 

  
  
 2  
a31 a32 a33  x 3  a31 a32 0 x 3   0 0 a33  x 3  0 0 0  x 3 
Ax = b  (L + D + U)x = b
Dxk+1 = [b–(L+U)xk]
xk+1 = (1/D)*[b–(L+U)xk]
Dn×n é matriz diagonal formado pelos elementos da diagonal de A
Un×n matriz triangular superior formada pelos elementos acima da diagonal de A
Ln×n matriz triangular inferior formada pelos elementos abaixo da diagonal de A
Fazendo Qn×n = (Un×n + Ln×n), e considerando Dn×n tal que A = (L + D + U)
1
x ik 1  
Dii
n

k  
bi   Q ijx j 
j1


Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
14
Resolução de Sistemas Lineares
Método Iterativo Gauss-Jacobi – Pseudo-Algoritmo
1.
2.
3.
4.
Sejam An×n e bn×1
Construa as matrizes Q e D tal que Q = (U + L) e A = (L + D + U)
Faça x(0) = 0; k = 0; Erro = Inf; Tolerancia = 10-5;
while Erro > Tolerancia
k 1
xi
1

Dii
n

k  
b

Q
x
 i  ij j 
j1


k = k + 1;
Erro = ||b – Axk||;
end
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
15
Resolução de Sistemas Lineares
Método Iterativo Gauss-Jacobi – Critério de Convergência das linhas
Critério das linhas.
 n

Dado o sistema Ax = b, seja αk   |akj |/ |akk |
 j1,jk

Se α  max αk  1 , então o método de Gauss-Jacobi gera uma série convergente
1kn
para a solução do sistema independentemente da escolha de x(0).
n
aij
a
j1
i j
 1 para i  1,2,..., n
ii
n
aii   aij (matriz diagonalmente dominante)
j1
i j
Se A é uma matriz diagonalmente dominante, então o método Jacobi converge
para qualquer vetor inicial x(0).
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
16
Resolução de Sistemas Lineares
Método Iterativo Gauss-Jacobi – Critério das linhas – Exemplo
10 x 1  2 x 2  x 3  7

1 x 1  5 x 2  x 3  8
2 x  3 x  10 x  6
2
3
 1
 10 2 1 


A 1 5 1 
 2 3 10 


Critério das linhas:
α1 
21
 0,3  1
10
α2 
Como α  max αk  0,5  1
1k 4
11
 0,4  1
5
α3 
23
 0,5  1
10
logo, a sequência converge
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
17
Resolução de Sistemas Lineares
Método Iterativo Gauss-Jacobi – Exemplo 1
 4  1 1 x 1   7
 4  8 1 x    21

 2  

 2
1 5 x 3   15
0 
x 0   0
0
b  Ax0   26,7395
A matriz dos coeficientes é diagonalmente dominante
7  x 20   x 30 
7
x1 
  1,75
4
4
0 
0 
21  4x 1  x 3
21
x 21  
  2,625
8
8
0 
0 
1  15  2x 1  x 2  15  3,0
x3 
5
5
1 
1,750 
x 1   2,625 
3,000 
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
b  Ax1  10,0452
18
Resolução de Sistemas Lineares
Método Iterativo Gauss-Jacobi – Exemplo 1
7  x 21   x 31 
7  2,625  3
x1 

 1,65625
4
4
1 
1 
21  4  1,75  3
2  21  4x 1  x 3
x2 

 3,875
8
8
1 
1 
15  2  1,75  2,625
2  15  2x 1  x 2

 4,225
x3 
5
5
2 
7  3,875  4,225
 1,6625
4
21  4  1,65625  4,225
x 23  
 3,98125
8
15  2  1,65625  3,875
x 33  
 2,8875
5
x 13  
1,6562 
x 2   3,8750 
4,2250 
b  Ax 2   6,7413
1,66250 
x 3   3,98125 
2,88750 
b  Ax 3   1,9534
A matriz é uma diagonalmente dominante, então o método Jacobi converge.
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
19
Resolução de Sistemas Lineares
Método Iterativo Gauss-Jacobi – Exemplo 2
5 1 1
7
1


 
 
A   1 5 1  b   7  Ax  b  x   1 
 1 1 5
7
1


 
 
 0,0000

F    0,2000
  0,2000

 0,2000
0,0000
 0,2000
 0,2000 

 0,2000 
0,0000 
 7/5   1,4000 

 

d  b/D   7/5    1,4000 
 7/5   1,4000 

 

 0,0000 


x (0)   0,0000 
 0,0000 


Solução exata

n


 k 1 1 

k 

bi 
qijx j 
 xi


d
ii

j

1








k

1
k
x

 d  Fix



Erro: b  Ax 0   12,124
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
20
Resolução de Sistemas Lineares
Método Iterativo Gauss-Jacobi – Exemplo 2
 1,4000 


x (1)  Fx(0)  d   1,4000 
 1,4000 


 0,8400 


x (2)  Fx(1)  d   0,8400 
 0,8400 


 1,0640 


x (3)  Fx(2)  d   1,0640 
 1,0640 


 0,9744 


x (4)  Fx(3)  d   0,9744 
 0,9744 


 1,0102 


x (5)  Fx(4)  d   1,0102 
 1,0102 


 0,9959 


x (6)  Fx(5)  d   0,9959 
 0,9959 


b  Ax 1  4,8497
b  Ax 3  0,77596
b  Ax 5  0,12367
b  Ax 2   1,9399
b  Ax 4   0,31038
b  Ax 6   0,04971
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
21
Resolução de Sistemas Lineares
Método Iterativo Gauss-Seidel
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
22
Resolução de Sistemas Lineares
Calculando o valor x(k+1) da sequência {x(k)} a partir de x(k)




 k 1  1
k 
k 
k 
x

b

a
x

a
x



a
x
1
1
12
2
13
3
1n
n

a11

 k 1  1
b2  a21x 1k   a23x 3k     a2nx nk 
x 2 
Gauss-Jacobi 
a22
...

 k 1  1
k 
k 
k 
x n  a bn  an1x 1  an2x 2    ann1x n1
nn





 k 1  1
k 
k 
k 
x

b

a
x

a
x



a
x
1
1
12
2
13
3
1n
n

a11

 k 1  1
b2  a21x 1k 1   a23x 3k     a2nx nk 
x 2 
Gauss-Seidel 
a22
...

 k 1  1
k 1 
k 1 
k 1 
x n  a bn  an1x 1  an2x 2    ann1x n1
nn




Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina

23
Resolução de Sistemas Lineares
Método Iterativo Gauss-Seidel


 k 1  1
k 
k 
k 
x

b

a
x

a
x



a
x
1
1
12
2
13
3
1n
n

a11

 k 1  1
b2  a21x 1k 1   a23x 3k     a2nx nk 
x 2 
a22

...

 k 1  1
k 1
k 1
k 1 
x n  a bn  an1x 1  an2x 2    ann1x n1
nn




k 1 
xi
1

aii
i1
n

k 1 
k  
bi   aijx j   aijx j 
j1
ji1



Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
24
Resolução de Sistemas Lineares
Método Iterativo Gauss-Seidel


 k 1  1
k 
k 
k 
x

b

a
x

a
x



a
x
1
1
12
2
13
3
1n
n

a11

 k 1  1
b2  a21x 1k 1   a23x 3k     a2nx nk 
x 2 
a22

...

 k 1  1
k 1
k 1
k 1 
x n  a bn  an1x 1  an2x 2    ann1x n1
nn





Ax = b  (L + D + U)x = b
x
k 1
i
1

aii
Dxk+1
i1
n

k 1
k
b

a
x

a
x
 i  ij j
 ij j 
j1
ji1
 
 
Lx k 1
Uxk
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
25
Resolução de Sistemas Lineares
Método Iterativo Gauss-Seidel – Pseudo-Algoritmo
1.
2.
3.
4.
Sejam An×n e bn×1
Construa as matrizes D, L e U tal que A = (L + D + D)
Faça x(0) = 0; k = 0; Erro = Inf; Tolerancia = 10-5;
while Erro > Tolerancia
k 1
xi
1

Dii
ji1
jn

k 1
k  
b

L
x

U
x
 i  ij j

ij j 
j

1
j

i

1


K = k + 1;
Erro = ||b – Axk||;
end
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
26
Resolução de Sistemas Lineares
Método Iterativo Gauss-Seidel – Critério de Convergência
•
Gauss-Jacobi converge para qualquer vetor inicial, se a matriz A é uma matriz
diagonal dominante.
•
Gauss-Seidel converge para qualquer vetor inicial se A é uma matriz definida
positiva.
•
A Matrix é definida positiva se xTAx > 0 para todo x diferente do vetor nulo.
•
A matriz é definida positiva, se todos os autovalores são positivos.
•
Mas o critério a ser adotado para convergência do método Gauss-Seidel será o de
SASSENFELD.
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
27
Resolução de Sistemas Lineares
Método Iterativo Gauss-Seidel – Critério de Convergência
Critérios de Convergência;
1) Critério das linhas –para o método GAUSS-JACOBI;
2) Critério de Sassenfeld – para o método GAUSS-SEIDEL.
Os critérios acima estabelecem condições suficientes para a convergência.
Critério de Sassenfeld
Sejam as quantidades i dadas por:
1 n
β1 
 a1j
a11 j2
n

1  i1
βi   β j aij   aij  , i  2,3,...,n
aii  j1
ji1

Se β  max{βi } o método de Gauss-Seidel convergirá. Quanto menor , mais
1in
rápida é a convergência.
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
28
Resolução de Sistemas Lineares
Método Iterativo Gauss-Seidel – Critério de Sassenfeld
Sejam
|a12 |  |a13 |    |a1n | n |a1j |
β1 

|a11 |
j2 | a11 |
e
βi 
| ai1 |β1  | ai2 |β2    | aii1 |βi1  | aii1 |   | ain |
| aii |
i1
n
j1
ji1
 [| aij |β j  | aij |]/ | aii | i  2,3,  n
Seja β  max{βi } . Se  < 1, o método de Gauss-Seidel gera uma sequência
1in
convergente para qualquer x(0). Quanto menor , mais rápida a convergência.
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
29
Resolução de Sistemas Lineares
Método Iterativo Gauss-Seidel – Critério de Convergência de Sassenfeld – Exemplo
a11
a
21
A
a31

a41
a12
a13
a22
a23
a32
a33
a42
a43
a14 
b1 
b 
a24 
2
b 
b 3 
a34 

 
a44 
b 4 
β1 
1
|a12  |a13 |  |a14 
a11
β2 
1
 a21 β1  a23  a24 
a22
β3 
1
 a31 β1  a32 β2  a34 
a33
β4 
1
 a41 β1  a42 β2  a43 β3 
a44
Seja β  maxβi . Se  é menor que 1 então o método iterativo Gauss-Seidel irá
1i4
convergir para a solução do sistema.
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
30
Resolução de Sistemas Lineares
Método Iterativo Gauss-Seidel – Critério de Sassenfeld – Exemplo
2x 1  x 2  0,2x 3  0,2x 4  0,4
0,6x  3x  0,6x  0,3x  7,8

1
2
3
4

 0,1x 1  0,2x 2  x 3  0,2x 4  1
0,4x 1  1,2x 2  0,8x 3  4x 4  10
1  0,2 0,2 
 2
 0,6 3  0,6  0,3 

A
 0,1  0,2 1
0,2


0,4
1,2
0,8
4


1

β

 1 2 1  0,2  0,2   0,7

β  1 0,6  0,7  0,6  0,3  0,44
 2 3

β  1 0,1  0,7  0,2  0,44  0,2   0,358
 3 1

1
β4  0,4  0,7  1,2  0,44  0,8  0,358   0,2736
4

β  maxβi   max0,7, 0,44, 0,358, 0,2736   0,7
1i4
Como  < 1, a sequência gerada pelo método de Gauss-Seidel converge para a
solução do sistema Ax = b.
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
31
Resolução de Sistemas Lineares
Método Iterativo Gauss-Seidel – Exemplo 1
 4  1 1 x 1   7
 4  8 1 x    21

 2  

 2
1 5 x 3   15
0 
x 0   0
0
b  Ax0   26,7395
A matriz dos coeficientes é diagonalmente dominante
7
7  x 20   x 30 
  1,75
x1 
4
4
1 
0  21  4  1,75
1  21  4x 1  x 3 
 3,5
x2 
8
8
1 
1 
15  2  1,75  3,5
1  15  2x 1  x 2 
 3,0
x3 
5
5
1 
1,750 
x 1   3,500 
3,000 
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
b  Ax 1   3,0414
GJ : b  Ax   10,0452 
1
32
Resolução de Sistemas Lineares
Método Iterativo Gauss-Seidel – Exemplo 1
7  x 21   x 31 
7  3,5  3
x1 

 1,875
4
4
2 
1 
21  4  1,875  3
2  21  4x 1  x 3

 3,9375
x2 
8
8
2 
2 
2  15  2x 1  x 2  15  2  1,875  3,9375  2,9625
x3 
5
5
1,8750 
x 2   3,9375 
2,9625 
7  3,9375  2,9625
 1,9937
4
21  4  1,9937  2,9625
x 23  
 3,9921
8
15  2  1,9937  3,9922
x 33  
 2,9991
5
1,9937 
x 3   3,9921 
2,9991 
2 
x 13  
b  Ax 2   0,4765
GJ : b  Ax   6,7413 
2
b  Ax3  0,0408
GJ : b  Ax   1,9534 
3
Quando ambos Jacobi e Gauss-Seidel convergem, Gauss-Seidel converge mais rápido.
Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
33
Resolução de Sistemas Lineares
Método Iterativo Gauss-Seidel – Exemplo 2
 1,4000 


(1)
(0)
x  Fx  d   1,1200 
 0,8960 


 0,9968 


(2)
(1)
x  Fx  d   1,0214 
 0,9964 


 0,9964 


(3)
(2)
x  Fx  d   1,0014 
 1,0004 


 0,9996 


(4)
(3)
x  Fx  d   1,0000 
 1,0001 


 1,0000 


(5)
(4)
x  Fx  d   1,0000 
 1,0000 


Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
34
Resolução de Sistemas Lineares
Métodos Iterativos Gauss-Jacobi e Gauss-Seidel – Comparação
Implementação paralela: Gauss-Jacobi
k 1
Gauss  Jordan : xi
1

Dii
1
Gauss  Seidel: xik 1 
Dii
ji1
jn

k 
k  
bi   Lijx j  Uijx j 
j1
ji1


ji1
jn

k 1
k  
bi   Lijx j   Uijx j 
j1
ji1


Professor Volmir Eugênio Wilhelm – Professora Mariana Kleina
35
Download