Métodos Iterativos
Motivação
Em certos casos, métodos diretos não são eficientes, por exemplo, quando a matriz dos coeficientes é uma matriz esparsa (muitos elementos iguais a zero)
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
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
Precisam sempre 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
Uma norma sobre E, onde E é um espaço vetorial
Dizemos que a sequência {x(k)} converge para x E se ||x(k) – x|| 0, quando k .
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)
Assim um sistema do tipo Ax=b é transformado em xk =Fx(k-1)+d
Escolhemos uma aproximação inicial x0
Assim, x1 =Fx0 +d x2 = Fx1+d E assim sucessivamente
Método de Jacobi
Iterativamente, reescreve-se o sistema
)(11,
)(22
)(11
)1(
)(2
)(323
)(1212
22
)1(2
)(1
)(313
)(2121
11
)1(1
......1
.........................................................
......1
......1
knnn
kn
knn
nn
kn
knn
kkk
knn
kkk
xaxaxaba
x
xaxaxaba
x
xaxaxaba
x
Método de Jacobi
Desta forma
0.......//
.................................
/.......0/
/....../0
21
2222221
1111112
nnnnnn
n
n
aaaa
aaaa
aaaa
F
nnn ab
ab
ab
d
/
.......
/
/
222
111
Quando Parar?
Se a sequência xk estiver suficientemente próximo de x(k-1) paramos o processo Dada um precisão ε, quando ||x(k) – x|| < εEntão xk é a solução do sistema linear
Computacionalmente, um número máximo de iterações também é critério de parada
Exemplo:
Seja com ε = 0.05. Portanto,
6.0
6.1
7.0)0(x
61032
851
7210
321
321
321
xxx
xxx
xxx
010/35/1
5/105/1
10/110/20
F
6.0
6.1
7.0
10/6
5/8
10/7
d
Substituindo
Segue
94.0
86.1
96.0)1(x
94.06.0)6.1(3.0)7.0(2.06.03.02.0
86.16.1)6.0(2.0)7.0(2.06.12.02.0
96.07.0)6.0(1.0)6.1(2.07.01.02.0
)0(2
)0(1
)1(3
)0(3
)0(1
)1(2
)0(3
)0(2
)1(1
xxx
xxx
xxx
05.034.0
05.026.0
05.026.0
)0(3
)1(3
)1(3
)0(2
)1(2
)1(2
)0(1
)1(1
)1(1
xxd
xxd
xxd
Continuando com
Segue é a solução, pois
critério de parada
966.0
98.1
978.0)2(x
12.012
1
)2(ii
nixxMAXd
998.0
999.1
999.0)3(x
032.0)2()3(
1
)3(ii
nixxMAXd
Método de Gauss-Seidel
Conhecido x(0) (aproximação inicial) obtém-se x1, x2, ...xk.
Ao se calcular usa-se todos os valores
que já foram calculados e
os valores restantes.
1kjx
11
11
kj
k xx ,...,
kn
kj xx ,...,1
Sistemas de Equações Lineares
Descrição do Método
Seja o seguinte sistema de equações:
nnnn1n1nn3n2n1n
3n13n1n13n333232131
2n12n1n12n323222121
1n11n1n11n313212111
b .xa .xa ... .xa .xa .xa
b .xa .xa ... .xa .xa .xa
b .xa .xa ... .xa .xa .xa
b .xa .xa ... .xa .xa .xa
1321
Métodos Iterativos – Gauss-Seidel
Isolando xi a partir da linha i, tem-se:
1n1nn2n21n1nnn
n
n3n1n13n232231333
3
n2n1n12n323121222
2
1111313212111
1
.xa....xa.xaba
1x
.xa.xa.xa.xaba
1x
.xa.xa.xa.xaba
1x
....1
nnnn xaxaxaxaba
x
Métodos Iterativos – Gauss-Seidel
O processo iterativo é obtido a partir das equações, fazendo:
111,
122
111
1
311,31
2321
131333
13
211,23231
121222
12
111,1313212111
11
......1
.......1
.......1
.......1
knnn
kn
knn
nn
kn
knn
knn
kkk
knn
knn
kkk
knn
knn
kkk
xaxaxaba
x
xaxaxaxaba
x
xaxaxaxaba
x
xaxaxaxaba
x
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:
Fim do processo iterativo - valor de MRk+1 pequeno o bastante para
a precisão desejada.
se 1
0
0
0
0
0
1
1
11
1
11
ki
ki
ki
ki
kik
i
ki
ki
x
x
xxse
xsex
xx
M
Máxni
kR
.
Métodos Iterativos – Gauss-Seidel
Exemplo: Resolva:
.10.5
0633
643
55
2
kRMcom
zyx
zyx
zyx
Solução:
Métodos Iterativos – Gauss-Seidel
kx kxM
ky kyM
kz kzM
kRM
-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 Verificação (substituição no sistema):
5.(1,002) + (0,998) + (-1) = 5,008 5 ok3.(1,002) + 4.(0,998) + (-1) = 5,998 6 ok3.(1,002) + 3.(0,998) + 6.(-1) = 0 ok
Métodos Iterativos – Gauss-Seidel
Método de Gauss-Seidel - Critérios de Convergência
Processo iterativo a convergência para a solução exata não é garantida para qualquer sistema.
Existem certas condições que devem ser satisfeitas por um sistema de equações lineares para se garantir a convergência do método.
As condições podem ser determinadas por dois critérios: Critério de Sassenfeld Critério das Linhas.
Método de Gauss-Seidel - Critério de Sassenfeld
Sejam as quantidades i dadas por:
para i = 2, 3, ..., n.
n
jjaa 2
111
1
1
n
ijij
i
jjij
iii aa
a 1
1
1
)(1 e
n - ordem do sistema linear que se deseja resolveraij - são os coeficientes das equações que compõem o sistema.
Este critério garante que o método de Gauss-Seidel convergirá
para um dado sistema linear se a quantidade M, definida por:
ini
M max1
for menor que 1 (M<1).
Exemplo: Seja A, a matriz dos coeficientes e b o vetor dos termos constantes dados por:
444434241
334333231
224232221
114131211
baaaa
baaaa
baaaa
baaaa
34324214144
4
3423213133
3
242312122
2
14131211
1
1
1
1
||||1
aaaa
aaaa
aaaa
aaaa
Método de Gauss-Seidel - Critério de Sassenfeld
Exemplo: Mostre que a solução do sistema linear dado pelas equações:
0104802140
01202010
873060360
4020202
4321
4321
4321
4321
....
....
....
...
xxxx
xxxx
xxxx
xxxx
convergirá pelo método de Gauss-Seidel.
Método de Gauss-Seidel - Critério de Sassenfeld
Solução: critério de Sassenfeld calcular os valores das quantidades i.
2736.0358.08.044.02.17.04.04
1
358.02.044.02.07.01.01
1
44.03.06.07.06.03
1
7.02.02.012
1
4
3
2
1
7.0max41
ii
M M é menor que 1 a solução desse sistema irá convergir usando o método de Gauss-Seidel.
10.0- 4.0 0.8 1.2 0.4
1.0 0.2 1.0 0.2- 0.1-
7.8- 0.3- 0.6- 3.0 0.6
0.4 0.2 0.2- 1.0 2.0
A B
Método de Gauss-Seidel - Critério de Sassenfeld
Método de Gauss-Seidel - Critério das Linhas
Segundo esse critério, um determinado sistema irá convergir pelo método de Gauss-Seidel, se:
ii
n
ijj
ij aa 1
, para i=1, 2, 3, ..., n.
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:
4.28.02.14.04
5.02.02.01.01
5.13.06.06.03
4.12.02.012
43424144
34323133
24232122
14131211
aaaa
aaaa
aaaa
aaaa
0104802140
01202010
873060360
4020202
4321
4321
4321
4321
....
....
....
...
xxxx
xxxx
xxxx
xxxx
ii
n
ijj
ij aa 1
para i=1, 2, 3, 4.
Método de Gauss-Seidel - Critério das Linhas