Este documento apresenta um resumo de três capítulos sobre cálculo numérico e suas aplicações: (1) sistemas lineares, (2) ajuste de funções e (3) equações e zeros de funções. O documento discute tópicos como métodos para resolver sistemas lineares, ajuste de curvas por mínimos quadrados, interpolação polinomial, integração numérica e métodos iterativos para encontrar zeros de funções.
1. C´lculo Num´rico — Fundamentos e Aplica¸˜es
a
e
co
Claudio Hirofume Asano
Eduardo Colli
Departamento de Matem´tica Aplicada – IME-USP
a
9 de dezembro de 2009
11. Cap´
ıtulo 1
Exemplos de aplica¸˜es de
co
sistemas lineares
1.1
Introdu¸˜o
ca
Um sistema linear ´ um conjunto de m equa¸˜es, com n inc´gnitas x1 , x2 , . . ., xn , da seguinte
e
co
o
forma:
a11 x1 + a12 x2 + . . . + a1n xn = b1
a21 x1 + a22 x2 + . . . + a2n xn = b2
.
.
.
am1 x1 + am2 x2 + . . . + amn xn = bm
Os n´meros aij s˜o os coeficientes do sistema linear, e s˜o fornecidos no problema. Os bi ’s
u
a
a
s˜o chamados de termos independentes. Aqui estudaremos apenas os sistemas lineares que
a
tenham tantas equa¸˜es quanto inc´gnitas, isto ´, m = n. Trataremos neste Cap´
co
o
e
ıtulo de
alguns exemplos onde se aplicam sistemas lineares, no Apˆndice A discutimos um pouco da
e
teoria envolvida (por exemplo, a rela¸˜o entre o determinante dos coeficientes do sistema e a
ca
existˆncia e unicidade de solu¸˜es), no Cap´
e
co
ıtulo 2 falaremos de sua solu¸˜o pelo M´todo de
ca
e
Escalonamento e no Cap´
ıtulo 3, finalmente, exporemos dois m´todos iterativos de resolu¸˜o
e
ca
dos sistemas lineares (que, infelizmente, s´ funcionam em certos casos).
o
1.2
Provetas
Considere o seguinte problema. Quatro tipos de materiais particulados est˜o distribu´
a
ıdos por
quatro provetas, e em cada proveta os materiais s˜o dispostos em camadas, n˜o misturadas,
a
a
de modo que seja poss´ medir facilmente o volume de cada material em cada uma delas.
ıvel
Dado que possamos medir a massa total de cada proveta, e que saibamos a massa da proveta
vazia, queremos calcular a densidade de cada um dos materiais.
11
12. 12
CAP´
ITULO 1. EXEMPLOS DE APLICACOES DE SISTEMAS LINEARES
¸˜
Para colocar o problema em termos matem´ticos, chamemos os materiais de A, B, C
a
e D, e suas densidades respectivas de ρA , ρB ,
ρC e ρD . Essas s˜o as inc´gnitas do problema,
a
o
n´meros que queremos descobrir.
u
Entre os dados dispon´
ıveis para resolvˆ-lo
e
est˜o a massa conjunta dos quatro materiais
a
em cada uma das provetas (numeradas de 1 a
4), que chamaremos de m1 , m2 , m3 e m4 , j´
a
descontada a tara das provetas.
11
00
11
00
11
00
11
00
D
11
00
11
00
11
00
11
00
11
00
11
00
C
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
B
11
00
11
00
11
00
11
00
11
00
11
00
11
00
A
11
00
11
00
11
00
1
11
00
11
00
11
00
11
00
11
00
11
00
D
11
00
11
00
11
00
11
00
11
00
11
00
11
00
C
11
00
11
00
11
00
11
00
11
00
11
00
11
00
B
11
00
11
00
11
00
11
00
11
00
11
00
11
00
A
11
00
11
00
11
00
11
00
11
00
2
11
00
11
00
11
00
11
00
D
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
C
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
B
11
00
11
00
11
00
11
00
A
11
00
11
00
3
11
00
11
00
11
00
11
00
11
00
11
00
D
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
C
11
00
11
00
11
00
11
00
11
00
11
00
B
11
00
11
00
11
00
11
00
11
00
11
00
11
00
A
11
00
11
00
11
00
4
Al´m disso, temos o volume de cada um dos materiais em cada uma das provetas. Chae
maremos de v1A , v1B , v1C e v1D o volume dos materiais A, B, C e D na Proveta 1, v2A , v2B ,
v2C e v2D o volume dos materiais A, B, C e D na Proveta 2, e assim por diante.
Como a densidade ´ a raz˜o entre massa e volume, a massa do material A na Proveta 1
e
a
´ v1A · ρA . Estendendo esse racioc´
e
ınio para os demais materiais, obtemos que a massa total
m1 contida na Proveta 1 ´
e
v1A · ρA + v1B · ρB + v1C · ρC + v1D · ρD .
Considerando as quatro provetas, obteremos quatro equa¸˜es:
co
v1A · ρA + v1B
v2A · ρA + v2B
v3A · ρA + v3B
v4A · ρA + v4B
· ρB
· ρB
· ρB
· ρB
+ v1C
+ v2C
+ v3C
+ v4C
· ρC
· ρC
· ρC
· ρC
+ v1D · ρD
+ v2D · ρD
+ v3D · ρD
+ v4D · ρD
= m1
= m2
= m3
= m4
Trata-se de um sistema linear de quatro equa¸˜es e quatro inc´gnitas.
co
o
Uma poss´ aplica¸˜o em Geologia seria a seguinte. Uma sonda faz o papel das provetas,
ıvel
ca
e uma coluna de material ´ retirada, contendo materiais diferentes dispostos em camadas
e
(pode ser at´ uma sonda coletando material gelado). A sonda permitiria medir a dimens˜o
e
a
de cada camada, mas n˜o poder´
a
ıamos desmanchar a coluna para medir a densidade de cada
material isoladamente, sob o risco de alterar a compacta¸˜o.
ca
1.3
Petr´leo
o
Outro problema para Ge´logos e afins. Em trˆs po¸os de petr´leo, situados em regi˜es
o
e
c
o
o
distintas, o material coletado tem diferentes concentra¸˜es de duas substˆncias A e B. Uma
co
a
central recebe o petr´leo dos trˆs po¸os, mas antes do refino precisa obter uma mistura com
o
e
c
uma concentra¸˜o escolhida das substˆncias A e B. A pergunta ´: em cada litro de petr´leo
ca
a
e
o
que ser´ gerado para o refino, quanto petr´leo de cada po¸o se deve colocar?
a
o
c
Mais uma vez equacionemos o problema: chamaremos de c1A a concentra¸˜o de A no
ca
petr´leo do Po¸o 1, c1B a concentra¸˜o de B no petr´leo do Po¸o 1, e assim por diante. Essa
o
c
ca
o
c
informa¸˜o ´ conhecida previamente. As concentra¸˜es que queremos obter s˜o chamadas de
ca e
co
a
cA e cB . As inc´gnitas s˜o as quantidades relativas de petr´leo de cada po¸o que colocaremos
o
a
o
c
13. 13
1.4. CORES
na mistura final, que chamaremos de q1 , q2 e q3 . Elas s˜o medidas em litros, e devem ser tais
a
que
q1 + q2 + q3 = 1 .
Al´m disso, a concentra¸˜o do material A ap´s a mistura dos trˆs ser´ dada por
e
ca
o
e
a
c1A · q1 + c2A · q2 + c3A · q3 .
Pensando o mesmo sobre o material B, ficamos com trˆs equa¸˜es lineares e trˆs inc´gnitas:
e
co
e
o
c1A · q1
c1B · q1
q1
+ c2A · q2
+ c2B · q2
+
q2
+ c3A · q3
+ c3B · q3
+
q3
= cA
= cB
= 1
Aqui ´ importante salientar que o problema n˜o teria uma solu¸˜o satisfat´ria para qualquer
e
a
ca
o
escolha de cA e cB . Por exemplo, se a concentra¸˜o cA desejada na mistura for superior `s
ca
a
concentra¸˜es de A em cada um dos po¸os, n˜o h´ como obter a mistura satisfatoriamente.
co
c
a a
Mesmo assim poderia haver uma solu¸˜o matem´tica para a equa¸˜o, na qual provavelmente
ca
a
ca
uma das inc´gnitas q1 , q2 ou q3 teria que ser negativa!
o
Portanto no problema real devemos adicionar a exigˆncia de que os valores q1 , q2 e q3
e
encontrados n˜o sejam negativos.
a
O conjunto de valores de cA e cB para os quais
haveria uma solu¸˜o para esse problema pode ser
ca
representado da seguinte forma. Queremos um
par de concentra¸˜es (cA , cB ) tal que existam q1 ,
co
q2 e q3 satisfazendo as equa¸˜es acima. Esse conco
junto de possibilidades est´ representado no plano
a
cartesiano na figura ao lado, e ´ denominado ene
volt´ria convexa dos pontos (c1A , c1B ), (c2A , c2B )
o
e (c3A , c3B ). Ele ´ o menor conjunto convexo que
e
cont´m os pontos citados.
e
1.4
cB
(c1A ,c1B )
possiveis
(cA ,cB )
(c3A ,c3B )
(c2A ,c2B )
cA
Cores
Um exemplo muito semelhante pode ser obtido trabalhando-se com combina¸˜es de cores.
co
A maior parte das cores conhecidas podem ser formadas pela combina¸˜o de trˆs cores:
ca
e
vermelho (R), verde (G) e azul (B), as letras correspondendo ` nomenclatura em inglˆs
a
e
red-green-blue, que chamaremos de cores puras.
14. CAP´
ITULO 1. EXEMPLOS DE APLICACOES DE SISTEMAS LINEARES
¸˜
14
B
Isto significa que as cores podem
ser representadas por trˆs n´meros
e u
n˜o-negativos, cada um indicando a
a
quantidade de cada uma das trˆs coe
res, e esses n´meros s˜o geometriu
a
camente vistos pela posi¸˜o que reca
presentam no primeiro octante formado pelos trˆs eixos coordenados
e
no espa¸o tridimensional.
c
G
R
No entanto h´ um bocado de informa¸˜o redundante nessa representa¸˜o, uma vez que o
a
ca
ca
ponto (1, 1, 1) deve resultar na mesma cor que (3, 3, 3), a unica diferen¸a sendo a quantidade
´
c
de material produzido.
B
Se pensarmos que os n´meros xR , xG , xB deu
notam a quantidade de litros de cada cor pura
e sempre quisermos produzir exatamente 1 litro de mistura, ent˜o ´ necess´rio que
a e
a
(0,0,1)
azul
xR + xG + xB = 1 .
(0,1,0)
(1,0,0)
R
G
vermelho
verde
A equa¸˜o acima restringe o espa¸o de cores
ca
c
poss´
ıveis ` intersec¸˜o do plano xR + xG +
a
ca
xB = 1 com o primeiro octante, que ´ o
e
triˆngulo mostrado na figura ao lado.
a
Cada ponto Q desse triˆngulo ´ obtido como combina¸˜o convexa de (1, 0, 0), (0, 1, 0) e
a
e
ca
(0, 0, 1), isto ´,
e
Q = (qR , qG , qB ) = qR (1, 0, 0) + qG (0, 1, 0) + qB (0, 0, 1) ,
com a condi¸˜o de que qR + qG + qB = 1. Chamaremos de T esse triˆngulo.
ca
a
Suponha agora que produzimos quatro cores distintas Q(1) , Q(2) , Q(3) e Q(4) , sendo que
(i)
(i)
(i)
Q(i) = (qR , qG , qB )
para cada i = 1, 2, 3, 4. Elas s˜o representadas por pontos no tri˜ngulo T .
a
a
15. 1.5. INTERPOLACAO POLINOMIAL
¸˜
15
B
O conjunto de todas as combina¸˜es poss´
co
ıveis
dessas quatro cores (formando um litro) ´ o
e
menor conjunto convexo em T que cont´m ese
sas quatro cores, como ilustra a figura ao lado.
Se Q ´ uma tal cor, ent˜o
e
a
Q (2)
Q
(1)
Q = x1 Q(1) + x2 Q(2) + x3 Q(3) + x4 Q(4) ,
com x1 + x2 + x3 + x4 = 1.
Q (3)
Q (4)
R
G
1 1 1
Por exemplo, suponha que a cor cinza, dada por Q = ( 3 , 3 , 3 ), esteja contida nesse menor
conjunto convexo, e gostar´
ıamos de determinar as quantidades x1 , x2 , x3 e x4 das cores Q(1) ,
Q(2) , Q(3) e Q(4) que produzam 1 litro da cor cinza Q. Isso nos d´ quatro equa¸˜es lineares
a
co
nas inc´gnitas x1 , x2 , x3 e x4 :
o
(1)
qR x1
(1)
qG x1
(1)
qB x1
x1
1.5
(2)
+ qR x2
(2)
+ qG x2
(2)
+ qB x2
+
x2
(3)
+ qR x3
(3)
+ qG x3
(3)
+ qB x3
+
x3
(4)
+ qR x4
(4)
+ qG x4
(4)
+ qB x4
+
x4
=
=
=
=
1
3
1
3
1
3
1
Interpola¸˜o polinomial
ca
Imagine que queiramos passar um polinˆmio quadr´tico (isto ´, uma par´bola) pelos pontos
o
a
e
a
(x1 , y1 ), (x2 , y2 ) e (x3 , y3 ), desde que x1 , x2 e x3 sejam todos diferentes entre si.
p(x)
y1
y3
x2
x1
x3
y2
Um polinˆmio quadr´tico ´ escrito, na sua forma geral, como
o
a
e
p(x) = ax2 + bx + c .
Como neste problema nosso objetivo ´ determinar o polinˆmio quadr´tico, as inc´gnitas s˜o
e
o
a
o
a
os trˆs coeficientes a, b e c. Para encontrar as inc´gnitas dispomos de trˆs equa¸˜es, pois o
e
o
e
co
gr´fico do polinˆmio deve passar pelos trˆs pontos dados: p(x1 ) = y1 , p(x2 ) = y2 e p(x3 ) = y3 .
a
o
e
Explicitando as equa¸˜es, ficamos com
co
ax2 + bx1 + c = y1
1
ax2 + bx2 + c = y2
2
ax2 + bx3 + c = y3
3
16. 16
CAP´
ITULO 1. EXEMPLOS DE APLICACOES DE SISTEMAS LINEARES
¸˜
e reescrevendo-as evidenciamos o car´ter de sistema linear do problema:
a
x2 · a + x1 · b + c = y1
1
x2 · a + x2 · b + c = y2
2
x2 · a + x3 · b + c = y3
3
Nem ´ preciso dizer que o mesmo tipo de problema se generaliza para um n´mero qualquer
e
u
n de pontos. Sejam os pares (x1 , y1 ), . . . , (xn , yn ), com os xi ’s distintos dois a dois. Queremos
achar um polinˆmio p(x) cujo gr´fico passe pelos pontos dados, isto ´: p(x1 ) = y1 , p(x2 ) =
o
a
e
y2 , . . . , p(xn ) = yn .
yn
y
1
y
n−1
x1
x2
xn−1
xn
y2
Se procurarmos por um polinˆmio de grau k teremos k + 1 coeficientes a determinar.
o
Como temos que satisfazer n equa¸˜es, isso sugere que fixemos k = n − 1. Assim, temos o
co
sistema de n equa¸˜es, onde os coeficientes s˜o as n inc´gnitas:
co
a
o
a0
a0
.
.
.
+
+
x1 · a1
x2 · a1
.
.
.
a0
+ xn · a1
x2 · a2
1
x2 · a2
2
.
.
.
+ ...
+ ...
.
.
.
n−1
+ x1 · an−1
n−1
+ x2 · an−1
.
.
.
+ x2 · a2
n
+ ...
n−1
+ xn · an−1
+
+
=
=
y1
y2
.
.
.
=
= yn
Podemos nos perguntar se sempre existe solu¸˜o para esse sistema, e se ela ´ unica. A
ca
e ´
resposta ´ sim (desde que os xi ’s sejam distintos entre si, mas veremos a justificativa mais
e
adiante, na Se¸˜o A.7.
ca
Exerc´
ıcio 1.1 Ache o unico polinˆmio de grau 3 passando pelos pontos (−1, 0), (0, 1),
´
o
(3, −1) e (4, 0).
Exerc´
ıcio 1.2 Encontre o polinˆmio interpolador para os pontos (−1, −5), (0, 1), (3, 19) e
o
(4, 45).
1.6
Outros problemas de determina¸˜o de polinˆmios
ca
o
Outro problema de interpola¸˜o polinomial que pode ser reduzido a um sistema linear ocorre
ca
quando s˜o impostas condi¸˜es nas derivadas do polinˆmio, em determinados pontos. A id´ia
a
co
o
e
fica mais clara a partir do seguinte exemplo.
17. 17
1.7. SPLINES
Problema: “achar um polinˆmio tal que p(−1) = 1, p(3) = 0, p′ (−1) = 0 e p′ (3) = 0”.
o
Isto ´, fixa-se o valor e a derivada de p em dois pontos, o que d´ 4 equa¸˜es. Com um polinˆmio
e
a
co
o
de grau 3, fica-se com 4 inc´gnitas. Explicitamente, se p(x) = a0 + a1 x + a2 x2 + a3 x3 , ent˜o
o
a
as 4 equa¸˜es se transformam em
co
a0
a0
−
+
a1
3a1
a1
a1
+ a2
+ 9a2
− 2a2
+ 6a2
−
+
+
+
a3
27a3
3a3
27a3
=
=
=
=
1
0
0
0
Tamb´m pode-se impor alguma condi¸˜o de integral definida para o polinˆmio. Por
e
ca
o
exemplo, se p(x) = ax2 + bx + c ´ polinˆmio de grau 2 e sabemos que
e
o
2
p(x)dx = 3 ,
1
isso nos d´ uma equa¸˜o linear, pois
a
ca
2
p(x)dx
= a
1
=
1.7
x3
3
2
1
+b
x2
2
2
1
+ cx
2
1
7
3
a+ b+c.
3
2
Splines
H´ tamb´m o problema de “spline”. Dados pontos (x0 , y0 ), . . . , (xn , yn ) (a numera¸˜o come¸a
a
e
ca
c
de zero, desta vez) como na figura abaixo com n = 5, achar uma fun¸˜o que seja:
ca
1. um polinˆmio c´bico em cada intervalo [xk−1 , xk ], com k = 1, . . . , n;
o
u
2. igual aos valores especificados yk nos pontos xk ;
3. duas vezes diferenci´vel e com derivada segunda cont´
a
ınua, inclusive nos pontos extremos
dos intervalos (em particular, a fun¸˜o tamb´m deve ser diferenci´vel);
ca
e
a
4. com derivada zero nos extremos (ou com valores especificados da derivada nos extremos).
x0
x1
x2
x3
x4
x5
18. 18
CAP´
ITULO 1. EXEMPLOS DE APLICACOES DE SISTEMAS LINEARES
¸˜
Nesse problema temos que achar n polinˆmios c´bicos (um para cada intervalo), e s˜o
o
u
a
portanto 4n inc´gnitas (quatro coeficientes de cada polinˆmio). Ser´ que temos 4n equa¸˜es
o
o
a
co
tamb´m?
e
Vejamos. Chamaremos de p1 (x), . . . , pn (x) os polinˆmios, sendo que o polinˆmio pk (x)
o
o
corresponde ao intervalo [xk−1 , xk ]. Temos que impor os valores extremos
p1 (x0 ) = y0 , pn (xn ) = yn
(no desenho, y0 e yn s˜o iguais a zero). J´ temos duas equa¸˜es. Al´m disso, devemos impor
a
a
co
e
a segunda condi¸˜o especificada acima, nos demais n´dulos (mais 2n − 2 equa¸˜es):
ca
o
co
p1 (x1 ) = y1 e p2 (x1 ) = y1 , . . . , pn−1 (xn−1 ) = yn−1 e pn (xn−1 ) = yn−1 .
At´ agora totalizamos 2n equa¸˜es. Temos ainda que impor as derivadas nos extremos (zero
e
co
neste caso):
p′ (x0 ) = 0 , p′ (xn ) = 0 ,
1
n
e tamb´m a continuidade da derivada em cada n´dulo:
e
o
p′ (x1 ) = p′ (x1 ) , . . . , p′ (xn−1 ) = p′ (xn−1 ) ,
1
2
n−1
n
perfazendo mais n + 1 equa¸˜es. Finalmente, temos que impor tamb´m a continuidade da
co
e
segunda derivada nos n´dulos, com mais n − 1 equa¸˜es:
o
co
p′′ (x1 ) = p′′ (x1 ) , . . . , p′′ (xn−1 ) = p′′ (xn−1 ) .
1
2
n−1
n
Ao todo s˜o 4n equa¸˜es!
a
co
´
E poss´ mostrar que o sistema da´ resultante sempre tem unica solu¸˜o.
ıvel
ı
´
ca
Exerc´
ıcio 1.3 Monte o sistema linear relativo ao spline dos pontos da figura, com os
seguintes dados:
k
0
1
2
3
4
5
xk
−3.0
−1.4
0.0
1.5
2.5
4.0
yk
0.0
0.7
2.0
2.5
1.0
0.0
Exerc´
ıcio 1.4 Fa¸a um spline c´bico com os pontos (−1, 0), (0, 1) e (1, 0), com derivada
c
u
zero nos extremos.
1.8
Problemas de contorno
O problema do equil´
ıbrio termost´tico (ou tamb´m do eletrost´tico) ´ outro exemplo de
a
e
a
e
redu¸˜o a um sistema linear.
ca
19. 19
1.8. PROBLEMAS DE CONTORNO
Suponha uma situa¸˜o como a
ca
mostrada na figura ao lado, com
trˆs fontes de calor:
e
Ta
Tb
(x,y)
1. O entorno do quadrado, `
a
temperatura Ta
T(x,y)
2. O quadrado inclinado, `
a
temperatura Tb
3. A barra, ` temperatura Tc
a
Tc
A quest˜o ´: como se distribuir´
a e
a
a temperatura, no equil´
ıbrio, em
fun¸˜o da posi¸˜o (x, y)?
ca
ca
O mesmo problema pode ser formulado com um potencial eletrost´tico V (x, y), ao inv´s
a
e
da temperatura, se nas regi˜es mostradas fix´ssemos valores Va , Vb e Vc . Na verdade, os
o
a
valores Ta , Tb , Tc nem precisariam ser fixos: poderiam variar conforme a posi¸˜o.
ca
Esse problema ´ modelado pela equa¸˜o de Laplace
e
ca
∂2T
∂2T
+
=0,
∂x2
∂y 2
significando que devemos procurar uma fun¸˜o cont´
ca
ınua T (x, y) cujo valor sobre as fontes
seja aquele pr´-determinado e tal que fora delas satisfa¸a essa equa¸˜o.
e
c
ca
Ta
Tb
Tc
Para
obter
uma
solu¸˜o
ca
num´rica,
e
discretizamos
o
plano (x, y) com uma rede quadrada, como mostra a figura ao
lado. Em seguida, numeramos
os v´rtices da malha cujas teme
peraturas n˜o est˜o fixadas, em
a
a
qualquer ordem (por exemplo,
adotamos da esquerda para a
direita, e de cima para baixo).
Na posi¸˜o i queremos determinar a temperatura Ti , no equil´
ca
ıbrio. Se forem N v´rtices,
e
ser˜o N inc´gnitas T1 , T2 , . . . , TN a determinar. A equa¸˜o de Laplace, quando discretizada,
a
o
ca
se traduz no fato de que a temperatura de equil´
ıbrio na posi¸˜o i tem que ser igual ` m´dia
ca
a e
20. 20
CAP´
ITULO 1. EXEMPLOS DE APLICACOES DE SISTEMAS LINEARES
¸˜
da temperatura nos quatro vizinhos imediatos (na vertical e horizontal). Para cada v´rtice,
e
isso se traduzir´ numa equa¸˜o (linear), e a reuni˜o de todas essas equa¸˜es formar´ um
a
ca
a
co
a
sistema linear de N equa¸˜es e N inc´gnitas.
co
o
A solu¸˜o do sistema assim obtido ser´ uma aproxima¸˜o da distribui¸˜o de temperatura.
ca
a
ca
ca
s
1111111111111111111111111111111111
0000000000000000000000000000000000
Vejamos um exemplo, com uma grade
de poucos v´rtices. O desenho da fie
gura ao lado mostra uma grade 9 × 8.
Chamaremos de N o n´mero de linhas
u
(no exemplo, N = 9) e M o n´mero
u
de colunas (no exemplo, M = 8). Na
grade fixamos Ta nas posi¸˜es (4, 4),
co
(5, 3), (5, 4), (5, 5) e (6, 4) (embora a
posi¸˜o interna (5, 4) n˜o v´ servir para
ca
a a
nada), e Tb nas posi¸˜es (1, s) e (9, s),
co
para s = 1, . . . , 8, e (r, 1), (r, 8), para
r = 1, . . . , 9. Veja que estamos usando
r para indexar as linhas e s para indexar as colunas.
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
r
1
2
3
4
5
6
7
8
1
1
0
1
0
1
0
1
0
1
0
1
0
11
00
11
00
11
00
11
00
1
0
1
0
1
0
1
0
1
0
1
0
2
1
0
1
0
1
0
1
0
3
1
0
1
0
1
0
1
0
1
0
1
0
4
1
0
1
0
1
0
5
1
0
1
0
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
Tb
1
0
1
0
1
0
Ta
11
00
11
00
11
00
1
0
1
0
11
00
11
00
11
00
6
1
0
1
0
7
1
0
1
0
1
0
1
0
1
0
1
0
8
1
0
1
0
1
0
1
0
1
0
1
0
9
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
11
00
11
00
11
00
1
0
1
0
11
00
11
00
11
00
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
A discretiza¸˜o da equa¸˜o de Laplace significa que, nos v´rtices em que a temperatura
ca
ca
e
n˜o foi fixada, o valor da temperatura ser´ dado pela m´dia dos valores dos quatro v´rtices
a
a
e
e
mais pr´ximos. Numeraremos esses v´rtices da seguinte forma: da esquerda para a direita e
o
e
de cima para baixo (como na leitura de um texto em portuguˆs), e para o v´rtice i queremos
e
e
saber a temperatura de equil´
ıbrio Ti . Assim, para o primeiro v´rtice, teremos
e
T1 =
1
(Tb + Tb + T2 + T7 ) ,
4
pois o vizinho de cima e o vizinho ` esquerda tˆm valor fixo Tb e os vizinhos ` direita e
a
e
a
embaixo s˜o as inc´gnitas T2 e T7 . Rearranjando a equa¸˜o temos
a
o
ca
4T1 − T2 − T7 = 2Tb .
Na figura, vemos que h´ 37 v´rtices livres, portanto 37 inc´gnitas T1 , T2 , . . . , T37 a serem
a
e
o
determinadas. Por´m cada v´rtice livre produz uma equa¸˜o, donde resulta um sistema
e
e
ca
linear com 37 equa¸˜es e 37 inc´gnitas.
co
o
2
2
Exerc´
ıcio 1.5 Discretizar e resolver a equa¸ao ∂ T + ∂ T = 0 no quadrado [0, 1] × [0, 1] com
c˜ ∂x2 ∂y2
condi¸ao de contorno dada por T (x, 0) = x2 e T (x, 1) = x2 −1 para 0 ≤ x ≤ 1 e T (0, y) = −y 2
c˜
e T (1, y) = 1 − y 2 , para 0 ≤ y ≤ 1. Divida o intervalo [0, 1] em N = 3 subintervalos de
mesmo comprimento. Compare sua solu¸ao com a solu¸ao exata T (x, y) = x2 − y 2 .
c˜
c˜
Exerc´
ıcio 1.6 Fa¸a o mesmo exerc´
c
ıcio com a fun¸ao T (x, y) = xy.
c˜
21. Cap´
ıtulo 2
O M´todo de Escalonamento
e
2.1
O m´todo
e
Nesta Se¸˜o discutiremos um m´todo de resolu¸˜o de sistemas lineares, chamado M´todo do
ca
e
ca
e
Escalonamento ou M´todo de Elimina¸˜o de Gauss. O m´todo se baseia, em primeiro lugar,
e
ca
e
no fato de que um sistema triangularizado como abaixo tem f´cil solu¸˜o:
a
ca
a11 x1
+ a12 x2
a22 x2
+ a13 x3
+ a23 x3
a33 x3
+ ...
+ ...
+ ...
+
+
+
a1n xn
a2n xn
a3n xn
=
=
=
.
.
.
b1
b2
b3
ann xn
= bn
Na verdade, ´ tanto necess´rio quanto suficiente que todos os coeficientes na diagonal sejam
e
a
n˜o-nulos para que se explicite a solu¸˜o de forma unica (se um dos termos da diagonal for
a
ca
´
nulo ent˜o haver´ vari´veis livres e uma infinidade de solu¸˜es). A solu¸˜o, nesse caso, se
a
a
a
co
ca
obt´m a partir da ultima equa¸˜o. Primeiro, isola-se xn :
e
´
ca
xn =
1
bn .
ann
A pen´ltima equa¸˜o ´
u
ca e
an−1,n−1 xn−1 + an−1,n xn = bn−1 ,
ent˜o
a
xn−1 =
1
an−1,n−1
(bn−1 − an−1,n xn ) .
Como xn j´ foi determinado, da equa¸˜o acima determina-se tamb´m xn−1 . E assim por
a
ca
e
diante, at´ se conseguir o valor de x1 .
e
Um sistema triangularizado torna-se ent˜o o objetivo do m´todo. Para ser mais preciso,
a
e
pretende-se obter um sistema linear triangularizado equivalente ao original.
Aqui entenderemos que dois sistemas lineares s˜o equivalentes se eles possuem exatamente
a
as mesmas solu¸˜es, ou seja: se um conjunto de n´meros x1 , . . . , xn ´ solu¸˜o de um sistema
co
u
e
ca
ent˜o automaticamente ser´ solu¸˜o do outro.
a
a
ca
21
22. ´
CAP´
ITULO 2. O METODO DE ESCALONAMENTO
22
Pode-se trocar um sistema linear por outro equivalente atrav´s do seguinte processo.
e
Escolhem-se duas linhas, a linha i e a linha j, e no lugar da linha j coloca-se uma linha que
seja combina¸˜o linear da linha i com a linha j, exceto que essa combina¸˜o linear n˜o pode
ca
ca
a
ser somente a linha i (sen˜o a informa¸˜o sobre a linha j desaparece, o que pode tornar o
a
ca
sistema indeterminado). Mais precisamente, o sistema linear
a11 x1 + a12 x2 + . . . + a1n xn = b1
a21 x1 + a22 x2 + . . . + a2n xn = b2
.
.
.
an1 x1 + an2 x2 + . . . + ann xn = bn
passa a ter, no lugar da linha j, a seguinte linha:
(αaj1 + βai1 )x1 + . . . + (αajn + βain )xn = αbj + βbi ,
´
onde α = 0, para que a linha j n˜o seja meramente substitu´ pela linha i. E evidente que
a
ıda
qualquer solu¸˜o do sistema linear original ser´ solu¸˜o do sistema linear alterado. Ser´ que
ca
a
ca
a
vale o inverso?
De fato, sim. Se os n´meros x1 , . . . , xn formam uma solu¸˜o do sistema alterado, ent˜o
u
ca
a
j´ garantimos que esses n´meros satisfazem todas as equa¸˜es do sistema original, exceto
a
u
co
possivelmente a equa¸˜o j. Acontece que subtraindo da linha alterada a linha i multiplicada
ca
por β vemos que a linha j ´ automaticamente satisfeita, contanto que α = 0.
e
O essencial nesse “truque” ´ que podemos controlar α e β de forma que a linha substituta
e
tenha um zero em certa posi¸˜o. Por exemplo, suponha que na linha i o termo aik (k-´sima
ca
e
coluna) seja diferente de zero. Com isso, podemos substituir a linha j por uma linha em que
na k-´sima coluna o coeficiente seja nulo. Basta colocar a linha
e
1 · (linha j) −
ajk
· (linha i) .
aik
Assim, o k-´simo coeficiente ser´
e
a
ajk −
ajk
· aik = 0 .
aik
Usando judiciosamente essa opera¸˜o podemos ir substituindo as linhas, uma por uma,
ca
at´ chegar a um sistema triangularizado equivalente ao original. Antes de explicar o procee
dimento, no entanto, convencionemos uma forma mais f´cil de escrever o sistema linear: a
a
forma matricial. Nessa forma de escrever, s´ colocamos o que realmente interessa no sistema
o
linear: os coeficientes. Numa matriz de n linhas e n + 1 colunas colocamos todos eles, deixando a ultima coluna para os termos independentes (e em geral separando essa coluna das
´
demais para n˜o haver confus˜o):
a
a
a11 a12 . . . a1n b1
a21 a22 . . . a2n b2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
an1 an2 . . . ann bn
23. ´
2.1. O METODO
23
Uma observa¸˜o importante que devemos fazer neste ponto da exposi¸˜o ´ que a ordem
ca
ca e
das linhas n˜o importa na montagem da equa¸˜o, pois as linhas s˜o as equa¸˜es, e todas
a
ca
a
co
as equa¸˜es devem ser satisfeitas ao mesmo tempo. J´ a ordem das colunas ´ importante,
co
a
e
pois a primeira coluna representa os coeficientes da inc´gnita x1 , a segunda representa os
o
coeficientes da inc´gnita x2 , etc. Se quisermos trocar a ordem das colunas, teremos antes
o
que renumerar as inc´gnitas!
o
O procedimento de escalonamento funciona assim. Primeiramente verificamos se a11 = 0.
Se n˜o for, procuramos alguma linha cujo primeiro coeficiente seja diferente de zero e a
a
trocamos de posi¸˜o com a primeira. Se n˜o houver nenhuma linha cujo primeiro coeficiente
ca
a
seja n˜o-nulo ent˜o x1 n˜o entra no sistema linear e pode ser, a princ´
a
a
a
ıpio, qualquer. Al´m
e
disso, percebe-se que de fato o sistema linear envolve apenas n − 1 inc´gnitas em n equa¸˜es,
o
co
havendo grande chance de n˜o ter solu¸˜o. De qualquer forma, se isso acontecer n˜o haver´
a
ca
a
a
nada a ser feito nessa primeira etapa e poderemos passar imediatamente ` etapa seguinte.
a
O objetivo da primeira etapa ´ usar o fato de que a11 = 0 para trocar uma a uma as
e
linhas de 2 a n por linhas cujo primeiro coeficiente seja nulo, usando o truque descrito acima.
Ou seja, a j-´sima linha (j = 2, . . . , n) ser´ substitu´ pela linha
e
a
ıda
(linha j) −
aj1
· (linha 1) .
a11
O sistema linear ficar´ ent˜o da seguinte forma:
a
a
a11 a12 . . . a1n
0 a22 . . . a2n
.
.
.
.
.
.
.
.
.
.
.
.
0 an2 . . . ann
b1
b2
.
.
.
bn
,
onde ´ preciso lembrar que, por causa das opera¸˜es com linhas, os coeficientes n˜o s˜o os
e
co
a a
mesmos do sistema linear original!
Nessa primeira etapa descrita, o n´mero a11 ´ chamado de pivˆ. Em cada etapa haver´
u
e
o
a
um pivˆ, como veremos adiante. Vimos que o pivˆ tem que ser necessariamente diferente
o
o
de zero, o que pode ser conseguido atrav´s de uma troca de linhas. De fato, ´ poss´
e
e
ıvel
at´ escolher o pivˆ, dentre os v´rios n´meros da primeira coluna que sejam diferentes de
e
o
a
u
zero. Na maioria das situa¸˜es em que se resolve um sistema linear por este m´todo, atrav´s
co
e
e
de calculadora ou computador, ´ mais vantajoso, sob o ponto de vista dos erros de c´lculo
e
a
originados de arredondamentos (veja discuss˜o mais adiante), escolher o pivˆ como sendo o
a
o
maior dos n´meros dispon´
u
ıveis na coluna. Aqui entende-se por “maior” n´mero aquele que
u
tem o maior valor absoluto dentro da coluna. Esse procedimento ´ chamado de condensa¸ao
e
c˜
pivotal.
Na segunda etapa, verificamos se a22 = 0. Se n˜o for, procuramos entre as linhas abaixo da
a
segunda alguma cujo segundo coeficiente seja n˜o-nulo. Se n˜o houver, passamos diretamente
a
a
para a terceira etapa. Se houver, trocamos a linha encontrada com a segunda linha. Observe
que a primeira linha n˜o ser´ mais alterada, nem trocada de posi¸˜o com outras. Aqui o
a
a
ca
pivˆ ser´ o n´mero diferente de zero da segunda coluna, escolhido entre a segunda linha e a
o
a
u
ultima. Mais uma vez, pode-se adotar a condensa¸˜o pivotal, tomando como pivˆ o maior
´
ca
o
em valor absoluto.
24. 24
´
CAP´
ITULO 2. O METODO DE ESCALONAMENTO
Se ap´s a troca tivermos a22 = 0, podemos usar nosso truque para zerar todos os segundos
o
coeficientes desde a linha 3 at´ a ultima linha. Trocaremos cada linha j = 3, . . . , n pela linha
e ´
(linha j) −
aj2
· (linha 2) ,
a22
e ficaremos com um sistema linear da forma
a11 a12 a13
0 a22 a23
0
0 a33
.
.
.
.
.
.
.
.
.
0
0 an3
...
...
...
.
.
.
a1n
a2n
a3n
.
.
.
b1
b2
b3
.
.
.
...
ann
bn
,
lembrando mais uma vez que os coeficientes s˜o diferentes em rela¸˜o ` etapa anterior, exceto
a
ca a
os da primeira linha, que ficam inalterados.
´ a
E f´cil ver que em n − 1 etapas teremos um sistema linear triangularizado que, como j´
a
observamos acima, pode ser facilmente resolvido.
2.2
Algarismos significativos
Em geral recorremos a um computador, ou no m´
ınimo usamos uma calculadora, quando
se trata de resolver sistemas lineares razoavelmente grandes. Por exemplo, dificilmente nos
aventurar´
ıamos na resolu¸˜o ` m˜o do problema de contorno da Se¸˜o 1.8, que resulta num
ca a a
ca
sistema linear de 37 inc´gnitas. E isso ´ pouco: imagine uma grade bem mais fina!
o
e
A solu¸˜o de um sistema linear pelo M´todo do Escalonamento ´ exata, na medida em
ca
e
e
que o resultado final pode ser expresso em termos de fra¸˜es envolvendo os coeficientes do
co
sistema linear original. No entanto, calculadoras e computadores n˜o trabalham dessa forma.
a
Num computador ou numa calculadora cient´
ıfica os n´meros s˜o representados em ponto
u
a
flutuante, baseados na nota¸˜o decimal (internamente pode ser em outra base, mas o que nos
ca
aparece ´, em geral, a nota¸˜o decimal). Na nota¸˜o de ponto flutuante, um n´mero tem um
e
ca
ca
u
expoente e uma mantissa. Se x ´ um n´mero real, seu expoente ser´ o n´mero inteiro n tal
e
u
a
u
que
10n−1 ≤ x < 10n .
x
e
e
A mantissa de x, de ordem k, ´ a representa¸˜o decimal de 10n at´ a k-´sima casa decimal,
e
ca
com arredondamento. Em geral as calculadoras usam k > 6, e computadores mais modernos
podem usar valores bem mais altos. Por exemplo, quando pe¸o para minha calculadora o
c
√
valor de 50000 ela me responde
223.6067977
√
e
Observe que x = 50000 ´ tal que
102 ≤ x < 103 ,
portanto o expoente ´ n = 3 nesse exemplo. Ent˜o
e
a
x ≈ 0.2236067977 × 103 .
25. 2.2. ALGARISMOS SIGNIFICATIVOS
25
A mantissa de x de ordem 10 ´ o n´mero
e
u
0.2236067977
As m´quinas trabalham com um tamanho fixo para a mantissa: na calculadora que eu
a
usei, esse tamanho ´ 10. A ordem k da mantissa que escolhemos para operar com um n´mero
e
u
´ tamb´m chamada de “n´mero de algarismos significativos”.
e
e
u
Antes de discorrermos sobre como fazer opera¸˜es aritm´ticas com n´meros nessa reco
e
u
presenta¸˜o (a chamada “aritm´tica de ponto flutuante”), vejamos como se d´ o processo
ca
e
a
de arredondamento. Suponha que um n´mero x se escreva da seguinte forma, na nota¸˜o
u
ca
decimal:
x = Np Np−1 . . . N1 N0 .N−1 N−2 N−3 . . . ,
onde Np , . . . , N0 , N−1 , N−2 , . . . s˜o os algarismos da nota¸˜o, de fato n´meros entre 0 e 9, j´
a
ca
u
a
`
que se trata de representa¸˜o na base 10. A direita a seq¨ˆncia dos Ni ’s pode ser infinita
ca
ue
(e inclusive h´ n´meros que podem ser escritos de duas formas diferentes, por exemplo
a u
0.999 . . . = 1.000 . . .). Assumiremos que ela seja sempre infinita, pois mesmo que n˜o seja
a
podemos torn´-la completando a seq¨ˆncia com zeros.
a
ue
Essa nota¸˜o representa uma s´rie infinita, isto ´, uma soma de infinitos termos:
ca
e
e
x = Np · 10p + Np−1 · 10p−1 + . . . + N1 · 101 + N0 · 100 + N−1 · 10−1 + N−2 · 10−2 + . . .
Mesmo sem estarmos familiarizados com s´ries, podemos entender o n´mero x da seguinte
e
u
forma: x est´ entre Np · 10p e (Np + 1) · 10p , mas tamb´m est´ entre Np · 10p + Np−1 · 10p−1
a
e
a
e Np · 10p + (Np−1 + 1) · 10p−1 , e assim por diante.
Se quisermos arredondar na k-´sima casa decimal depois da v´
e
ırgula, observamos primeiramente que x ´ maior ou igual a
e
Np · 10p + . . . + N1 · 101 + N0 + N−1 · 10−1 + . . . + N−k · 10−k
e menor do que
Np · 10p + . . . + N1 · 101 + N0 + N−1 · 10−1 + . . . + (N−k + 1) · 10−k ,
e, para simplificar a nota¸˜o, definiremos
ca
X = Np · 10p + . . . + N1 · 101 + N0 + N−1 · 10−1 + . . . + N−k+1 · 10−k+1 ,
de forma que
X + N−k · 10−k ≤ x < X + (N−k + 1) · 10−k .
Para obter o arredondamento de x na k-´sima casa decimal, que denotaremos por x,
e
ˆ
precisamos saber se x est´ mais pr´ximo de X + N−k · 10−k ou de X + (N−k + 1) · 10−k . Isso
a
o
´ determinado pelo algarismo seguinte na expans˜o decimal de x, isto ´, N−k−1 . Podemos
e
a
e
seguir a regra: se N−k−1 = 0, 1, 2, 3, 4, ent˜o x = X + N−k · 10−k ; j´ se N−k−1 = 5, 6, 7, 8, 9
a ˆ
a
ent˜o x = X + (N−k + 1) · 10−k .
a ˆ
No segundo caso ´ preciso tomar cuidado ao se voltar para a nota¸˜o decimal. Se 0 ≤
e
ca
N−k ≤ 8, ent˜o
a
x = Np . . . N0 .N−1 . . . N−k+1 (N−k + 1) .
ˆ
26. 26
´
CAP´
ITULO 2. O METODO DE ESCALONAMENTO
Se, no entanto, N−k = 9, teremos N−k + 1 = 10. Isso faz com que no lugar de N−k + 1
coloquemos um zero e somemos 1 ao algarismo precedente, N−k+1 . Mas se N−k+1 for tamb´m
e
igual a 9, ent˜o trocamos esse n´mero por um zero e somamos 1 ao precedente, at´ isso n˜o
a
u
e
a
mais acontecer. Por exemplo, o arredondamento de 1.5769996 para a sexta casa decimal ´
e
1.577000.
Agora voltemos ` quest˜o das opera¸˜es aritm´ticas. No mundo das m´quinas, elas devem
a
a
co
e
a
ser feitas sempre respeitando um certo n´mero pr´-fixado de algarismos significativos. Para
u
e
entender bem, nada melhor do que alguns exemplos.
Digamos que se queira efetuar a opera¸˜o 2.236 + 12.448, com 4 algarismos significativos.
ca
O primeiro n´mero j´ est´ escrito com 4 algarismos significativos, pois 2.236 = 0.2236 · 101 ,
u
a
a
mas o seguinte n˜o, pois 12.448 = 0.12448·102 . Ent˜o arredondamos o segundo para que fique
a
a
com 4 algarismos significativos, resultando 0.1245 · 102 , ou 12.45, e fazemos a soma: 12.45 +
2.236 = 14.686. A soma, no entanto, tem 5 algarismos significativos, logo somos obrigados
a arredondar o resultado: 14.69. Observe que ter´
ıamos obtido um n´mero ligeiramente
u
diferente se n˜o houv´ssemos arredondado 12.448 para 12.45, pois 2.236 + 12.448 = 14.684
a
e
que, arredondado, fica 14.68.
´ a
E f´cil ver que haver´ um ac´mulo de erro se um grande n´mero de opera¸˜es aritm´ticas
a
u
u
co
e
for efetuado em cadeia.
Vejamos um exemplo de subtra¸˜o: queremos subtrair 0.122 de 943 com 3 algarismos
ca
significativos. Isso d´ 943, ap´s arredondamento. Da´ pode-se ver que em alguns casos a
a
o
ı
ordem das opera¸˜es de adi¸˜o e subtra¸˜o pode ser importante. Por exemplo,
co
ca
ca
(943 − 0.122) − 0.405 = 943 − 0.405 = 943 ,
mas
943 − (0.122 + 0.405) = 943 − 0.527 = 942 .
´
E preciso tomar bastante cuidado com subtra¸˜es e somas de n´meros com expoentes d´
co
u
ıspares,
principalmente se essas opera¸˜es forem feitas em grande n´mero. Sen˜o corremos o risco
co
u
a
de subtrair 9430 vezes o n´mero 0.1 de 943 e continuar com 943, ao inv´s de obter zero!!
u
e
Tamb´m deve-se tomar cuidado com a subtra¸˜o de n´meros muito parecidos, cuja diferen¸a
e
ca
u
c
se encontre al´m dos d´
e
ıgitos significativos, pois pode-se obter um zero onde deveria haver um
n´mero simplesmente muito pequeno!
u
Como regra geral, cada opera¸˜o deve ser feita (se poss´ com mais algarismos do que
ca
ıvel
os significativos, o dobro em geral) e o resultado da opera¸˜o arredondado. O mesmo vale
ca
para as opera¸˜es de multiplica¸˜o e divis˜o. Por exemplo, 5.35/7.22, com 3 algarismos
co
ca
a
significativos, d´ 0.741 (confira!).
a
Para ilustrar, fa¸amos o escalonamento e a resolu¸˜o de um sistema linear de ordem 3,
c
ca
usando 3 algarismos significativos. Este exemplo servir´ para ilustrar como, em linhas gerais,
a
se d´ a resolu¸˜o de um sistema por um programa de computador. Evidentemente um bom
a
ca
programa (h´ alguns j´ prontos para uso) tratar´ de minimizar o quanto for poss´ os erros
a
a
a
ıvel
de arredondamento causados pelo n´mero limitado de algarismos significativos. Aqui, ao
u
contr´rio, tentaremos levar ao p´ da letra a regra de arredondar ap´s cada opera¸˜o. A regra
a
e
o
ca
s´ n˜o ser´ muito clara sobre a ordem de seguidas adi¸˜es ou multiplica¸˜es: neste caso,
o a
a
co
co
faremos o arredondamento ap´s todas as adi¸˜es (ou multiplica¸˜es).
o
co
co
Ap´s o exemplo, sugerimos ao leitor, como exerc´
o
ıcio, que implemente no computador,
usando alguma linguagem (C, Pascal, Fortran, Basic, etc), um programa que resolva sistemas
27. 2.2. ALGARISMOS SIGNIFICATIVOS
27
lineares de qualquer ordem (que a ordem seja apenas limitada por problemas de falta de
mem´ria, por exemplo).
o
Considere o sistema
−1
3
1
2
,
1
1
0
2
2
2
−1
1
que tem apenas coeficientes inteiros. Ele tem solu¸˜o exata (x1 , x2 , x3 ) = (− 9 , 13 , 3), que
ca
2 2
pode ser obtida por escalonamento tamb´m, sem arredondamento (mantendo fra¸˜es).
e
co
N˜o h´ arredondamentos a fazer, no princ´
a a
ıpio, porque todos os coeficientes s˜o inteiros
a
com 1 algarismo significativo. O “3” da primeira coluna serve como pivˆ, pois ´ maior do que
o
e
os demais coeficientes da mesma coluna. A primeira etapa consiste em subtrair da segunda e
da terceira linha m´ltiplos convenientes da primeira para que s´ reste o “3” como coeficiente
u
o
1
n˜o nulo. Para a segunda linha, o m´ltiplo tem que ser 3 = 0.333, enquanto que para a
a
u
terceira linha ele tem que ser 2 = 0.667. Chamaremos esses m´ltiplos de multiplicadores.
u
3
O leitor pode achar estranho que 1 − 0.333 × 3 = 1 − 0.999 = 0.001, o que faz com que
de fato o primeiro coeficiente da segunda linha n˜o se anule. Isso ser´ ignorado na hora de
a
a
se fazer o escalonamento. Observe que a escolha do multiplicador como 0.334 n˜o ajudaria
a
a resolver o problema. A unica solu¸˜o seria n˜o arredondar o multiplicador antes de fazer
´
ca
a
a conta, mas nem sempre ´ isso o que acontece num programa.
e
Dessa primeira etapa sai o sistema
−1
3
1
2
0
0.667
−0.666
2.33 ,
0
1.33
−2.33
1.67
1
a
com vetor de permuta¸˜o de linhas p = 2 , indicando que nesta etapa n˜o permutamos
ca
3
´
as linhas do sistema. E conveniente armazenar os multiplicadores no lugar onde os zeros da
elimina¸˜o apareceram:
ca
3
1
2
−1
0.333
0.667
−0.666
2.33 .
1.33
−2.33
1.67
0.667
Olhando para a segunda coluna, nota-se que a terceira linha deve servir como pivˆ, pois
o
1.33 ´ maior do que 0.667. Ent˜o faz-se a troca da segunda linha com a terceira, ficando
e
a
3
1
2
−1
0.667
1.33
−2.33
1.67 .
0.333
0.667
−0.666
2.33
Repare que os multiplicadores da primeira etapa tamb´m foram trocados, acompanhando as
e
linhas em que atuaram. Para a terceira linha, usa-se o multiplicador
0.667
= 0.502 ,
1.33
28. ´
CAP´
ITULO 2. O METODO DE ESCALONAMENTO
28
e da´ temos
ı
−1
2
−2.33
1.67 .
0.504
1.49
1
com vetor final de permuta¸˜o de linhas p = 3 . Portanto
ca
2
3
0.667
0.333
1
1.33
0.502
1.49
= 2.96 ,
0.504
1.67 + 2.33 × 2.96
1.67 + 6.90
8.57
x2 =
=
=
= 6.44
1.33
1.33
1.33
x3 =
e
−1 − 6.44 − 2 × 2.96
13.4
=−
= −4.47 .
3
3
Observe que n˜o ´ preciso, quando se for dividir por 3, calcular 1 , arredondar e depois
a e
3
multiplicar pelo numerador. A divis˜o ´ considerada uma opera¸˜o elementar.
a e
ca
Comparando com a solu¸˜o exata, podemos ver que o maior erro absoluto foi de 0.06.
ca
Mais adiante, na Subse¸˜o 2.5.3, veremos como melhorar o c´lculo, usando o refinamento de
ca
a
solu¸˜es.
co
x1 =
Exerc´
ıcio 2.1 Fa¸a as contas intermedi´rias do exemplo acima. Resolva o sistema do
c
a
exemplo acima usando apenas 2 algarismos significativos.
Exerc´
ıcio 2.2 Implemente a resolu¸ao por escalonamento no computador.
c˜
Exerc´
ıcio 2.3 Resolva o sistema linear
7.01
0.031
2.52
0.789
10.1
2.6
com 3 algarismos significativos.
Exerc´
ıcio 2.4 Considere o circuito el´trico da figura abaixo, no qual R1 = 6Ω, R2 = 4Ω,
e
R3 = 4Ω, R4 = 1Ω, U1 = 19V , U2 = 6V e U3 = 2V . Utilizando a Lei de Kirchoff (a
soma das diferen¸as de potenciais em qualquer loop de um circuito ´ igual a zero) e a Lei
c
e
de Ohm (a diferen¸a de potencial, ∆V , resultante em um resistor de resistˆncia R, devido
c
e
a passagem de corrente el´trica I, ´ ∆V = RI), obtenha um sistema linear cujas vari´veis
`
e
e
a
s˜o os valores das correntes I1 , I2 e I3 . Utilize o m´todo de Gauss para resolver o sistema
a
e
obtido considerando aritm´tica de ponto flutuante com dois algarismos significativos.
e
R1
6Ω
I1
19V
U1
1Ω
R2 6V
4Ω
¡
R3
4Ω
R4
I3
2V
U2
I2
U3
29. ´
2.3. O DETERMINANTE NO METODO DE ESCALONAMENTO
Exerc´
ıcio 2.5 Dado o sistema linear Ax = b onde
−4.3
−4.2
1.1
−0.70
A = 0.90 −2.4
0.70 −3.4
−0.10
3.4
b = 2.1
−3.3
29
resolva-o pelo M´todo de Elimina¸ao de Gauss com condensa¸ao pivotal, utilizando aritm´tica
e
c˜
c˜
e
de ponto flutuante e 2 algarismos significativos. N˜o esque¸a de arredondar ap´s cada
a
c
o
opera¸ao aritm´tica.
c˜
e
2.3
O determinante no M´todo de Escalonamento
e
Observemos em primeiro lugar que as propriedades do determinante1 de uma n-upla de
vetores (u1 , . . . , un ) de Rn (normaliza¸˜o, alternˆncia e linearidade) podem ser formuladas
ca
a
diretamente para uma matriz A: 1) det(Id) = 1; 2) a troca de duas colunas faz mudar o
sinal do determinante; e 3) se uma coluna se escreve como combina¸˜o αu + βv, ent˜o o
ca
a
determinante ´ a soma de α vezes o determinante da mesma matriz com a coluna αu + βv
e
trocada por u com β vezes o determinante da mesma matriz com a coluna αu + βv trocada
por v.
Por exemplo, suponha que queiramos calcular
det(u1 , u2 , . . . , uj + βui , . . . , un ) ,
que, em termos matriciais, significa somar um m´ltiplo da i-´sima coluna ` j-´sima coluna.
u
e
a e
Pelas propriedades do determinante,
det(u1 , u2 , . . . , uj + βui , . . . , un ) = det(u1 , u2 , . . . , uj , . . . , un ) ,
logo o determinante n˜o se altera quando somamos a uma coluna um m´ltiplo de uma outra.
a
u
Em seguida, ressaltamos que as mesmas propriedades s˜o v´lidas com linhas ao inv´s de
a a
e
colunas. Isso porque n˜o ´ dif´ mostrar que a transposta de A, denotada por AT , que ´
a e
ıcil
e
a matriz A onde se trocam colunas por linhas, tem o mesmo determinante que A. Logo as
propriedades de det A em rela¸˜o a suas linhas s˜o as mesmas que det AT = det A em rela¸˜o
ca
a
ca
a suas colunas.
Portanto todas as opera¸oes realizadas no M´todo de Escalonamento n˜o alteram o deterc˜
e
a
minante da matriz de coeficientes, exceto as trocas de linhas, feitas por conta da condensa¸˜o
ca
pivotal, pois cada troca de linha muda o sinal do determinante.
Por outro lado, o resultado final do escalonamento ´ uma matriz triangular, cujo detere
minante ´ dado pelo produto dos coeficientes da diagonal. Ent˜o o determinante do sistema
e
a
ser´ zero se e somente se ap´s o escalonamento houver um termo nulo na diagonal, e nesse
a
o
caso o sistema ser´ imposs´ ou indeterminado.
a
ıvel
Isto completa o argumento da Subse¸˜o A.8.3, onde quer´
ca
ıamos provar que se A tem inversa
ent˜o det A = 0. Pois se A tem inversa, segue que o sistema tem unica solu¸˜o e todos os
a
´
ca
termos da diagonal s˜o n˜o-nulos, e por conseguinte o determinante do sistema tamb´m ´
a a
e e
n˜o-nulo.
a
1 Veja
A.8
30. ´
CAP´
ITULO 2. O METODO DE ESCALONAMENTO
30
2.4
A desvantagem da Regra de Cramer
A Regra de Cramer ´ uma f´rmula bastante pr´tica de se resolver Au = b, usando a no¸˜o
e
o
a
ca
de determinante. Suponha que det A = 0. Nesse caso, existe unica solu¸˜o u = (x1 , . . . , xn )
´
ca
para Au = b, mas quais s˜o os valores de x1 , . . . , xn ?
a
Note que se trocarmos a i-´sima coluna pelo vetor b e calcularmos o determinante da
e
matriz resultante teremos
det(. . . , Aei−1 , b, Aei+1 , . . .) = det(. . . , Aei−1 , x1 Ae1 + . . . + xn Aen , Aei+1 , . . .) ,
pois b = Au = x1 Ae1 + . . . + xn Aen , pela linearidade de A. Pela linearidade do determinante,
podemos separ´-lo na soma de n determinantes, onde em cada um deles teremos na i-´sima
a
e
posi¸˜o um dos vetores xj Aej . No entanto, apenas o determinante com xi Aei ser´ n˜o-nulo:
ca
a a
det(. . . , Aei−1 , b, Aei+1 , . . .) = det(. . . , Aei−1 , xi Aei , Aei+1 , . . .) .
Mais uma vez pela linearidade, podemos tirar o escalar xi , que ficar´ multiplicado pelo
a
pr´prio determinante da matriz A:
o
det(. . . , Aei−1 , b, Aei+1 , . . .) = xi det A .
Logo
xi =
det(. . . , Aei−1 , b, Aei+1 , . . .)
,
det A
que ´ a Regra de Cramer.
e
A desvantagem da Regra de Cramer ´ que o n´mero de opera¸˜es necess´rias para se chee
u
co
a
gar ` solu¸˜o ´ em geral muito maior do que no M´todo de Escalonamento. Essa compara¸˜o
a
ca e
e
ca
´ feita assim: calcula-se o n´mero de opera¸˜es aritm´ticas necess´rias em cada m´todo em
e
u
co
e
a
e
fun¸˜o do tamanho n do sistema linear. Ent˜o vˆ-se que num m´todo esse n´mero cresce
ca
a e
e
u
muito mais rapidamente com n do que no outro. Para facilitar a compara¸˜o, ignoraremos as
ca
instru¸˜es de controle de fluxo que seriam necess´rias caso os m´todos fossem implementados
co
a
e
num computador.
Um n´mero de opera¸˜es aritm´ticas muito grande ´ desvantajoso por duas raz˜es: auu
co
e
e
o
menta o tempo de computa¸˜o e aumenta a propaga¸˜o dos erros de arredondamento.
ca
ca
O n´mero de produtos de n termos que aparecem no c´lculo de um determinante ´ n!
u
a
e
(mostre isso), ou seja, s˜o n! opera¸˜es de adi¸˜o. Para obter cada produto s˜o n − 1
a
co
ca
a
multiplica¸˜es, totalizando n!(n−1) opera¸˜es de multiplica¸˜o. Para calcular as n inc´gnitas,
co
co
ca
o
a Regra de Cramer pede n + 1 determinantes, logo s˜o n!(n + 1) adi¸˜es e n!(n − 1)(n + 1)
a
co
multiplica¸˜es, mais as n divis˜es ao final de tudo.
co
o
E quanto ao M´todo de Escalonamento, quantas opera¸˜es aritm´ticas ser˜o necess´rias?
e
co
e
a
a
Em vez de darmos a resposta sugere-se ao leitor fazer por ele mesmo, como indicado no
seguinte exerc´
ıcio.
Exerc´
ıcio 2.6 Mostre que o n´mero de adi¸oes/subtra¸oes, multiplica¸oes e divis˜es necesu
c˜
c˜
c˜
o
s´rias para se completar o M´todo de Escalonamento num sistema linear de n equa¸oes e n
a
e
c˜
inc´gnitas n˜o passa de 2n3 , para cada uma delas.
o
a
31. 2.5. SISTEMAS MAL-CONDICIONADOS E REFINAMENTO DE SOLUCAO
¸˜
31
Se quisermos comparar o n´mero de opera¸˜es totais, vemos que na Regra de Cramer s˜o
u
co
a
necess´rias mais do que n! opera¸˜es.
a
co
Exerc´
ıcio 2.7 Mostre que, quando n ´ grande ent˜o n! ´ muito maior do que 2n3 . De fato,
e
a
e
a raz˜o
a
2n3
n!
vai a zero quando n vai a infinito. Se vocˆ mostrou isso com sucesso, ver´ ent˜o que seu
e
a
a
argumento serve para mostrar que, qualquer que seja a potˆncia p, a raz˜o
e
a
np
n!
sempre vai a zero. Verifique!
Na verdade, devemos tomar um certo cuidado com a maneira pela qual fizemos a compara¸˜o entre os dois m´todos. Se estivermos pensando em tempo de computa¸˜o, precisamos
ca
e
ca
saber quanto a m´quina gasta para fazer cada uma das opera¸˜es. A divis˜o certamente gasta
a
co
a
mais tempo do que as outras opera¸˜es, e o M´todo de Cramer apresenta menos divis˜es (apeco
e
o
nas n) do que o M´todo de Escalonamento (cada multiplicador ´ calculado atrav´s de uma
e
e
e
divis˜o). J´ na contabilidade das outras opera¸˜es o M´todo de Cramer perde do M´todo de
a
a
co
e
e
Escalonamento, por causa do exerc´ acima.
ıcio
Exerc´
ıcio 2.8 Suponha que uma divis˜o nunca demore mais do que T vezes uma mula
tiplica¸ao, onde T ´ uma constante qualquer maior do que zero, e a multiplica¸ao tome o
c˜
e
c˜
mesmo tempo que a adi¸ao e a subtra¸ao. Decida qual dos m´todos ´ mais vantajoso, sob o
c˜
c˜
e
e
ponto de vista de tempo de computa¸ao para complet´-lo.
c˜
a
2.5
2.5.1
Sistemas mal-condicionados e refinamento de solu¸˜o
ca
Sistemas mal-condicionados
Na teoria, se um sistema linear Au = b satisfaz det A = 0, ent˜o existe uma e s´ uma
a
o
solu¸˜o u. Na pr´tica, por´m, quando resolvemos o sistema via computador, erros podem
ca
a
e
se acumular e a solu¸˜o se afastar da solu¸˜o verdadeira. Isso pode ser parcialmente sanado
ca
ca
pela Condensa¸˜o Pivotal, descrita no Cap´
ca
ıtulo 2, e pelo M´todo de Refinamento, do qual
e
daremos uma id´ia abaixo.
e
O principal problema vem do fato de que muitas vezes os coeficientes do sistema e os
termos independentes s˜o retirados de medidas f´
a
ısicas ou de modelos aproximados. Para
alguns sistemas, a solu¸˜o pode depender sensivelmente de seus coeficientes, a ponto de
ca
pequenas incertezas em seus valores provocarem grandes altera¸˜es na solu¸˜o final. Esses
co
ca
sistemas s˜o chamados de mal-condicionados.
a
Para exemplificar, consideremos o sistema 2 × 2
x +
99x +
y
100y
=
=
1
99.5
,
que tem solu¸˜o unica e exata x = 0.5, y = 0.5. Agora considere o sistema
ca ´
x
99.4x
+
+
y
99.9y
=
1
= 99.2
,
32. 32
´
CAP´
ITULO 2. O METODO DE ESCALONAMENTO
com altera¸˜es de n˜o mais do que 0.5% nos coeficientes originais (o que ´ bastante razo´vel
co
a
e
a
para uma medida experimental). Sua solu¸˜o unica e exata ´ x = 1.4, y = −0.4, radicalmente
ca ´
e
diferente da anterior.
Para entender porque isso acontece, experimente o leitor, para cada um dos dois sistemas,
desenhar as retas que correspondem a cada uma das equa¸˜es. Nota-se que o problema ´
co
e
devido ao fato de que as retas correspondentes a cada equa¸˜o s˜o quase paralelas, o que
ca a
faz com que o ponto de intersec¸˜o das duas seja muito sens´ a pequenas mudan¸as nos
ca
ıvel
c
coeficientes.
A id´ia vale em dimens˜es mais altas, se pensarmos em hiperplanos quase paralelos, no
e
o
lugar de retas. Podemos tamb´m pensar nos vetores-coluna de A (ou nos vetores-linha):
e
se Ae1 , Ae2 , . . . , Aen forem “quase” linearmente dependentes, ent˜o o sistema ser´ mala
a
condicionado.
Uma maneira de se “medir” o condicionamento da matriz seria calculando seu determinante (embora muitas vezes s´ possamos conhecˆ-lo depois de escalonar a matriz). O
o
e
determinante ´ o hipervolume (com sinal) do hiperparalelep´
e
ıpedo formado pelos vetorescoluna Ae1 , Ae2 , . . . , Aen . Se esses vetores forem quase linearmente dependentes, ent˜o o
a
hiperparalelep´
ıpedo ser´ “achatado”, e portanto ter´ volume pequeno. O argumento s´ falha
a
a
o
no sentido de que o volume n˜o depende somente do grau de achatamento do hiperparalea
lep´
ıpedo, mas tamb´m do comprimento de cada vetor. Ent˜o uma medida mais confi´vel
e
a
a
seria tomar o hipervolume do hiperparalelep´
ıpedo formado pela normaliza¸˜o desses vetores,
ca
isto ´, pelos vetores
e
Aei
.
vi =
Aei
Esse n´mero estar´ entre 0 e 1, e quando estiver perto de zero significa que a matriz ´
u
a
e
mal-condicionada.
Em resumo, o n´mero de condicionamento pode ser achado assim: (i) substitua cada
u
coluna Aei da matriz pelo vetor vi = Aei , lembrando que a norma (euclideana) u de um
Aei
vetor u = (x1 , . . . , xn ) ´ dada por u = (x2 + . . . + x2 )1/2 ; (ii) calcule o valor absoluto do
e
n
1
determinante da nova matriz; (iii) observe se o n´mero obtido est´ pr´ximo de zero ou de
u
a o
um: se estiver perto de zero ent˜o a matriz A ´ mal-condicionada.
a
e
H´ outras medidas do condicionamento de uma matriz, assim como h´ f´rmulas que
a
a o
relacionam o erro cometido no M´todo de Escalonamento com essas medidas e com o n´mero
e
u
de algarismos significativos utilizados nas contas. Isso tudo no entanto foge ao escopo dessas
notas. Al´m do mais, medidas de condicionamento s˜o dificilmente aplic´veis na pr´tica,
e
a
a
a
pois s˜o t˜o (ou mais) dif´
a a
ıceis de serem obtidas quanto a pr´pria solu¸˜o do sistema linear.
o
ca
2.5.2
Matrizes de Hilbert
Para que o leitor se familiarize melhor com o
que acompanhe o seguinte Exemplo.
Considere o sistema
1
x1 + 2 x2
1
1
x1 + 3 x2
2
1
1
3 x1 +
4 x2
problema do mau condicionamento, sugerimos
+
+
+
1
3 x3
1
4 x3
1
5 x3
=
=
=
1
1
1
.
33. 2.5. SISTEMAS MAL-CONDICIONADOS E REFINAMENTO DE SOLUCAO
¸˜
33
Resolvendo o sistema por escalonamento (sem troca de linhas, pois n˜o s˜o necess´rias
a a
a
para a condensa¸˜o pivotal), e fazendo contas com fra¸˜es exatas, obtemos a solu¸˜o exata
ca
co
ca
(x1 , x2 , x3 ) = (3, −24, 30).
Se, por outro lado, usarmos dois algarismos significativos ( 1 = 0.33, por exemplo) e se3
guirmos exatamente o mesmo procedimento, obteremos (0.9, −11, 17). Com trˆs algarismos
e
significativos, chegaremos em (2.64, −21.8, 27.8), resultado mais pr´ximo mas ainda estrao
nhamente longe da solu¸˜o exata.
ca
Matrizes do tipo
1
1
1
···
1
2
3
n
1
1
1
1
· · · n+1
3
4
2
.
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
1
· · · 2n−1
n
n+1
n+2
s˜o chamadas de matrizes de Hilbert, e aparecem naturalmente no problema do ajuste polia
nomial, como veremos mais adiante (vide Subse¸˜o 5.7.2).
ca
2.5.3
Refinamento
Uma das maneiras de sanar o problema de se encontrar uma solu¸˜o “ruim”, causada pelo
ca
mau condicionamento do sistema, ´ fazer o refinamento, que consiste em obter uma solu¸˜o
e
ca
u de Au = b, mesmo que n˜o correta (por causa dos erros de arredondamento), e depois
ˆ
a
melhor´-la.
a
Para melhorar u, definimos a diferen¸a w = u − u para a solu¸˜o verdadeira u, e tentamos
ˆ
c
ˆ
ca
calcular w. Como u = u + w, ent˜o
ˆ
a
b = Au = A(ˆ + w) ,
u
logo
Aw = b − Aˆ .
u
Ou seja, a diferen¸a w entre u e u ´ a solu¸˜o de um sistema linear, onde os termos indepenc
ˆe
ca
dentes s˜o dados pelo res´
a
ıduo r = b − Aˆ e os coeficientes s˜o os mesmos do sistema linear
u
a
original (o que facilita as coisas do ponto de vista de programa¸˜o).
ca
Para funcionar, o c´lculo de r deveria ser exato, mas sabemos que isso n˜o ´ poss´
a
a e
ıvel, em
geral. Calculamos r usando o dobro de algarismos significativos usados no escalonamento
original.
O m´todo pode ser implementado assim: calcula-se a primeira solu¸˜o aproximada u(0) .
e
ca
Calcula-se ent˜o w(0) = u − u(0) resolvendo-se o sistema
a
Aw(0) = b − Au(0) ,
onde o lado direito ´ computado em precis˜o dupla. Se a solu¸˜o desse sistema n˜o contivesse
e
a
ca
a
erros, ent˜o u = u(0) + w(0) seria a solu¸˜o correta. Como erros s˜o inevit´veis, u(0) + w(0)
a
ca
a
a
pode n˜o ser a solu¸˜o exata, e ser´ chamada de u(1) . Calcula-se ent˜o w(1) = u − u(1) ,
a
ca
a
a
resolvendo-se
Aw(1) = b − Au(1) ,
e em seguida define-se u(2) = u(1) + w(1) . E assim por diante.
34. ´
CAP´
ITULO 2. O METODO DE ESCALONAMENTO
34
Vejamos um exemplo ilustrativo.
resolver
3
1
2
Na Se¸˜o 2.2, usamos 3 algarismos significativos para
ca
−1
1
2
.
2
1
0
2
−1
1
Os passos do escalonamento ali usados s˜o importantes para n˜o se repetir as mesmas contas
a
a
a cada etapa do refinamento.
A solu¸˜o obtida pode ser considerada uma primeira aproxima¸˜o, chamada de u(0) :
ca
ca
−4.47
u(0) = 6.44 .
2.96
Calculamos ent˜o Au(0) , que ´ o teste usual para ver se u(0) ´ realmente solu¸˜o. Usamos 6
a
e
e
ca
algarismos significativos e obtemos
−1.05000
1.97000 ,
Au(0) =
0.980000
e ent˜o tiramos a diferen¸a
a
c
r = b − Au(0) =
0.050000
0.0300000 .
0.0200000
que arredondada de volta para 3 algarismos significativos se torna
0.0500
0.0300 .
r = b − Au(0) =
0.0200
Agora queremos obter w do sistema Aw = b − Au(0) , para chegar ` etapa seguinte, com
a
u(1) = u(0) + w. Ou seja, temos que resolver o sistema
0.05
3
1
2
1
1
0
0.03 .
3
2
−1
0.02
Se procedermos ao escalonamento, seguiremos quase exatamente os mesmos passos feitos na
Se¸˜o 2.2. Ent˜o n˜o precisamos fazer tudo de novo no lado esquerdo, somente no vetor de
ca
a a
termos independentes do lado direito.
As transforma¸˜es do lado direito s˜o
co
a
0.05
0.05
0.05
0.05
(i)
(ii)
(iii)
0.03 −→ 0.02 −→ −0.0134 −→ −0.0134 ,
0.02
0.03
0.0133
0.0200
35. 2.5. SISTEMAS MAL-CONDICIONADOS E REFINAMENTO DE SOLUCAO
¸˜
35
onde em (i) fizemos todas as permuta¸˜es da linhas (ii) subtra´
co
ımos da segunda linha 0.667
vezes a primeira linha e da terceira linha subtra´
ımos 0.333 vezes a primeira linha e em (iii)
subtra´
ımos da terceira linha 0.502 vezes a segunda linha. Ao fazer todas as permuta¸˜es em
co
primeiro lugar, a posi¸˜o dos multiplicadores, que tamb´m haviam sido permutados, ficar˜o
ca
e
a
na posi¸˜o correta. O sistema escalonado fica
ca
0.05
3
1
2
0.667
1.33
−2.33
−0.0134 ,
0.333 0.502
0.504
0.0200
e da´ chegamos a w = (w1 , w2 , w3 ) = (−0.0296, 0.0595, 0.0397). Somando com u(0) obtemos
ı
u(1) = (−4.5, 6.5, 3), com erro absoluto m´ximo de 0.
a
Com a limita¸˜o do n´mero de algarismos significativos, n˜o ´ certeza que o refinamento
ca
u
a e
levar´ ` melhor aproxima¸˜o da solu¸˜o correta.
aa
ca
ca
´
E preciso tamb´m colocar um crit´rio de parada, principalmente no caso de se fazer a
e
e
implementa¸˜o no computador. O crit´rio pode ser feito nas solu¸˜es u(i) ou nos testes Au(i) .
ca
e
co
Por exemplo, se u(i) = (u1 , u2 , . . . , un ) e u(i+1) = (ˆ1 , u2 , . . . , un ), pode-se comparar o quanto
u ˆ
ˆ
as coordenadas variam, relativamente, da etapa i para a etapa i+1, olhando para os n´meros
u
|un − un |
ˆ
|u1 − u1 |
ˆ
, ... ,
, ... ,
|u1 |
|un |
e pedindo que eles sejam menores do que um certo valor (por exemplo, 0.05, significando 5%
de varia¸˜o). O problema ´ quando o denominador ´ igual a zero. Pode-se convencionar que:
ca
e
e
(i) se uj = 0 e uj = 0 ent˜o a varia¸˜o ´ zero; (ii) se uj = 0 e uj = 0, ent˜o a varia¸˜o ´ igual
ˆ
a
ca e
ˆ
a
ca e
a 1 (o que, em geral, far´ com que o processo continue).
a
Exerc´
ıcio 2.9 Melhorar o programa que implementa o M´todo de Escalonamento com cone
densa¸ao pivotal, acrescentando o refinamento, com algum crit´rio de parada. Para fazer o
c˜
e
refinamento, o programa deve utilizar o “hist´rico” do escalonamento, isto ´, os multiplicao
e
dores e as trocas de linha (para que n˜o se repita tudo a cada etapa).
a
Exerc´
ıcio 2.10 Tome o sistema discutido na Subse¸ao 2.5.2 e sua solu¸ao obtida com
c˜
c˜
2 algarismos significativos, chamando-a de u(0) . Obtenha o refinamento u(1) , calculando
b − Au(0) com dupla precis˜o.
a
Exerc´
ıcio 2.11 Considere o sistema
1/2
1/3
1/4
1/3
1/4
1/5
1/4
1/5
1/6
(a) Ache sua solu¸ao exata.
c˜
−1
0 .
1
(b) Resolva-o com dois algarismos significativos.
(c) Agora fa¸a a seguinte experiˆncia: escreva o mesmo sistema, arredondando para dois
c
e
algarismos significativos, mas a partir da´ ache sua solu¸ao usando o m´ximo de algaı
c˜
a
rismos significativos que sua calculadora permite. Compare com a solu¸ao exata. Isto
c˜
mostra que o refinamento tamb´m ´ limitado pelo arredondamento inicial que, num sise e
tema mal-condicionado, pode alterar drasticamente a solu¸˜o.
ca
36. 36
´
CAP´
ITULO 2. O METODO DE ESCALONAMENTO
Exerc´
ıcio 2.12 Dado o sistema linear Ax = b onde
−3.2
−5.0
−4.0
−2.9
−2.7
A = −3.0
−1.5
−0.40
1.1
2.5
b = −4.4
3.5
,
ap´s resolvˆ-lo utilizando o M´todo de Elimina¸ao de Gauss com condensa¸ao pivotal e
o
e
e
c˜
c˜
aritm´tica de ponto flutuante com 2 algarismos significativos, obtivemos
e
4.4
1
−3.2
−5.0
−4.0
˜
2.0
3.0
x(0) = −7.5 .
p= 3
A = 0.47
5.6
2
0.94
0.90 −1.6
Execute uma etapa de refinamento.
37. Cap´
ıtulo 3
M´todos iterativos
e
3.1
O M´todo de Jacobi
e
O M´todo de Jacobi ´ um procedimento iterativo para a resolu¸˜o de sistemas lineares. Tem
e
e
ca
a vantagem de ser mais simples de se implementar no computador do que o M´todo de
e
Escalonamento, e est´ menos sujeito ao ac´mulo de erros de arredondamento. Seu grande
a
u
defeito, no entanto, ´ n˜o funcionar em todos os casos.
e a
Suponha um sistema linear nas inc´gnitas x1 , ..., xn da seguinte forma:
o
a11 x1
a21 x1
.
.
.
+
+
a12 x2
a22 x2
.
.
.
an1 x1
+ an2 x2
+
+
a13 x3
a23 x3
.
.
.
+ ...
+ ...
.
.
.
+
+
a1n xn
a2n xn
.
.
.
+ an3 x3
+ ...
+ ann xn
=
=
b1
b2
.
.
.
= bn
Suponha tamb´m que todos os termos aii sejam diferentes de zero (i = 1, . . . , n). Se n˜o
e
a
for o caso, isso `s vezes pode ser resolvido com uma troca na ordem das equa¸˜es. Ent˜o a
a
co
a
solu¸˜o desse sistema satisfaz
ca
x1
x2
.
.
.
xn
1
[b1 − a12 x2 − a13 x3 − . . . − a1n xn ]
a11
1
[b2 − a21 x1 − a23 x3 − . . . − a2n xn ]
=
a22
.
.
.
1
=
[bn − an1 x1 − an2 x2 − . . . − an,n−1 xn−1 ]
ann
=
Em outras palavras, se (x1 , . . . , xn ) for solu¸˜o do sistema e esses valores forem “colocados”
ca
no lado direito das equa¸˜es, ent˜o resultar˜o no lado esquerdo os mesmos valores x1 , . . . , xn .
co
a
a
(0)
(0)
O M´todo de Jacobi consiste em “chutar” valores x1 , . . . , xn , colocar esses valores no
e
(1)
(1)
lado direito das equa¸˜es, obter da´ x1 , . . . , xn , em seguida colocar esses novos valores nas
co
ı
37
38. ´
CAP´
ITULO 3. METODOS ITERATIVOS
38
(2)
(2)
equa¸˜es e obter x1 , . . . , xn , etc. Ent˜o
co
a
1
(k)
(k)
b1 − a12 x2 − a13 x3 − . . . − a1n x(k)
n
a11
1
(k+1)
(k)
(k)
x2
=
b2 − a21 x1 − a23 x3 − . . . − a2n x(k)
n
a22
.
.
.
.
.
.
1
(k)
(k)
(k)
(k+1)
xn
=
bn − an1 x1 − an2 x2 − . . . − an,n−1 xn−1
ann
(k+1)
x1
=
(k)
Espera-se que para todo i = 1, . . . , n a seq¨ˆncia {xi }k convirja para o valor verdadeiro xi .
ue
Como dissemos, no entanto, nem sempre ocorre essa convergˆncia. Ser´ que ´ poss´
e
a
e
ıvel
saber de antem˜o se o m´todo vai ou n˜o vai funcionar?
a
e
a
Daremos um crit´rio, chamado de ‘Crit´rio das Linhas’ que, se for satisfeito, implica na
e
e
convergˆncia do M´todo. Infelizmente, da´ n˜o poderemos concluir a afirmativa inversa. Isto
e
e
ı a
´, ´ falso dizer “n˜o satisfaz o Crit´rio das Linhas ent˜o n˜o converge”. Pode haver sistemas
e e
a
e
a a
em que o M´todo de Jacobi funcione por´m n˜o satisfa¸a o Crit´rio das Linhas.
e
e
a
c
e
3.2
Crit´rio das Linhas
e
O Crit´rio das Linhas pede que
e
n
j=1
j=i
|aij | < |aii |
para todo i = 1, . . . , n. Em palavras: “o valor absoluto do termo diagonal na linha i ´ maior
e
do que a soma dos valores absolutos de todos os outros termos na mesma linha”, ou seja, a
diagonal da matriz do sistema linear ´ dominante.
e
´
E importante observar que o Crit´rio das Linhas pode deixar de ser satisfeito se houver
e
troca na ordem das equa¸˜es, e vice-versa: uma troca cuidadosa pode fazer com que o sistema
co
passe a satisfazer o Crit´rio.
e
Teorema. Se o sistema linear satisfaz o Crit´rio das Linhas ent˜o o M´todo de Jacobi
e
a
e
converge.
Sugerimos o seguinte exerc´
ıcio, antes de passarmos ` demonstra¸˜o desse Teorema.
a
ca
Exerc´
ıcio 3.1 Mostre que os sistemas lineares gerados por problemas de contorno (Se¸ao 1.8)
c˜
em geral n˜o satisfazem o Crit´rio das Linhas. Mesmo assim, monte um programa de coma
e
putador que resolva o problema, baseado no M´todo de Jacobi. O que acontece?
e
Para provar o Teorema, precisamos mostrar (usando o Crit´rio das Linhas) que as seq¨ˆncias
e
ue
(k)
(k)
(k)
(0)
(0)
(0)
x1 , x2 ,...,xn , formadas a partir dos chutes iniciais x1 , x2 ,...,xn , convergem para os
valores procurados x1 , . . . , xn . Ent˜o precisamos mostrar que
a
(k)
k→∞
(k)
k→∞
k→∞
(k)
|x1 − x1 | −→ 0 , |x2 − x2 | −→ 0 , . . . , |xn − xn | −→ 0 ,
39. ´
3.2. CRITERIO DAS LINHAS
39
ou, introduzindo uma nota¸˜o mais compacta, de forma que
ca
k→∞
(k)
∆(k) = ∆max (x(k) , x) = max{|x1 − x1 |, . . . , |x(k) − xn |} −→ 0 .
n
De fato, iremos mostrar que ∆(k) decai geometricamente, isto ´, existem um λ < 1 e uma
e
constante c > 0 tal que
∆(k) ≤ cλk ,
e isso provar´ nossa afirma¸˜o.
a
ca
J´ para conseguir essa desigualdade, provaremos que para todo k ≥ 1 vale
a
∆(k) ≤ λ∆(k − 1) .
Ent˜o teremos
a
∆(1)
∆(2)
.
.
.
∆(k)
≤ λ∆(0)
≤ λ∆(1) ≤ λ2 ∆(0)
.
.
.
≤ λk ∆(0) ,
ou seja, a constante c pode ser o pr´prio ∆(0), que ´ a maior diferen¸a entre o valor inicial
o
e
c
e a solu¸˜o verdadeira.
ca
Por sua vez, provar que
∆(k) ≤ λ∆(k − 1)
remete a provar que, para todo i = 1, . . . , n, vale
(k)
|xi
(k−1)
− xi | ≤ λ∆(k − 1) = λ max |xi
i=1,...,n
− xi | .
Faremos a demonstra¸˜o completa para i = 1, mas ficar´ claro que o argumento valer´ para
ca
a
a
(k)
todo i = 1, . . . , n, desde que escolhamos λ adequadamente. Precisamos escrever xi − xi ,
lembrando que
(k)
x1 =
1
(k−1)
(k−1)
b1 − a12 x2
− a13 x3
− . . . − a1n x(k−1)
n
a11
e, como os x1 , . . . , xn formam uma solu¸˜o,
ca
x1 =
1
(b1 − a12 x2 − a13 x3 − . . . − a1n xn ) .
a11
Ent˜o
a
(k)
x1 − x1 =
1
(k−1)
(k−1)
a12 (x2 − x2
) + a13 (x3 − x3
) + . . . + a1n (xn − x(k−1) )
n
a11
.
Tomando o valor absoluto (o m´dulo) e lembrando que “o m´dulo da soma ´ menor ou igual
o
o
e
a
` soma dos m´dulos”, temos
o
(k)
|x1 − x1 | ≤
1
(k−1)
(k−1)
|a12 | · |x2 − x2
| + |a13 | · |x3 − x3
| + . . . + |a1n | · |xn − x(k−1) |
n
|a11 |
.
40. ´
CAP´
ITULO 3. METODOS ITERATIVOS
40
Note, no entanto, que por defini¸˜o
ca
(k−1)
|xj − xj
(k−1)
| ≤ max |xi − xi
i=1,...,n
| ≡ ∆(k − 1) ,
portanto
(k)
|x1 − x1 | ≤
|a12 | + |a13 | + . . . + |a1n |
∆(k − 1) .
|a11 |
Agora definimos a constante
λ1 =
|a12 | + |a13 | + . . . + |a1n |
,
|a11 |
que deve ser menor do que 1, pelo Crit´rio das Linhas. Ent˜o
e
a
(k)
|x1 − x1 | ≤ λ1 ∆(k − 1) .
Para as outras linhas todo o procedimento ´ an´logo, e sempre resultar´
e a
a
(k)
|xi
− xi | ≤ λi ∆(k − 1) ,
para todo i = 1, . . . , n, onde
λi =
1
|aii |
n
j=1
j=i
|aij | .
O Crit´rio das Linhas garante que λi < 1, para todo i = 1, . . . , n. Se definirmos agora
e
λ = max λi ,
i=1,...,n
ent˜o
a
(k)
|xi
− xi | ≤ λ∆(k − 1) ,
logo
∆(k) ≤ λ∆(k − 1) ,
como quer´
ıamos demonstrar!
3.3
Crit´rio de parada
e
Da desigualdade ∆(k) ≤ λ∆(k − 1), podemos deduzir uma express˜o que relaciona ∆(k) com
a
(k−1)
(k)
(k−1)
(k)
∆max (x
, x ) = max |xi
− xi | que corresponde ` varia¸˜o m´xima entre x(k−1)
a
ca
a
i=1,...,n
e x(k) .
41. ´
3.4. O METODO DE GAUSS-SEIDEL
41
De fato, de ∆(k) ≤ λ∆(k − 1) segue que
(k)
(k−1)
− xi |
(k−1)
max |xi
i=1,...,n
− xi
− xi | ≤ λ max |xi
i=1,...,n
= λ max |xi
i=1,...,n
(k−1)
≤ λ max
i=1,...,n
|xi
(k−1)
≤ λ max |xi
i=1,...,n
Assim
(k)
(1 − λ) max |xi
i=1,...,n
(k)
max |xi
(k)
− xi |
(k)
− xi | + |xi
(k)
(k)
i=1,...,n
(k−1)
que com nossa nota¸˜o compacta se torna
ca
− xi |
− xi | + λ max |xi
i=1,...,n
− xi | ≤
∆(k) ≤
(k)
+ xi
− xi | ≤ λ max |xi
e finalmente
i=1,...,n
(k)
− xi |
(k)
− xi |
λ
(k−1)
(k)
max |x
− xi |
1 − λ i=1,...,n i
λ
∆max (x(k−1) , x(k) )
1−λ
Um crit´rio de parada para o M´todo de Jacobi consiste em calcular o lado direito da desie
e
gualdade acima e parar quando esta for menor que a precis˜o desejada.
a
Outro crit´rio de parada ´ aquele em que somente calculamos a itera¸˜o seguinte caso a
e
e
ca
varia¸˜o relativa seja maior que uma quantidade p pr´-fixada, isto ´, se
ca
e
e
(k+1)
|xi
(k)
(k)
− xi | ≥ p|xi |
para algum i = 1, . . ., n. Entretanto este segundo crit´rio n˜o garante que a distˆncia entre
e
a
a
x(k) e x seja menor que p. Muitas vezes a velocidade de convergˆncia do m´todo ´ muito
e
e
e
lenta e mesmo longe da solu¸˜o, a varia¸˜o relativa das solu¸˜es aproximadas pode ser muito
ca
ca
co
pequena.
3.4
O M´todo de Gauss-Seidel
e
O M´todo de Jacobi poderia ser aplicado nos problemas de contorno da Se¸˜o 1.8, mas
e
ca
somente pelo Crit´rio das Linhas n˜o seria poss´ afirmar que haveria convergˆncia, pois os
e
a
ıvel
e
v´rtices livres produzem equa¸˜es onde o elemento da diagonal ´ exatamente igual ` soma
e
co
e
a
dos demais termos, o que significa, na nota¸˜o da Se¸˜o anterior, que λi = 1, para alguns
ca
ca
valores de i.
Experimentos num´ricos evidenciam que de fato h´ convergˆncia do M´todo de Jacobi
e
a
e
e
nesses casos, embora ela seja muito lenta, principalmente se o n´mero de v´rtices da grade
u
e
for muito grande. Embora a convergˆncia possa ser demonstrada matematicamente, com
e
crit´rios menos exigentes que o Crit´rio das Linhas, discutiremos nesta Se¸˜o uma varia¸˜o
e
e
ca
ca
do M´todo de Jacobi, chamada de M´todo de Gauss-Seidel. Sua efic´cia ficar´ demonstrada
e
e
a
a
a partir de uma hip´tese mais fraca que o Crit´rio das Linhas, chamada de Crit´rio de
o
e
e
42. ´
CAP´
ITULO 3. METODOS ITERATIVOS
42
Sassenfeld. N˜o ser´ dif´ mostrar que os problemas de contorno citados satisfazem esse
a
a
ıcil
crit´rio, desde que se tenha um m´
e
ınimo de cuidado na numera¸˜o dos v´rtices livres.
ca
e
(k+1)
(k+1)
(k)
No M´todo de Jacobi, calcula-se o vetor (x1
e
, . . . , xn
) a partir do vetor (x1 , . . .,
(k)
xn ) da seguinte forma:
(k+1)
(k)
a12
a13
0
· · · a1n
x1
x1
b1 /a11
a11
a11
a11
(k+1)
a23
a
0
· · · a2n x(k)
2
b2 /a22 a21
x2
a22
a22
22
=
− .
.
.
.
.
. . ,
.
.
.
.
.
. .
.
.
.
.
.
.
.
.
.
.
an1
an2
an3
(k)
(k+1)
bn /ann
···
0
xn
xn
ann
ann
ann
ou, de forma sucinta,
u(k+1) = w − Bu(k) .
(k+1)
(k+1)
Em cada etapa, as coordenadas x1
, . . ., xn
de u(k+1) s˜o obtidas todas de uma vez
a
(k)
(k)
(k)
s´, a partir das coordenadas x1 , . . ., xn de u .
o
J´ no M´todo de Gauss-Seidel as coordenadas atualizadas s˜o imediatamente usadas na
a
e
a
atualiza¸˜o das demais. Explicitamente, temos
ca
(k+1)
x1
(k+1)
x2
(k+1)
x3
.
.
.
x(k+1)
n
1
a11
1
=
a22
1
=
a33
.
.
.
1
=
ann
=
(k)
(k)
b1 − a12 x2 − a13 x3 − · · · − a1n x(k)
n
(k+1)
(k)
− a23 x3 − · · · − a2n xn
(k+1)
− a32 x3
b2 − a21 x1
b3 − a31 x1
(k)
(k+1)
bn − an1 x1
(k+1)
− · · · − a3n x(k)
n
(k+1)
− an2 x2
(k+1)
− · · · − an,n−1 xn−1
Para introduzir o Crit´rio de Sassenfeld e discutir a convergˆncia, ´ melhor ilustrarmos
e
e
e
com um sistema com 4 equa¸˜es. Depois enunciaremos o Crit´rio para sistemas com um
co
e
n´mero qualquer de equa¸˜es, e ficar´ claro que os argumentos se generalizam. Com isso,
u
co
a
evitaremos o excesso de elipses (os trˆs pontinhos), e o crit´rio emergir´ de modo natural.
e
e
a
Assim como na Se¸˜o anterior, queremos avaliar a diferen¸a entre a aproxima¸˜o obtida
ca
c
ca
na etapa k e a solu¸˜o original, e mostrar que essa diferen¸a se reduz a cada etapa. Para
ca
c
medir essa diferen¸a, tomamos
c
(k)
∆(k) = max |xi
i=1,...,n
− xi | ,
onde x1 , . . . , xn representa a solu¸˜o verdadeira. Mais uma vez, nosso objetivo ´ mostrar que
ca
e
existe λ < 1 tal que
∆(k + 1) ≤ λ∆(k) ,
e para isso precisaremos mostrar que
(k+1)
|xi
− xi | ≤ λ∆(k)
43. ´
3.4. O METODO DE GAUSS-SEIDEL
43
para todo i = 1, . . . , n.
Num sistema de 4 equa¸˜es e 4 inc´gnitas temos
co
o
(k+1)
− x1
(k+1)
− x2
=
(k+1)
− x3
=
(k+1)
− x4
1
a11
1
a22
1
a33
1
a44
=
=
x1
x2
x3
x4
(k)
(k)
(k)
a12 (x2 − x2 ) + a13 (x3 − x3 ) + a14 (x4 − x4 )
(k+1)
) + a23 (x3 − x3 ) + a24 (x4 − x4 )
(k+1)
) + a32 (x2 − x2
(k+1)
) + a42 (x2 − x2
a21 (x1 − x1
a31 (x1 − x1
a41 (x1 − x1
(k)
(k)
(k+1)
) + a34 (x4 − x4 )
(k)
(k+1)
) + a43 (x3 − x3
(k+1)
Da primeira equa¸˜o, sai
ca
(k+1)
|x1
− x1 | ≤
|a13 |
|a14 |
|a12 |
(k)
(k)
(k)
· |x2 − x2 | +
· |x3 − x3 | +
· |x4 − x4 | ,
|a11 |
|a11 |
|a11 |
(k)
Como |xi − xi | ≤ ∆(k), para todo i = 1, 2, 3, 4, ent˜o
a
(k+1)
|x1
− x1 | ≤
Definimos
β1 =
para ficar com
|a12 | + |a13 | + |a14 |
∆(k) .
|a11 |
|a12 | + |a13 | + |a14 |
,
|a11 |
(k+1)
|x1
− x1 | ≤ β1 ∆(k) .
Agora levamos em conta essa ultima inequa¸˜o para mostrar que
´
ca
(k+1)
|x2
− x2 | ≤
β1 |a21 | + |a23 | + |a24 |
∆(k) ≡ β2 ∆(k) .
|a22 |
Continuando, obtemos
(k+1)
|x3
− x3 | ≤
e
(k+1)
|x4
− x4 | ≤
Em conclus˜o, mostramos que
a
β1 |a31 | + β2 |a32 | + |a34 |
∆(k) ≡ β3 ∆(k)
|a33 |
β1 |a41 | + β2 |a42 | + β3 |a43 |
∆(k) ≡ β4 ∆(k) .
|a44 |
(k+1)
|xi
− xi | ≤ βi ∆(k) ,
logo
∆(k + 1) ≤ ( max βi )∆(k) .
i=1,2,3,4
)
44. ´
CAP´
ITULO 3. METODOS ITERATIVOS
44
Se cada um dos n´meros β1 , β2 , β3 e β4 for menor do que 1, ent˜o teremos ∆(k +1) ≤ λ∆(k),
u
a
com λ < 1.
Para um sistema linear de n equa¸˜es e n inc´gnitas, o Crit´rio de Sassenfeld pode ser
co
o
e
enunciado de forma indutiva, da seguinte maneira. Primeiro,
β1 =
|a12 | + |a13 | + . . . + |a1n |
,
|a11 |
como no Crit´rio das Linhas. Os demais coeficientes s˜o definidos indutivamente. Suponha
e
a
que j´ tenham sido definidos β1 , β2 , . . ., βi−1 , para i ≥ 2. Ent˜o βi se define como
a
a
βi =
β1 |ai1 | + . . . + βi−1 |ai,i−1 | + |ai,i+1 | + . . . + |ain |
,
|aii |
isto ´, no numerador os βi ’s aparecem multiplicando os coeficientes da linha i ` esquerda
e
a
da diagonal, enquanto que os coeficientes ` direita da diagonal s˜o multiplicados por 1. O
a
a
coeficiente da diagonal aparece no denominador (como no Crit´rio das Linhas) e n˜o aparece
e
a
no numerador.
Analogamente ao M´todo de Jacobi, o M´todo de Gauss-Seidel tamb´m tem a desiguale
e
e
dade
λ
∆(k) ≤
∆max (x(k−1) , x(k) )
1−λ
desde que λ = max βi seja estritamente menor que 1.
i=1,...,n
Exerc´
ıcio 3.2 Tente mostrar o Crit´rio de Sassenfeld n × n.
e
Exerc´
ıcio 3.3 Mostre que os problemas de contorno da Se¸ao 1.8 satisfazem o Crit´rio de
c˜
e
Sassenfeld
Exerc´
ıcio 3.4 Obtenha a solu¸ao com 3 algarismos significativos do sistema linear
c˜
4x1
−x1
2x1
+ 2x2
+ 2x2
+ x2
+
x3
+ 4x3
= 11
= 3
= 16
usando o M´todo de Jacobi e o M´todo de Gauss-Seidel. Compare a velocidade de cone
e
vergˆncia nos dois m´todos.
e
e
1
3
2
x
y
3
5
w
z
0
7
1
Exerc´
ıcio 3.5 Considere a tabela acima. Use o M´todo de Gauss-Seidel para achar x, y, z, w
e
tais que cada casinha que contenha uma inc´gnita seja a m´dia das quatro adjacentes (cono
e
siderando apenas verticais e horizontais). Fa¸a 4 itera¸oes, partindo de (x0 , y0 , z0 , w0 ) =
c
c˜
45. ´
3.4. O METODO DE GAUSS-SEIDEL
45
(0, 0, 0, 0), e arredondando para 2 algarismos significativos ap´s cada etapa. (Veja a Se¸ao 1.8
o
c˜
na p´gina 18.)
a
Exerc´
ıcio 3.6 Considere o sistema linear Ax = b, onde
4
−1
4 −3
8 e b = −3
A = −5 −3
3
−6
2
3
(a) A matriz A satisfaz o Crit´rio das Linhas para alguma permuta¸ao de linhas?
e
c˜
(b) A matriz A tem alguma permuta¸ao das linhas a qual satisfaz o Crit´rio de Sassenfeld?
c˜
e
Qual? Justifique.
(c) Escreva as equa¸oes de recorrˆncia do m´todo de Gauss-Seidel e calcule uma itera¸ao a
c˜
e
e
c˜
partir de x(0) = (1, 0, 0).
(d) Sabendo-se que a solu¸ao exata est´ em [−3, 4] × [−1, 5] × [−2, 2], quantas itera¸oes s˜o
c˜
a
c˜
a
necess´rias para que o erro seja menor que 10−2 ?
a
Exerc´
ıcio 3.7 Considere os sistemas lineares
1z = 2
4x + 1y +
2x − 5y +
1z = 3
(1)
e
1x + 1y + 1.5z = 4
(2)
5x + 2y
2x − 5y
1x + 1y
+ 2.5z
+
1z
+ 1.5z
= 6
= 3
= 4
Observe que o sistema (2) foi obtido do sistema (1) substituindo-se a primeira equa¸ao de
c˜
(1) pela soma desta com a ultima equa¸ao de (1). Portanto eles s˜o equivalentes.
´
c˜
a
Queremos encontrar a solu¸ao do sistema (1) (ou (2)) usando o M´todo de Gauss-Seidel,
c˜
e
partindo de um certo chute inicial fixado (x0 , y0 , z0 ), de forma a obter a melhor precis˜o
a
poss´ na vig´sima itera¸ao.
ıvel
e
c˜
A qual dos dois sistemas devemos aplicar o M´todo de Gauss-Seidel segundo esse objetivo?
e
Justifique.
49. Cap´
ıtulo 4
Ajuste de fun¸˜es
co
4.1
O problema do ajuste
y
Em medidas experimentais, freq¨entemente nos deparamos
u
com uma tabela de dados (xi , yi ), i = 1, . . . , N , que representamos visualmente por meio de um gr´fico. Em gea
ral, esperamos que haja uma rela¸˜o entre a vari´vel y e a
ca
a
vari´vel x, que seria expressa por uma fun¸˜o: y = f (x).
a
ca
yi
xi
x
Muitas vezes n˜o dispomos de um modelo que explique a dependˆncia de y em rela¸˜o a x,
a
e
ca
de forma que n˜o podemos deduzir essa fun¸˜o apenas de teoria. De fato, o experimento pode
a
ca
se dar justamente como uma forma de investigar essa rela¸˜o, para criar um embasamento
ca
da teoria sobre dados reais.
Mesmo que o experimento n˜o culmine num modelo te´rico, ´ sempre desej´vel ter um
a
o
e
a
modelo preditor, quer dizer, ´ interessante saber prever, pelo menos de forma aproximada,
e
em que resultar´ a medida de y se soubermos x. Por exemplo, suponha que queiramos usar
a
um el´stico como dinamˆmetro. Para isso, fixamos uma das extremidades do el´stico e na
a
o
a
outra extremidade penduramos o objeto do qual desejamos conhecer o peso. Quanto mais
pesado for o objeto, mais o el´stico se distender´, isso ´ ´bvio, mas n´s gostar´
a
a
eo
o
ıamos de obter,
a partir da distens˜o do el´stico, um valor num´rico para seu peso. Neste exemplo, x ´ a
a
a
e
e
distens˜o do el´stico e y o peso do objeto (ou poderia ser o contr´rio, se desej´ssemos prever
a
a
a
a
a distens˜o que o el´stico teria para um determinado peso).
a
a
Para ter uma f´rmula a ser usada no dinamˆmetro precisamos conhecer muito bem como
o
o
se comporta nosso el´stico. Para isso, fazemos v´rias medidas do montante da distens˜o em
a
a
a
fun¸˜o do peso do objeto, o que nos dar´ uma cole¸˜o de dados (xi , yi ), i = 1, . . . , N . O
ca
a
ca
que n´s queremos agora ´ encontrar uma fun¸˜o y = f (x) que se aproxime o melhor poss´
o
e
ca
ıvel
49
50. CAP´
ITULO 4. AJUSTE DE FUNCOES
¸˜
50
´
desses dados. Mas como? E desej´vel tamb´m que a f´rmula de f n˜o seja muito complicada,
a
e
o
a
pois isso facilitaria mais tarde sua utiliza¸˜o como preditor.
ca
´
E claro que o problema, colocado dessa forma, parece muito complicado. No entanto,
podemos restringir bastante o universo das fun¸˜es candidatas, e dentro desse conjunto menor
co
de fun¸˜es procurar aquela que melhor se adapte a nossos pontos.
co
Al´m disso, ´ preciso estabelecer um crit´rio comparativo do que seja a qualidade de uma
e
e
e
aproxima¸˜o. Isto ´, como decidir se uma fun¸˜o se adequa mais aos dados do que outra?
ca
e
ca
4.2
Os m´
ınimos quadrados
Precisamos de uma medida num´rica para avaliar a qualidade de uma aproxima¸˜o. Isto
e
ca
´, temos uma cole¸˜o de dados (xi , yi ), i = 1, . . . , N , e queremos avaliar o quanto uma
e
ca
determinada fun¸˜o f difere desses dados, associando a f um n´mero Q(f ). Esse n´mero
ca
u
u
deve ser sempre n˜o-negativo, e deve ser usado de forma comparativa: se Q(f1 ) for menor
a
do que Q(f2 ) ent˜o f1 ´ uma aproxima¸˜o aos dados melhor do que f2 .
a
e
ca
Evidentemente h´ um certo grau de arbitrariedade no m´todo que escolhemos para dea
e
terminar Q. Aqui adotaremos o mais comum deles, que pode ser justificado por raz˜es
o
estat´
ısticas fora do alcance destas notas, e ´ conhecido como qui-quadrado (sem pesos, na
e
Se¸˜o 6.4 abordamos o qui-quadrado com pesos):
ca
a distˆncia de f (x) aos dados experimentais ´ definida como
a
e
sendo
y
f
N
Q(f ) =
i=1
(f (xi ) − yi )2 .
Em palavras, temos que avaliar, para cada xi , a diferen¸a
c
entre o dado yi e o valor de f em xi , elevar essa diferen¸a ao
c
quadrado e depois somar os resultados obtidos para cada
xi .
f(xi )
yi
xi
x
Exerc´
ıcio 4.1 Dados os pontos (−2.8, −1.6), (1.6, −0.6), (3.0, 2.4), (4.5, 4.0), (6.0, 5.7) e as
fun¸oes afins f1 (x) = −0.8 + 0.86x e f2 (x) = −1.0 + 1.32x, qual das duas fun¸oes se ajusta
c˜
c˜
melhor aos dados, usando o crit´rio do qui-quadrado? Desenhe as retas e os pontos em papel
e
milimetrado antes de fazer as contas, e procure adivinhar o resultado por antecipa¸ao.
c˜
4.3
Parˆmetros
a
Precisamos resolver tamb´m a quest˜o do conjunto de fun¸˜es aonde vamos procurar aquela
e
a
co
que minimiza o qui-quadrado. Veja que o problema em alguns casos perde o sentido se n˜o
a
fizermos isso. De fato, para qualquer conjunto de dados (xi , yi ), i = 1, . . . , N , onde os xi ’s
nunca se repitam, sempre podemos achar um polinˆmio de grau N − 1 tal que p(xi ) = yi ,
o
para todo i = 1, . . . , N , como vimos nas Se¸˜es 1.5 e A.7. Com isso, Q(p) ´ zero e n˜o h´
co
e
a a
como encontrar uma fun¸˜o melhor do que essa.
ca
O bom senso, no entanto, levar´ a concluir que isso n˜o vale a pena. Duas raz˜es concretas
a
a
o
podem ser dadas imediatamente: se a quantidade de dados for muito grande, ser´ necess´rio
a
a
51. ˆ
4.3. PARAMETROS
51
achar um polinˆmio de grau bastante grande para interpolar esses dados. Haver´ a dificuldade
o
a
de se achar o polinˆmio e depois a dificuldade de se utiliz´-lo.
o
a
Menos objetiva do que essa raz˜o ´ o fato bastante comum em experiˆncias de que sabemos
a e
e
muitas vezes de antem˜o que tipo de fun¸˜o estamos procurando. Para ilustrar, vejamos
a
ca
alguns exemplos.
4.3.1
Densidade
Suponha que queiramos determinar a densidade de um certo material. O procedimento ´
e
claro, se dispusermos dos instrumentos adequados. Basta medir o volume de uma certa
quantidade de material, sua massa e proceder ` raz˜o massa por volume.
a
a
Se estivermos um pouco mais preocupados com a precis˜o do resultado, faremos mais
a
medidas e, evidentemente, tiraremos a m´dia dos resultados. Se, no entanto, essas medidas
e
forem tomadas com volumes diferentes, conv´m fazer um gr´fico Massa (m) vs. Volume (V).
e
a
Veremos que podemos tamb´m tirar um valor para a densidade a partir desse gr´fico.
e
a
Chamando de ρ0 a densidade do material, temos que m = f (V ) = ρ0 V , o que em
portuguˆs pode ser assim entendido: “a massa do material depende apenas de seu volume,
e
e essa dependˆncia ´ explicitamente dada por ρ0 V , onde ρ0 ´ uma constante fixa chamada
e
e
e
densidade”. Se admitirmos que isso ´ verdade podemos tentar, a partir do gr´fico, achar o
e
a
valor de ρ0 .
Para achar o valor de ρ0 que melhor se adapta aos dados experimentais recorremos ao
qui-quadrado. Olhamos (num sentido abstrato) para todas as poss´
ıveis fun¸˜es fρ (V ) = ρV ,
co
cujos gr´ficos s˜o retas de inclina¸˜o ρ, passando pela origem. Observe que cada fun¸˜o
a
a
ca
ca
fρ ´ uma fun¸˜o de uma vari´vel (V ), mas que depende do n´mero ρ, que ´ chamado de
e
ca
a
u
e
parˆmetro.
a
Para cada fun¸˜o fρ podemos medir o qui-quadrado Q(fρ ), e depois procurar o parˆmetro
ca
a
ρ para o qual Q(fρ ) ´ m´
e ınimo. Como ρ varia ao longo da reta real, a fun¸˜o ρ → Q(fρ ) ´
ca
e
uma fun¸˜o de uma vari´vel, que denotaremos simplesmente por Q(ρ). Note agora que ρ,
ca
a
que era parˆmetro para fρ (V ), agora ´ a pr´pria vari´vel de Q(ρ) = Q(fρ )!
a
e
o
a
Q(ρ)
Podemos visualizar Q(ρ) atrav´s de um gr´fico. Se houe
a
ver um m´
ınimo, ele pode ser encontrado com exatid˜o
a
procurando-se ρ0 tal que
Q′ (ρ0 ) = 0 .
(Por´m aten¸˜o: Q′ (ρ) = 0 n˜o implica necessariamente
e
ca
a
que ρ seja m´
ınimo, poderia se tratar de um m´ximo, ou um
a
ponto de inflex˜o com derivada zero. Somento o inverso ´
a
e
v´lido: se ρ for m´
a
ınimo, ent˜o Q′ (ρ) = 0.)
a
ρ0
ρ