• Aucun résultat trouvé

M´ etodo dos Gradientes Conjugados

Dans le document 1.2 Espa¸ co Vetorial (Page 180-195)

M´ etodos Iterativos

5.3 Processos de Relaxa¸ c˜ ao

5.3.3 M´ etodo dos Gradientes Conjugados

Um outro m´etodo de relaxa¸c˜ao ´e o chamadoM´etodo dos Gradientes Conjugados.

Defini¸c˜ao 5.3 - Dada a aplica¸c˜ao linear A; positiva definida, xey s˜ao dire¸c˜oes conjugadas se (Ax, y) = (x, Ay) = 0 .

O primeiro passo no m´etodo dos gradientes conjugados ´e igual ao primeiro passo do m´etodo dos gradientes; isto ´e, dadov(0), calculamosr(0)=Av(0)+b e fazemos:

p(1) = −r(0) , v(1) = v(0)−tr(0) , onde

t = q1 = − (r(0), p(1))

(Ap(1), p(1)) = (r(0), r(0)) (Ar(0), r(0)) . Portanto:

v(1)=v(0)− (r(0), r(0))

(Ar(0), r(0)) r(0) . (5.20)

Consideremos a passagem do passok−1para o passok, (k≥1) .

Tomamos a dire¸c˜ao de libera¸c˜aop(k)de tal modo quep(k)ep(k−1)sejam dire¸c˜oes conjugadas, isto ´e, p(k)deve ser tal que:

(Ap(k), p(k−1)) = (p(k), Ap(k−1)) = 0 .

Al´em disso, p(k) ´e tomado como combina¸c˜ao linear de r(k−1) e p(k−1), e desde que o coeficiente de r(k−1)´e n˜ao nulo podemos tom´a-lo igual−1.

Portanto:

p(k)=−r(k−1)k−1p(k−1), k= 2,3, . . . (5.21) ondeαk−1 ´e um coeficiente a ser determinado.

Temos que, para k= 2,3, . . .:

(p(k), Ap(k−1)) = 0

⇒ (−r(k−1)k−1p(k−1), Ap(k−1)) = 0

⇒ (−r(k−1), Ap(k−1)) +αk−1(p(k−1), Ap(k−1)) = 0. Da express˜ao acima podemos determinarαk−1, isto ´e:

αk−1 = (r(k−1), Ap(k−1))

(p(k−1), Ap(k−1)) , k= 2,3, . . . . (5.22) Uma vez, identificada a dire¸c˜aop(k), procuramos o ponto de m´ınimo. Assim, dev(k)=v(k−1)+tp(k), obtemos que:

vk = v(k−1)+qkp(k), (5.23)

onde

qk=− (r(k−1), p(k)) (Ap(k), p(k)) . e de r(k)=Av(k)+b, segue que:

r(k) = A(v(k−1)+qkp(k)) +b

= Av(k−1)+b+qkAp(k). Portanto:

r(k)=r(k−1)+qkAp(k). (5.24)

Observa¸c˜oes:

i) O m´etodo dos gradientes conjugados ´e essencialmente definido pelas f´ormulas (5.20), (5.21), (5.22), (5.23), (5.24), desde que um vetor aproxima¸c˜aov(0) tenha sido escolhido.

ii) Os denominadores que aparecem nas f´ormulas de αk−1 e qk s˜ao sempre maiores que zero, para dire¸c˜oes n˜ao nulasp(k), pelo fato de Aser positiva definida.

iii) Ores´ıduo em cada passo, do m´etodo dos gradientes conjugados, possui as seguintes propriedades:

1) ´e ortogonal ao res´ıduo do passo anterior, isto ´e:

(r(k), r(k−1)) = 0, 2) ´e ortogonal `a dire¸c˜ao de relaxa¸c˜ao do passo, isto ´e:

(r(k), p(k)) = 0,

3) ´e ortogonal `a dire¸c˜ao de relaxa¸c˜ao do passo anterior, isto ´e:

(r(k), p(k−1)) = 0.

Com estas propriedades, podemos obter simplifica¸c˜oes para as f´ormulas deqk e deαk−1. De fato, da f´ormula deqk, obtemos que:

qk = (r(k−1), r(k−1)) (Ap(k), p(k)) , desde que:

−(r(k−1), p(k)) = −(r(k−1),−r(k−1)k−1p(k−1))

= (r(k−1), r(k−1))−αk−1(r(k−1), p(k−1))

= (r(k−1), r(k−1)), (usando a propriedade 2), e da f´ormula deαk−1, segue que:

αk−1 = (r(k−1), r(k−1)) (r(k−2), r(k−2)) ,

desde que, de (5.24), temos:

Ap(k−1) = 1

qk−1(r(k−1)−r(k−2)). Assim:

(r(k−1), Ap(k−1)) = (r(k−1), 1 qk−1

(r(k−1)−r(k−2)))

= 1

qk−1

(r(k−1), r(k−1))− 1 qk−1

(r(k−1)−r(k−2))

= 1

qk−1(r(k−1), r(k−1)), (usando a propriedade 1), e

(p(k−1), Ap(k−1)) = 1 qk−1

(p(k−1), r(k−1))− 1 qk−1

(p(k−1), r(k−2))

= − 1

qk−1

(p(k−1), r(k−2)),(usando a propriedade 2)

= − 1

qk−1(−r(k−2)k−2p(k−2), r(k−2))

= αk−2

qk−1(r(k−2), p(k−2)) + 1

qk−1(r(k−2), r(k−2))

= 1

qk−1(r(k−2), r(k−2)),usandoapropriedade2.

Resumindo, para aplicarmos o m´etodo dos gradientes conjugados devemos efetuar os seguintes passos:

Dadov(0) e, calcular:

a) r(0) = Av(0)+ b p(1) = −r(0) q1 = (r(0), r(0))

(Ar(0), r(0)) v(1) = v(0)+q1p(1) r(1) = r(0)+q1Ap(1)

b) para k≥2

b.1) αk−1 = (r(k−1),r(k−1)) (r(k−2),r(k−2)) b.2) p(k) = −r(k−1)k−1p(k−1) b.3) qk = (r(k−1),r(k−1))

(Ap(k),p(k)) b.4) v(k) = v(k−1)+ qkp(k) b.5) r(k) = r(k−1)+ qkAp(k) c) Se kv(k+1)−v(k)k

kv(k+1)k < , Fim caso contr´ariob).

Teorema 5.4 - No m´etodo dos gradientes conjugados, as dire¸c˜oes de relaxa¸c˜ao formam um sistema de dire¸c˜oes conjugadas e os res´ıduos formam um sistema ortogonal, isto ´e, para i6=j, i, j= 1,2, . . ., vale que:

(Ap(i), p(j)) = 0, (r(i), r(j)) = 0,

Prova: A prova deste teorema pode ser encontrada em Rutishauser, Stiefel, Schwarz.

Do fato de (r(i), r(j)) = 0, conclu´ımos que o m´etodo dos gradientes conjugados converge, teoricamente, emnpassos, onden´e a ordem do sistema; isto porque os vetoresr(i)pertencem a um espa¸co vetorial n-dimensional, e assim o sistema ortogonal pode conter no m´aximonvetores n˜ao nulos. Com isso podemos enunciar o seguinte:

Teorema 5.5 - O m´etodo dos gradientes conjugados fornece a solu¸c˜ao do sistema em no m´aximo n passos, onde n´e a ordem do sistema.

Observe que em geral, na pr´atica, devido aos erros de arredondamento, n˜ao obteremos a solu¸c˜ao do sistema em npassos.

Exemplo 5.6 - Usando o m´etodo dos gradientes conjugados, obter a solu¸c˜ao do sistema do exemplo anterior, com duas casas decimais corretas .

Solu¸c˜ao: Como o 1o¯ passo do m´etodo dos gradientes conjugados ´e igual ao 1o¯ passo do m´etodo dos gradientes, do exemplo anterior, temos:

v(0) = (0,0,0)k r(0)=

−11

−11

−1

 ,

p(1)=−r(0) , q1=tmin= 0.09024,

Ap(3) =

−0.3532 0.3685 0.0398

 ,

(Ap(3), p(3)) = 0.0139 + 0.0150 − 0.0000 = 0.0289,

q3 = (r(2), r(2)

(Ap(3), p(3)) = 0.0033

0.0289 = 0.1142,

v(3) = v(2)+q3p(3)

=

 0.9999 1.0001 0.0008

 . Agora, desde que:

kv(k+1)−v(k)k

kv(k+1)k

= 0.0047

1.0001 ' 0.0047 < 10−2, temos quev3´e solu¸c˜ao do sistema dado, com <10−2.

Exerc´ıcios

5.7 - Mostre que no m´etodo dos gradientes conjugados o res´ıduo em cada passo ´e ortogonal ao res´ıduo anterior, `a dire¸c˜ao de relaxa¸c˜ao do passo e `a dire¸c˜ao de relaxa¸c˜ao do passo anterior.

5.8 - Usando o m´etodo dos gradientes conjugados resolver os sistemas dados nos exerc´ıcios 5.5 e 5.6.

5.4 Exerc´ıcios Complementares

5.9 - Supomos que o sistema:

x1 − αx2 = c1

−αx1 + x2 − αx3 = c2

− αx2 + x3 = c3

seja resolvido iterativamente pelas f´ormulas:





x(k+1)1 =αx(k)2 +c1

x(k+1)2 =α(x(k)1 +x(k)3 ) +c2

x(k+1)3 =αx(k)2 +c3

Para que valores deαa convergˆencia do m´etodo definido acima ´e garantida? Justifique.

5.10 - Considere o sistemaAx=b; onde:

Entre os m´etodos iterativos que vocˆe conhece qual vocˆe aplicaria? Por que? Resolva - o pelo m´etodo escolhido.

5.11 - Considere o sistemaAx=b; onde:

A=

Aplique a este sistema o mesmo m´etodo aplicado no exerc´ıcio anterior. Como se comparam as taxas de convergˆencia? Por que?

5.12 - Considere os sistemas:

(I)

Aplicando os crit´erios que vocˆe conhece qual dos m´etodos iterativos ser´a seguramente convergente?

Justifique.

5.13 - Considere o sistema:

Reordene as equa¸c˜oes convenientemente e aplique o m´etodo de Gauss - Seidel com garantia de con-vergˆencia.

5.14 - Certos sistemas de equa¸c˜oes lineares podem ser convenientemente tratados pelo m´etodo iterativo de Gauss - Seidel. Depois de uma simples generaliza¸c˜ao, o m´etodo pode ser tamb´em usado para alguns sistemas n˜ao lineares. Determinar desse modo uma solu¸c˜ao do sistema:

 com erro relativo inferior a10−2.

5.15 - O sistema :

ax+by+c= 0 dx+ey+f = 0 pode ser resolvido minimizando a fun¸c˜ao:

F = (ax+by+c)2+ (dx+ey+f)2 .

Come¸camos com uma solu¸c˜ao aproximada(xk, yk)e constru´ımos a seguinte, primeiro mantendo y= yk e variando x. O ponto de m´ınimo ´e chamadoxk+1. A seguir, mantendo x=xk+1 e variando y. O ponto de m´ınimo ´e chamadoyk+1. O processo ´e repetido iterativamente.

Aplicar o m´etodo descrito acima ao sistema:

5x + 2y − 11 = 0

x − 3y − 9 = 0

5.16 - Um processo iterativo para resolver sistemas de equa¸c˜oes do tipoAx−b= 0´e assim definido:

• somarIx a ambos os membros, obtendo(I+A)x−b=x,

• realizar itera¸c˜oes a partir de x(0) fazendo:

x(k+1)= (I+A)x(k)−b .

a) Dˆe uma condi¸c˜ao suficiente que assegure a convergˆencia deste processo iterativo.

b) Aplique este processo para determinar a solu¸c˜ao do seguinte sistema:

−1.1x1 + 0.1x2 = 1 0.3x1 − 0.3x2 = 0 5.17 - Considere cada um dos seguintes sistemas de 3 equa¸c˜oes:

(I)

a) Sem rearranjar as equa¸c˜oes, tente achar as solu¸c˜oes iterativamente, usando os m´etodos de Jacobi e de Gauss - Seidel, come¸cando comx(0)= (1.01,2.01,3.01)t.

b) Rearranje as equa¸c˜oes de tal modo que satisfa¸cam os crit´erios de convergˆencia e repita o que foi feito no item a).

c) Verifique suas solu¸c˜oes nas equa¸c˜oes originais.

5.18 - Considere o sistema:

a) E poss´ıvel aplicar a este sistema os m´´ etodos iterativos que vocˆe conhece com garantia de convergˆencia?

b) Reordene as equa¸c˜oes convenientemente de tal forma que seja poss´ıvel aplicar o m´etodo de Gauss-Seidel com garantia de convergˆencia.

5.19 - Dado o sistema linear:

para que valores deαhaver´a convergˆencia se desejarmos utilizar o m´etodo de Jacobi?

5.20 - Considere o sistema linear do exerc´ıcio anterior comα= 1 e x(0)= (1, 2, 3)t. A aplica¸c˜ao do m´etodo de Jacobi fornece a tabela:

k 0 1 2 3

x1 1 3 −1 −1

x2 2 −2 2 2

x3 3 −3 1 1

Existe alguma contradi¸c˜ao com o exerc´ıcio anterior? Vocˆe saberia explicar porque o m´etodo de Jacobi convergiu.

5.21 - Considere o sistema linearAx=b, onde:

A=

20 3 1 a 20 1

1 a 6

 . Para que valores deao crit´erio das linhas ´e verificado?

5.22 - Supondo que o sistema linear Ax =b, onde A ´e a matriz do exerc´ıcio anterior, esteja sendo resolvido pelo m´etodo de Jacobi-Richardson, para quais valores dea, pode-se afirmar que:

kx(k)−x¯k≤1

2 kx(k−1)−x¯k , ondex(k) e x(k−1) s˜ao aproxima¸c˜oes para a solu¸c˜ao e x¯ ´e a solu¸c˜ao exata.

5.23 - O sistema linearAx=b:

(I)

1 −a

−a 1

x1 x2

= b1

b2

, a∈IR, pode, sob certas condi¸c˜oes, ser resolvido pelo seguinte m´etodo iterativo:

(II)

1 0

−wa 1

x(k+1)1 x(k+1)2

!

=

1−w wa 0 1−w

x(k)1 x(k)2

! +

wb1

wb2

. a) Mostre que sew= 1 o m´etodo iterativo(II)´e o m´etodo de Gauss-Seidel.

b) Considere em(I),a=b1=b2= 0.5. Usando o processo iterativo(II), comw= 1, determine a solu¸c˜ao deste sistema com precis˜ao de<10−2. Tome como vetor inicialx(0)= (0.9,0.9)t. 5.24 - Dado os sistemas:

(I)

9x1 − x2 = 7

−x1 + 9x2 = 17 ; (II)

31x1 + 29x2 = 33 29x1 + 31x2 = 27 a) Construa as fun¸c˜oes quadr´aticas cujos m´ınimos s˜ao as solu¸c˜oes dos sistemas.

b) Determine o n´umero de condi¸c˜ao para cada sistema.

c) Com base no n´umero de condi¸c˜ao de cada sistema o que vocˆe pode concluir?

d) Resolva o sistema (II) pelo m´etodo dos gradientes conjugados. Qual ´e a aproxima¸c˜ao ao fim de dois est´agios?

5.25 - Dado o sistema de equa¸c˜oes:

a) resolva-o pelo m´etodo dos gradientes conjugados, efetuando os c´alculos com 4 algarismos sig-nificativos;

b) mostre a ortogonalidade dos vetores res´ıduos (como verifica¸c˜ao dos c´alculos efetuados).

5.5 Problemas Aplicados e Projetos

5.1 - Uma maneira de se obter a solu¸c˜ao da equa¸c˜ao de Laplace:

2u

∂x2 +∂2u

∂y2 = 0,

em uma regi˜ao retangular consiste em se fazer uma discretiza¸c˜ao que transforma a equa¸c˜ao em um problema aproximado consistindo em uma equa¸c˜ao de diferen¸cas cuja solu¸c˜ao, em um caso particular, exige a solu¸c˜ao do seguinte sistema linear:

Se desejamos a solu¸c˜ao com quatro algarismos significativos corretos, qual dos m´etodos iterativos que vocˆe conhece poderia ser aplicado com garantia de convergˆencia? Resolva o sistema pelo m´etodo escolhido.

5.2 - Considere o circuito da figura a seguir, com resistˆencias e baterias tal como indicado; escolhemos arbitrariamente as orienta¸c˜oes das correntes.

i3

Aplicando a lei de Kirchoff, que diz que a soma alg´ebrica das diferen¸cas de potencial em qualquer circuito fechado ´e zero, achamos para as correntes i1, i2, i3:

6i1+ 10(i1−i2) + 4(i1−i3)−26 = 0 5i2+ 5i2+ 5(i2−i3) + 10(i2−i1) = 0 11i3+ 4(i3−i1) + 5(i3−i2)−7 = 0

a) E poss´ıvel aplicar ao sistema acima o m´´ etodo de Gauss - Seidel com convergˆencia assegurada?

Justifique.

b) Se poss´ıvel, obtenha a solu¸c˜ao com erro relativo<10−2.

5.3 - Suponha uma barra de metal homogˆeneo, como na figura a seguir, onde AB=CD= 4 :AC = BD= 3.

y

x D

B 0o

0o R 1o

0o

A C

-6

A temperatura ao longo de AB, AC, BD ´e mantida constante e igual a 0oC, enquanto que ao longo deCD ela ´e igual a1oC. A distribui¸c˜ao do calor na barraRobedece `a seguinte equa¸c˜ao:

2u

∂x2 +∂2u

∂y2 = 0, (5.25)

com as condi¸c˜oes de contorno:

u(x, y) = 1 para 0< x <4, u(x,0) = 0 para 0< x <4, u(0, y) = 1 para 0< y <3 , u(x, y) = 0 para 0< y <3 .

A solu¸c˜ao num´erica desse problema pode ser obtida considerando-se uma divis˜ao do retˆanguloABCD em retˆangulos menores a partir de uma divis˜ao de AB em intervalos iguais de amplitude h e de uma divis˜ao de CDem intervalos iguais de amplitude k,como ´e mostrado na figura a seguir:

u6

u5

u4

u3

u2

u1

D

B A

C b b b

d d d d d d d

d b

temp. 0o temp. 1o

Nessa figura estamos considerandoh=k= 1. A temperatura unos pontos internos pode ser obtida numericamente simulando as derivadas segundas de (5.25), pelas diferen¸cas de segunda ordem ∆2u de modo que parah=k, obtemos:

u(x−h, y)−2u(x, y) +u(x+h, y)

h2 +u(x, y−h)−2u(x, y) +u(x, y+h)

h2 = 0,

para cada par (x, y)emR. Assim, por exemplo, para o pontou1=u(1,2) da figura anterior vale:

u(0,2)−2u1+u2

12 +u4−2u1+u(1,3)

12 = 0.

Considerando todos os pontos da figura anterior obtemos um sistema de 6 equa¸c˜oes lineares nas inc´ognitas:u1, u2, . . . , u6. Resolva-o por m´etodo num´erico `a sua escolha, com garantia de convergˆencia.

5.4 - Considere a malha quadrada da figura a seguir, cujos bordosACeBDs˜ao mantidos `a temperatura de20oC, o bordoAB, `a40oC, eCD `a10oC, com o uso de isolantes t´ermicos em A, B, C, D.

20oC

C 10oC D

20oC B 40oC

A

5 4 3 2 1 0

5 4 3 2 1 0 i j

@

@

d

Para determinar as temperaturas de pontos interiores da malha, pode-se supor que a temperatura em cada ponto ´e igual `a m´edia aritm´etica dos quatro pontos cont´ıguos. Por exemplo:

T32=T22+T31+T33+T42

4 .

As 16 rela¸c˜oes deste tipo permitir˜ao formar um sistema de 16 equa¸c˜oes a 16 inc´ognitas Tij. Resolva-o por m´etodo num´erico com garantia de convergˆencia.

5.5 - Suponha que uma membrana com dimens˜oes 80 cm×80 cm tenha cada um dos seus lados man-tidos a uma temperatura constante. Usando a teoria de equa¸c˜oes diferenciais parciais pode-se formular uma equa¸c˜ao que determina o valor da temperatura no interior dessa membrana. Essa equa¸c˜ao diferen-cial pode ser simplificada colocando-se uma malha com 9 pontos sobre essa membrana e calculando-se a temperatura nos pontos da malha, como mostra a figura:

u9

O sistema de equa¸c˜oes resultante ´e dado por:

Encontre a solu¸c˜ao do sistema por m´etodo num´erico `a sua escolha, com garantia de convergˆencia.

5.6 - Suponha que tenhamos um circuito que consiste de fontes de tens˜ao independantes e resistores concentrados como mostra a figura:

- +

A an´alise completa de tal circuito requer a determina¸c˜ao dos valores das correntes da malha ik, indicados na figura, para os valores especificados das fontes de tens˜ao e dos resistores. ´e necess´ario, ent˜ao, formular um sistema de equa¸c˜oes simultˆaneas com as quantidadesik como inc´ognitas. Cada uma das equa¸c˜oes de tal sistema ´e determinada pela aplica¸c˜ao da lei de Kirchoff em torno das malhas.

Por exemplo, para a malha definida pela correntei1, temos:

R1i1+R2(i1−i2) +R7(i1−i4) =V1 .

Fazendo um c´alculo semelhante para as outras malhas obtemos um sistema de 6 equa¸c˜oes nas inc´ognitas i1, i2, i3, i4, i5, i6.

Resolver este problema para os seguintes dados:

R= (10,13,7,12,20,5,6,10,8,9,20)t , e

V = (29,32,37,24,24,34)t , onde R em Ohms e V em Volts.

5.7 - Numa treli¸ca estaticamente determinada com juntas articuladas, como dada na figura a seguir:

45o

a tens˜ao, (Fi ), em cada componente pode ser obtida da seguinte equa¸c˜ao matricial:

Observe que as equa¸c˜oes s˜ao obtidas fazendo-se a soma de todas as for¸cas horizontais ou verticais em cada junta igual a zero. Al´em disso a matriz dos coeficientes ´e bastante esparsa, e assim um candidato natural ´e o m´etodo de Gauss-Seidel.

a) As equa¸c˜oes podem ser rearranjadas de modo a se obter uma matriz estritamente diagonal-mente dominante?

b) E o sistema convergente se iniciarmos com um vetor com todas as componentes iguais a´ zero?

c) Resolva o sistema pelo m´etodo de Gauss-Seidel, partindo do vetor nulo e obtendo a solu¸c˜ao com precis˜ao de10−4.

5.8 - O circuito mostrado a seguir ´e frequentemente usado em medidas el´etricas e ´e conhecido com uma

”Ponte de Wheatstone”.

I6

D B C

A

R5

R4 R3

R2

R1

I5

I4 I3

I2

I1

E

@

@ R

@

@R

-@

@

@@

@

@

@@

@

@

@

@

@

@

@

As equa¸c˜oes que governam o sistema s˜ao obtidas a partir da lei de Kirchoff. Para a malha fechada atrav´es da bateria e ao longo de ABD, temos:

I1R1+I4R4−E= 0 (1) Para a a malha fechada ABCA:

I1R1+I5R5−I2R2= 0 (2) Para a malha fechada BCDB:

I5R5+I3R3−I4R4= 0 (3) Para o n´o A:

I6=I1+I2 (4) Para o n´o B:

I1=I5+I4 (5) Para o n´o C:

I3=I2+I5 (6)

ondeRi representam as resistˆencias; Ii as correntes e E a voltagem aplicada.

Determinar as correntes no problema proposto quando: E = 20V olts,R1 = 10Ohmse R2=R3= R4=R5= 100 Ohms.

Dans le document 1.2 Espa¸ co Vetorial (Page 180-195)