Mtodos Iterativos de Soluo de SEAL RCP
Mtodos Iterativos de Soluo de SEAL RCP
Mtodos Iterativos de Soluo de SEAL RCP
Sistemas de Equações
Algébricas Lineares via
Métodos Iterativos
Motivação
Em certos casos, métodos diretos não são
eficientes, por exemplo, quando a matriz de
coeficientes é uma matriz esparsa (muitos
elementos iguais a zero)
Métodos iterativos são mais adequados 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 (Métodos Diretos!...)
Em alguns casos podem ser aplicados para
resolver conjuntos de equações não-lineares
Um método é iterativo quando fornece
uma sequência de aproximações da
solução
Cada uma das aproximações é obtida a
partir das anteriores pela repetição do
mesmo processo
Precisa-se saber se a sequência obtida
está convergindo ou não para a solução
desejada.
Convergência
Dados uma sequência de vetores x(k) ∈ E
x1
( k +1)
=
1
a 11
(
b1 − a 12 x 2
(k )
− a 13 x 3
(k )
− ...... − a 1 n x n
(k )
)
x2
( k +1)
=
1
a 22
(
b 2 − a 21 x 1
(k )
− a 23 x 3
(k )
− ...... − a 2 n x n
(k )
)
.......... .......... .......... .......... .......... .......
xn
( k +1)
=
1
a nn
( (k )
b n − a n1 x 1 − a n 2 x 2
(k )
− ...... − a n , n −1 x n −1
(k )
)
Método de Jacobi
Desta forma
0 − a12 / a11 ...... − a1 n / a11
− a 21 / a 22 0 ....... − a 2 n / a 22
F =
........ ......... ....... .........
− a /a − a n 2 / a nn ....... 0
n1 nn
b1 / a11
b2 / a22
d =
.......
bn / ann
Quando Parar?
Se a sequência x(k) estiver suficientemente
próximo de x(k-1) paramos o processo
Dada uma precisão ε, quando
||x(k) – x|| < ε
Então x(k) é a solução do sistema linear
Método de Gauss-Seidel
a 21 .x 1 + a 22 .x 2 + a 23 .x 3 + ... + a 2n −1 .x n −1 + a 2n −1 .x n = b 2
a 31 .x 1 + a 32 .x 2 + a 33 .x 3 + ... + a 3n −1 .x n −1 + a 3n −1 .x n = b 3
M
a n 1 .x 1 + a n 2 .x 2 + a n 3 .x 3 + ... + a n 1n −1 .x n −1 + a nn .x n = b n
Métodos Iterativos – Gauss-Seidel
Isolando xi a partir da linha i, tem-
se:
1
x1 = (b 1 − a 12 . x 2 − a 13 . x 3 − a 1 n − 1 . x n − 1 − a 1 n . x n )
a 11
1
x 2 = (b 2 − a 21 .x 1 − a 23 .x 3 − a 2n − 1 .x n −1 − a 2n .x n )
a 22
1
x3 = (b 3 − a 31 .x 2 − a 32 .x 2 − a 3n − 1 .x n −1 − a 3n .x n )
a 33
M
1
x n = (b n − a n1 .x 1 − a n2 .x 2 − ... − a nn − 1 .x n −1 )
a nn
Métodos Iterativos – Gauss-Seidel
O processo iterativo é obtido a partir das equações, fazendo:
1
xk +1
1 =
a11
(
b1 − a12 .x 2k − a13 .x3k − ... − a1,n −1 .x nk−1 − a1n .x nk )
1
x k +1
2 =
a 22
(
b2 − a 21 .x1k +1 − a 23 .x 3k − ... − a 2 ,n −1 .x nk−1 − a 2 n .x nk )
1
x 3k +1 =
a 33
(
b3 − a 31 .x1k +1 − a 32 .x 2k +1 − ... − a 3,n −1 .x nk−1 − a 3 n .x nk )
1
x nk +1 =
a nn
(
bn − a n1 .x1k +1 − a n 2 .x 2k +1 − ... − a n ,n −1 .x nk−+11 )
Métodos Iterativos – Gauss-Seidel
Critério de Parada
Diferença relativa entre duas iterações consecutivas.
Define-se por diferença relativa a expressão:
xik +1 − xik
se xik +1 ≠ 0
Máx. xik +1
1≤i≤n
M Rk +1 =
0 se xik +1 = xik = 0
xik +1 = 0
1 se k
xi ≠ 0
Exemplo: Resolva: 5x + y + z = 5
3x + 4 y + z = 6
3x + 3 y + 6 z = 0
Solução:
com M Rk ≤ 5 . 10 − 2.
1
x= (5 − y − z )
5
1
y = (6 − 3 x − z )
4
1 1
z = − (3 x + 3 y ) z = − (x + y )
6 2
Métodos Iterativos – Gauss-Seidel
k
xk M x yk M k
y zk M k
z M k
R
-1 - 0 - 1 - -
0,8 2,25 0,65 1 -0,725 2,379 2,379
1,015 0,212 0,92 0,293 -0,967 0,250 0,293
1,009 0,006 0,985 0,066 -0,997 0,030 0,066
1,002 0,007 0,998 0,0013 -1 0,003 0,0013
x = 1,002 y = 0,998 z = -1
1 n i −1 n
⋅ a1 j
1
β1 = e βi =
aii
⋅ ( aij ⋅ β j ) +
j =1
aij
a11 j = 2 j =i +1
para i = 2, 3, ..., n.
n - ordem do sistema linear que se deseja resolver
aij - são os coeficientes das equações que compõem o sistema.
a
j =1
ij < a ii , para i=1, 2, 3, ..., n.
j ≠i
Método de Gauss-Seidel -
Critério das Linhas
Exemplo: O sistema do exemplo anterior satisfaz o
critério das linhas e essa verificação pode ser feita
de maneira quase imediata, observando-se que:
2 ⋅ x1 + x2 − 0.2 ⋅ x3 + 0.2 ⋅ x4 = 0.4
0.6 ⋅ x1 + 3 ⋅ x2 − 0.6 ⋅ x3 − 0.3 ⋅ x4 = −7.8
− 0.1⋅ x1 − 0.2 ⋅ x2 + x3 + 0.2 ⋅ x4 = 1.0
0.4 ⋅ x1 + 1.2 ⋅ x2 + 0.8 ⋅ x3 + 4 ⋅ x4 = −10.0