Você está na página 1de 9

Cap tulo 4

M etodos iterativos
4.1 O M etodo de Jacobi

O M etodo de Jacobi e um procedimento iterativo para a resolu c ao de sistemas lineares. Tem a vantagem de ser mais simples de se implementar no computador do que o M etodo de Escalonamento, e est a menos sujeito ao ac umulo de erros de arredondamento. Seu grande defeito, no entanto, e n ao funcionar em todos os casos. Suponha um sistema linear nas inc ognitas x1 , ..., xn da seguinte forma: a11 x1 a21 x1 . . . + a12 x2 + a22 x2 . . . + a13 x3 + . . . + a1n xn = b1 + ... + . . . + a 2 n x n = b2 . . . . . . . . . . . . + ... + . . . + ann xn = bn

a n1 x1 + a n2 x2

Suponha tamb em que todos os termos aii sejam diferentes de zero (i = 1, . . . , n). Se n ao for o caso, isso ` as vezes pode ser resolvido com uma troca na ordem das equa c oes. Ent ao a solu c ao desse sistema satisfaz 1 [b1 a12 x2 a13 x3 . . . a1n xn ] a11 1 x2 = [b2 a21 x1 a23 x3 . . . a2n xn ] a22 . . . . . . 1 [bn an1 x1 an2 x2 . . . an,n1 xn1 ] xn = ann x1 = Em outras palavras, se (x1 , . . . , xn ) for solu c ao do sistema e esses valores forem colocados no lado direito das equa c oes, ent ao resultar ao no lado esquerdo os mesmos valores x1 , . . . , x n . 57

58

CAP ITULO 4. METODOS ITERATIVOS


(0) (0)

O M etodo de Jacobi consiste em chutar valores x1 , . . . , xn , colocar esses valores (1) (1) no lado direito das equa c oes, obter da x1 , . . . , xn , em seguida colocar esses novos (2) (2) ao valores nas equa c oes e obter x1 , . . . , xn , etc. Ent 1 (k ) (k ) k) b1 a12 x2 a13 x3 . . . a1n x( n a11 1 (k+1) (k ) (k ) k) x2 = b2 a21 x1 a23 x3 . . . a2n x( n a22 . . . . . . 1 (k ) (k ) (k ) (k+1) bn an1 x1 an2 x2 . . . an,n1 xn1 xn = ann x1
(k+1)

Espera-se que para todo i = 1, . . . , n a seq u encia {xi }k convirja para o valor verdadeiro xi . Como dissemos, no entanto, nem sempre ocorre essa converg encia. Ser a que e poss vel saber de antem ao se o m etodo vai ou n ao vai funcionar? Daremos um crit erio, chamado de Crit erio das Linhas que, se for satisfeito, implica na converg encia do M etodo. Infelizmente, da n ao poderemos concluir a armativa inversa. Isto e, e falso dizer n ao satisfaz o Crit erio das Linhas ent ao n ao converge. Pode haver sistemas em que o M etodo de Jacobi funcione por em n ao satisfa ca o Crit erio das Linhas.

(k )

4.2

Crit erio das Linhas


n

O Crit erio das Linhas pede que |aij | < |aii |

j=1 j=i

para todo i = 1, . . . , n. Em palavras: o valor absoluto do termo diagonal na linha i e maior do que a soma dos valores absolutos de todos os outros termos na mesma linha. importante observar que o Crit E erio das Linhas pode deixar de ser satisfeito se houver troca na ordem das equa c oes, e vice-versa: uma troca cuidadosa pode fazer com que o sistema passe a satisfazer o Crit erio. Teorema. Se o sistema linear satisfaz o Crit erio das Linhas ent ao o M etodo de Jacobi converge. Sugerimos o seguinte exerc cio, antes de passarmos ` a demonstra c ao desse Teorema.

4.2. CRITERIO DAS LINHAS

59

Exerc cio. Mostre que os sistemas lineares gerados por problemas de contorno (Se c ao 1.8) em geral n ao satisfazem o Crit erio das Linhas. Mesmo assim, monte um programa de computador que resolva o problema, baseado no M etodo de Jacobi. O que acontece? Para provar o Teorema, precisamos mostrar (usando o Crit erio das Linhas) que (k ) (k ) (k ) (0) (0) (0) as seq u encias x1 , x2 ,...,xn , formadas a partir dos chutes iniciais x1 , x2 ,...,xn , convergem para os valores procurados x1 , . . . , xn . Ent ao precisamos mostrar que
k) |x1 x1 | 0 , |x2 x2 | 0 , . . . , |x( n xn | 0 , (k ) k (k ) k k

ou, introduzindo uma nota c ao mais compacta, de forma que


k) (k ) = max{|x1 x1 |, . . . , |x( n xn |} 0 . (k ) k

De fato, iremos mostrar que (k ) decai geometricamente, isto e, existem um < 1 e uma constante c > 0 tal que (k ) ck , e isso provar a nossa arma c ao. J a para conseguir essa desigualdade, provaremos que para todo k 1 vale (k ) (k 1) . Ent ao teremos (1) (0) (2) (1) 2 (0) . . . . . .

(k ) k (0) , ou seja, a constante c pode ser o pr oprio (0), que e a maior diferen ca entre o valor inicial e a solu c ao verdadeira. Por sua vez, provar que (k ) (k 1) remete a provar que, para todo i = 1, . . . , n, vale | xi
(k )

xi | (k 1) = max |xi
i=1,...,n

(k1)

xi | .

Faremos a demonstra c ao completa para i = 1, mas car a claro que o argumento valer a para todo i = 1, . . . , n, desde que escolhamos adequadamente. Precisamos escrever (k ) xi xi , lembrando que x1 =
(k )

1 (k1) (k1) (k1) b1 a12 x2 a13 x3 . . . a 1n x n a11

60 e, como os x1 , . . . , xn formam uma solu c ao, x1 = Ent ao x1 x1 =


(k )

CAP ITULO 4. METODOS ITERATIVOS

1 (b1 a12 x2 a13 x3 . . . a1n xn ) . a11

1 (k1) (k1) k1) a12 (x2 x2 ) + a13 (x3 x3 ) + . . . + a 1n ( x n x ( ) n a11

Tomando o valor absoluto (o m odulo) e lembrando que o m odulo da soma e menor ou igual ` a soma dos m odulos, temos | x1 x1 | 1 (k1) (k1) (k1) |a12 | |x2 x2 | + |a13 | |x3 x3 | + . . . + | a 1n | | x n x n | |a11 | Note, no entanto, que por deni c ao | xj xj portanto | x1 x1 | Agora denimos a constante 1 =
(k ) (k1) (k1) (k )

| max |xi xi
i=1,...,n

| (k 1) ,

|a12 | + |a13 | + . . . + |a1n | (k 1) . |a11 | |a12 | + |a13 | + . . . + |a1n | , |a11 |


(k )

que deve ser menor do que 1, pelo Crit erio das Linhas. Ent ao |x1 x1 | 1 (k 1) . Para as outras linhas todo o procedimento e an alogo, e sempre resultar a | xi para todo i = 1, . . . , n, onde i = 1 |aii |
n (k )

xi | i (k 1) ,

j=1 j=i

|aij | .

4.3. CRITERIO DE PARADA

61

O Crit erio das Linhas garante que i < 1, para todo i = 1, . . . , n. Se denirmos agora = max i ,
i=1,...,n

ent ao logo

| xi

(k )

xi | (k 1) ,

(k ) (k 1) , como quer amos demonstrar!

4.3

Crit erio de parada

Ao implementar o M etodo de Jacobi no computador e preciso fornecer ao computador um crit erio de parada para o programa. Isso e feito xando-se uma precis ao relativa p, que far a o programa parar (no passo k ) se | xi
(k+1)

x i | p| x i | ,
(k )

(k )

(k )

para todo i = 1, . . . , n. Ou seja, se |xi | = 0, ent ao a varia c ao relativa de um passo para outro (k+1) (k ) | xi xi | tem que ser menor ou igual a p. E se xi = 0 ent ao xi tamb em deve ser zero. E preciso ter, no entanto, bastante cuidado com a escolha de p, pois muitas vezes a velocidade de converg encia do m etodo e muito lenta. Mesmo longe da solu c ao, a varia c ao relativa das solu c oes aproximadas pode ser muito pequena.
(k )

| xi |

(k )

(k+1)

4.4

O M etodo de Gauss-Seidel

O M etodo de Jacobi poderia ser aplicado nos problemas de contorno da Se c ao 1.8, mas somente pelo Crit erio das Linhas n ao seria poss vel armar que haveria converg encia, pois os v ertices livres produzem equa c oes onde o elemento da diagonal e exatamente igual ` a soma dos demais termos, o que signica, na nota c ao da Se c ao anterior, que i = 1, para alguns valores de i. Experimentos num ericos evidenciam que de fato h a converg encia do M etodo de Jacobi nesses casos, embora ela seja muito lenta, principalmente se o n umero de v ertices da grade for muito grande. Embora a converg encia possa ser demonstrada matematicamente, com crit erios menos exigentes que o Crit erio das Linhas, discutiremos nesta

62

CAP ITULO 4. METODOS ITERATIVOS

ou, de forma sucinta,

Se c ao uma varia c ao do M etodo de Jacobi, chamada de M etodo de Gauss-Seidel. Sua ec acia car a demonstrada a partir de uma hip otese mais fraca que o Crit erio das Linhas, chamada de Crit erio de Sassenfeld. N ao ser a dif cil mostrar que os problemas de contorno citados satisfazem esse crit erio, desde que se tenha um m nimo de cuidado na numera c ao dos v ertices livres. (k+1) (k+1) (k ) No M etodo de Jacobi, calcula-se o vetor (x1 , . . . , xn ) a partir do vetor (x1 , (k ) . . ., xn ) da seguinte forma: (k ) (k+1) a12 a13 a 1n 0 x1 x1 b1 /a11 a11 a11 a11 (k+1) a23 a 2n ( k ) a21 0 b2 /a22 x2 a22 a22 x2 a22 , = . . . . . . . . . . . . . . . . . . . . . . . . an 2 an 3 an 1 (k ) (k+1) bn /ann 0 xn xn ann ann ann u(k+1) = w Bu(k) .
(k+1) (k+1)

, . . ., xn de u(k+1) s ao obtidas todas de uma Em cada etapa, as coordenadas x1 (k ) (k ) ( k ) vez s o, a partir das coordenadas x1 , . . ., xn de u . J a no M etodo de Gauss-Seidel as coordenadas atualizadas s ao imediatamente usadas na atualiza c ao das demais. Explicitamente, temos 1 a11 1 (k+1) x2 = a22 1 (k+1) x3 = a33 . . . . . . 1 (k+1) xn = ann x1
(k+1)

k) b1 a12 x2 a13 x3 . . . a1n x( n

(k )

(k )

b2 a21 x1 b3 a31 x1

(k+1) (k+1)

k) a23 x3 . . . a2n x( n

(k )

a32 x3

(k+1)

(k ) . . . a 3n x n

bn a n 1 x 1

(k+1)

an2 x2

(k+1)

. . . an,n1 xn1

(k+1)

Para introduzir o Crit erio de Sassenfeld e discutir a converg encia, e melhor ilustrarmos com um sistema com 4 equa c oes. Depois enunciaremos o Crit erio para sistemas com um n umero qualquer de equa c oes, e car a claro que os argumentos se generalizam. Com isso, evitaremos o excesso de elipses (os tr es pontinhos), e o crit erio emergir a de modo natural. Assim como na Se c ao anterior, queremos avaliar a diferen ca entre a aproxima c ao obtida na etapa k e a solu c ao original, e mostrar que essa diferen ca se reduz a cada etapa. Para medir essa diferen ca, tomamos (k ) = max |xi
i=1,...,n (k )

xk | ,

4.4. O METODO DE GAUSS-SEIDEL

63

onde x1 , . . . , xn representa a solu c ao verdadeira. Mais uma vez, nosso objetivo e mostrar que existe < 1 tal que (k + 1) (k ) , e para isso precisaremos mostrar que | xi
(k+1)

xi | (k )

para todo i = 1, . . . , n. Num sistema de 4 equa c oes e 4 inc ognitas temos x1


(k+1) (k+1)

x1 = x1 = x1 = x1 =

x2 x3 x4

(k+1)

(k+1)

1 a11 1 a22 1 a33 1 a44

a12 (x2 x2 ) + a13 (x3 x3 ) + a14 (x4 x4 ) a21 (x1 x1 a31 (x1 x1 a41 (x1 x1
(k+1) (k+1) (k+1)

(k )

(k )

(k )

) + a23 (x3 x3 ) + a24 (x4 x4 ) ) + a32 (x2 x2 ) + a42 (x2 x2


(k+1) (k+1)

(k )

(k )

) + a34 (x4 x4 ) ) + a43 (x3 x3


(k+1)

(k )

Da primeira equa c ao, sai | x1


(k+1)

x1 |

|a12 | |a13 | |a14 | (k ) (k ) (k ) | x2 x2 | + |x3 x3 | + | x4 x4 | , |a11 | |a11 | |a11 |

Como |xi xi | (k ), para todo i = 1, 2, 3, 4, ent ao | x1 Denimos 1 = para car com | x1


(k+1) (k+1)

(k )

x1 |

|a12 | + |a13 | + |a14 | (k ) . |a11 |

|a12 | + |a13 | + |a14 | , |a11 | x1 | 1 (k ) .

(k+1)

Agora levamos em conta essa u ltima inequa c ao para mostrar que | x2 x2 | 1 |a21 | + |a23 | + |a24 | (k ) 2 (k ) . |a22 | 1 |a31 | + 2 |a32 | + |a34 | (k ) 3 (k ) |a33 |

Continuando, obtemos | x3
(k+1)

x3 |

64 e | x4
(k+1)

CAP ITULO 4. METODOS ITERATIVOS

x4 |

1 |a41 | + 2 |a42 | + 3 |a43 | (k ) 4 (k ) . |a44 |

Em conclus ao, mostramos que | xi logo (k + 1) ( max i )k .


i=1,2,3,4 (k+1)

xi | i (k ) ,

Se cada um dos n umeros 1 , 2 , 3 e 4 for menor do que 1, ent ao teremos (k + 1) (k ), com < 1. Para um sistema linear de n equa c oes e n inc ognitas, o Crit erio de Sassenfeld pode ser enunciado de forma indutiva, da seguinte maneira. Primeiro, 1 = |a12 | + |a13 | + . . . + |a1n | , |a11 |

como no Crit erio das Linhas. Os demais coecientes s ao denidos indutivamente. Suponha que j a tenham sido denidos 1 , 2 , . . ., i1 , para i 2. Ent ao i se dene como 1 |ai1 | + . . . + i1 |ai,i1 | + |ai,i+1 | + . . . + |ain | , i = |aii | isto e, no numerador os i s aparecem multiplicando os coecientes da linha i ` a esquerda da diagonal, enquanto que os coecientes ` a direita da diagonal s ao multiplicados por 1. O coeciente da diagonal aparece no denominador (como no Crit erio das Linhas) e n ao aparece no numerador. Exerc cio. Mostre que os problemas de contorno da Se c ao 1.8 satisfazem o Crit erio de Sassenfeld. Exerc cio. Obtenha a solu c ao com 3 algarismos signicativos do sistema linear 4x1 + 2x2 + x3 = 11 x 1 + 2x 2 = 3 2x1 + x2 + 4x3 = 16 usando o M etodo de Jacobi e o M etodo de Gauss-Seidel. Compare a velocidade de converg encia nos dois m etodos.

4.4. O METODO DE GAUSS-SEIDEL

65

1 2 5 x w 7

3 y z 1 3 0

Exerc cio. Considere a tabela acima. Use o M etodo de Gauss-Seidel para achar x, y, z, w tais que cada casinha que contenha uma inc ognita seja a m edia das quatro adjacentes (considerando apenas verticais e horizontais). Fa ca 4 itera c oes, partindo de (x0 , y0 , z0 , w0 ) = (0, 0, 0, 0), e arredondando para 2 algarismos signicativos ap os cada etapa.

Você também pode gostar