Escolar Documentos
Profissional Documentos
Cultura Documentos
Tema 3. Sistemas de
Equaes Lineares e
Algbricas. Mtodos
Iterativos.
Prof. Dany S. Dominguez
dsdominguez@gmail.br
Sala 1 NBCGIB
(73) 3680 5212 ramal 30
ROTEIRO
Mtodos iterativos
Mtodo de Jacobi
Mtodo de Gauss-Seidel
Mtodos de Relaxamento
Comentrios finais
Mtodos iterativos
Os mtodos iterativos clssicos foram
propostos no final do sculo XVIII
Mtodo de Jacobi
Mtodo de Gauss-Seidel
Caractersticas:
A soluo construda em um processo
iterativo
O numero de operaes no conhecido a
priori
Apresentam erros
arredondamento
de
truncamento
Mtodos iterativos
Quando
devemos
iterativos?
usar
mtodos
Mtodos iterativos
Uma tcnica iterativa para resolver o sistema
Ax b
Tx
Mtodos iterativos
Elementos de um mtodo iterativo
Aproximao inicialx (0)
Frmula iterativax ( k )
o mtodo)
Tx
( k 1)
(define
Critrio de parada
Aproximao inicial
Imprescindvel para comear o processo iterativo
Em principio, para um mtodo iterativo estvel
qualquer aproximao inicial pode ser utilizada
recomendvel escolher uma aproximao inicial
que reduza o numero de iteraes
Mtodos iterativos
Aproximao inicial . . .
A maioria dos autores recomendam
xi(0)
= bi
ou
xi(0)
bi
aii
Critrio de parada
Necessrio para encerrar as iteraes
Envolve uma tolerncia
Deve garantir que a diferencia entre a soluo
aproximada e a soluo exata seja menor que a
tolerncia
Semelhante ao clculo de razes envolve iteraes
consecutivas do vetor soluo
xi(k +1) xe(k)
i
Mtodos iterativos
Critrio de parada . . .
Como avaliar o diferena entre dois vetores?
O critrio de parada envolve a norma do vetor
erro relativo entre duas iteraes consecutivas
r(k +1) r(k)
x
- x
<e
r(k +1)
x
O que a norma do vetor?
Podem ser utilizadas
Norma mxima
r(k +1)
r(k)
x
- x
r(k +1)
x
= max
max
1 i n
<e
Mtodos iterativos
Critrio de parada . . .
Podem ser utilizadas
Norma euclidiana
2
x(k +1) - x(k)
i
i
<e
(k+1)
xi
i =1
n
=
E
Mtodos de Jacobi
Obtemos a frmula iterativa do mtodo de Jacobi
a partir da notao algbrica de sistemas de
equaes
Dado o problema
a11x1 + a12x2 + L
a21x1 + a22x2 + L
M
M
O
an1x1 + an2x2 + L
+ a1nxn
+ a2nxn
M
+ annxn
= b1
= b2
M
= bn
Mtodos de Jacobi
Os elementos do lado direito representam
a iterao (k-1), os do lado esquerdo a
iterao (k)
1
(k)
(k)
(k)
b
a
x
a
x
L
a
x
12 2
13 3
1n n
1
a11
1
(k)
(k)
(k)
=
b
a
x
a
x
L
a
x
21 1
23 3
2n n
2
a22
x1(k +1) =
O resultado
x2(k +1)
M
xn(k +1) =
1
ann
(k)
b - a x(k) - a x(k) - L - a
x
nn
n
1
1
n
2
2
n
,
n
1
n
- 1
(k +1)
(k)
x
=
b
a
x
ij j
i
i
a i
ii
j =1
j i
Mtodos de Jacobi
Exemplo 1: Realize trs iteraes pelo
mtodo de Jacobi para resolver o sistema
6 - 1 3x
1
1 3 1x =
2
3 - 1 5x
13
10
16
1 i n
Mtodos de Jacobi
Exemplo 1...
Equaes iterativas(k)
1
x1 = ( 13 + x2(k- 1) - 3x3(k- 1) )
6
1
(k)
x2 = ( 10 - x1(k- 1) - x3(k- 1) )
3
1
(k)
x3 = ( 16 - 3x1(k- 1) + x2(k- 1) )
5
b1
Aproximao inicial
(0)
x1 =
= 2,16667
a1
b2
(0)
x2 =
= 3,33333
a2
b3
(0)
x3 =
= 3,20000
a3
Mtodos de Jacobi
Exemplo 1...
Iterao 1
x1(1) = 1,12222
ea(1)
,1 = 93,069
x2(1) = 1,54444
ea(1)
,2 = 115,83
x3(1) = 2,56667
ea(1)
,3 = 24,675
ea(1) = 115,83
Iterao 2
x1(2) = 1,14074
ea(2)
,1 = 1,6223
x2(2) = 2,10370
ea(2)
,2 = 26,585
x3(2) = 2,83556
ea(2)
,3 = 9,4828
ea(2) = 26,585
Mtodos de Jacobi
Exemplo 1...
Iterao 3
x1(3) = 1,09951
ea(3)
,1 = 3,7503
x2(3) = 2,00790
ea(3)
,2 = 4,7713
x3(3) = 2,93630
ea(3)
,3 = 3,4309
Soluo exata
ea(3) = 4,7713
x1 1
x = 2
2
x
3aproximada
O erro da soluo
diminui com o
3
aumento de k
Mtodos de Jacobi
Podemos obter a frmula iterativa de
Jacobi partindo da notao matricial
Ax b
Decompomos a matriz A na forma
D
a11 0 L
0 a
O
22
A
M O O
0
0 L
M
0
ann
0
0
a
0
21
M O
an1 L
A D L U
D L U x b
L
O
O
an ,n 1
M
0
0 a12 L
0
M O
0 L
O
0
a1n
M
an 1, n
Mtodos de Jacobi
Frmula iterativa em notao matricial . . .
Dx L U x b
x D 1 L U x D 1b
x ( k ) D 1 L U x ( k 1) D 1b
0
L
1 a11
0 1a
O
22
1
D
M
O
O
L
0 1
0
0
M
0
ann
xi(k)
1
=
bi aii
n
(k- 1)
a
x
ij j
j =1
j i
Mtodos de Jacobi
Algoritmo
ENTRADA:nmero de incgnitas e equaes n
matriz ampliada A*=(aij) i=1:n j=1:n+1
tolerncia tol
nmero mximo de iteraes N
SADA:soluo do sistema x1, x2, ... ,xn ou
mensagem
de que o mtodo falhou
Mtodos de Jacobi
Algoritmo
PASSO 1:Para i=1:n faa passo 2
PASSO 2:x0i=Ain/Aii
PASSO 3:Faa k=1
PASSO 4:Enquanto (k<N) faa passos 5-8
PASSO 5:Para i=1:n faa xi = Eq. Jacobi
PASSO 6:Se ||x-x0||<tol Sada (x1, ..., xn), FIM
PASSO 7:k=k+1
PASSO 8:Para i=1:n faa x0i = xi
PASSO 9:Sada (Mtodo Falhou), FIM
Mtodos de Jacobi
Qual o custo computacional do mtodo de
Jacobi?
Avaliamos o numero de operaes
Aproximao inicial
n, divises
Mtodos de Jacobi
Avaliamos o numero de operaes . . .
Para cada iterao k . . .
Calculo do erro
n, subtraes
n, divises
n, comparaes
Total: 3n
NOPJ AC = n + kn
(2n - 1) + (3n)
NOPJ AC = n + k(5n2 - n)
Mtodos de Jacobi
Qual o custo computacional do mtodo de
Jacobi?
Algoritmo: O(k)O(n2)
Quadrtico no tamanho da matriz
Linear no nmero de iteraes
Mtodo de Gauss-Seidel
O mtodo iterativo de Gauss-Seidel um
aprimoramento do mtodo de Jacobi,
Ao calcularmos o elemento xi(k) usando a
frmula de Jacobi
xi(k)
1
=
bi aii
n
(k- 1)
a
x
ij j
j =1
j i
Mtodo de Gauss-Seidel
Parece razovel calcular xi(k) utilizando a
informao mais recente
Modificamos a formula iterativa de Jacobi
para utilizar as melhores estimativas
disponveis no clculo de xi(k)
A formula iterativa de Gauss-Seidel
xi(k)
1
=
aii
b i
i- 1
aij x(jk)
j =1
aij x(jk- 1)
j =i +1
Mtodo de Gauss-Seidel
Exemplo 2: Realize trs iteraes pelo
mtodo de Gauss-Seidel para resolver o
sistema 6 - 1 3x 13
1 3 1x1 =
x2
3
1
5
10
16
Mtodo de Gauss-Seidel
Exemplo 2 . . .
Equaes iterativas(k)
1
x1 = 13 + x2(k- 1) - 3x3(k- 1)
6
1
(k)
x2 = 10 - x1(k) - x3(k- 1)
3
1
x3(k) = 16 - 3x1(k) + x2(k)
5
Aproximao inicial
b1
(0)
x1 =
= 2,16667
a1
b2
(0)
x2 =
= 3,33333
a2
b3
(0)
x3 =
= 3,20000
a3
(
(
(
Mtodo de Gauss-Seidel
Exemplo 2...
Iterao 1
x1(1) = 1,12222
ea(1)
,1 = 93,069
x2(1) = 1,89259
ea(1)
,2 = 76,125
x3(1) = 2,90519
ea(1)
,3 = 10,148
ea(1) = 93,069
Iterao 2
x1(2) = 1,02951
ea(2)
,1 = 9,0059
x2(2) = 2,02177
ea(2)
,2 = 6,3893
x3(2) = 2,98665
ea(2)
,3 = 2,7276
ea(2) = 9,0059
Mtodo de Gauss-Seidel
Exemplo 2...
Iterao 3
x1(3) = 1,01030
ea(3)
,1 = 1,9007
x2(3) = 2,00102
ea(3)
,2 = 1,0372
x3(3) = 2,99402
ea(3)
,3 = 0,2462
ea(3) = 1,9007
Comparao do erro
120
12
Jacobi
Gauss-Seidel
1.2
0.12
1
Mtodo de Gauss-Seidel
Exemplo 2...
O mtodo de Gauss-Seidel converge
rapidamente que o mtodo de Jacobi
mais
Mtodo de Gauss-Seidel
Que modificaes devemos fazer no
algoritmo de Jacobi para obtermos o
algoritmo
Gauss-Seidel?
PASSO
1:Parade
i=1:n
faa passo 2
PASSO 2:x0i=Ain/Aii
PASSO 3:Faa k=1
PASSO 4:Enquanto (k<N) faa passos 5-8
PASSO 5:Para i=1:n faa xi = Eq. GaussSeidel
PASSO 6:Se ||x-x0||<tol Sada (x1, ..., xn), FIM
PASSO 7:k=k+1
PASSO 8:Para i=1:n faa x0i = xi
Mtodo de Gauss-Seidel
Qual o custo computacional do mtodo
de Gauss-Seidel?
NOPGS = NOPJ AC = n + k(5n2 - n)
Algoritmo: O(k)O(n2)
Quadrtico no tamanho da matriz
Linear no nmero de iteraes
O numero de iteraes sempre menor em
GS que em Jacobi
Por motivos de eficincia sempre deve-se
utilizar GS em lugar de Jacobi
Mtodo de Gauss-Seidel
Condio de convergncia
Teorema: Se A diagonalmente dominante de
maneira estrita, ento com qualquer escolha de x(0),
tanto o mtodo de Jacobi como Gauss-Seidel geram
seqncias x(k) que convergem para a soluo nica do
sistema Ax=b
Diagonal dominante n
ai ,i > ai ,j
j =1
j i
de
Mtodo de Gauss-Seidel
Condio de convergncia . . .
A condio de convergncia apenas condio
suficiente
Isto significa, se a condio for satisfeita o mtodo
converge
Se a condio no for satisfeita, no podemos
afirmar que o mtodo converge ou diverge
Como verificar o comportamento do mtodo quando
a condio de convergncia no for satisfeita?
Deve-se monitorar o comportamento do erro
Se o erro decresce, o mtodo converge
Se o erro aumenta, ou oscila, o mtodo diverge
Mtodo de Gauss-Seidel
Exemplo 3: Verifique se a matriz do sistema
6 - 1 3x 13
1
3
1
x2 = 10
x3 16
3 - 1 5
6 > - 1+ 3
3 > 1+ 1
5 > 3 + - 1
OK
Mtodos de Relaxamento
Os mtodos de relaxamento so uma
alternativa ao mtodo de Gauss-Seidel, que
visa:
Acelerar a convergncia
Encontrar a convergncia em sistemas que
divergem ou convergem muito lentamente
REL
= wxi
GS
+ ( 1 - w) xi
REL
Mtodos de Relaxamento
Se w=1, teremos o mtodo de Gauss-Seidel
xi(k) = xi(k)
REL
GS
em
sistemas
com
Mtodos de Relaxamento
O sobre-relaxamento acelera a convergncia
de um sistema j convergente
A escolha do valor apropriado de w depende
criticamente do sistema que esta sendo
resolvido
O valor de w timo determinado
frequentemente de forma emprica
Muitos autores sugerem que o valor timo de
encontra-se entre 1 e 1,2 para a maioria dos
sistemas
Existem expresses para estimar o wotm em
funo do raio espectral da matriz do sistema
Mtodos de Relaxamento
Exemplo 4: Realize trs iteraes pelos
mtodos de Sub-relaxamento (w=0,92) e
Sobre-relaxamento (w=1,08) para resolver o
sistema
6 - 1 3x0
1
3
1
x1 =
x2
3 - 1 5
13
10
16
Mtodos de Relaxamento
Exemplo 3 . . .
Arquivo Excel
Grfico dos erros
120
12
Jacobi
Gauss-Seidel
1.2
Sub-relaxamento
Sobre-relaxamento
0.12
0.01
1
Mtodos de Relaxamento
Quais modificaes devemos fazer no
algoritmo de Gauss-Seidel para termos um
mtodo de relaxamento?
ENTRADA:nmero de incgnitas e equaes n
matriz ampliada A*=(aij) i=1:n j=1:n+1
tolerncia tol
nmero mximo de iteraes N
parmetro omega w
SADA:soluo do sistema x1, x2, ... ,xn ou
mensagem
de que o mtodo falhou
Relaxamento - Algoritmo
PASSO 1:Para i=1:n faa passo 2
PASSO 2:x0i=Ain/Aii
PASSO 3:Faa k=1
PASSO 4:Enquanto (k<N) faa passos 5-8
PASSO 5:Para i=1:n faa
PASSO 5.1: x-GSi = Eq. Gauss-Seidel
PASSO 5.2: xi = Eq. Relaxamento
PASSO 6:Se ||x-x0||<tol Sada (x1, ..., xn), FIM
PASSO 7:k=k+1
PASSO 8:Para i=1:n faa x0i = xi
PASSO 9:Sada (Mtodo Falhou), FIM
Mtodos de Relaxamento
Qual o custo adicional por adicionar
tcnicas de relaxamento ao mtodo de
Gauss-Seidel?
Operaes da frmula de relaxamento
Para cada iterao k
Para cada incgnita xi
2, produtos
2, somas e subtraes
Total: 4
Mtodos de Relaxamento
Custo computacional . . .
NOPREL = NOPGS + 4kn = n + k(5n2 - n) + 4kn
NOPREL = n + k(5n2 + 3n)
Algoritmo: O(k)O(n2)
Quadrtico no tamanho da matriz
Linear no nmero de iteraes
Temos um ligeiro aumento no nmero de
operaes ao introduzir o relaxamento
Geralmente, o aumento do custo
compensado pela diminuio no nmero de
iteraes
Comentrios finais
Os elementos de um mtodo iterativo so
Aproximao inicial
Formula iterativa
Critrio de parada
Comentrios finais
O mtodo de Jacobi converge lentamente e
no tem valor pratico (apenas acadmico)
O mtodo de Gauss-Seidel apropriado
para a maioria das aplicaes
Os mtodos de GS e Jacobi podem
apresentar problemas de convergncia
O
mtodo
de
GS
pode
ser
acelerado/aprimorado usando tcnicas de
relaxamento
A principal dificuldade nas tcnicas de
relaxamento encontrar o valor de w timo
Comentrios finais
Iteraes
para
determinada
Iteraes
uma
35
30
25
20
15
10
5
0
tolerncia
Jacobi
Gauss-Seidel
Sobre-Relaxamento
Tolerncia