10.2 M´etodo de Newton em dimens˜ oes mais altas
10.2.1 Determina¸c˜ao da forma de uma corda
Uma aplica¸c˜ao interessante do M´etodo de Newton em dimens˜ao 3 ocorre na determina¸c˜ao do formato de uma corda a partir das coordenadas de dois pontos (podem ser os pontos de sustenta¸c˜ao, por exemplo) e do comprimento da corda entre os dois pontos. A implementa¸c˜ao desta id´eia deve ser feita com o aux´ılio do computador, pela quantidade de c´alculos a serem feitos, mas mesmo assim deve-se prestar bastante aten¸c˜ao para o chute da condi¸c˜ao inicial, que pode freq¨uentemente levar o m´etodo a divergir.
Como vimos na Subse¸c˜ao 4.3.2, uma corda ou corrente pendurada assume o formato do gr´afico da fun¸c˜ao
1
ccosh(cx) , conhecida como caten´aria.
No entanto, assume-se a´ı que a origem das coordenadas esteja uma unidade abaixo do ponto mais baixo da corda. De modo geral, se quisermos deslocar a corda na vertical, precisamos acrescentar um parˆametro h, que ser´a somado `a express˜ao acima, e se quisermos deslocar a corda horizontalmente em a unidades ent˜ao devemos trocar x por x − a, de modo que
f (x) = 1
c cosh(c(x − a)) + h ´e a maneira mais geral de se representar o formato da corda.
Se nosso modelo pretende ser consistente, deveria prever exatamente a forma da corda, desde que informemos dois pontos de sustenta¸c˜ao e o comprimento total da corda entre os dois pontos. Ou seja, com essas trˆes informa¸c˜oes deveria ser poss´ıvel determinar c, a e h, e portanto f .
Sejam (x0, y0) e (x1, y1) os pontos de sustenta¸c˜ao. Ent˜ao
y0= 1 ccosh(c(x0− a)) + h e y1= 1 ccosh(c(x1− a)) + h .
O comprimento da corda entre os pontos de sustenta¸c˜ao ser´a chamado de l. Portanto l =
Z x1
x0
p1 + f′(x)2dx
(ver Se¸c˜ao 13.3 adiante, para uma justificativa desta f´ormula). Como f′(x) = sinh(c(x − a)) , e 1 + sinh2t = cosh2t , logo l = Z x1 x0
cosh(c(x − a))dx = 1c{sinh(c(x1− a)) − sinh(c(x0− a))} .
Com isso, obtivemos um sistema n˜ao-linear de trˆes equa¸c˜oes e trˆes inc´ognitas:
c(y0− h) − cosh(c(x0− a)) = 0
c(y1− h) − cosh(c(x1− a)) = 0
lc + sinh(c(x0− a)) − sinh(c(x1− a)) = 0
Interpola¸c˜ao Polinomial
Estimativa do erro nas
interpola¸c˜oes
Voltemos `a quest˜ao (abordada nas Se¸c˜oes 1.5 e A.7) da interpola¸c˜ao de um polinˆomio de grau k a k + 1 pontos dados (t0, z0), (t1, z1), . . ., (tk, zk), que ser´a importante na Parte seguinte
do livro, onde falaremos de integra¸c˜ao de fun¸c˜oes.
Nesta Parte do livro, usaremos t como vari´avel (no lugar de x), valores z (no lugar de y) e pontos indexados de 0 a k (no lugar de n). Tudo isso justamente para n˜ao fazermos confus˜ao na Parte V, quando usaremos alguns conceitos aqui expostos.
Imagine que utilizemos a interpola¸c˜ao polinomial como uma maneira de “aproximar” uma fun¸c˜ao. Mais precisamente, seja f : [tL, tR] → R uma fun¸c˜ao (cuja regularidade s´o
especificaremos adiante) e uma parti¸c˜ao de seu dom´ınio
tL= t0< t1< t2< . . . < tk−1< tk= tR,
n˜ao necessariamente a intervalos regulares. Assumiremos sempre que tL< tR e que k ≥ 1.
Aos k + 1 pontos (t0, f (t0)), (t1, f (t1)), . . ., (tk, f (tk)) podemos interpolar um polinˆomio
p(t) de grau k, que ´e ´unico. A pergunta ´e: quanto se perde ao se trocar f (t) pelo polinˆomio interpolador p(t)? Ou seja, qu˜ao grande ´e a diferen¸ca f (t) − p(t), para cada ponto t do intervalo [tL, tR]?
Vejamos primeiro como deve ser a fun¸c˜ao diferen¸ca F (t) ≡ f(t) − p(t). Para k = 1 a parti¸c˜ao tem que ser tL = t0 < t1 = tR, e o polinˆomio interpolador ´e a fun¸c˜ao afim cujo
gr´afico passa por (t0, f (t0)) e (t1, f (t1)). Como p(t0) = f (t0) e p(t1) = f (t1), ent˜ao F se anula
em t0 e t1. Veja na figura abaixo, esquematicamente, como devem ser f e p (`a esquerda) e
F (`a direita).
t1
t0
t0
t1
F
f
p
Pelas mesmas raz˜oes, para valores quaisquer de k, a fun¸c˜ao F se anula em todos os pontos t0, t1, . . ., tk da parti¸c˜ao. Ela pode at´e se anular em outros pontos, mas n˜ao ´e necess´ario que
isto ocorra. Veja na figura abaixo uma situa¸c˜ao com k = 2, onde p tem que ser um polinˆomio quadr´atico. 00 00 11 11 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
t0
t1
t2
t0
t1
t2
F
f
p
Se p e f n˜ao diferem nos pontos da parti¸c˜ao, quanto ser´a a diferen¸ca para os demais valores de t?
Para responder, tentaremos definir uma fun¸c˜ao (n˜ao-negativa) S(t) tal que −S(t) ≤ F (t) ≤ S(t)
(ou |F (t)| ≤ S(t)) para todo t ∈ [tL, tR], sabendo de antem˜ao que S(t) pode se anular em
t0, t1, . . . , tk.
0 0 1 1 0 0 1 1 00 00 11 11 0 0 1 1 0 0 1 1
−S
t0
t1
t2
t
3
t4
F
S
´E claro que S deveria ser do tipo mais simples poss´ıvel. Uma tentativa ´e olhar para um polinˆomio n˜ao-nulo q(t) de grau k +1 que se anule nos pontos t0, . . . , tke tomar S(t) = c|q(t)|,
onde c ´e uma constante positiva. O polinˆomio
q(t) = (t − t0)(t − t1) . . . (t − tk) ,
por exemplo, satisfaz a condi¸c˜ao pedida.
O que faremos agora ´e mostrar que uma tal estimativa ´e poss´ıvel, e al´em do mais apre- sentar um valor de c, que possa ser calculado a partir de algum conhecimento sobre a fun¸c˜ao f .
De fato, mostraremos um resultado mais forte, que implicar´a automaticamente o que queremos. Provaremos que, para cada t ∈ [tL, tR] existe um outro ponto s = st (stindica a
dependˆencia de s em rela¸c˜ao a t) tal que F (t) = F
(k+1)(s)
(k + 1)! q(t) , onde F(k+1)(s) indica a derivada (k + 1)-´esima de F em s.
Como conseq¨uˆencia dessa afirma¸c˜ao, teremos que |F (t)| ≤ max s∈[tL,tR] F(k+1)(s) (k + 1)! |q(t)| .
Al´em disso, n˜ao devemos esquecer que F (t) = f (t) − p(t), onde p(t) ´e polinˆomio de grau k. Como a derivada (k + 1)-´esima de um polinˆomio de grau k ´e zero, ent˜ao
F(k+1)= f(k+1), logo |F (t)| ≤ max s∈[tL,tR] f(k+1)(s) (k + 1)! |q(t)| , e podemos tomar c = max s∈[tL,tR] f(k+1)(s) (k + 1)! .
´
E claro que esta resposta s´o ´e poss´ıvel se f for uma fun¸c˜ao pelo menos (k + 1) vezes dife- renci´avel. ´E o que ocorre com a maioria das fun¸c˜oes com que nos deparamos na pr´atica, mas pode haver exce¸c˜oes.
Finalmente s´o nos falta provar a afirma¸c˜ao, que diz que para cada t em [tL, tR] existe um
s neste mesmo intervalo tal que
(k + 1)!F (t) = F(k+1)(s)q(t) .
A afirma¸c˜ao ´e trivialmente v´alida se t for um dos pontos t0, t1, . . . , tk, pois F e q se anulam
nesses pontos, e os dois lados da equa¸c˜ao ficam iguais a zero. Resta-nos assim provar a afirma¸c˜ao quando t n˜ao ´e nenhum desses pontos.
Em primeiro lugar, fazemos a constata¸c˜ao esperta de que (k+1)! ´e a (k+1)-´esima derivada de q, pois o polinˆomio q tem grau (k +1) e o coeficiente de tk+1´e igual a 1. Ent˜ao nos bastar´a
demonstrar que existe s = sttal que
q(k+1)(s)F (t) − F(k+1)(s)q(t) = 0 . Para isso definimos a fun¸c˜ao
G(s) = q(s)F (t) − F (s)q(t) ,
lembrando que t est´a fixo, neste racioc´ınio. Desta maneira, queremos apenas mostrar que existe s onde G(k+1) se anula.
Acontece que G ´e uma fun¸c˜ao que se anula em todos os pontos t0, t1, . . . , tk, pois tanto q
como F se anulam nesses pontos, mas G tamb´em se anula em s = t, pois G(t) = q(t)F (t) − F (t)q(t) = 0 .
Como estamos interessados no caso em que t n˜ao ´e nenhum dos pontos t0, t1, . . . , tk, ent˜ao G
se anula em pelo menos k + 2 pontos distintos. Pelo Teorema do Valor M´edio, entre cada par consecutivo de pontos onde G se anula h´a um ponto onde a derivada de G se anula. Portanto G′ se anula, obrigatoriamente, em pelo menos k + 1 pontos. Pelo mesmo racioc´ınio, G′′ se
anula em pelo menos k pontos. Continuando indutivamente, temos que G(k) se anula em 2
pontos e, finalmente, que G(k+1) se anula em 1 ponto, como quer´ıamos demonstrar.
Tendo em vista que os resultados deste Cap´ıtulo ser˜ao usados no Cap´ıtulo 16, resumimos a estimativa obtida (com a nota¸c˜ao j´a exposta):
|f(t) − p(t)| ≤ c|q(t)| , onde c = max s∈[tL,tR] f(k+1)(s) (k + 1)! e q(t) = (t − t0)(t − t1) . . . (t − tk) .
T´ecnicas de interpola¸c˜ao
Neste Cap´ıtulo apresentaremos duas t´ecnicas de interpola¸c˜ao que servem como alternativas ao m´etodo j´a descrito na Se¸c˜ao 1.5 de redu¸c˜ao a um sistema linear.
12.1
Polinˆomios de Lagrange
Considere o polinˆomio
(t − t1)(t − t2) · · · (t − tk) ,
que tem grau k e se anula em t1, . . . , tk. Al´em disso, em t0ele vale (t0−t1)(t0−t2) · · · (t0−tk),
e portanto o polinˆomio
L0(t) = (t − t1)(t − t2) · · · (t − tk
) (t0− t1)(t0− t2) · · · (t0− tk)
vale 1 em t0e zero nos demais pontos t1, . . . , tk. Analogamente, podemos definir, para cada
ti, um polinˆomio Li(t) de grau k que vale 1 em ti e zero nos demais pontos.
Agora observe que a soma de polinˆomios de grau k ´e um polinˆomio de grau k, logo c0L0(t) + c1L1(t) + . . . + ckLk(t)
´e um polinˆomio de grau k, que vale c0 em t0, c1 em t1, ..., ck em tk. Portanto, se quisermos
achar um polinˆomio de grau k que valha z0, . . . , zk nos pontos t0, . . . , tk basta tomar os ci’s
iguais aos zi’s:
p(t) = z0L0(t) + z1L1(t) + . . . + zkLk(t) .
Essa ´e uma maneira de achar o polinˆomio interpolador sem resolver nenhum sistema linear! Os polinˆomios Li s˜ao conhecidos como polinˆomios de Lagrange.