Sunteți pe pagina 1din 137

M ATEMTICA N UMRICA I

T EXTOS DE A POIO

J OS A. F ERREIRA E G ONALO P ENA

D EPARTAMENTO DE M ATEMTICA
U NIVERSIDADE DE C OIMBRA
2015/2016

C ONTEDO

Erros. Propagao de Erros.


1.1 Erros . . . . . . . . . . . . . . . . . . . . .
1.2 Propagao de erros . . . . . . . . . . . . .
1.3 Propagao de erros em sistemas lineares .
1.3.1 Alguns resultados matriciais . . . .
1.3.2 Nmero de condio de uma matriz
1.4 Alguns problemas . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Mtodos Numricos para Sistemas de Equaes Lineares


2.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Mtodos Directos . . . . . . . . . . . . . . . . . . . .
2.2.1 Mtodo de eliminao de Gauss . . . . . . . .
2.2.2 Mtodos de factorizao . . . . . . . . . . . .
2.3 Mtodos Iterativos . . . . . . . . . . . . . . . . . . .
2.3.1 Mtodos Estacionrios . . . . . . . . . . . . .
2.3.2 Mtodos no Estacionrios . . . . . . . . . . .
2.3.3 Algumas consideraes finais . . . . . . . . .
2.4 Alguns problemas . . . . . . . . . . . . . . . . . . . .
Interpolao polinomial
3.1 Introduo . . . . . . . . . . . . . . . . . . . . .
3.2 Polinmio interpolador de Lagrange . . . . . . .
3.3 Polinmio interpolador de Newton . . . . . . . .
3.4 Polinmio interpolador de Lagrange segmentado
3.5 Polinmio interpolador de Hermite . . . . . . . .
3.6 Splines . . . . . . . . . . . . . . . . . . . . . . .
3.7 Interpolao de funes definidas em R2 . . . . .
3.8 Alguns problemas . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

1
1
5
5
6
13
15

.
.
.
.
.
.
.
.
.

17
17
17
17
23
35
35
46
57
58

.
.
.
.
.
.
.
.

65
65
67
73
79
84
93
101
108

Equaes no lineares
4.1 Introduo . . . . . . . . .
4.2 O mtodo da bisseco . .
4.3 O mtodo de Newton . . .
4.4 O mtodo do ponto fixo . .
4.5 O mtodo da falsa posio
4.6 Alguns problemas . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

113
113
115
118
122
128
131

CAPTULO

1
E RROS . P ROPAGAO DE E RROS .

1.1

Erros

Consideremos a expresso clssica de Newton para a energia cintica de um corpo com massa m0
1
KN = m0 v2 ,
2
em que v denota a velocidade do corpo. A energia cintica KN , em certas condies, uma aproximao
para a energia cintica definida por Einstein
KE = mc2 m0 c2 ,
em que m0 representa a massa do corpo em repouso, c a velocidade da luz e m a massa relativa do corpo
em movimento que dada por
m0
m= q
.
2
1 vc2
De facto, suponhamos que v  c. Comecemos por notar que

KE = m0 c

q
1 = m0 c
2
1 vc2


1
v2

1 , com x = 2 .
c
1+x

O Teorema de Taylor constitui a ferramenta fundamental para estabelecer o resultado pretendido.

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Teorema 1.1 (Teorema de Taylor). Seja f : I R uma funo com derivadas at ordem n
contnuas num intervalo aberto I contendo a e que admite derivada de ordem n + 1 nesse intervalo.
Ento, para x I, existe (x) I tal que
f (x) = Pn (x; a) + Rn (x; a),

(1.1.1)

em que o polinmio de Taylor e o resto de Lagrange so definidos, respectivamente, por


Pn (x; a) =

j=0

f ( j) (a)
(x a) j ,
j!

Rn (x; a) =

f (n+1) ((x))
(x a)n+1 .
(n + 1)!

Pelo Teorema de Taylor, com a = 0 e n = 1, temos

Assim

1
1
1
3

x2 .
= 1 x+ p
2
8 (1 + (x))5
1+x

1
3
1
v4
KE = m0 v2 + m0 c2 p
,
5 c4
2
8

(1 + (v))
 2  2 

em que (v)
= vc2 vc2 , 0 . Logo KE ' KN e o erro cometido nesta aproximao dado por
1
v4
3
.
Erro = m0 c2 p
8
(1 + (v))5 c4

Este erro, que usualmente designado por erro de truncatura, satisfaz


3
1
v4
Erro m0 r
5 c2 .
8
v2
1 c2

e constitui o erro cometido ao substituir a expresso da energia cintica de Einstein pela energia cintica
de Newton.
frequente a substituio de modelos matemticos complexos por modelos mais simples sendo, neste
caso, necessrio indicar o erro que se comete nesta substituio. Um outro exemplo significativo da
substituio anterior ocorre no contexto dos modelos diferenciais.
Consideremos o seguinte problema diferencial de condio inicial
 0
u (t) = f (t, u(t)), t (0, T ],
(1.1.2)
u(0) = u0 .
O conjunto de problemas do tipo anterior que admitem uma soluo explcita bastante reduzido
e a nica possibilidade de descrever, pelo menos de modo aproximado, a dinmica de tais sistemas,
recorrer a modelos discretos. Seja {ti , i = 0, . . . , N} uma partio uniforme de [0, T ] com t0 = 0, tN = T e
ti ti1 = h. Pelo Teorema de Taylor temos
u0 (ti ) =

 h
1
u(ti+1 ) u(ti ) u00 (i ), i (ti ,ti+1 ).
h
2

(1.1.3)

A relao anterior permite-nos substituir o problema de condio inicial (1.1.2) pelo modelo discreto
seguinte

ui+1 = ui + h f (ti , ui ), i = 0, . . . , N 1,
(1.1.4)
u0 dado.

Matemtica Numrica I

J. A. Ferreira, G. Pena

Este modelo define recursivamente ui , i = 1, . . . , N, tendo-se u(ti ) ' ui , i = 1, . . . , N. Vejamos seguidamente qual o erro que se comete ao substituir o modelo contnuo (1.1.2) pelo modelo discreto (1.1.4).
Consideremos, em (1.1.4), ui substitudo por u(ti ). Obtemos

1
u(ti+1 ) u(ti ) = f (ti , u(ti )) + Erro,
h

(1.1.5)

em que Erro representa o erro de truncatura.


Combinando as igualdades (1.1.3) e (1.1.5), segue-se que

1
u0 (ti ) + hu00 (i ) = f (ti , u(ti )) + Erro,
2
e uma vez que u satisfaz (1.1.2), conclumos
1
Erro = hu00 (i ).
2
Atendendo a que u0 (t) = f (t, u(t)), ento, com f = f (x, y), vem
u00 (t) =

f
f
d
f (t, u(t)) =
(t, u(t)) +
(t, u(t))u0 (t),
dt
x
y

ou ainda,
u00 (t) =
Deste modo, admitindo que

deduzimos

f
f
(t, u(t)) +
(t, u(t)) f (t, u(t)).
x
y


f
M,
x


f
M e | f | M,
y

1
|Erro| hM(1 + M).
2
A estimativa anterior permite concluir que o erro de truncatura tende para zero quando o dimetro da
partio em [0, T ] tende para zero.
Retomemos a lei de Newton para a energia cintica de um corpo em movimento. Nesta lei m0
representa a massa do corpo em repouso que determinada utilizando um instrumento de medida.
Deste modo, o valor tomado para m0 , em geral, apenas aproximado m0 estando afetado de um erro
desconhecido. quantidade
m0 = m0 m0
chamamos erro absoluto de m0 . claro que tal quantidade s nos d informao significativa quando
comparado com a quantidade exacta m0 . Surge deste modo o conceito de erro relativo
m0 =

m0
.
m0

Observamos que
m0 =

m0
,
m0 + m0

em que, em geral, m0 pequeno quando comparado com m0 . conveniente, em termos prticos,


0|
considerar |m
|m0 | como indicador do erro relativo | m0 |, isto ,
| m0 | '

|m0 |
.
|m0 |

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Uma questo natural que se coloca diz respeito qualidade do resultado obtido quando utilizamos, por
exemplo, a expresso da energia cintica de Newton com um valor aproximado para a massa m0 e para a
velocidade v e so conhecidos majorantes 1 e 2 dos seus erros absolutos m0 e v, respetivamente.
Notamos que se tem
KN = KN (m0 , v) KN (m0 , v).
Atendendo a que vale a seguinte representao
KN = KN (m0 , v) KN (m0 , v) + KN (m0 , v) KN (m0 , v),
obtemos
KN =

KN
KN
(m0 , v)m0 +
(m0 , v )v,
m0
v

em que m0 (m0 , m0 ) ou m0 (m0 , m0 ) e v (v, v) ou v (v, v).


Como m0 [m0 1 , m0 + 1 ] e v [v 2 , v + 2 ], deduzimos para |KN | a seguinte estimativa




KN
KN




|KN | max
1 + max
v 2 ,
m0

em que = [m0 1 , m0 + 1 ] [v 2 , v + 2 ].
Podemos facilmente deduzir uma estimativa para o erro relativo KN , anloga anterior, sendo
conhecidos majorantes i , i = 1, 2, dos erros relativos m0 , v, respetivamente. Pode provar-se que vale a
seguinte estimativa






m0
KN
v
KN








| KN | max max
max
v 2 ,
1 + max
KN
m0
KN

(1.1.6)

em que, como anteriormente, = [m0 1 , m0 + 1 ] [v 2 , v + 2 ], em que i , i = 1, 2, so majorantes


dos erros absolutos |m0 | e |v|.
Introduzimos at ao momento alguns conceitos envolvendo alguns tipos de erros bem como a sua
propagao. Os conceitos bsicos na teoria de erros so os conceitos de erro absoluto e erro relativo.
Estes erros so usualmente designados por erros de observao pois esto associados medio de uma
determinada quantidade. Um outro tipo de erros surge quando efetuamos arredondamentos. De facto
consideremos um determinado nmero
x = a 1 . . . t t+1 . . . ,
em que a N0 , i {0, 1, . . . , 9}. Admitamos que efetuamos um arredondamento no dgito t+1 seguido
de truncatura. Se t+1 4, ento obtemos
x = a.1 . . . t .
Por outro lado, se t+1 5, ento

x = a.1 . . . (t + 1).

Em qualquer uma das duas situaes anteriores,


|x| 5 10(t+1) .

Matemtica Numrica I

J. A. Ferreira, G. Pena

1.2

Propagao de erros

Consideremos y = g(x1 , . . . , xn ) em que g : Rn R admite derivadas parciais contnuas num determinado conjunto que especificamos seguidamente. Seja xi ' xi , i = 1, . . . , n e admitamos que so conhecidos
majorantes i , i = 1, . . . , n, para os erros absolutos xi , i = 1, . . . , n. Determinamos seguidamente uma
estimativa para o erro absoluto y. Observamos que apenas vamos estender a expresso obtida na seco
anterior no contexto da energia cintica de Newton.
Tem-se sucessivamente
y = y y

= g(x1 , . . . , xn ) g(x1 , . . . , xn )
n

g
(Xi )xi

i=1 xi

=
n

em que Xi = [x j j , x j + j ], i = 1, . . . , n. Logo
j=1



g

i .
|y| max

i
i=1
n

No que diz respeito ao erro relativo, admitamos agora que so conhecidos majorantes
i , i = 1, . . . , n, dos erros relativos xi , i = 1, . . . , n. Atendendo a que se tem sucessivamente
y =

y
y

1
g(x1 , . . . , xn ) g(x1 , . . . , xn ))
g(x1 , . . . , xn )
n
1
g
=
xi
(Xi ) xi ,

g(x1 , . . . , xn ) i=1 xi
=

deduzimos



| y| max
n

i=1







xi
max g i ,


g(x1 , . . . , xn ) xi

em que, como anteriormente, = [x j j , x j + j ] e |x j | j , j = 1, . . . , n.


j=1

1.3

Propagao de erros em sistemas lineares

A propagao do tipo de erros introduzidos relevante no contexto dos sistema lineares. De facto
consideremos o sistema
Ax = b
e seja b um vetor cujas componentes foram obtidas por medio. Neste caso o erro absoluto do vetor das
aproximaes b um vetor. Do mesmo modo, sendo x tal que
Ax = b,
o erro absoluto desta soluo aproximada o vetor x cujas componentes so os erros absolutos das
componentes xi . A fim de medir o vetor x necessitamos de introduzir o conceito de norma e estudar
alguns resultados matriciais.

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

1.3.1

Alguns resultados matriciais

Definio 1.1. Seja V um espao vectorial real. A aplicao kk : V R+


0 tal que
kvk 0, v V, kvk = 0 = v = 0,
kvk = ||kvk, v V, R,
kv + wk kvk + kwk, v, w V,
dita norma em V .
Exemplo 1.1. As aplicaes
kxk = maxi=1,...,n |xi |,
kxk1 = ni=1 |xi |,

1/2
n
2
,
kxk2 = i=1 xi
so normas em Rn .
Definio 1.2. Num espao vectorial V , duas normas kk e kkv dizem-se equivalentes se existem
constantes positivas K1 e K2 tais que
K1 kwk kwkv K2 kwk, w V.
Observamos que as normas kk1 , kk2 e kk so equivalentes em Rn . Certas normas de uso frequente
so induzidas por produtos internos, cuja definio relembramos de seguida.
Definio 1.3. Seja V um espao vectorial real ou complexo. A aplicao (, ) : V V K, com
K = R ou K = C tal que
(v, v) 0, v V, (v, v) = 0 = v = 0,
(v, w) = (w, v), v, w V,
(v, w) = (v, w), (v + w, r) = (v, r) + (w, r), v, w, r V, K,
dita produto interno em V.
No espao vectorial real Rn , a aplicao
n

(x, y) = xt y = xi yi , x, y Rn ,
i=1

um produto interno. No espao vectorial complexo Cn , a aplicao


n

(x, y) = xt y = xi yi , x, y Cn ,
i=1

um produto interno.

Matemtica Numrica I

J. A. Ferreira, G. Pena

Seja V um espao vectorial com produto interno (, ). A aplicao


p
kvk = (v, v), v V,

uma norma.

Exemplo 1.2. Consideremos agora o espao das matrizes de ordem n com entradas em R que denotamos
por Mn (R). As aplicaes seguintes:
n

|ai j |, A = [ai j ]ni, j=1 Mn (R),


j=1,...,n

kAk1 = max

kAk = max

|ai j |, A = [ai j ]ni, j=1 Mn (R),

i=1,...,n j=1

kAkF =

(1.3.1)

i=1

i, j=1

a2i j

 21

, A = [ai j ]ni, j=1 Mn (R),

kAk = max |ai j |, A = [ai j ]ni, j=1 Mn (R),


i, j=1,...,n

(1.3.2)

(1.3.3)
(1.3.4)

so normas em Mn (R). A norma kkF dita norma de Frobenius e admite a representao


p
kAkF = tr(AAt ),

em que tr(AAt ) representa o trao de AAt .

Definio 1.4. Uma norma kkm em Mn (R) diz-se compatvel ou consistente com uma norma
vectorial kkv em Rn se
kAxkv kAkm kxkv , A Mn (R), x Rn .
Observamos que a norma de Frobenius compatvel com a norma kk2 . De facto tem-se sucessivamente
2
n  n
2
kAxk2 = ai j x j
i=1 j=1
n n
n
a2i j
x2j
i=1 j=1
j=1
n n

2
ai j kxk22
i=1 j=1

= kAk2F kxk22 .

Definio 1.5. Se a norma matricial kk em Mn (R) satisfaz


kABk kAkkBk, A, B Mn (R),
ento diz-se que kk submultiplicativa.

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Em Mn (R), as normas kk1 e kk so submultiplicativas. Contudo a norma (1.3.4) no tem esta


propriedade. De facto, sejam A = [ai j ]ni, j=1 e B = [bi j ]ni, j=1 definidas por
ai j = 1, bi j = 1, i, j = 1, . . . , n.
Temos kAk = kBk = 1 e kABk = n.
Introduzimos seguidamente o conceito de norma matricial induzida por uma norma vectorial ou
subordinada a uma norma vectorial.
Definio 1.6. A aplicao
kAk = sup

06=xRn

kAxkv
, A Mn (R),
kxkv

em que kkv uma norma vectorial em Rn , uma norma em Mn (R) que designada norma matricial
induzida pela norma vectorial kkv (ou subordinada a uma norma vectorial kkv ).
De facto, manifesto que
kAk 0, A Mn (R),
e se A Mn (R) tal que kAk = 0, ento kAxkv = 0, para todo x em Rn . Logo
Ax = 0, x Rn .
Assim, escolhendo x de modo adequado, conclumos A = 0.
Verifica-se facilmente que se tem
kAk = ||kAk, R, A Mn (R),
e
k(A + B)xkv
kxkv
06=xRn

kA + Bk = sup

kAxkv
kBxkv
+ sup
06=xRn kxkv
06=xRn kxkv

sup

= kAk + kBk.
A representao

kAk = sup kAxkv , A Mn (R),


kxkv =1

para a norma induzida equivalente introduzida anteriormente.


Observamos que a norma induzida submultiplicativa. De facto
kABk= sup kABxkv
kxk=1

sup kAkkBxkv
kxkv =1

= kAk sup kBxkv


kxkv =1

= kAkkBk.

Matemtica Numrica I

J. A. Ferreira, G. Pena

Algumas das normas matriciais introduzidas anteriormente so normas induzidas por normas vetoriais.
De facto, a norma matricial kk induzida pela correspondente norma vectorial. Para provar este
resultado notamos que se tem sucessivamente
n




kAk = sup max ai j x j
i

kxk =1

j=1
n

sup max |ai j |kxk


i

kxk =1

j=1

= max |ai j |.
i

Por outro lado,

j=1


n


kAk max ai j x j , x Rn , kxk = 1.
i
j=1

De facto, fixemos, para i = 1, 2, . . . , n, o vetor x definido por x j =


Ento

kAk

ai j
se ai j 6= 0 e x j = 0 se ai j = 0.
|ai j |

|ai j |,

j=1

para i = 1, . . . , n, e portanto

kAk max |ai j |,


i

j=1

o que conclui a prova da seguinte igualdade


n

kAk = max |ai j |.


i

j=1

No que diz respeito norma matricial kk1 , comeamos por notar que se tem


n n


kAk1 = sup ai j x j
kxk1 =1 i=1 j=1
n n

sup

|ai j ||x j |

kxk1 =1 j=1 i=1


n

= max |ai j |.
j

Por outro lado, notemos que

i=1

n




kAk1 ai j x j , kxk1 = 1.
n

i=1 j=1

Fixemos, para ` = 1, . . . , n, o vetor x tal que x` = 1 e x j = 0, j 6= `. Ento




n n
n



a
x
=
i j j |ai` |,
i=1 j=1

i=1

Logo

kAk1 max |ai j |,


j

i=1

10

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

o que conclui a prova da seguinte igualdade


kAk1 = max |ai j |.
j

i=1

Com o objetivo de estabelecer uma caracterizao para a norma kAk2 recordamos o conceito de raio
espectral de uma matriz A Mn (R): (A) = maxi |i |, em que i denota um valor prprio de A.
Observamos que vale o seguinte resultado relativamente a matrizes reais simtricas (At = A).

Teorema 1.2. Se A Mn (R) real simtrica, ento os valores prprios de A so reais e existe
uma matriz ortogonal Q (Q1 = Qt ) tal que
Qt AQ = D,
em que D a matriz diagonal dos valores prprios de A.

Recordamos ainda que se A simtrica e positiva semi-definida, isto ,


xt Ax 0, x Rn ,
ento os valores prprios de A so no negativos.
O teorema seguinte estabelece a caracterizao de kAk2 .
Teorema 1.3. Se A Mn (R), ento
kAk2 =
Se A simtrica, ento

p
p
(At A) = (AAt ).
kAk2 = (A).

Demonstrao. Consideremos a matriz At A. Esta matriz real simtrica e positiva semi-definida pois
xt (At A)x = (Ax)t (Ax) = kAxk22 0, x Rn .
Logo os seus valores prprios so reais no negativos e existe uma matriz ortogonal Q tal que
Qt At AQ = D,
em que D a matriz diagonal dos valores prprios i de At A.

Matemtica Numrica I

J. A. Ferreira, G. Pena

11

Tem-se sucessivamente
kAk2 = sup kAxk2
kxk=1

= sup

kxk=1

= sup
kxk=1

= sup
kxk=1

sup

kxk=1

xt At Ax
p
xt QDQt x

p
(Qt x)t D(Qt x)

q
max i kQt xk22
i

q
= max i .
i

Por outro lado,

kAk2 kAxk2 , kxk2 = 1.

Notamos que sendo x vetor prprio de At A associado ao valor prprio , temos

kAxk2 = xt At Ax = xt x = .
Esta desigualdade permite concluir

kAk2

o que finaliza a prova da igualdade

kAk2 =

p
(At A)

p
(At A).

Suponhamos agora que A real simtrica. Ento At A = A2 e portanto


(At A) = (A2 ) = ((A))2 .

A finalizar esta breve digresso pelas normas matriciais, estabelecemos seguidamente a existncia
de inversa da matriz I A quando kAk < 1 e a norma kk submultiplicativa. Para tal, consideremos no
espao Mn (R) sucesses
h
i
(m) n

A(m) = ai j

i, j=1

, m N.

Atendendo a que Mn (R) um espao normado, introduzimos no que se segue o conceito de limite de
A(m) , m N.
h
i
(m) n
Definio 1.7. Seja A(m) = ai j

i, j=1

, m N, uma sucesso em Mn (R) e A Mn (R). Se




lim A(m) A = 0,
m

ento dizemos que A(m) converge para A e escrevemos lim A(m) = A.


m

Exemplo 1.3. A sucesso


A(m) =

"

1
1+m2

m sin

 #
1
m

m2
1+m2

, m N,

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

12

converge, relativamente norma kk , para a matriz




0 1
.
1 1
Consideremos agora a sucesso

A j , m N e suponhamos que kAk < 1. Temos sucessivamente

j=0

(I A) A j =
j=0

Aj

Aj

j=0

= I A
em que Am+1 0. Logo

m+1

m+1

j=1



m
j
lim (I A) A = I.
m

j=0

De igual modo se prova que

lim A j (I A) = I.
m

j=0

Das duas ltimas igualdades deduzimos que a inversa de I A existe e


m

(I A)1 = lim A j =
m

j=0

A j.

(1.3.5)

j=0



Vejamos agora como determinar um enquadramento para (I A)1 . De (1.3.5) vem


(I A)1
=

kAk j

j=0

1
.
1 kAk

Se kIk = 1, ento tem-se

deduzimos




1 = kIk = (I A)1 (I A) (I A)1 (1 + kAk),


1
(I A)1 ,
1 + kAk

o que finaliza a prova do teorema seguinte:

Teorema 1.4. Seja kk uma norma submultiplicativa tal que kIk = 1. Se kAk < 1 ento existe
(I A)1 ,
(I A)1 =

A j,

j=0



1
1
(I A)1
.
1 + kAk
1 kAk

Matemtica Numrica I

J. A. Ferreira, G. Pena

1.3.2

13

Nmero de condio de uma matriz

Seja A no singular e consideremos o sistema Ax = b. Seja x a soluo do sistema


Ax = b
em que b o vetor das aproximaes dos termos independentes. Seja b = b b o erro absoluto e
x = x x o vetor dos erros absolutos das componentes xi , i = 1, . . . , n.
Exemplo 1.4. A ttulo ilustrativo consideremos o seguinte exemplo:




0.55 0.423
0.127
A=
,
b=
.
0.484 0.372
0.112
A soluo do sistema Ax = b x = (1, 1). Consideremos agora


0.12707
b=
.
0.11228

Ento x = (1.7, 1.91). Observamos que uma pequena perturbao em b induz uma perturbao significativa em x tendo-se


0.00007
b =
, kbk = 0.00028,
0.00028


0.7
x =
,
0.91

e ainda

kxk = 0.91,

kbk
= 0.00220472,
kbk

kxk
= 0.91.
kxk

Este exemplo mostra que uma pequena perturbao no vetor dos termos independentes pode induzir
perturbaes significativas na soluo do sistema.
De que modo podemos, a priori, garantir que pequenas perturbaes nos dados induzem pequenas
perturbaes na soluo do sistema?
De Ax = b, vem
A(x x) = b b.
Uma vez que Ax = b, vem Ax = b e portanto x = A1 b. Por outro lado, na hiptese das normas
matricial e vectorial serem compatveis, temos
kbk kAkkxk.
Logo


kxk A1 kbk

kxk
kxk
1
kbk
A kAk
.
kbk

A partir da desigualdade anterior conclumos que a quantidade


cond(A) = kA1 kkAk

14

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

tem um papel de relevo no comportamento de


ento

kxk
kxk

pequeno desde que

kbk
kbk

kxk
kxk

relativamente a

seja pequeno. Mais ainda

> 0 > 0 : b tal que

kbk
kbk .

De facto, se cond(A) pequeno,

kxk
kbk
< =
< ,
kbk
kxk

pois suficiente tomar < cond(A)


.
Observamos que se cond(A) pequeno, ento mesmo para perturbaes do vetor dos termos independentes com significado, a perturbao na soluo pode tornar-se arbitrariamente pequena. Neste caso
dizemos que o sistema bem condicionado. Se pequenas perturbaes dos termos independentes induzem
grandes perturbaes no vetor soluo, ento o sistema Ax = b diz-se mal condiconado. A cond(A)
chamamos nmero de condio da matriz A.
Observamos que a matriz A referida no exemplo introdutrio tem a seguinte inversa


2818.18 3204.55
1
A =
3.666.67 4166.67

e portanto cond1 (A) = 7621.83.


O nmero de condio de uma matriz , em certos casos, facilmente determinado a partir dos valores
prprios da matriz A. Comecemos por notar que se A no singular, ento = 0 no valor prprio de
A. Mais ainda, os inversos dos valores prprios de A so os valores prprios de A1 . Se A simtrica,
pelo Teorema 1.3,


1
kAk2 = max |i | e A1 2 =
,
i
mini |i |
o que permite estabelecer o seguinte resultado:
Teorema 1.5. Se A real simtrica, ento
cond2 (A) =

maxi |i |
.
mini |i |

Consideremos agora x uma aproximao para a soluo de Ax = b. O vetor dos resduos


r = b Ax
e o nmero de condio de A, cond(A), usado seguidamente para estimar o erro

kxk
. De facto, tem-se
kxk

x = x x

= A1 b A1 Ax
= A1 (b Ax)
= A1 r.

Logo

kxk
krk
cond(A)
.
kxk
kbk

Estudmos o efeito dos erro nos dados e dos resduos no erro da soluo do sistema. de salientar
que a matriz do sistema pode estar tambm afectada de erros, isto , conhecida a matriz A com um erro

Matemtica Numrica I

J. A. Ferreira, G. Pena

15

A = A A. Neste caso, o erro uma matriz cujas entradas so os erros absolutos das entradas de A. Se x
a soluo do sistema Ax = b e x tal que Ax = b, ento
(A A)(x x) = b b
e portanto
(A A)x = b Ax,
ou ainda, supondo que A no singular,
(I A1 A)x = A1 (b Ax).

(1.3.6)



Suponhamos agora que A1 A < 1 e que a norma kk submultiplicativa. Pelo Teorema 1.4, existe
(I A1 A)1 e, de (1.3.6), deduzimos
x = (I A1 A)1 A1 (b Ax),

ou ainda




kxk (I A1 A)1 A1 (kbk + kAkkxk).

(1.3.7)

Utilizando a estimativa para k(I A1 A)1 k estabelecida no Teorema 1.4 conclumos


1


A
kxk
kbk

+ kAk .
kxk
1 A1 kAk kxk

(1.3.8)

Usando em (1.3.8) a desiguldade kxk kAk1 kbk obtemos finalmente


kxk
cond(A)

(k bk + k Ak)
kxk
1 cond(A)k Ak

(1.3.9)

em que
k Ak =
Provmos o resultado seguinte:

kbk
kAk
, k bk =
.
kAk
kbk

Teorema 1.6. Seja A uma matriz no singular e kk uma norma submultiplicativa. Se A tal
que
1
A kAk < 1,
ento o erro relativo k xk satisfaz (1.3.9).

1.4

Alguns problemas
j

1. Determine o nmero de termos que deve considerar em j=1 (1) j+1 xj para determinar uma
aproximao para f (x) = ln(1 + x), x [0, 1], com erro inferior a 103 .
2. Calcule ln(2) com erro inferior a 102 .
3. Estabelea a estimativa (1.1.6).

16

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

4. Indique uma estimativa para os erros absoluto e relativo das seguintes quantidades
x = 8.923, y = 0.79, z = 1.6542,
sabendo que foram obtidas por arredondamento.
 4 3
5. Considere w = ln xz2y . Sejam x = 1.24, y = 3.174, z = 4.1 obtidos por conveniente arredondamento e truncatura.
Determine uma estimativa para o erro que se comete ao substituir w por

x4 y3
w = ln z2 .
6. Considere que x = 0.037 tem 3 casas decimais correctas.

(a) Determine estimativas para os erros absoluto e relativo.

(b) Seja f (x) = 1 x. Determine estimativas para os erros absoluto e relativo.


7. Determine uma aproximao polinomial para f (x) = sinh(x) em [0, 1], com erro inferior a 102 .
8. Mostre que as aplicaes
kxk = max |xi |,
i=1,...,n

kxk1 = |xi |,
i=1

kxk2 =

so normas em Rn .

xi2

i=1

1/2

9. Mostre que as normas indicadas na alnea anterior so equivalentes.


10. Mostre que as aplicaes (1.3.1), (1.3.2), (1.3.3) e (1.3.4) so normas em Mn (R).
11. Mostre que a matriz

0
1
1
1
0 1
1 1 0

semelhante a uma matriz diagonal D = (1, 0, 1) e determine a matriz dos vetores prprios. Esta
ltima matriz ortogonal?
12. Mostre que se A no singular, ento = 0 no valor prprio de A.
13. Mostre que se A no singular, ento os valores prprios de A1 so os inversos dos valores prprios
de A.
14. Considere a matriz

0.1 0.2
0
0.5 0.1 .
A= 0
0.8 0.02 0.1

Sem determinar explicitamente I A, mostre que (I A)1 existe e determine um majorante para
k(I A)1 k .

15. Seja R = I CA em que kRk < 1 e I,C, A Mn (R). Mostre que A e C so no singulares.
16. Mostre que se A no singular, ento
cond2 (A)

maxi |i |
.
mini |i |

17. Considere o sistema Ax = b e seja x tal que Ax = b. Mostre que


1
kbk kxk
kbk

cond(A)
.
cond(A) kbk
kxk
kbk

CAPTULO

M TODOS N UMRICOS PARA S ISTEMAS DE E QUAES L INEARES

2.1

Introduo

Sistemas de equaes lineares surgem em vrias reas das cincias e da engenharia. A utilizao de
mtodos eficientes para a determinao da sua soluo um requisito essencial aquando da resoluo de
problemas aplicados. O objectivo deste captulo o estudo de mtodos numricos para a resoluo deste
tipo de sistemas. Os mtodos que sero objecto de estudo dividem-se em duas grandes classes: mtodos
directos e mtodos iterativos.
Designamos por mtodos directos os mtodos que permitem obter a soluo do sistema num nmero
finito de operaes. Os mtodos deste grupo baseiam-se fundamentalmente no processo de eliminao de
Gauss. Os mtodos numricos que geram uma sucesso de aproximaes para a soluo do sistema linear
pertencem classe dos mtodos iterativos. Esta classe divide-se em dois grandes grupos: os mtodos
estacionrios e os mtodos no estacionrios.
A escolha de um mtodo directo ou iterativo est intrinsecamente ligada estrutura da matriz do
sistema. Assim os primeiros mtodos so privilegiados para sistemas com matrizes densas, isto , matrizes
com poucas entradas nulas. Por outro lado, para sistemas em que a matriz associada de grandes
dimenses e com poucas entradas no nulas conveniente a utilizao de mtodos iterativos.

2.2

Mtodos Directos

2.2.1

Mtodo de eliminao de Gauss

Consideremos o sistema Ax = b em que A Mn (R), b Rn e A no singular. Esta ltima propriedade


equivalente s seguintes:
existe A1 ,
A tem caracterstica n,
17

18

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I
det(A) 6= 0,
as n colunas de A so linearmente independentes,
as n linhas de A so linearmente independentes,
o sistema homogneo Ax = 0 tem apenas a soluo nula.

O primeiro mtodo que vamos considerar o mtodo de eliminao de Gauss. Este mtodo composto
de duas fases: a fase descendente e a fase ascendente. A fase descendente baseada em operaes pivotais
que consistem em substituir cada linha pela soma, elemento a elemento, dela prpria com um mltiplo
escalar de outra. Por aplicaes sucessivas de operaes deste tipo, na primeira fase o sistema inicial
substitudo por um nmero finito de sistemas equivalentes obtendo-se, no fim da fase descendente, um
sistema triangular superior. Na segunda fase (ascendente), a soluo do sistema triangular obtido no fim
da primeira fase obtida por substituio de baixo para cima.
Fase descendente:
Consideremos o sistema

a11 x1

a21 x1
a31 x1

..

an1 x1

+ a12 x2 + . . .
+ a22 x2 + . . .
+ a32 x2 + . . .
..
..
.
.
+ an2 x2 + . . .

+ a1n xn = b1
+ a2n xn = b2
+ a3n xn = b3 .
..
..
.
.
+ ann xn = bn

Como a matriz no singular, por uma troca de linhas conveniente, podemos assumir que a11 6= 0.
Substituam-se a linhas Li , i = 2, . . . , n, por
Li

ai1
L1 , i = 2, . . . , n.
a11

Obtemos o sistema equivalente

em que

a11 x1 + a12 x2

(2)

a22 x2

(2)
a32 x2

..

(2)
an2 x2
(2)

ai j = ai j

+ ...
+ ...
+ ...
..
.
+ ...

+ a1n xn = b1
(2)
(2)
+ a2n xn = b2
(2)
(2)
+ a3n xn = b3 ,
..
..
.
.
(2)
(2)
+ ann xn = bn

ai1
a1 j , i, j = 2, . . . , n,
a11

(2)

bi = bi

(2)

ai1
b1 .
a11

Se a22 6= 0 (notemos que podemos reduzir-nos sempre a esta situao mediante uma troca apropriada de
linhas), consideremos sobre o ltimo sistema, a seguinte operao
(2)

Li = Li
Obtemos o sistema linear equivalente

ai2

L ,
(2) 2

a22

i = 3, . . . , n.

Matemtica Numrica I

J. A. Ferreira, G. Pena

em que

a11 x1 + a12 x2 + a13 x3

(2)
(2)

a22 x2 + a23 x3

(3)
a33 x3

..

(3)
an3 x3
(3)
ai j

(2)
ai j

+ ...
+ ...
+ ...
..
.
+ ...

(2)

ai2

(2)
a ,
(2) 2 j
a22

i, j = 3, . . . , n,

(3)
bi

19

+ a1n xn = b1
(2)
(2)
+ a2n xn = b2
(3)
(3)
+ a3n xn = b3 ,
..
..
.
.
(3)
(3)
+ ann xn = bn
=

(2)
bi

(2)

ai2 (2)
b .
a22 2

Repetindo o processo anterior obtemos finalmente o seguinte sistema triangular

b11 x1 + b12 x2 + . . . + b1n xn = c1

b22 x2 + . . . + b2n xn = c2
..
.. .
..

.
.
.

bnn xn = cn

(2.2.1)

Uma forma simples de implementar a fase descendente da eliminao de Gauss (assumindo


que no necessria a troca de linhas no processo) est descrita no seguinte algoritmo:
Algoritmo 2.1 Fase descendente da eliminao de Gauss
function [A,b] = faseDescendente(A,b)
[n,m]=size(A);
if (n 6= m), error('Apenas para matrizes quadradas'); end
for k=1:n1
if (A(k,k) ==0), error('Pivot nulo'); end
for i=(k+1):n
multiplicador = A(i,k)/A(k,k);
A(i,1:n) = A(i,1:n) multiplicador*A(k,1:n);
b(i) = b(i) multiplicador*b(k);
end
end
return

Notamos que tanto a matriz triangular superior como o vector resultantes da fase descendente so armazenados nas variveis A e b. Um exerccio a cargo do leitor o de reformular
o algoritmo anterior de forma a que apenas sejam alteradas, durante a fase descendente, as
entradas da diagonal e acima da diagonal da matriz A, reduzindo assim o nmero de operaes
aritmticas usadas.

Fase ascendente
A soluo do sistema (2.2.1) obtida por substituio de baixo para cima:


n
cn
1
xn =
, xi =
ci bi` x` , i = n 1, n 2, . . . , 1.
bnn
bii
`=i+1

20

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

A fase descendente da eliminao de Gauss pode ser implementada atravs do seguinte


algoritmo:
Algoritmo 2.2 Substituio ascendente
function [x] = substituicaoAscendente(A,b)
[n,m]=size(A);
if (n 6= m), error('Apenas para matrizes quadradas'); end
x = zeros(n,1);
x(end) = b(n)/A(n,n);
for i=n1:1:1
x(i) = (b(i) sum(A(i,i+1:n)'.*x(i+1:n)))/A(i,i);
end
end
return

As operaes realizadas sobre o sistema Ax = b podem ser organizadas num quadro chamado matriz
ampliada

a11 a12 a13 . . . a1n b1


a21 a22 a23 . . . a2n b2

a31 a32 a33 . . . a3n b3


.

..
..
..
..
..
..
.
.
.
.
.
.
an1 an2 an3 . . . ann bn
De facto, considerando sobre o quadro anterior as seguintes operaes
(2)

ai j = ai j

ai1
ai1
(2)
a1 j , i, j = 2, . . . , n, bi = bi
bi , i = 2, . . . , n,
a11
a11

obtemos

a11 a12 a13


0 a(2) a(2)

22
23

(2)
0 a(2)
a
32
33

..
..
..
.
.
.
(2)
(2)
0 an2 an3

...
...
...
..
.
...

a1n b1
(2)
(2)
a2n b2

(2)
(2)
a3n b3 .

..
..
.
.
(2)
(2)
ann bn

Considerando agora sobre o ltimo quadro as operaes


(3)

(2)

ai j = ai j
deduzimos

(2)

(2)

ai2 (2)
(2)
(3)
(2)
a
,
i,
j
=
3,
.
.
.
,
n,
b
=
b

b , i = 3, . . . , n,
i
i
2
j
(2)
(2) 2
a22
a22

ai2

a11 a12 a13


0 a(2) a(2)

23
22

(3)
0
0 a33

..
..
..
.
.
.
(3)
0
0 an3

...
...
...
..
.
...

a1n b1
(2)
(2)
a2n b2

(3)
(3)
a3n b3 .

..
..
.
.
(3)
(3)
ann bn

Matemtica Numrica I

J. A. Ferreira, G. Pena

21

O procedimento anterior conduz-nos ao seguinte quadro

a11 a12 a13


0 a(2) a(2)

22
23

(32)
0
0 a33

..
..
..
.
.
.
0
0
0

a1n b1
(2)
(2)
a2n b2

(3)
(3)
a3n b3

..
..
.
.
(n)
(n)
ann bn

...
...
...
..
.
...

que est associado ao sistema triangular

a11 x1 + a12 x2 + a13 x3 + . . .

(2)
(2)

a22 x2 + a23 x3 + . . .

(3)
a33 x3 + . . .

..

+ a1n xn = b1
(2)
(2)
+ a2n xn = b2
(3)
(3)
+ a3n xn = b3
..
..
.
.
(n)
(n)
ann xn = bn

A soluo, tal como anteriormente, obtm-se por substituio, de baixo para cima. de salientar que
sendo A no singular, o sistema possvel e determinado tendo soluo nica.
O mtodo de Gauss-Jordan designa outro mtodo directo em que ao fim da primeira fase do mtodo
de eliminao de Gauss se considera uma nova fase de eliminao mas agora de baixo para cima.
Consideremos sobre o ltimo sistema as seguintes operaes pivotais
(i)

Li = Li

ain

L ,
(n) n

ann

i = n 1, . . . , 1.

(1)

onde assumimos que a1 j = a1 j . Obtemos

a11 x1 + a12 x2 + a13 x3

(2)
(2)

a22 x2 + a23 x3

(3)

a33 x3

+
+
+
..
.

...
...
...
..
.

+ a1,n xn =
+ a2,n xn =
(3)
+ a3,n1 xn =
..
.

(n1)

(n1)

b1
(2)
b2
(3)
b3
..
.
(n1)

an1,n1 xn1 + an1,n xn = bn1


(n)

ann xn

(n)

bn

O processo repete-se e conduz-nos a um sistema diagonal

d1 x1

d2 x2

d3 x3

..

= c1
= c2
= c3
..
.
dn xn = cn


cuja soluo x = dc11 , . . . , dcnn .
Observamos que o processo de eliminao (ascendente) acabado de descrever pode ser implementado
nas mesmas linhas do Algoritmo 2.1.

22

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Se A singular com caracterstica r < n, a primeira fase do mtodo de eliminao de Gauss conduz-nos
a um sistema triangular inferior do seguinte tipo

...
+ . . . + a1n xn = b1

a11 x1 + a12 x2 + a13 x3 +

(2)
(2)
(2)
(2)

a22 x2 + a23 x3 +
...
+ . . . + a2n xn = b2

(3)
(3)
(3)
a33 x3 +
...
+ . . . + a3n xn = b3

..
..

..

.
.

(r)
(r)
(r)
arr xr + . . . + arn xn = br

obtendo-se a soluo deste sistema por substituio.


Na descrio do processo de eliminao de Gauss, assumimos que o candidato a pivot no nulo.
Se num determinado passo da primeira fase, o candidato a pivot, a pp , nulo, ento devemos procurar a
primeira linha Li , i = p + 1, . . . , n em que aip 6= 0. Seja L` a linha escolhida. Ento devemos trocar a linha
L p com a linha L` , isto ,
L p = L` , L` = L p ,
e continuar com o processo de eliminao de Gauss. Observamos que poderamos procurar o candidato a
pivot entre as colunas Ci , i = p + 1, . . . , n.
A definio do pivot, em cada passo do processo, fundamental para manter controlada a propagao
dos erros de arredondamento. De facto, se o candidato a pivot muito pequeno (em valor absoluto) em
relao s outras entradas da matriz, obtemos uma matriz resultante com entradas muito grandes. A fim
de evitar tal situao, devemos escolher em cada passo da eliminao de Gauss, a entrada dominante (em
mdulo) e efectuar trocas de linhas (ou colunas) de modo a que tal entrada seja o pivot.

Introduzimos a seguinte routina auxiliar, responsvel pela troca de linhas de uma matriz:
Algoritmo 2.3 Troca das linhas i e j
function [A] = trocaLinhas(A,i,j)
x=A(i,:); A(i,:) = A(j,:); A(j,:) = x;
return

Para combinar o algoritmo anterior com o algoritmo da fase descendente, basta substituir
a quinta linha do Algoritmo 2.1 pelo Algoritmo 2.4 e obtemos uma implementao da fase
descendente com escolha parcial de pivot.
Algoritmo 2.4 Escolha parcial de pivot
% encontrar indice correspondente ao novo pivot
[C,I] = max(abs(A(k:end,k)));
indice = k+I(1)1;
A = trocaLinhas(A,k,indice); b = trocaLinhas(b,k,indice);

O exemplo seguinte ilustra a eficincia da escolha parcial de pivot.


Exemplo 2.1. No sistema

x1 + 200x2 = 100
,
x1 +
x2
= 1

Matemtica Numrica I

J. A. Ferreira, G. Pena

23



100 99
, 199 = 0.502 . . . , 0.497 . . . , o candidato a pivot na primeira fase do processo
cuja soluo x = 199
a11 = 1. Se consideramos em cada operao apenas nmeros com 3 casas decimais, obtemos x2 = 0.6 e
x1 = 0.497 sendo significativo o erro na primeira componente. Por outro lado, a escolha parcial de pivot
conduz-nos ao seguinte sistema

200x2 + x1 = 100
,
x2
+ x1 = 1

e, efectuando o processo de eliminao de Gauss considerando em cada operao 3 dgitos, obtemos



200x2 +
x1
= 100
,
0.995x1 = 0.5

e finalmente x = (0.503, 0.497). De facto, a escolha do elemento mximo (em mdulo) em de cada linha
(coluna) reduz a propagao dos erros de arredondamento.

Observamos, por ltimo, que o M ATLAB possui um comando para resolver sistemas lineares
utilizando mtodos directos. De facto, para obter a soluo x de Ax = b, basta escrever x=A\b.
Esta operao analisa a estrutura da matriz A (simtrica, diagonal, tridiagonal, etc...) e escolhe
de uma lista de algoritmos implementados, o que acha mais adequado para determinar a soluo
do sistema (mais pormenores podem ser encontrados em [6]). Realamos tambm, que embora
do ponto de vista algbrico esta operao equivalente a inv(A)*b, o clculo (numrico) da
inversa de uma matriz uma operao computacionalmente muito mais exigente que a soluo
do sistema linear Ax = b, e portanto, deve ser uma prtica a evitar.

2.2.2

Mtodos de factorizao

A aplicao do mtodo de eliminao de Gauss, ou a sua variante Gauss-Jordan, ao sistema linear


Ax = b altera a matriz do sistema bem como o vector dos termos independentes. Assim, a resoluo de
um novo sistema em que h apenas a alterao do vector dos termos independentes requer a aplicao
completa das duas fases do mtodo.
Admitamos que conhecida uma factorizao
A = LR
em que L e R so matrizes triangular inferior e superior, respectivamente. Assim o sistema inicial
equivalente a
LRx = b.
Seja y = Rx. A soluo do sistema obtm-se considerando os dois sistemas triangulares
Ly = b
Rx = y,
ou seja



i1
1
b1
, yi =
bi `i j y j , i = 2, . . . , n,
y1 =
`11
`ii
j=1


n
1
yn
xn =
, xi =
yi ri j x j , i = n 1, . . . , 1.
rnn
rii
j=i+1

24

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Vejamos como determinar matrizes L e R nestas condies. Um dos processos mais imediatos
consiste em considerar o processo de eliminao de Gauss em termos matriciais. Observamos que o passo
elementar
ai`
Li = Li
L`
a``
sobre a matriz A traduz-se pelo seguinte produto matricial
Ei` A
em que Ei` denota a seguinte matriz elementar

1 0
0
0 1
0

0 . . .
...

0 0 ai`
Ei` =
a``

0 . . .
...

0 . . .
...
0 ...

...

...
...
...
...

...
...
...
1

...
...
...
...

...
...
...

...
...
...

...
1
...

0
0

0
.

0
1

Assim a eliminao dos elementos abaixo da posio (1, 1) no primeiro passo elementar que consiste em
considerar sobre A as operaes pivotais
Li = Li
equivalente ao produto

1
a21

a11
a31

a11

...
an1

a11

ai1
L1 , i = 2, . . . , n,
a11

0
1

0
0

...
...

...
...

...

...

...
...

...
...

...
...

...
...

0
A.

Denotemos por E1 a primeira matriz do produto anterior.


h iO segundo passo elementar feito sobre a
(2)
(2)
matriz resultante do produto anterior, digamos sobre ai j em que ai1 = 0, i = 2, . . . , n. Este passo
h i
(2)
equivalente a multiplicar a matriz ai j por

1
0
0
1

(2)

a32

0 (2)

a22
E2 =
..
..
.
.

(2)

an2

0 (2)
a22

0 ...
0 ...

...
...

...

..
.

..

0 ...

...

0
0

h i
(3)
(3)
Assim, se ai j denota a matriz resultante do segundo passo elementar, ai1 = 0, i = 2, . . . , n, e
(3)

ai2 = 0, i = 3, . . . , n, esta matriz satisfaz

h i
(3)
E2 E1 A = ai j .

Matemtica Numrica I

J. A. Ferreira, G. Pena

25

Repetindo este processo, no fim da fase descendente de eliminao de Gauss realizada sobre a matriz A,
obtemos finalmente
En1 E2 E1 A = R
em que R denota a matriz triangular superior obtida no fim da eliminao de Gauss. Seja T o produto
En1 . . . E2 E1 . Esta matriz triangular inferior e no singular pois Ei no singular sendo a sua inversa a
matriz que se obtm de Ei substituindo as suas entradas no diagonais pelos seus simtricos. Assim
1
L = T 1 = E11 E21 En1

e portanto
A = LR.
Observamos que a matriz L relativamente fcil de construir: uma matriz triangular inferior com
elementos diagonais iguais a 1 e cujos elementos sob a diagonal so os simtricos dos coeficientes usados
nas operaes pivotais da eliminao, cada um deles na respectiva posio que figura na correspondente
matriz elementar Ei .

O clculo das matrizes L e R pode ser implementado no seguinte algoritmo (adaptao do


Algoritmo 2.1):
Algoritmo 2.5 Factorizao LR
function [L,A] = factorizacaoLR(A)
[n,m]=size(A);
L = eye(n,m);
if (n 6= m), error('Apenas para matrizes quadradas'); end
for k=1:n1
if (A(k,k) ==0), error('Pivot nulo. E necessaria troca de linhas'); end
for i=(k+1):n
L(i,k) = A(i,k)/A(k,k);
A(i,1:n) = A(i,1:n) L(i,k)*A(k,1:n);
end
end
return

Suponhamos que num determinado passo da fase descendente da eliminao de Gauss, o candidato
(p)
a pivot nulo, digamos a pp = 0, isto , o passo elementar p 1 conduz-nos, em termos matriciais,
igualdade
E p1 E p2 E1 A = A(p)

para uma determinada matriz A(p) . Tal como referido anteriormente, procuramos na coluna p e entre as
(p)
linhas p + 1, . . . , n, a primeira linha que apresenta uma componente no nula. Seja a`p 6= 0 a entrada com
a propriedade anterior. O passo seguinte consiste em trocar as linhas p e `. Por P`p denotamos a matriz de
permutao que se obtm da matriz identidade de ordem n trocando as linhas p e `. O produto de P`p por
uma outra matriz obtm-se desta ltima matriz trocando as linhas p e `. Ento
P`p E p1 E p2 E1 A = P`p A(p)
em que a componente (p, p) de P`p A(p) no nula. Sobre esta ltima matriz efectuamos mais um passo
elementar de eliminao de Gauss. Repetido o processo somos conduzidos a
En1 Pkm E p P`p E p1 E p2 E1 A = R

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

26

em que R uma matriz triangular superior.


Uma vez que as matrizes de permutao e as matrizes elementares so invertveis, da ltima igualdade
obtemos
1
1
A = E11 E p2
P`p Pkm En1
R.

Seja P o produto das matrizes de permutao que surgem na fase de eliminao. A fim de obter a
factorizao com as propriedades referidas devemos multiplicar a ltima igualdade por P obtendo-se
1
1
PA = PE11 E p2
P`p Pkm En1
R,

isto ,
1
1
PA = LR com L = PE11 E p2
P`p Pkm En1
.

Provmos o seguinte resultado:


Teorema 2.1. Se A uma matriz quadrada de ordem n no singular, ento existem matrizes de
ordem n P, L e R, tais que P uma matriz de permutao, L uma matriz triangular inferior com
elementos diagonais iguais a 1 e R uma matriz triangular superior, que verificam PA = LR. Se
P = I, ento a factorizao nica.

Demonstrao. Provemos a unicidade. Suponhamos que


A = L1 R1 ,

A = L2 R2 .

Ento
L21 L1 = R2 R1
1 .
Uma vez que L1 e L21 so matrizes triangulares inferiores com elementos diagonais iguais unidade, vem
L21 L1 = I,

R2 R1
1 = I.

Logo
L2 = L1 , R2 = R1 .


Uma implementao possvel do clculo da factorizao apresentada, pode ser baseada no


processo da eliminao de Gauss descrito e na escolha parcial de pivot:

Matemtica Numrica I

J. A. Ferreira, G. Pena

27

Algoritmo 2.6 Factorizao PA=LR com escolha parcial de pivot


function [P,L,A] = factorizacaoPALR(A)
[n,m]=size(A);
L = eye(n,m);
P = eye(n,m);
if (n 6= m), error('Apenas para matrizes quadradas'); end
for k=1:n1
[C,I] = max(abs(A(k:end,k)));
indice = k+I(1)1;
A = trocaLinhas(A,k,indice); P = trocaLinhas(P,k,indice);
L(:,1:k1) = trocaLinhas(L(:,1:k1),k,indice);
for i=(k+1):n
L(i,k) = A(i,k)/A(k,k);
A(i,1:n) = A(i,1:n) L(i,k)*A(k,1:n);
end
end
return

A partir da factorizao A = LR podemos facilmente obter

A = LDR,

(2.2.2)

em que L foi definida anteriormente, D a matriz diagonal cujas entradas so os pivots e R a matriz
triangular superior com elementos diagonais igual unidade

1
0
R =
. . .
0

r12
r11

1
...
0

r13
r11
r23
r22

...
0

...
...
...
...

r1n
r11
r2n
r22 .

. . .
1

A construo da soluo do sistema Ax = b utilizando a factorizao (2.2.2) feita seguindo os passos


seguintes:
1. Determinar y tal que Ly = b;
2. Determinar z tal que Dz = y;
= z.
3. Determinar x tal que Rx
No caso particular de A ser simtrica e positiva definida e no efectuarmos troca de linhas na fase de
eliminao de Gauss, A admite a seguinte factorizao
A = L L t ,
em que L = LD e D uma matriz diagonal obtida de D calculando a raiz quadrado dos elementos diagonais
de D. De facto, como A admite a factorizao A = LR, At admite a factorizao At = Rt Lt . Da hiptese
At = A, concluimos que
A = LR = Rt Lt .

28

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Reescrevendo a igualdade anterior usando (2.2.2), obtemos


= Rt (DLt ).
L(DR)
Atendendo unicidade da factorizao, deduzimos
L = Rt
o que prova o pretendido.
Utilizando a factorizao A = L L t a construo da soluo do sistema Ax = b feita seguindo os
passos seguintes
= b;
1. Determinar a soluo de Ly
2. Determinar a soluo de L t x = y.
Vamos seguidamente utilizar na resoluo do sistema Ax = b outros tipos de factorizaes: a factorizao QR e a factorizao em valores singulares. Estas factorizaes so introduzidas de modo a ter
em cada passo da resoluo do sistema Ax = b, sistemas auxiliares bem condicionados (com matrizes
associadas bem condicionadas). De facto, os mtodos de factorizao anteriores, baseados na eliminao
de Gauss, embora computacionalmente simples, no nos permitem garantir que tenhamos sistemas bem
condicionados pois no controlamos, no caso quadrado, os nmeros de condio das matrizes envolvidas.
A decomposio QR, em que Q uma matriz ortogonal, obtida utilizando a conhecida classe de
matrizes ditas de Householder. Estas matrizes tm a seguinte estrutura particular
H = I 2wwt ,
em que w um vector unitrio (relativamente norma kk2 ). Observamos que as matrizes de Householder
so simtricas pois H t = H e so ortogonais. De facto
HH = (I 2wwt )(I 2wwt ) = I 4wwt + 4wwt wwt .
Atendendo a que w unitrio, isto kwk2 = 1, vem
HH = I.
Vejamos como, utilizando produtos esquerda da matriz A, construmos uma matriz triangular superior.
Seja a1 a primeira coluna da matriz A. Ento a primeira coluna b1 do produto de HA dada por HAe1 , ou
seja
b1 = Ha1 .
Pretende-se que esta coluna tenha apenas a entrada (1, 1) no nula. Faamos a escolha de w de modo a
que o resultado Ha1 satisfaa este requisito, isto , Ha1 = e1 .
Observamos que
Ha1 = a1 2wwt a1
e tomemos

w=
Notamos que
e

v
, v = a1 e1 , = sgn(a11 )ka1 k2 .
kvk2
(a1 e1 )t a1 = ka1 k22 a11 ,

kvk22 = (a1 e1 )t (a1 e1 ) = ka1 k22 2 a11 + 2 .

Matemtica Numrica I

J. A. Ferreira, G. Pena

29

Atendendo escolha de deduzimos


(a1 e1 )t a1 = ka1 k2 ka1 k2 sgn(a11 )a11 ,

kvk22 = 2ka1 k2 ka1 k2 sgn(a11 )a11 ,

em que ka1 k2 sgn(a11 )a11 > 0 pois caso fosse nulo teramos a1 com a forma pretendida.
Vejamos que Ha1 tem a forma pretendida. De facto
2
vvt a1
kvk22
2(a1 e1 )(a1 e1 )t a1

= a1
2ka1 k2 ka1 k2 sgn(a11 )a11

Ha1 = a1

= e1 .

O processo anterior utilizado seguidamente na determinao de uma factorizao QR de uma matriz


A do tipo m n, m n (a generalizao para o caso m > n semelhante). Vimos que se a1 a primeira
coluna de A ento a matriz de Householder de ordem m
Hm = I
tal que

2
v1 vt , v1 = a1 e1 , = sgn(a11 )ka1 k2 ,
kv1 k22 1

(1)
a11

Hm A =
0

0
0

(1)

(1)

a12 a13
(1)
(1)
a22 a23
(1)
(1)
a32 a33
..
..
.
.
(1)
(1)
am2 am3

...
...
...
..
.
...

(1)
a1n
(1)
a2n
(1)
a3n

..
.
(1)

amn

h
i
(1)
(1) (1)
(1) t
Fixemos agora o vector a2 = a22 a32 am2 . A matriz de Householder de ordem m 1
Hm1 = I
tal que

2
(1)
(1)  (1)
v2 vt2 , v2 = a2 e1 , = sgn a22 a2 2 ,
2
kv2 k2
(1)

Hm1 a2 = e1 ,
em que, neste caso, e1 representa o primeiro vector da base cannica de Rm1 . Logo
(1) (1)
a
a23 . . .
22
(1)
a32 a(1)
...
33
Hm1
..
..
..
.
.
.
(1)
(1)
am2 am3 . . .

(2) (2)
(1)
a
a23 . . .
a2n
22
(2)
(1)
a3n 0 a33 . . .

..
.. = ..
..
.
.
. .
(2)
(1)
0 am3 . . .
amn

e portanto, denotando S(2) a seguinte matriz por blocos


S(2) =



1
0t
,
0 Hm1

(2)
a2n
(2)
a3n
..

.
(2)

amn

30

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

temos

(1) (1) (1)


(1)
a11 a12 a13 . . . a1n

(2)
(2)
(2)
0 a22 a23 . . . a2n

(2)
(2)

0
0
a
.
.
.
a
S(2) Hm A =
33
3n .

..
..
.
..
..
0

.
.
.
(2)
(2)
0
0 am3 . . . amn
h
i
(2)
(2)
(2) t
O processo repete-se. Fixamos a3 = a33 am3 . A matriz de Householder de ordem m 2
Hm2 = I
tal que

2
(2)
(2)  (2)
v3 vt3 , v3 = a3 e1 , = sgn a33 a3 2 ,
2
kv3 k2
(2)

Hm2 a3 = e1 ,
em que, neste caso, e1 representa o primeiro vector da base cannica de Rm2 . Logo
(2) (2)
(3) (3)

(2)
(3)
a33 a34 . . . a3n
a33 a34 . . . a3n
(2) (2)

(3)
a43 a44 . . . a(2)
0 a(3)
. . . a4n
4n
44

Hm2
..
..
..
..
..
..

..
= .
.
.
.
. ..
.
.
.
(2)

(2)

am3 am4 . . .

(2)

amn

(3)

am4 . . .

(3)

amn

e portanto, denotando S(3) a seguinte matriz por blocos




I2
0t
(3)
S =
,
0 Hm2
temos

(1) (1) (1)


a11 a12 a13

(2)
(2)
0 a22 a23

(3)
0
0 a33

0
0
S(3) S(2) Hm A = 0

0
0
0

..
..

0
.
.
0
0
0

(1)

a14
(2)
a24
(3)
a34
(3)
a44
(3)
a54
..
.
(3)

...
...
...
...
...
..
.

am4 . . .

No fim da aplicao do processo descrito obtemos

(1)
a1n
(2)
a2n
(3)
a3n

(3)
a4n
.
(3)
a5n

..
.
(3)

amn

S(m1) S(2) S(1) A = R,


em que S(1) = Hm e R uma matriz triangular superior do tipo m n.
Recordemos que S( j) , j = 2, . . . , m 1, Hm so matrizes ortogonais e tais que S( j) S( j) = I. Logo
A=

m1

S( j) R,
j=1

isto
A = QR,
( j)
em que Q = m1
j=1 S .

Matemtica Numrica I

J. A. Ferreira, G. Pena

31

Provmos o seguinte resultado:


Teorema 2.2. Se A uma matriz real do tipo m n ento existem matrizes Q e R, respectivamente,
ortogonal e triangular superior, tais que
A = QR.

O procedimento descrito para calcular a factorizao QR facilmente traduzido para


M ATLAB no seguinte algoritmo:
Algoritmo 2.7 Algoritmo para calcular a A = QR usando matrizes de Householder.
function [Q,R] = qrHouseholder(A)
[m,n] = size(A);
Q = eye(m);
for k=1:min(m1,n)
ak = A(k:end,k);
betak= sign(ak(1));
ek = zeros(size(ak)); ek(1) = 1;
vk = ak + sign(ak(1))*norm(ak)*ek;
Hk = eye(mk+1) 2*vk*vk'/(vk'*vk);
Sk = [eye(k1) zeros(k1,mk+1); zeros(mk+1,k1) Hk];
A = Sk*A;
Q = Q*Sk;
end
R = A;

Observamos que existem outras forma de calcular a factorizao QR introduzida nesta


seco, nomeadamente, utilizando o processo de ortogonalizao de Gram-Schmidt. No entanto,
o Algoritmo 2.7 no demonstra uma performance razovel para matrizes de grandes dimenses.
Outras implementaes da factorizao QR podem ser encontradas em [5]. O leitor pode
comparar a performance destas implementaes com a routina do M ATLAB para calcular esta
factorizao, [Q,R]=qr(A).

O processo de construo de uma soluo do sistema Ax = b recorrendo factorizao QR anlogo


ao descrito quando foi usada a factorizao LR. Assim a soluo do sistema anterior obtida resolvendo
os dois sistemas seguintes:
Qy = b,
Rx = y.
Relativamente ao primeiro sistema temos cond2 (Q) = 1 e consequentemente
k yk2 k bk2 .
A mesma concluso no vale para o sistema triangular.

32

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Vejamos agora outro tipo de factorizao matricial que quando usada na construo da soluo de um
sistema induz sistemas em que, no caso quadrado, os nmeros de condio das matrizes igual unidade
relativamente norma kk2 .
Comecemos por considerar o caso quadrado no singular. Seja A uma matriz de ordem n no singular.
A matriz At A uma matriz quadrada simtrica e positiva semidefinida. Logo os seus valores prprios so
no negativos. Seja = 0 um valor prprio de At A e x 6= 0 o vector prprio associado. Ento
0 = xt At At x = kAxk22 ,

ou seja, Ax = 0 com x 6= 0. Este facto permite-nos concluir que A singular o que contraria a hiptese.
Assim os valores prprios de At A so positivos.
Atendendo a que At A real simtrica, existe uma matriz ortogonal V de ordem n tal que
V t At AV = D,
em que D a matriz dos valores prprios de At A.

Seja S a matriz diagonal cujas entradas no nulas so i . Da ltima decomposio vem


V t At AV S1 = S.
Tomemos U = AV S1 . A matriz U facilmente determinada a partir da matriz V
1
u j = p Av j , j = 1, . . . , n.
j

A matriz U ortogonal pois tem-se sucessivamente

U t U = S1V t At AV S1
= S1 DS1 = I.
As matrizes U,V e S permitem estabelecer a factorizao seguinte
A = USV t .
(2.2.3)
p
Introduzimos algumas designaes: os escalares j , j = 1, . . . , n, so chamados valores singulares da
matriz A, os vectores v j , j = 1, . . . , n, so chamados vectores singulares de A direita enquanto que os
vectores u j , j = 1, . . . , n, so chamados vectores singulares de A esquerda.
Provmos o seguinte resultado:
Teorema 2.3. Se A no singular, ento A admite a factorizao em valores singulares (2.2.3)
em que U a matriz dos vectores singulares de A esquerda, V a matriz dos vectores singulares
de A direita e S a matriz dos valores singulares de A.
A aplicao da factorizao em valores singulares na resoluo de sistemas de equaes lineares
conduz-nos a sistemas em que o nmero de condio da matrizes desses sistemas igual unidade. De
facto, a soluo do sistema Ax = b, em que A admite a factorizao (2.2.3), feita seguindo os passos
seguintes:
Determinar a soluo de Uz = b,
Determinar a soluo de Sy = z,
Determinar a soluo de V t x = y.
de salientar que cond2 (U) = cond2 (V t ) = 1.

Matemtica Numrica I

J. A. Ferreira, G. Pena

33

No que segue generalizamos o Teorema 2.3 a matrizes no quadradas. Provemos o seguinte teorema:
Teorema 2.4. Seja A uma matriz do tipo m n, m n, com caracterstica r. Ento existem
nmeros no negativos
1 2 r > 0 = r+1 = = n = 0,

(2.2.4)

e matrizes ortogonais U de ordem m e V de ordem n tais que


A = USV t .
(2.2.5)
p
em que S a matriz diagonal do tipo m n, s j j = j , j = 1, . . . , r, e com as restantes entradas
nulas.
Demonstrao. Seja A uma matriz do tipo m n, m n, com caracterstica r. Consideremos a matriz
quadrada de ordem n, At A. Esta matriz real simtrica positiva semidefinida. Sejam V = [v1 vn ] a
matriz ortogonal dos vectores prprios e sejam j 0, j = 1, . . . , n, os correspondentes valores prprios.
Provemos que A e At A tm o mesmo ncleo, isto ,
N (At A) = N (A).
Seja x N (At A). Ento xt At Ax = 0, e portanto kAxk2 = 0. Desta ltima igualdade vem Ax = 0 e portanto
N (At A) N (A). A outra incluso imediata.
Atendendo a que dim(N (A)) = n r, tem-se dim(N (At A)) = n r e portanto car(At A) = r. Este
facto permite concluir que At A tem r valores prprios positivos que podemos supor ordenados segundo
(2.2.4). Definamos os seguintes r vectores u j , j = 1, . . . , r, como
1
u j = p Av j , j = 1, . . . , r.
j

Os vectores anteriores so ortonormados. De facto, tem-se sucessivamente


1
(Avi , Av j )
(ui , u j ) = p
i j
s
j
(vi , v j )
=
i
s
j
=
i j .
i
Se r < m, existem vectores ur+1 , , um em Rm tais que U = [u1 um ] uma matriz ortogonal. claro
A,U, S e V verificam a igualdade (2.2.5).

Os vectores u j e v j ,pj = 1, . . . , r, so chamados vectores singulares de A esquerda e direita, respectivamente. Os escalares j , j = 1, . . . , r, so chamados valores singulares de A. A factorizao (2.2.5),
designada decomposio em valores singulares de A, pode ser usada para calcular Ax, x Rn . De facto,
uma vez que {v j , j = 1, . . . , n} uma base ortonormada de Rn , x admite a decomposio
x=

(x, v j )v j .

j=1

34

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Logo
Ax =

q
j (x, v j )u j .
r

j=1

A decomposio em valores singulares permite-nos averiguar da possibilidade ou impossibilidade de


um sistema bem como determinar a soluo, caso exista.
Teorema 2.5. Seja A uma matriz do tipo m n, caracterstica r e com a decomposio em valores
singulares (2.2.5). Ento o sistema Ax = y possvel se e s se (y, z) = 0 para todo z N (At ).
Caso Ax = y seja possvel, uma soluo admite a seguinte representao
x=

j=1

(y, u j )v j .

(2.2.6)

Demonstrao.
1. Condio necessria: Suponhamos que Ax = y possvel. Para z N (At ), temos
(y, z) = (Ax, z) = (x, At z) = 0.
Se y ortogonal a N (At ), vem
y=

(y, u j )u j .

(2.2.7)

j=1

Se x = nj=1 j v j , ento

q
y = Ax = j j u j ,
n

j=1

e portanto, atendendo unicidade da representao (2.2.7), conclumos


q
j j = (y, u j ), j = 1, . . . , r, e j = 0, j > r,
ou seja, vale a representao (2.2.6).

2. Condio suficiente: Suponhamos que y ortogonal a N (At ). Ento y admite a representao


(2.2.7). Seja x dado por (2.2.6). Atendendo a que se tem sucessivamente
Ax =

j=1
r

(y, u j )Av j

(y, u j )u j = y,

j=1

conclumos a demonstrao.

O resultado anterior permite introduzir o conceito de pseudo-inversa ou inversa de Moore-Penrose de
uma matriz. Consideremos o seguinte operador A+ : Rm Rn definido por
A+ y =

j=1

(y, u j )v j .

Matemtica Numrica I

J. A. Ferreira, G. Pena
O operador A+ ou a sua matriz
V

35

 1 
Sr
0 t
U,
0 0

que tambm representamos por A+ , designado operador pseudo-inverso ou inverso de Moore-Penrose.

A implementao do clculo da decomposio em valores singulares de uma matriz um


procedimento relativamente complexo e que sai fora do mbito deste curso. Mais detalhes
sobre esta construo e a sua concretizao em M ATLAB em [5]. Finalmente, observamos que
a decomposio em valores singulares pode ser calculada em M ATLAB atrav1s da instruo
[U,S,V]=svd(A).

2.3

Mtodos Iterativos

Os mtodos numricos estudados na seco anterior so designados mtodos directos e permitem


obter a soluo do sistema Ax = b num nmero finito de operaes. Nesta seco pretendemos estudar
mtodos que permitem construir uma sucesso de vectores que dever convergir para a soluo do sistema
e que so chamados mtodos iterativos. Os mtodos iterativos admitem a expresso geral
x(m+1) = B(m)x(m) + c(m), m N0 ,

(2.3.1)

sendo portanto necessrio uma aproximao x(0) dita aproximao inicial. Se B(m) e c(m) so independentes de m, ento o mtodo iterativo diz-se estacionrio. Caso contrrio, diz-se no estacionrio. Na
seco seguinte iremos estudar alguns mtodos estacionrios. Alguns mtodos no estacionrios sero
estudados na seco 2.3.2.

2.3.1

Mtodos Estacionrios

Consideremos o sistema Ax = b em que A Mn (R), e os elementos diagonais de A so no nulos.


Os mtodos que consideramos seguidamente so estabelecidos a apartir da decomposio
A = D L U,

(2.3.2)

em que D a matriz diagonal de entradas aii 6= 0, i = 1, . . . , n, L a matriz triangular inferior, com


elementos diagonais nulos e `i j = ai j , i > j, e U a matriz triangular superior com elementos diagonais
nulos e ui j = ai j , i < j. Observamos que em M ATLAB, as matrizes D, L e U definidas podem ser
calculadas usando as instrues diag, tril e triu. De facto, D=diag(diag(A)), L=tril(A,1)
e U=triu(A,1).
Mtodo de Jacobi
Consideremos em Ax = b a decomposio (2.3.2). Obtemos o sistema equivalente
x = D1 (L +U)x + D1 b.

(2.3.3)

Seja x(0) uma aproximao inicial e seja x(1) o vector que se obtm quando substitumos, no segundo
membro de (2.3.3), x por x(0) , isto , seja x(1) definido por
x(1) = D1 (L +U)x(0) + D1 b.

36

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Considerando agora x(1) obtemos x(2)


x(2) = D1 (L +U)x(1) + D1 b.
O mtodo introduzido designado mtodo de Jacobi e tem a seguinte expresso
x(m+1) = D1 (L +U)x(m) + D1 b.

(2.3.4)

As componentes do vector x(m+1) so facilmente obtidas a partir das componentes de x(m)


(m+1)

xi

ai j (m) bi
x j + , i = 1, . . . , n.
aii
i6= j=1 aii

O mtodo de Jacobi transcreve-se para a linguagem de programao do M ATLAB de forma


imediata, como vemos pelo algoritmo seguinte:
Algoritmo 2.8 Mtodo de Jacobi (com controlo do nmero mximo de iteraes).
function [x]=jacobi(A,b,x0,nmax)
D = diag(diag(A)); L = tril(A,1); U = triu(A,1);
iter=0; x=x0;
for i=1:nmax
x = D\((L+U)*x + b);
end

Observamos a introduo da varivel de entrada nmax, utilizada para limitar o nmero de


iteraes do mtodo. Veremos mais tarde outros critrios que permitam terminar o ciclo do
mtodo. Estes critrios geralmente envolvem a monitorizao quando que uma determinada
quantidade (por exemplo, a norma do resduo r(m) = Ax(m) b) atinge uma tolerncia de
controlo predefinida.
O mtodo (2.3.4) pode ser ainda escrito na forma
x(m+1) = (I D1 A)x(m) + D1 b,
o que permite uma implementao mais simples e eficiente pois no h necessidade de calcular
as matrizes U e L.

Mtodo de Gauss-Seidel
Se em vez da igualdade (2.3.3) considerarmos
x = (D L)1Ux + (D L)1 b.

(2.3.5)

x(m+1) = (D L)1Ux(m) + (D L)1 b.

(2.3.6)

somos conduzidos ao conhecido mtodo de Gauss-Seidel

Se substituirmos a relao anterior por


(D L)x(m+1) = Ux(m) + b,

Matemtica Numrica I

J. A. Ferreira, G. Pena

37

obtemos explicitamente as componentes do vector da iterao m + 1


n

a1 j (m) b1
xj +
,
a11
j=2 a11

(m+1)

(m+1)

x1
xi

i1

n
ai j (m+1)
ai j (m) bi
xj

x j + , i = 2, . . . , n
aii
j=1 aii
j=i+1 aii

O mtodo de Gauss-Seidel pode ser obtido a partir do mtodo de Jacobi se na definio da componente i
(m+1)
iterao m + 1 substituirmos as componentes j, para j < i, por x j
.

A implementao do mtodo de Gauss-Seidel segue as mesmas linhas do Algoritmo 2.8:


Algoritmo 2.9 Mtodo de Gauss-Seidel (com controlo do nmero mximo de iteraes).
function [x]=gaussSeidel(A,b,x0,nmax)
D=diag(diag(A)); L = tril(A,1); U = triu(A,1);
iter=0; x=x0;
for i=1:nmax
x = (DL)\(U*x + b);
end

Embora tenhamos usado o comando \ do M ATLAB , o sistema com matriz D L


triangular inferior e portanto, poderamos ter usado tambm os algoritmos estudados na seco
2.2.1.

Exemplo 2.2. Ilustramos seguidamente o comportamento dos dois mtodos anteriores considerando o
sistema no singular


4 1 1 x1
6
1 3 0 x2 = 2 ,
1 0 2 x3
3
cuja soluo o vector x = [1 1 1]t . Na Figura 2.1 ilustramos o comportamento do erro
(m)


e = x x(m) , m = 0, . . . , 10,
1
1

quando consideramos os mtodos de Jacobi (2.3.4) e Gauss-Seidel (2.3.6) com a aproximao inicial
nula. Observamos que o erro diminui mais acentuadamente quando consideramos o segundo mtodo.
Mtodos de relaxao
O mtodo de Jacobi (2.3.4) pode ser reescrito na forma equivalente
x(m+1) = x(m) + D1 (b Ax(m) ).

(2.3.7)

O termo D1 (b Ax(m) ) pode ser interpretado como uma correco m-sima aproximao. Se considerarmos que esta correco do tipo D1 (b Ax(m) ), com > 0, obtemos o mtodo de Jacobi com
relaxao
x(m+1) = x(m) + D1 (b Ax(m) ),
(2.3.8)

38

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

101

(m)
e
1

104
107

1010
Jacobi
Gauss-Seidel

1013
0

4
8
6
nmero de iteraes

10

Figura 2.1: Comportamento do erro ke(m) k1 associado aproximao x(m) definida pelos mtodos de
Jacobi e Gauss-Seidel.
ou ainda, componente a componente,
(m+1)
xi

(m)
xi +



n
1
(m)
bi ai j x j
, i = 1, . . . , n.
aii
j=1

O mtodo anterior admite a representao equivalente




x(m+1) = D1 (1 )D + (L +U) x(m) + D1 b, m = 0, . . . .

(2.3.9)

(2.3.10)

O mtodo de Gauss-Seidel (2.3.6) uma representao anloga a (2.3.7)


x(m+1) = x(m) + D1 b + Lx(m+1) (D U)x(m) .

Se D1 b + Lx(m+1) (U D)x(m) for interpretado como uma correco de x(m) , ento considerando
a correco anterior com peso > 0, obtemos o mtodo de Gauss-Seidel com relaxao ou mtodo de
sobre-relaxao sucessiva

x(m+1) = x(m) + D1 b + Lx(m+1) (D U)x(m) ,
(2.3.11)
ou ainda, componente a componente,


i1
n
1
(m+1)
(m)
(m+1)
(m)
= xi +
bi ai j x j
ai j x j
, i = 1, . . . , n.
xi
aii
j=i
j=1

(2.3.12)

O mtodo de Gauss-Seidel com relaxao admite a representao equivalente



x(m+1) = (D L)1 (1 )D + U x(m) + (D L)1 b, m = 0, . . . .

Exemplo 2.3. A ttulo ilustrativo, consideremos o sistema



   
2 1 x
1
=
,
1 3 y
2

(2.3.13)

Matemtica Numrica I

J. A. Ferreira, G. Pena

39

100

(m)
e
1

101
102
103
= 12
=1

104
0

4
8
6
nmero de iteraes

10



Figura 2.2: Comportamento do erro e(m) 1 relativo aproximao x(m) definida pelo mtodo (2.3.11)
para diferentes valores de .



t
cuja soluo o vector x = 17 , 75 . Na Figura 2.2 ilustramos o comportamento do erro e(m) 1 ,
m = 0, . . . , 10, relativamente escolha do parmetro , quando consideramos o mtodo (2.3.11)
com
a
aproximao inicial nula. O aumento do parmetro de relaxao induz uma diminuio do erro e(m) 1 .
Observamos que do ponto de vista computacional, ambos os mtodos de Jacobi e de
Gauss-Seidel com relaxao podem ser facilmente implementados seguindo as linhas dos
Algoritmos 2.8 e 2.9.

Convergncia
O teorema que apresentamos seguidamente estabelece uma condio necessria e suficiente para a
convergncia do mtodo iterativo (2.3.1) quando B(m) = B.
Comeamos por notar que o erro na iterao m definido por
e(m) = x x(m) .
O mtodo iterativo estacionrio x(m+1) = Bx(m) + c, m N0 , diz-se convergente se


lim e(m) = 0.
m

Observamos que se existir convergncia relativamente a uma norma, ento, atendendo a que em Rn
todas as normas so equivalentes, conclumos convergncia relativamente a qualquer outra norma.
Teorema 2.6. O mtodo iterativo
x(m+1) = Bx(m) + c, m N0 ,

40

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I
convergente para todo c Rn , se e s se (B) < 1.

Demonstrao.
Condio suficiente: Se (B) < 1, ento existe em Rn , uma norma induzida kk tal que kBk < 1 (a

demonstrao pode ser encontrada em [5]). Provemos que a sucesso x(m) mN de Cauchy em
Rn . Temos, para m p,
(m)
m1

x x(p) x( j+1) x( j) ,
j=p

( j+1)



x
x( j) kBk j x(1) x(0) .

Logo

(2.3.14)

(m)

m1
x x(p) x(1) x(0) kBk j ,
j=p



x(1) x(0) kBk p kBk j
j=0


kBk p
x(1) x(0)
.
1 kBk

Tomando na desigualdade anterior p +, conclumos




lim x(m) x(p) = 0,
p

isto , x(m)

mN

uma sucesso de Cauchy e portanto convergente.

Condio necessria: Se (B) 1, ento tomemos c = x(0) = x, em que x o vector prprio associado ao valor prprio tal que (B) = | |. Uma vez que x(m) admite, neste caso, a representao
m

(m)
j
x = x,
j=0

conclumos que x(m) divergente.



Suponhamos que o mtodo iterativo converge e seja x(m) x. Atendendo definio da sucesso x(m) ,
conclumos
x = Bx + c.
Seja m > p. Como vimos anteriormente, se kBk < 1, ento

p
(m)


x x(p) x(1) x(0) kBk .
1 kBk

Tomando na desigualdade anterior m , obtemos

p



x x(p) x(1) x(0) kBk .
1 kBk

O resultado seguinte resume as concluses anteriores.

(2.3.15)

Matemtica Numrica I

J. A. Ferreira, G. Pena

41

Teorema 2.7. Se A = [ai j ]ni, j=1 tal que



ai j
q = max < 1
i=1,...,n
i6= j=1 aii
n

ou


ai j
q1 = max < 1,
j=1,...,n
j6=i=1 aii
n


ento, para qualquer b Rn , a sucesso x(m) mN definida pelo mtodo de Jacobi, qualquer que
seja a aproximao inicial x(0) , converge para a soluo do sistema Ax = b e vale a estimativa


p
x x(p) x(1) x(0) q , = 1, .
1 q

(2.3.16)

Demonstrao. A prova deste resultado imediata pois a matriz do mtodo de Jacobi B = D1 (L +U)
verifica kBk = q , = 1, .

Exemplo 2.4. Retomemos o sistema do Exemplo 2.2. A matriz do mtodo de Jacobi, para este sistema,
dada por

0 14 14
B = 13
0
0 ,
1
2 0
0
e kBk = 12 . Logo a sucesso gerada pelo mtodo de Jacobi convergente e verifica-se para o erro a
estimativa (2.3.15). Uma vez que x(1) = (3/2, 2/3, 3/2)t , conclumos


x x(p) 3 , p 0.
2p

Se pretendermos determinar uma aproximao para a soluo tal que o erro inferior a uma determinada
quantidade , ento devemos calcular p tal que
3
< .
2p
Utilizando o Teorema 2.7 podemos estabelecer uma nova condio suficiente para a convergncia do
mtodo de Jacobi. Para o efeito introduzimos o conceito de matriz diagonal dominante.
Definio 2.1. Se A = [ai j ]ni, j=1 tal que
n

|aii |

i6= j=1

|ai j |, i = 1, . . . , n,

(2.3.17)

ento A diz-se diagonal dominante por linhas. Se, em (2.3.17), todas as desigualdades so estritas,
ento A diz-se estritamente diagonal dominante por linhas. Se
n

|a j j |

j6=i=1

|ai j |, j = 1, . . . , n,

(2.3.18)

ento A diz-se diagonal dominante por colunas. Se, em (2.3.18), todas as desigualdades so estritas,
ento A diz-se estritamente diagonal dominante por colunas.

42

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I
Como corolrio do Teorema 2.7, vale o seguinte resultado:

Corolrio 2.1. Se A estritamente diagonal dominante por linhas, ento o mtodo de Jacobi
converge.

Consideramos seguidamente uma condio suficiente para a convergncia do mtodo de Gauss-Seidel.


Para concluir a convergncia deste mtodo, relativamente norma kk , temos que estabelecer uma
condio suficiente que nos permita concluir




(D L)1U = sup (D L)1Uz < 1.

(2.3.19)

kzk =1

Seja x = (D L)1Uz. Ento


|x1 |

a1 j
nj=2 a11
,



a
a2 j
n
21
,
|x2 | a22 |x1 | + j=3 a22

..
.

|xn |

an j

n1
j=1 ann |x j |.

Sejam p j , j = 1, . . . , n, definidos recursivamente por


p1 =

pi =

pn =
Se

a1 j
nj=2 a11
,

ai j
ai j
n


i1
j=1 aii p j + j=i+1 aii ,

i = 2, . . . , n 1,

an j

n1
j=1 ann p j .

p = max pi < 1,
i=1,...,n

ento kxk < 1, e portanto, de (2.3.19), conclumos




(D L)1U < 1.

(2.3.20)

Matemtica Numrica I

J. A. Ferreira, G. Pena

43

O teorema seguinte resume o resultado demonstrado.


Teorema 2.8. Se A = [ai j ] tal que vale a condio (2.3.20), ento o mtodo de Gauss-Seidel
converge qualquer que seja a aproximao inicial x(0) e tem-se


m
x x(m) x(1) x(0) p .
1 p

(2.3.21)

Como corolrio do teorema anterior, vale o seguinte resultado.


Corolrio 2.2. Se A estritamente diagonal dominante por linhas, ento o mtodo de GaussSeidel convergente qualquer que seja a aproximao inicial x(0) .

Observamos que a matriz tridiagonal

2 1
1 2 1

..
..
A=
.
.

..

2 1
1 2

(2.3.22)

no estritamente diagonal dominante mas satisfaz as hipteses do Teorema 2.8.

No caso de uma matriz com um nmero de linhas conhecido, a determinao do valor p do


teorema anterior pode ser feita com o auxlio do seguinte programa:
N=100;
A= 2*diag(ones(1,N)) diag(ones(1,N1),1) diag(ones(1,N1),1);
p = zeros(1,N);
p(1) = sum(abs(A(1,2:end)/A(1,1)));
for i=2:N1
p(i) = sum( abs( A(i,1:i1)/A(i,i) ).*p(1:i1) ) + ...
sum(abs(A(i,i+1:N)/A(i,i)));
end
p(N) = sum(abs((A(N,1:N1).*p(1:N1))/A(N,N)));
maximo = max(p)

O valor na varivel maximo, que no caso de considerarmos a matriz (2.3.22) com 100
linhas, igual a 0.998046875. Este valor indica que embora o mtodo seja convergente, para
garantirmos uma certa preciso na soluo de acordo com a estimativa (2.3.21), temos de
efectuar um nmero considervel de iteraes do mtodo de Gauss-Seidel, uma vez p est
muito prximo de 1.

44

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

A determinao de uma aproximao para a soluo do sistema Ax = b com uma determinada preciso
pode ser feita utilizando as estimativas para o erro anteriormente estabelecidas.
Observao 2.1 Observamos que a velocidade de convergncia de um mtodo iterativo est associada ao
raio espectral da sua matriz de iterao. De facto, consideremos dois mtodos iterativos convergentes
(m+1)

= B1 x1 + c1 , m = 0, . . . ,

(m+1)

= B2 x2 + c2 , m = 0, . . . ,

x1
e

x2
(m)

(m)

(m)

(m)

(m)

(m)

e sejam e1 = x x1 , e e2 = x x2
(m+1)

e1

os correspondentes erros absolutos. Notamos que se tem

(m)

= B1 e1 ,

(m+1)

e2

(m)

= B2 e2 , m = 0, . . . .

Sejam i , i = 1, . . . , n, os valores prprios de B1 e i , i = 1, . . . , n, os valores prprios de B2 . Sejam


vi , i = 1, . . . , n e ui , i = 1, . . . , n, os correspondentes vectores prprios que admitimos, sem perda de
generalidade, constituirem conjuntos ortonormados. Atendendo a
(0)

e1 =
deduzimos
(m+1)

e1
ou ainda

(m+1) 2
e
=
1
2

jv j,

j=1

j jm+1 v j ,

j=1
n

j2 | j |2(m+1) ,

j=1

(0)

e2 =

(m+1)

e2

ju j,

j=1

j jm+1 u j ,

j=1

(m+1) 2
e
=
2
2

2j | j |2(m+1) .

j=1

As duas ltimas igualdades permitem estabelecer, na hiptese de k 6= 0 e |k | = (B2 ),


(m+1) 2

e
(B1 )2(m+1) nj=1 j2
1
2

.
(m+1) 2
e

(B2 )2(m+1) k2
2

Assim, uma vez que (B1 ) < (B2 ), vem

(m+1) 2
e

lim 1(m+1) 22 = 0,
m+ e

2

e portanto, a partir de certa ordem,


(m+1)

e(m+1) .
e
1
2
2
2

A desigualdade anterior, mostra-nos que o erro induzido por um mtodo iterativo cuja matriz de iterao
tem menor raio espectral inferior, pelo menos a partir de certa ordem, ao induzido por um mtodo com
matriz de iterao com maior raio espectral.
Exemplo 2.5. Retomemos o Exemplo 2.2 e apliquemos o mtodo de Jacobi com relaxao com parmetro
> 0. Na Figura 2.3, traamos a dependncia do raio espectral da matriz B() = (1 )I + D1 (L +
U) de iterao deste
 mtodo relativamente a .
Como B 12 > (B(1)), o mtodo de Jacobi com relaxao converge mais rapidamente para a
soluo do sistema no caso = 1 do que no caso = 12 . Esta concluso est tambm de acordo com os
resultados da Figura 2.2.

Matemtica Numrica I

J. A. Ferreira, G. Pena

45

1.4

(B())

1.2
1
0.8
0.6
0.4
0.2
0

0.5

1.5

Figura 2.3: Grfico de (B()) para a matriz do Exemplo 2.2, para [0, 2].
O Exemplo anterior motiva para a importncia da escolha do parmetro de relaxao nos mtodos de
Jacobi e Gauss-Seidel. claro que o parmetro de relaxao deve ser escolhido de modo a que o raio
espectral das matrizes de iterao dos mtodos anteriores tenham raio espectral inferior unidade. Mais
ainda, dentro do conjunto de parmetros de relaxao admissveis, deve ser escolhido o parmetro que
torne m nimo tal raio espectral.

Teorema 2.9. Se a matriz de iterao B = D1 (L +U) do mtodo de Jacobi tem apenas valores
prprios reais inferiores a 1, ento o raio espectral da matriz B() = (1 )I + D1 (L +U)
de iterao do mtodo de Jacobi com relaxao mnimo em opt definido por
opt =
e

2
,
2 max min

(B(opt )) =

max min
,
2 max min

em que max e min so os valores prprios mximo e mnimo de B, e, se max + min 6= 0, ento
(B(opt )) < (BJ ).

Demonstrao. Se valor prprio de B e x o seu vector prprio correspondente, ento 1 +


valor prprio de B() e x o vector prprio associado. Reciprocamente, se valor prprio de B() e x
o vector prprio correspondente, ento 1+
valor prprio de B e x o vector prprio correspondente.

Logo os valores prprios de B(w) so reais e


max = 1 + max , min = 1 + min .
Se o maior e menor valores anteriores so iguais em mdulo, ento o raio espectral toma o seu valor
mnimo. Se opt tal
1 opt + opt min = 1 + opt opt max ,

46

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

ento, para = opt , (B()) toma o seu valor mnimo.



Exemplo 2.6. Notamos que a matriz do Exemplo 2.2 est nas condies do teorema anterior pois os
valores prprios da matriz de iterao do mtodo de Jacobi so

6
6
1 = 0, 2 =
e 3 =
.
12
12
Logo, o parmetro de relaxao que minimiza o (B()) opt = 1, o que tambm confirmado pelo
grfico da Figura 2.3.
No resultado seguinte estabelecemos uma condio necessria para a convergncia do mtodo de
Gauss-Seidel com relaxao.
Teorema 2.10. Se o mtodo de Gauss-Seidel com relaxao converge, ento (0, 2).
Demonstrao. Seja B() a matriz de iterao do mtodo de Gauss-Seidel com relaxao. Notamos que
det(B()) = i ,
i

em que i , i = 1, . . . , n, representam os valores prprios de B(). Mas det(B()) = (1 )n , e portanto,


(1 )n = i .

Se o mtodo convergente, ento (B()) < 1, o que implica


|1 | < 1.

Estabelecemos finalmente, sem demonstrao, o teorema de convergncia do mtodo de Gauss-Seidel
com relaxao:
Teorema 2.11 ([3]). Se A simtrica e positiva definida, ento o mtodo de Gauss-Seidel com
relaxao converge qualquer que seja a aproximao inicial x(0) e qualquer que seja (0, 2).

2.3.2

Mtodos no Estacionrios

Mtodo da descida mais rpida


Consideremos o sistema Ax = b em que A Mn (R). A determinao da soluo x do problema
anterior pode ser feita determinando a soluo x Rn de um problema de minimizao, isto , x Rn
tal que
(x ) = minn (x),
(2.3.23)
xR

em que

1
(x) = xt Ax xt b.
2
Seja (x, (x)) um ponto da superfcie z = (x). No ponto (x, (x)) o vector gradiente (x) define
a direco e sentido segundo o qual apresenta, localmente, o maior crescimento. Logo (x) define
a direco e o sentido segundo o qual ocorre, localmente, a maior decrescimento de .
: Rn R,

Matemtica Numrica I

J. A. Ferreira, G. Pena

47

Exemplo 2.7. Seja A = 100I2 e b = 0. Ento (x1 , x2 ) = 100(x12 + x22 ) e (x, y) = 100(x1 , x2 ). No ponto
(1, 1) o vector (100, 100) define a direco e sentido em que cresce e (100, 100) define a direco
e sentido de maior decrescimento de . Este comportamento ilustrado na figura 2.4.
2
1
0

500
0
2

2
1

0
1

1
2
2

2 2

Figura 2.4: Superfcie z = 100(x2 + y2 ).


A equivalncia entre os dois problemas pode ser demonstrada quando A simtrica e positiva definida.
Teorema 2.12. Seja A Mn (R) simtrica e positiva definida. x Rn soluo do sistema
Ax = b se e s se x satisfaz (2.3.23).

Demonstrao. Se x satisfaz (2.3.23), ento (x ) = 0. Mas (x) = 21 (At + A)x b, e, como A


simtrica, conclumos Ax = b.
Suponhamos agora que Ax = b. Tem-se sucessivamente, com z = x y,
(x ) = (y + z)
1
1
1
= (y) + zt Ay + yt Az zt b + zt Az
2
2
2
1 t
t
= (y) + z (Ay b) + z Az
2
1 t
= (y) z Az.
2
Uma vez que A positiva definida, conclumos
(x ) (y), y Rn
sendo a igualdade verificada apenas quando y = x .

Consideramos agora o seguinte esquema iterativo


x(m+1) = x(m) + (m)d (m) , m = 0, 1, . . . ,

(2.3.24)

em que d (m) e (m) sero definidos de modo conveniente. Notamos que o vector (m)d (m) pode ser
visto como uma correco iterao x(m) . Assim, com base nas consideraes anteriores sobre (x)

48

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

representar a direco de maior decrescimento da funo no ponto x, consideremos as direces d (m)


como

d (m) = x(m) .
Observamos que no caso de A ser simtrica, ento

x(m) = Ax(m) b,
e portanto

d (m) = r(m) ,

(2.3.25)

em que r(m) o vector dos resduos da aproximao x(m).


O coeficiente (m) escolhido de modo a que x(m+1) tenha, neste parmetro, o valor mnimo, isto ,
de modo a ser vlida a seguinte igualdade

d
(x(m) + (m)d (m) ) = 0.
d(m)

Uma vez que a equao anterior equivalente equao

t
x(m) + (m)r(m) r(m) = 0,

ou ainda, a

(Ax(m) + (m)Ar(m) b)t r(m) = 0,

obtemos

r(m)t r(m)
.
(2.3.26)
r(m)t Ar(m)
O mtodo de descida (tambm designado mtodo da descida mais rpida) definido pela seguinte
sequncia de passos: dado x(0) Rn , determinar, para m = 0, . . . ,
(m) =

1. d (m) = r(m) = b Ax(m) ,


2. (m) =

r(m)t r(m)
,
r(m)t Ar(m)

3. x(m+1) = x(m) + (m)r(m) .

Dado um nmero mximo de iteraes a realizar pelo mtodo da descida, a soluo aproximada do sistema linear Ax = b pode ser determinada pelo seguinte algoritmo em M ATLAB:
Algoritmo 2.10 Mtodo da descida (com controlo do nmero mximo de iteraes).
function [x]=metodoDescida(A,b,x0,nmax)
x = x0;
for i=1:nmax
r = b A*x;
alpha = (r'*r)/(r'*A*r);
x = x + alpha*r;
end
return

Matemtica Numrica I

J. A. Ferreira, G. Pena

49

O mtodo da descida mais rpida um mtodo no estacionrio. De facto, o esquema iterativo (2.3.24)
admite a representao
x(m+1) = (I (m)A)x(m) + (m)b,

com (m) definido por (2.3.26).


No resultado seguinte estabelecemos a convergncia do mtodo apresentado. Se A simtrica e
positiva definida, ento os valores prprios de A so reais positivos. Sejam max e min os valores prprios
de A, mximo e mnimo, respectivamente. So vlidas as desigualdades
1

(y, Ay)(y, A1 y) (max + min )2

,
(y, y)(y, y)
4max min

(2.3.27)

para todo y Rn {0}, e que so usualmente designadas desigualdades de Kantorovich.


A convergncia

do mtodo estabelecida relativamente norma kkA e que definida por kxkA = xt Ax.
Teorema 2.13. Se A Mn (R) simtrica definida positiva, ento os erros e(m+1) = x x(m+1) ,
e(m) = x x(m) , em que x(m+1) , x(m) so definidos por (2.3.24) com d (m) e (m) dados por (2.3.25)
e (2.3.26), respectivamente, satisfazem
(m+1) 2
e

A

max min
max + min

2

(m) 2
e , m = 0, . . . .
A

(2.3.28)

Demonstrao. Os erros e(m+1) e e(m) verificam a igualdade seguinte


e(m+1) = e(m) (m)r(m) .
Tem-se, sucessivamente,
(m+1) 2

e
= e(m+1) , Ae(m+1)
A


= e(m) (m)r(m) , A e(m) (m)r(m)



= e(m) , Ae(m) 2(m) e(m) , Ar(m) + (m)2 r(m) , Ar(m)

2


= e(m) A 2(m) r(m) , r(m) + (m)2 r(m) , Ar(m)

 (m) (m)  2
(m) 2


r ,r
r(m) , r(m)
(m)
(m)



+
r(m) , Ar(m)
= e
2 (m) (m)  r , r
A
(m)
(m)
r , Ar
r , Ar

2

2
r(m) , r(m)
= e(m) A (m) (m) 
r , Ar
2


(m) 2
r(m) , r(m)


= e
1 (m) (m)  (m) (m) 
A
r , Ar
e , Ae

Atendendo a que se tem


obtemos




e(m) , Ae(m) = e(m) , r(m) = A1 r(m) , r(m) ,

2
2
r(m) , r(m)
r(m) , r(m)
4max min
,
1 (m) (m)  (m) (m)  = (m) (m)  1 (m) (m) 
(max + min )2
r , Ar
e , Ae
r , Ar
A r ,r

50

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

e portanto


(m+1) 2 (m) 2
e 1
e
A
A

4max min
(max + min )2
2 (max min )2

= e(m) A
(max + min )2

o que finaliza a demonstrao.

Corolrio 2.3. Se A Mn (R) simtrica definida positiva, ento os erros e(m+1) = x x(m+1) ,
e(m) = x x(m) , em que x(m+1) , x(m) so definidos por (2.3.24) com d (m) e (m) dados por
(2.3.25) e (2.3.26), respectivamente, satisfazem
(m) 2
e
A

cond2 (A) 1
cond2 (A) + 1

2m

(0) 2
e , m = 1, . . . .
A

(2.3.29)

Nas condies do Teorema 2.13, conclumos a convergncia do mtodo da descida mais rpida
definido por (2.3.24), (2.3.25) e (2.3.26).
Uma questo natural a que precisamos de dar resposta diz respeito determinao do nmero mnimo
de iteraes que devemos considerar de modo a que o erro seja inferior a uma quantidade definida a priori.
A estimativa estabelecida no ltimo resultado no permite responder a esta questo
(m) pois o erro inicial ,
em geral, desconhecido. Estabelecemos no que se segue, uma estimativa para e A que independente

de e(0) . Seja


cond2 (A) 1 2
=
.
cond2 (A) + 1
Observamos que, para qualquer 6= 0, tem-se

De (2.3.28) vem
e portanto

Se fixarmos tal que

(0) 2  (1)

2
e e + x(1) x(0)
A
A
A



2
1
2 (1) 2
(1 + ) e
+ 1 + 2 x(1) x(0) A .
A

(1) 2

e e(0) 2 ,
A
A



2
1 
2
1 (1 + 2 ) e(1) A 1 + 2 x(1) x(0) A .

2 =

ento

Atendendo a que se tem

1 1
,
2



(1) 2


e 2 1 + 2 x(1) x(0) 2 .
A
A
1
1
(m+1) 2

e
m e(1) 2 ,
A
A

Matemtica Numrica I

J. A. Ferreira, G. Pena
conclumos




(m+1) 2

m 2 1 + 2 x(1) x(0) 2 .
e
A
A
1
1

51

(2.3.30)

Esta desigualdade pode ser utilizada para determinar o nmero mnimo de iteraes que devemos
considerar para que o erro da iterao m seja inferior a uma dada tolerncia Tol, isto ,
(m)
e Tol.
A
suficiente tomar m tal que




2
2
x(1) x(0) 2 Tol 2 .
1+

A
1
1
m

Observamos que se conhecermos o valor , ento podemos reformular o algoritmo



2.10
para parar quando o nmero de iteraes atinge um certo valor nmax ou o erro e(m) na
iterao a ser calculada atinge uma determinada tolerncia Tol:

Algoritmo 2.11 Mtodo da descida (com controlo do nmero mximo de iteraes e tolerncia
pr-definida).
function [x,niter,estimErro] = metodoDescida(A,b,x0,xi,nmax,Tol)
x = x0;
r = b A*x;
alpha = (r'*r)/(r'*A*r);
x = x + alpha*r;
aux = (2/(1xi))*(1 + 2*xi/(1xi)) * (xx0)'*A*(xx0);
erro = sqrt(xi * aux);
niter = 1;
while ( (niter < nmax) && (erro > Tol) )
niter = niter + 1;
r = b A*x;
alpha = (r'*r)/(r'*A*r);
x = x + alpha*r;
erro = sqrt(xi^niter * aux);
end
majoranteErro = erro;
return

Em M ATLAB , o valor de pode ser calculado usando a funo cond para matrizes de
dimenses pequenas, ou uma sua estimativa, condest:
xi = ((cond(A)1)/(cond(A)+1))^2;

Mtodo dos gradientes conjugados


No mtodo da descida mais rpida, as direces d (m) so o vector resduo que coincide com
(x(m) ). Seja A simtrica e positiva definida. Seguidamente consideramos direces A-ortogonais,

52

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

isto , direces ortogonais relativamente ao produto interno induzido por A


(u, v)A = (u, Av).
Consideremos novamente o esquema iterativo
x(m+1) = x(m) + (m)d (m) , m = 0, . . . ,

(2.3.31)

onde agora as direces d ( j) , j = 0, . . . , so escolhidas A-ortogonais. Seja (m) tal como no caso do
mtodo da descida mais rpida, isto , (m) escolhido de modo que (x(m) + (m)d (m) ) seja mnimo.
Este parmetro especificado determinando (m) tal que

A equao anterior equivalente a


d
(x(m) + (m)d (m) ) = 0.
d(m)
(x(m) + (m)d (m) )t d (m) = 0,

e, uma vez que


(x(m) + (m)d (m) ) = A(x(m) + (m)d (m) ) b,
obtemos


r(m) , d (m)
(m) = (m) (m)  .
d ,d
A

(2.3.32)

A determinao da nova direco d (m+1) feita considerando d (0) = r(0) e


d (m+1) = r(m+1) + (m)d (m) , m = 1, . . . ,

(2.3.33)

em que (m) calculado de modo a que d (m+1) e d (m) sejam A-ortogonais. Assim obtemos
(m) =

(r(m+1) , d (m) )A
 .
d (m) , d (m) A

(2.3.34)

Seja r(m+1) = b Ax(m+1) . Atendendo a que x(m+1) definido por (2.3.31), obtemos para r(m+1) a
expresso
r(m+1) = r(m) (m)Ad (m) .

(2.3.35)

Provemos o seguinte resultado:

Teorema 2.14. Se a sucesso x( j) definida por (2.3.31) com



r( j) , r( j)
( j) = ( j) ( j)  ,
d ,d A

(2.3.36)

a sucesso das direces d ( j) , m = 0, 1, 2 . . . , definida por (2.3.33) e os coeficientes ( j) so


definidos por (2.3.34), ento {r( j) , j = 0, 1, 2 . . . , m} so ortogonais e {d ( j) , j = 0, 1, 2, . . . , m}
so A-ortogonais, em que m o menor valor tal que r(m+1) = 0.

Matemtica Numrica I

J. A. Ferreira, G. Pena

53



Demonstrao. fcil verificar que r(1) , r(0) = 0 e d (1) , d (0) A = 0. Suponhamos que {r( j) , j =
0, . . . , k} so ortogonais e {d ( j) , j = 0, . . . , k} so A-ortogonais. Provemos que {r( j) , j = 0, . . . , k + 1} so
ortogonais e {d ( j) , j = 0, . . . , k + 1} so A-ortogonais.

Comecemos por provar que r(k+1) , r(k) = 0. Atendendo a que r(k+1) = r(k) (k)Ad (k) ,



r(k+1) , r(k) = r(k) , r(k) (k) Ad (k) , r(k) ,

e portanto, utilizando a expresso (2.3.36),


conclumos o pretendido.


(k+1)
(
j)
Provemos agora que r
,r
= 0, j = 0, . . . , k. fcil mostrar que r(k+1) , r(0) = 0. De facto,



r(k+1) , r(0) = r(k) , r(0) (k) Ad (k) , d (0) ,

e, pela hiptese de induo r(k+1) , r(0) = 0.
Consideremos agora j = 1, . . . , k 1. Atendendo hiptese de induo e ao facto de d (k) ser Aortogonal a d ( j) , tem-se sucessivamente



r(k+1) , r( j) = r(k) , r( j) (k) Ad (k) , r( j)

= (k) Ad (k) , r( j)

= (k) Ad (k) , d ( j) ( j 1)d ( j1)


= (k) Ad (k) , d ( j) + (k) ( j 1) Ad (k) , d ( j1)
= 0.

No que diz respeito A-ortogonalidade do conjunto {d ( j) , j = 0, . . . , k + 1}, comecemos por notar


que se tem



d (k+1) , Ad (k) = r(k+1) , Ad (k) + (k) d (k) , Ad (k)

e, atendendo definio (2.3.34), vem de imediato d (k+1) , Ad (k) = 0.

Consideremos agora d (k+1) , Ad ( j) , j = 0, . . . , k 1. Atendendo a que d (k) e d ( j) so A-ortogonais,
tem-se sucessivamente



d (k+1) , Ad ( j) = r(k+1) , Ad ( j) + (k) d (k) , Ad ( j)

= r(k+1) , Ad ( j) .
Conjugando a ltima representao com (2.3.35), obtemos


1  (k+1) ( j+1)
d (k+1) , Ad ( j) =
(r
,r
) r(k+1) , r( j) ,
( j)

e, atendendo ortogonalidade do conjunto {r( j) , j = 0, . . . , k + 1}, conclumos



d (k+1) , Ad ( j) = 0.

No Teorema 2.15 provamos que r(k) ortogonal a d (k1) . Como consequncia deste resultado,
estabelecemos a equivalncia das representaes (2.3.32) e (2.3.36). De facto, tem-se sucessivamente


r(k) , d (k) = r(k) , r(k) (k 1)d (k1)


= r(k) , r(k) (k 1) r(k) , d (k1)

= r(k) , r(k) ,
o que prova a equivalncia das duas representaes.

54

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Teorema 2.15. O resduo r(k+1) ortogonal s direces d ( j) , j = 0, . . . , k.

Demonstrao. manifesto que r(1) ortogonal a d (0) pois esta direco coincide com o resduo inicial.
Admitamos agora que r(`) ortogonal s direces d ( j) , j = 0, . . . , ` 1, e provemos que r(`+1) ortogonal
s direces d ( j) , j = 0, . . . , `.
Comecemos por provar que r(`+1) ortogonal a d (`) . Tem-se



r(`+1) , d (`) = r(`) , d (`) (`) Ad (`) , d (`) ,
ou ainda, atendendo definio (2.3.36) para (`) e hiptese de induo,


r(`+1) , d (`) = r(`) (`)Ad (`) , d (`) ,
 2
= r(`) , d (`) r(`) 2 .

Atendendo a que d (`) = r(`) + (` 1)d (`1) , conclumos finalmente que



r(`+1) , d (`) = 0.
Provemos agora que


r(`+1) , d ( j) = 0, j = 0, . . . , ` 1.

Tem-se




r(`+1) , d ( j) = r(`) , d ( j) (`) Ad (`) , d ( j) .

Atendendo a que, pela hiptese de induo, r(`) , d ( j) = 0, e uma vez que d (`) e d ( j) so A-ortogonais,

Ad (`) , d ( j) = 0, conclumos que r(`+1) e d ( j) , j = 0, . . . , ` 1, so ortogonais.

Notemos que (m) pode ser calculado a partir apenas dos resduos r(m+1) e r(m) . De facto,
r(m+1) r(m) = (m)Ad (m) ,
e portanto

2


(m) r(m+1) , Ad (m) = r(m) , r(m+1) r(m+1) 2 .

Uma vez que r(m) e r(m+1) so ortogonais, vem

r(m+1) , Ad
Substituindo em (2.3.34) obtemos


(m)

(m+1) 2
r

2
.
=
(m)

(m+1) 2

r
2
(m) =

2 .
(m) d (m)
A

Conjugando agora a identidade anterior com (2.3.32), obtemos


(m+1) 2
r

(m) =
2 2 .
r(m)
2

(2.3.37)

O mtodo dos gradientes conjugados resume-se na seguinte sequncia de passos: dado x(0) ,
r(0) = b Ax(0) , seja d (0) = r(0) . Para m = 0, . . . , calcular

Matemtica Numrica I

J. A. Ferreira, G. Pena

55

1. (m) utilizando (2.3.32);


2. x(m+1) utilizando (2.3.31);
3. r(m+1) = b Ax(m+1) ;
4. (m) utilizando (2.3.34) ou (2.3.37);
5. d (m+1) utilizando (2.3.33).

A transcrio do algoritmo anterior para M ATLAB pode ser feita na seguinte funo:
Algoritmo 2.12 Mtodo dos gradientes conjugados (com controlo do nmero mximo de
iteraes.
function [x,res] = gradientesConjugados(A,b,x0,nmax)
r = b A*x0; d = r; x = x0;
for i=1:nmax
alpha = (r'*d)/(d'*A*d);
x = x + alpha*d;
r = b A*x;
beta = (r'*A*d)/(d'*A*d);
d = r + beta*d;
end
res = norm(r);

Notemos que a funo anterior devolve a soluo aproximada do sistema linear pelo mtodo
dos gradientes conjugados, assim como a norma-2 do resduo.

O mtodo dos gradientes conjugados conduz-nos soluo do sistema Ax = b na n-sima iterao.

Teorema 2.16. Se x(m) , m = 0, . . . , n, definida pelo mtodo dos gradientes conjugados, ento x(n)
soluo de Ax = b.

Demonstrao. Seja e(0) o erro inicial. Atendendo a que d ( j) , j = 0, . . . , n 1, so A-ortogonais, d ( j) ,


j = 0, . . . , n 1, uma base the Rn . Sejam j , j = 0, . . . , n 1, tais que
e(0) =

n1

j d ( j) .

j=0

Atendendo a que se tem


d (i) Ae(0) =

n1

j d (i) Ad ( j) ,

j=0

para i = 0, . . . , n 1, em que
d (i) Ad ( j) = d (i) , d ( j)
obtemos

= 0, para i 6= j,


d (i) , e(0) A
i = 2 .
d (i)
A

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

56

No que segue obtemos para i outra representao. Atendendo a que d (i) , d (`)
tem-se



i1
1
(i)
(0)
(`)
i = 2 d , A e (`)d
d (i)
`=0
1

= 2 d (i) , Ae(i)
d (i)
A

= 0, para ` = 0, . . . , i 1,

(`)
(i)
(i)
pois x(i) = x(0) + i1
`=0 (`)d . Notamos que Ae = r , e portanto, de (2.3.32), vem

i = (i), i = 0, . . . , n 1.
Logo
e(n) = x x(n)

n1

= x x(0) (`)d (`)


`=0

n1

= e(0) ` d (`)
`=0

= 0,
isto x(n) = x .

O resultado anterior permite concluir que a n-sima aproximao definida pelo o mtodo dos gradientes conjugados (2.3.31), (2.3.32), (2.3.34), (2.3.33), coincide com a soluo do sistema Ax = b que
pretendemos resolver. No entanto, atendendo aos erros de arredondamento, o mtodo gera uma sucesso
de aproximaes que converge para a soluo de Ax = b mais rapidamente do que a sucesso gerada pelo
mtodo da descida mais rpida.

Teorema 2.17. Se A Mn (R) simtrica e definida positiva e x(m) , m = 0, . . . , definida pelo


mtodo dos gradientes conjugados (2.3.31), (2.3.32), (2.3.34), (2.3.33). ento o erro e(m+1) =
x x(m+1) verifica
(m+1)
(0)
2
e

e , m = 0, . . . .




m+1
m+1
A
A
cond2 (A)+1
cond2 (A)1

+
cond2 (A)1

(2.3.38)

cond2 (A)+1

Na Figura 2.5 ilustramos o comportamento dos factores


mdr(cond2 (A), m) =
e

cond2 (A) 1
cond2 (A) + 1

m+1

2
mgc(cond2 (A), m)) = 
m+1 
m+1 ,
cond2 (A)+1
cond2 (A)1

+
cond2 (A)1

cond2 (A)+1

para m = 10, 20. Observamos que, para estes valores, mdr(cond2 (A), m) > mgc(cond2 (A), m).

Matemtica Numrica I

J. A. Ferreira, G. Pena
mdr(cond2 (A), 10)
mgc(cond2 (A), 10)

0.6

57

mdr(cond2 (A), 20)


mgc(cond2 (A), 20)

0.4
0.3

0.4

0.2
0.2

0.1
0

0
0

20

40
60
cond2 (A)

80

100

20

40
60
cond2 (A)

80

100

Figura 2.5: Comportamento dos coeficientes mdr(cond2 (A), m) e mgc(cond2 (A), m) para m = 10 (esquerda) e m = 20 (direita).

2.3.3

Algumas consideraes finais

A questo natural que se coloca quando implementamos um dos mtodos iterativos estudados, diz
respeito paragem, isto : como podemos definir a paragem do processo iterativo? H vrios critrios de
paragem para os processos iterativos.
1. O critrio de paragem pode ser estabelecido considerando um nmero mximo de iteraes previamente definido. Este foi um dos critrios usados em todos os algoritmos deste captulo.
2. Um outro critrio de paragem est associado ao clculo do resduo. Poderemos estabelecer que o
processo iterativo pra quando o resduo de tal iterao for inferior a uma tolerncia especificada a
priori, isto , o processo iterativo termina na iterao x(m) tal que
(m)

r = b Ax(m) < Tol,
relativamente a uma determinada norma kk.

3. Poderemos pretender determinar uma approximao para a soluo de Ax = b com erro inferior a
uma tolerncia especificada. Neste caso teremos de determinar o nmero de iteraes m tal que
(m)
e < Tol.


manifesto que tal s pode ser feito quando conhecemos majorantes para o erro e(m) que depende
de m mas independente do erro inicial (que desconhecido). Por exemplo, para os mtodos
estacionrios em que a matriz de iterao B satisfaz kBk < 1, foi estabelecido
m

(m)
e kBk x(1) x(0) .
1 kBk

Assim, considerando a desigualdade


kBkm
x(1) x(0) < Tol,
1 kBk

obtemos o nmero de iteraes que devemos considerar. Este tipo de critrio foi usado no Algoritmo
2.11.

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

58

4. Um outro critrio de paragem est associado ao comportamento dos termos consecutivos. Assim
podemos estabelecer parar o processo iterativo quando
(m+1)

x
x(m) < Tol.

Se considerarmos um sistema em que os vectores do processo iterativo


(m) tm norma muito pequena,
ento o processo iterativo pra podendo eventualmente ocorrer e  0.

5. Um outro critrio de paragem do tipo do anterior consiste em parar o processo iterativo


(m+1)

x
x(m)


< Tol.
x(m)

Este critrio no vai permitir a ocorrncia da situao anormal que pode ocorrer quando usamos o
critrio da al nea anterior.

2.4

Alguns problemas

1. Determine, utilizando o mtodo de eliminao de Gauss, a soluo dos seguintes sistemas


(a)

(b)

x + y + z = 1
2x y + z = 1

x y + z = 1

2x y + z + t = 1
4x + y z
= 1

x + y
= 0

2. Determine, para as matrizes associadas aos sistemas da alnea anterior, a factorizao LR.
3. Indique como pode obter a factorizao QR de uma matriz A utilizando o mtodo de Gram-Schmidt.
4. Utilizando transformaes de Householder, determine a factorizao QR da matriz

1 6 1
A = 2 1 1 .
2 2 6
5. Considere A Mn (R) e QR a sua factorizao em que Q ortogonal e R triangular superior.
Mostre que

(a) kQk1 n,
(b) cond1 (Q) n,

(c) n1 cond1 (R) cond1 (A) ncond1 (R),

(d) cond2 (A) = cond2 (R).

6. Recorrendo factorizao QR da matriz A Mn (R), prove que


n

| det(A)| ka j k2 .
j=1

Matemtica Numrica I

J. A. Ferreira, G. Pena

59

7. Determine a factorizao em valores singulares da matriz

1 1
A = 0 1 .
1 0
Calcule A+ .

8. Considere o sistema Ax = b, em que


1 0 2
a
A = 1 1 2 , b = a , a R.
1 1 2
a

Determine, utilizando a decomposio em valores singulares de A, a soluo de Ax = b.

9. Seja A Mn (R) no singular. Mostre que




1
s1
kAk2 = s1 , A1 2 = , cond2 (A) = ,
sn
sn

i , s1 s2 sn so os valores singulares de A.
1/2
10. Mostre que kAkF = ni=1 s2i
, em que si , i = 1, . . . , n, so os valores singulares de A.
em que si =

11. Seja A Mmn (R) com colunas linearmente independentes. Demonstre as propriedades seguintes:
(a) Se m = n e A no singular, ento A1 = A+ ;
(b) (At )+ = (A+ )t ;
(c) Se A simtrica, ento a sua pseudo-inversa tambm simtrica;
(d) AA+ A = A;
(e) A+ AA+ = A+ ;
(f) (AA+ )t = (AA+ );
(g) (A+ A)t = A+ A.

12. Seja x a soluo dos mnimos quadrados do sistema impossvel Ax = b. Estabelea as equaes
normais At Ax = At b.
13. Diga, utilizando a factorizao QR a decomposio em valores singulares, como determinar a
soluo dos mnimos quadrados de Ax = b.
14. Considere o sistema Ax = b, em que

8 1
1
A = 1 5 1 ,
1
1 4

1
b = 16 .
7

Seja x(0) o vector nulo. Determine a segunda iterao para a soluo do sistema dado
(a) com o mtodo de Jacobi,
(b) com o mtodo de Gauss-Seidel.
Conclua que os dois mtodos geram sucesses que convergem para a soluo de Ax = b.

60

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

15. Considere os sistema

x1

x1
4x

1
2x1

+ 5x2
+ 2x4
+ x2 + 3x3
x2 + x3 x4
x2 + x3 + 8x4

= 8
= 5
= 3
= 10.

(a) A partir da matriz do sistema pode concluir que o mtodo de Jacobi gera uma sucesso
convergente qualquer que seja a aproximao inicial?
(b) Reescreva o sistema dado de modo a poder aplicar o referido mtodo e determine a segunda
iterao partindo da soluo nula.
16. Considere o sistema Ax = b, em que

0 6 3
A = 3 2 ,
1 1 8

Seja x(0) o vector nulo.


4
b = 4 .
4

(a) Poder aplicar o mtodo de Gauss-Seidel ao sistema anterior? Em caso negativo reescreva-o
de modo conveniente.
(b) Determine um intervalo de variao de para os quais o mtodo de Gauss-Seidel gera uma
sucesso convergente.
17. O sistema linear

tem soluo (1, 2, 1).

2x1 x2 + x3 = 1
2x1 + 2x2 + 2x3 = 4

x1 x2 + 2x3 = 5

(a) Mostre que a matriz de iterao do mtodo de Jacobi tem raio espectral
concluir da aplicabilidade deste mtodo?

5
2 .

O que pode

(b) Mostre que a matriz de iterao do mtodo de Gauss-Seidel tem raio espectral 12 . O que pode
concluir da aplicabilidade deste mtodo?
18. O sistema linear

tem soluo (1, 2, 1).

x1 + 2x2 2x3 = 7
x1 + x2 + x3 = 2

2x1 + 2x2 + x3 = 5

(a) Mostre que a matriz de iterao do mtodo de Jacobi tem raio espectral nulo. O que pode
concluir da aplicabilidade deste mtodo?
(b) Mostre que a matriz de iterao do mtodo de Gauss-Seidel tem raio espectral 2. O que pode
concluir da aplicabilidade deste mtodo?
19. Considere o sistema Ax = b com

5 1 1
0 3 1 ,
2 2 4

b = 4 .
9

Matemtica Numrica I

J. A. Ferreira, G. Pena

61

(a) Mostre que os mtodos de Jacobi e de Gauss-Seidel geram sucesses convergentes para a
soluo de Ax = b.
(b) Sejam BJ e BGS as matrizes de iterao dos mtodos de Jacobi e de Gauss-Seidel, respectivamente. Utilizando os dois mtodos anteriores, determine o nmero mnimo de iteraes que
deve considerar para que

(m)

(m)

(m)


e < 103 , e(m) < 103 ,
J
GS
1
1

em que eJ e eGS representam os erros das aproximaes definidas pelos dois mtodos
considerados.
20. Mostre que o mtodo de Gauss-Seidel convergente quando aplicado ao sistema Ax = b com

2 1
1 2 1

..
..
..
A=
.
.
.
.

1 2 1
1 2
21. Considere o mtodo estacionrio x(m+1) = Bx(m) + c, m = 0, . . . , e seja h(m+1) = (B I)x(m) + c.
Neste caso tem-se x(m+1) = x(m) + h(m+1) , m = 0, . . . . Mostre que as correces h(m) , m = 0, . . . ,
satisfazem
h(m+1) = Bh(m) .
22. Considere o mtodo estacionrio x(m+1) = Bx(m) + c, m = 0, . . . , convergente e seja (m) = x(m+1)
x(m) . Mostre que relativamente a alguma norma k.k se tem
(m)
e

23. Considere o seguinte mtodo iterativo


1
(m) .
1 kBk

"
1 #
+
(m)
x(m+1) =
4 2 x + c(), m = 0, . . . .
1
1
Determine a variao de > 0 para a qual o mtodo anterior convergente.
24. Mostre que o mtodo de Gauss-Seidel com relaxao convergente quando aplicado ao sistema
Ax = b com

4 1 1
A = 1 4 1
1 1 4
para (0, 2) e para qualquer aproximao inicial.

25. Considere o sistema

que tem a soluo (1/3, 2/3).


   
2 1 x1
0
=
1 2 x2
1

(a) Determine x(3) utilizando o mtodo da descida mais rpida com x(0) = (0, 0).

62

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

(b) Seja e(m) o erro da aproximao x(m) e seja A da matriz do sistema anterior. Defina K(1 , 2 )
tal que seja vlida a estimativa

2(m1)
(m) 2
(1)

e 1 2
x x(0) 2 ,
K(
,

)
1
2
A
A
1 + 2
em que 1 > 2 so os valores prprios de A.

(c) Determine o nmero mnimo de iteraes tal que


(m) 2
e 103 .
A

26. Mostre que a sucesso dos resduos r(m) , m = 0, . . . , determinados pelo mtodo da descida mais
rpida para o sistema Ax = b, verifica
r(m+1) = (I (m)A)r(m) , m = 0, . . . .
27. Seja x(m) , m = 0, . . . , a sucesso de aproximaes para a soluo x do sistema Ax = b definida pelo
mtodo da descida mais rpida. Mostre que se o erro e( j) , para algum j N0 , vector prprio de
A, ento x( j+1) = x .
28. Considere o sistema Ax = b, em que A simtrica e positiva definida. Seja x(m) , m = 0, . . . , a
sucesso definida pelo mtodo da descida mais rpida. Mostre que
(a) e(m+1) ortogonal a Ar(m) ;
(b) r(m+1) ortogonal a r(m) .
29. Seja A uma matriz real simtrica e positiva definida. Mostre que se d ( j) , j = 0, . . . , m, so Aortogonais, ento so linearmente independentes.
30. Prove que os vectores prprios de uma matriz A real simtrica e positiva definida so A-ortogonais.
31. Considere o sistema Ax = b com

2 1 0
A = 1 2 1 ,
0 1 2

que tem por soluo (1, 1, 1). Seja x(0) = (0, 0, 0).


1
b = 0 .
1

(a) Prove que a matriz do sistema anterior simtrica e positiva definida.



(b) Seja x(m) definida pelo mtodo da descida mais rpida. Determine uma estimativa para e(m) A


(c) Determine o nmero mnimo de iteraes que deve considerar para que e(m) < 102
A

(d) Utilizando o mtodo dos gradientes conjugados, determine x(2) .


(e) Calculde r(2) . O que pode concluir?

32.

(a) Considere o sistema Ax = b, em que A no singular, e o mtodo iterativo


x(m+1) = x(m) + (m)d (m) , m = 0, . . . ,
em que a direo de descida d (m) o resduo r(m) . Seja (x) = kb Axk22 . Mostre que o valor
mnimo de (x(m) + (m)d (m) ) ocorre para (m) definido por

r(m) , Ar(m)
(m) =
.
Ar(m) 2
2

Matemtica Numrica I

J. A. Ferreira, G. Pena
(b) Considere o sistema

   
2 1 x1
3
=
,
1 2
x2
1

63

que tem por soluo (3, 1).


Determine x(3) , com x(0) = (0, 0), utilizando o mtodo apresentado na alnea anterior, o
mtodo da descida mais inclinada e o mtodo dos gradientes conjugados.
(c) Comente os resultados obtidos.

64

M ATEMTICA N UMRICA I

J. A. F ERREIRA , G. P ENA

CAPTULO

3
I NTERPOLAO POLINOMIAL

3.1

Introduo

Dada uma funo f definida num certo intervalo [a, b], a questo central que consideramos neste
captulo a construo de uma funo polinomial que, num sentido a especificar, a aproxima. A existncia
desta aproximao para funes contnuas garantida pelo teorema clssico de Weierstrass:
Teorema 3.1. Se f : [a, b] R contnua, ento, para > 0, existe um polinmio P definido
em [a, b] tal que
k f Pk < ,
(3.1.1)
em que k f Pk = max | f (x) P(x)|
x[a,b]

O Teorema de Weierstrass garante a existncia de uma funo polinomial que aproxima a funo
dada uniformemente no intervalo. A utilizao de funes polinomiais na substituio de certas funes
justifica-se pelas boas propriedades de diferenciabilidade e integrabilidade que estas apresentam. De facto,
suponhamos que pretendemos calcular
Z 1
0

ex dx.

A funo integranda no primitivvel, e portanto no possvel efectuar o clculo anterior sem substituir
2
a funo f (x) = ex , x [0, 1]. Uma substituio natural consiste em tomar
2

ex =

(1) j x2 j
, x R,
j!
j=0

65

66

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

e obter

Z 1
0

ex dx =

(1) j

(2 j + 1) j! ,

j=0

obtendo-se o integral pretendido como a soma de uma srie. No entanto, poderamos pretender determinar
um valor aproximado para o mesmo integral com um erro inferior a uma tolerncia , definida a priori.
Assim, a substituio da funo integranda por uma funo polinomial P cuja existncia estabelecida no
Teorema de Weierstrass permite obter
Z 1
0

em que

ex dx '

Z 1
0

P(x) dx,

Z 1

Z 1


2
x
e dx
P(x) dx < .
0
0

No caso de termos funes bastante regulares, por exemplo, se as sucessivas derivadas de f existem e
so limitadas, ento a construo de um polinmio nas condies do Teorema de Weierstrass pode ser
feita considerando o seguinte procedimento:
1. fixar em [a, b] uma partio uniforme de espaamento h = ba
n+1 em que a = x0 , b = xN , e obter o
conjunto de pontos
(xi , f (xi )), i = 0, . . . , n.
2. determinar em seguida o polinmio Pn , de grau inferior ou igual a n, tal que
Pn (xi ) = f (xi ), i = 0, . . . , n.
Neste caso, o nmero de pontos fixados (ou seja, o espaamento) induzido pelo majorante das
derivadas da funo e dever ser tal que
k f Pn k < .
O ltimo problema que especificamos usualmente conhecido por problema de interpolao e tem
significado num contexto mais geral do que o exposto e que especificamos: dado (xi , yi ), i = 0, . . . , n,
um conjunto de valores em que xi , i = 0, . . . , n, esto por ordem crescente, pretendemos determinar uma
funo g numa determinada classe de funes P e definida num domnio adequando tal que
g(xi ) = yi , i = 0, . . . , n.
No caso particular de yi , i = 0, . . . , serem a imagem de xi , i = 0, . . . , n, por uma funo desconhecida
f , ento, o problema de interpolao permite determinar g tal que
g(xi ) = f (xi ), i = 0, . . . , n,
e, deste modo, determinar, para x [x0 , xn ], x 6= xi ,
f (xi ) ' g(x).

A questo que permanece diz respeito estimao do erro


| f (x)
g(x)|.

Na resoluo do problema anterior, colocam-se trs questes:


1. Como escolher a classe P?

Matemtica Numrica I

J. A. Ferreira, G. Pena

67

2. Como determinar g P?
3. Como quantificar o erro f (x) g(x)?

Relativamente primeira questo, iremos considerar a classe dos polinmios de grau menor ou igual a
n, Pn , e restringimo-nos apenas interpolao polinomial. No que diz respeito segunda questo, iremos
determinar P Pn tal que
P(xi ) = f (xi ), i = 0, . . . , n.
(3.1.2)
Este polinmio chamado polinmio interpolador de f nos pontos xi , i = 0, . . . , n, e a estes pontos
chamamos nodos de interpolao. O estudo do erro feito aquando da construo do polinmio
interpolador.

3.2

Polinmio interpolador de Lagrange

Consideremos uma funo f definida num intervalo [a, b] e, neste intervalo, a partio
a = x0 < x1 < < xn1 < xn = b.
Pretendemos construir um polinmio P que verifique P(xi ) = f (xi ), i = 0, . . . , n.
Consideremos as funes
n
xxj
`i (x) =
, i = 0, . . . , n.
j=0, j6=i xi x j

(3.2.1)

(3.2.2)

As funes anteriores so chamadas polinmios de Lagrange e tm um papel importante na construo do


polinmio interpolador. Notemos que os polinmios de Lagrange tm grau n e verificam

1, i = j,
`i (x j ) =
0, i 6= j,

e portanto fcil concluir que `i , i = 0, . . . , n, constituem uma base do espao dos polinmios de grau
menor ou igual a n, Pn . A existncia e unicidade do polinmio interpolador estabelecida no teorema
seguinte.
Teorema 3.2. Dado o conjunto de pontos (xi , f (xi )), i = 0, . . . , n, de abcissas distintas, o polinmio
n

Pn (x) = f (xi )`i (x)


i=0

o nico polinmio de grau menor ou igual a n que interpolador de f nos pontos xi , i = 0, . . . , n.


Demonstrao. Atendendo s propriedades dos polinmios de Lagrange, conclumos que Pn tem grau
menor ou igual a n e verifica Pn (xi ) = f (xi ), i = 0, . . . , n.
Provemos seguidamente a unicidade. Seja Q outro polinmio, de grau menor ou igual a n, que verifica
Q(xi ) = f (xi ), i = 0, . . . , n.
Denotemos por R a funo polinomial
R(x) = Pn (x) Q(x).
Esta funo tem grau menor ou igual a n e tem por zeros xi , i = 0, . . . , n. Logo R(x) = 0, x [a, b], pois
um polinmio de grau menor ou igual a n tem quando muito n zeros.


68

M ATEMTICA N UMRICA I

J. A. F ERREIRA , G. P ENA




Exemplo 3.1. Consideremos os pontos 0, 21 , 12 , 1 , 1, 14 e determinemos o polinmio que passa nos
pontos dados.
Temos




1
1
(x 1), `1 (x) = 4x(x 1), `2 (x) = 2x x
,
`0 (x) = 2 x
2
2
e portanto




1
1
1
(x 1) 4x(x 1) + x x
.
P2 (x) = x
2
2
2
Observao 3.1 No teorema anterior estabelecida a unicidade do polinmio interpolador. No entanto,
atendendo a que na sua construo utilizmos os polinmios de Lagrange, o polinmio interpolador Pn ,
por abuso de linguagem, chamado polinmio interpolador de Lagrange. Como veremos posteriormente,
outras designaes sero consideradas para o mesmo polinmio e que esto relacionadas com o processo
usado na sua construo.

A implementao do clculo do polinmio interpolador de Lagrange, pode ser feita recorrendo a duas funes: uma que calcule os polinmios de Lagrange (3.2.2) e outra que
implemente a frmula do Teorema 3.2:
Algoritmo 3.1 Polinmios de Lagrange
function [y] = polinomioLagrange(x,i,xPts)
y=ones(size(x));
for k=1:length(xPts)
if ( k 6= i )
y = y.*(xxPts(k))/(xPts(i)xPts(k));
end
end
return

Algoritmo 3.2 Polinmio interpolador de Lagrange


function [y] = polinomioInterpoladorLagrange(x,xPts,yPts)
y = zeros(size(x));
for k=1:length(xPts)
y = y + yPts(k)*polinomioLagrange(x,k,xPts);
end
return

Observamos que a varivel x, que contem as coordenadas dos pontos onde pretendemos calcular o polinmio interpolador de Lagrange, pode ser um vector ou uma matriz de coordenadas.

Vejamos seguidamente como estimar o erro que se comete ao aproximar f por Pn .

Matemtica Numrica I

J. A. Ferreira, G. Pena

69

Teorema 3.3. Seja f : [a, b] R tal que f Cn ([a, b]) e existe f (n+1) em (a, b). Em [a, b]
consideremos a partio (3.2.1), e seja Pn o polinmio interpolador de Lagrange de f nos n + 1
pontos xi , i = 0, . . . , n. Se x [a, b], ento existe (x) (a, b) tal que
f (x) Pn (x) =

f (n+1) ((x)) n
(x x j ).
(n + 1)!
j=0

(3.2.3)

Demonstrao. Seja x [a, b]. Se x = xi ento teorema est demonstrado. Se x 6= xi , i = 0, . . . , n,


consideremos a funo
n

t xj
, t [a, b].
j=0 x x j

g(t) = f (t) Pn (t) [ f (x) Pn (x)]


A funo g verifica

g(x) = 0, g(xi ) = 0, i = 0, . . . , n,
e portanto, g tem pelo menos n + 2 zeros. Assim, g(n+1) tem pelo menos um zero em (a, b), isto , existe
(x) (a, b) tal que g(n+1) ((x)) = 0. Temos ento
0 = f (n+1) ((x)) [ f (x) Pn (x)]

d n+1
dt n+1

1
nj=0 (x x j )

(t x j )
j=0

t=(x)

Da igualdade anterior vem


0= f (n+1) ((x)) [ f (x) Pn (x)]

(n + 1)!

,
nj=0 (x x j )

o que prova o pretendido.



Atendendo ao resultado anterior podemos determinar uma estimativa para o erro cometido ao substituir
a funo f pelo seu polinmio interpolador Pn num ponto do intervalo [a, b]. Se existe M > 0 tal que
(n+1)
f
(x) M, x [a, b],
ento

| f (x) Pn (x)|
Exemplo 3.2. Consideremos a funo f (x) = sin
xi
f (xi )

1
4

0
0

sin

n
M
|x x j |.

(n + 1)! j=0

2x

(3.2.4)


, x [0, 1] e os valores
1
2

2
2

3
4

sin


3
8

Com base na tabela anterior, determinemos os polinmios P2 e P4 . Estes polinmios admitem a representao

2
P2 (x) =
`1 (x) + `2 (x),
2

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

70
1

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

f
P2
pontos de interpolao

0
0

0.2

0.4

0.8

0.6

Figura 3.1: Grficos de f (x) = sin


interpolao usados.

2x

x(x 1)
,
`1 (x) = 1 1
2 2 1

em que

0.2

0.4

0.6

0.8

e P2 , esquerda, e P4 , direita, com os respectivos pontos de

em que

f
P4
pontos de interpolao

`2 (x) =

x x 21

1 1 12

,

 
 3 
2
P4 (x) = sin
`1 (x) +
`2 (x) + sin
`3 (x) + `4 (x),
8
2
8




x x 12 x 43 (x 1)
x x 41 x 43 (x 1)
 3
 , `2 (x) = 1 1 1  1 3  1
,
`1 (x) =
3 3
1

1
4 4
2
4
2 2
4
2
4
2





1
1
1
1
x x 4 x 2 (x 1)
x x 4 x 2 x 34
 , `4 (x) =


.
`3 (x) = 3 3 1 3 1  3
1 1 14 1 21 1 43
4(4 4) 4 2
4 1

Na Figura 3.1 ilustramos o comportamento de f e dos seus polinmios interpoladores P2 e P4 . Observamos


que o aumento do grau induz um aumento de preciso.
Exemplo 3.3. Consideremos a funo f (x) = ln(x), x [1, 2] e os valores
xi

1.5

f (xi )

ln(1.5)

ln(2)

Determinemos o polinmio interpolador de Lagrange de f nos pontos dados na tabela. Este polinmio,
para os dados anteriores, admite a representao
P2 (x) = 4 ln(1.5)(x 1)(x 2) + 2 ln(2)(x 1)(x 1.5).

Determinemos uma aproximao para ln 98 . Utilizando o polinmio anterior obtemos
9
9
ln
' P2
= 0.11241.
8
8

A estimativa (3.2.4) permite estabelecer


 
 9  2 21
9
ln

P
0.01368.
2
8
8 3! 83

Matemtica Numrica I

J. A. Ferreira, G. Pena

71

Podemos obter uma estimativa para o erro independente de x [a, b]. De facto, atendendo a que
|x x j | b a, j = 0, . . . , n, x [a, b],
vem, de (3.2.4),
k f Pn k

M
(b a)n+1 , x [a, b].
(n + 1)!

(3.2.5)

A estimativa do erro calculada usando esta desigualdade , de um modo geral, muito grosseira. Esta
desigualdade pode ser utilizada para determinar o polinmio interpolador que tenha, em qualquer ponto
do intervalo da partio, um erro inferior a uma quantidade estabelecida . De facto, basta determinar n
tal que
M
(b a)n+1 <
(3.2.6)
(n + 1)!
e, em seguida, considerar para o valor determinado n uma partio uniforme de espaamento h = (ba)/n.
Exemplo 3.4. Consideremos novamente f (x) = ln(x), x [1, 2] e determinemos qual deve ser o menor
grau do polinmio interpolador para que o erro cometido ao aproximar f por esse polinmio seja inferior
a 102 .
Atendendo a que
(n 1)!
f (n) (x) = (1)n+1
xn
para n N, de (3.2.6) vem
1
| ln(x) Pn (x)|
, x [1, 2].
(n + 1)
Assim, o valor de n pretendido 100.
Vejamos seguidamente como determinar uma estimativa para o erro em funo de
h = max (xi xi1 ).
i=1,...,n

Provemos que

n


hn+1 n!

max (x x j )
.
4
x[a,b] j=0

Para n = 1 temos

(3.2.7)

g(x) = |(x x0 )(x x1 )| = (x x0 )(x x1 ), x [a, b],

e esta funo tem um mximo em x =




x0 + x1
g
2

x0 +x1
2

cujo valor




x0 + x1
h2
x
+
x
0
1
=
x0
x1 .
2
2
4

Suponhamos a veracidade da desigualdade (3.2.7) para n e provemos a sua veracidade para n + 1, isto ,

n+1

hn+2 (n + 1)!
max (x x j )
,
(3.2.8)
4
x[a,b] j=0
em que x0 = a e xn+1 = b. Notemos que se x [a, b], ento x [a, xn ] ou x [xn , b]. Consideremos
x [a, xn ]. Atendendo a
n+1
n




(x x j ) = (x x j ) |x b|,
(3.2.9)



j=0

j=0

72

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I
n

n+1


(x x j ) h n!


4
j=0

|x b| (n + 1)h, x [a, b],

conclumos o pretendido.
Quando x [xn , b], em vez de (3.2.9), devemos considerar


n+1

n+1


(x x j ) = |(x a)|| (x x j ) |,
j=0

j=1
e a demostrao de (3.2.8) anloga anterior.
Provmos o seguinte corolrio:

Corolrio 3.1. Seja f : [a, b] R tal que f Cn ([a, b]), existe f (n+1) em (a, b) e existe M que
verifica
(n+1)
f
(x) M, x [a, b].

Em [a, b] consideremos a partio (3.2.1), e seja Pn o polinmio interpolador de Lagrange de f


nos n + 1 pontos xi , i = 0, . . . , n. Ento
k f Pn k

M
hn+1 , x [a, b],
4(n + 1)

(3.2.10)

em que h = max (xi xi1 ).


i=1,...,n

Particularizemos este corolrio ao caso em que a partio uniforme. Estabelecemos facilmente o


seguinte resultado.

Corolrio 3.2. Seja f : [a, b] R tal que f Cn ([a, b]), existe f (n+1) em (a, b) e existe M que
verifica
(n+1)
f
(x) M, x [a, b].

Em [a, b] consideremos a partio uniforme (3.2.1), em que xi xi1 = ba


n , i = 1, . . . , n, e seja
Pn o polinmio interpolador de Lagrange de f nos n + 1 pontos xi , i = 0, . . . , n. Ento
k f Pn k

M
(b a)n+1 , x [a, b].
4(n + 1)nn+1

(3.2.11)

O corolrio anterior permite calcular


1. o erro cometido ao substituir f pelo seu polinmio interpolador em qualquer ponto de [a, b],
2. o polinmio interpolador de Lagrange que aproxima f em qualquer ponto do intervalo [a, b] com
um erro inferior a .
No exemplo anterior considermos a desigualdade (3.2.5) e determinmos n = 100. Usando (3.2.11)
para resolver o problema apresentado naquele exemplo obtemos n = 3.

Matemtica Numrica I

J. A. Ferreira, G. Pena

3.3

73

Polinmio interpolador de Newton

A expresso do polinmio interpolador foi obtida considerando os polinmio de Lagrange `i (x),


i = 0, . . . , n, definidos sobre a partio {xi , i = 0, . . . , n}. A determinao do polinmio interpolador de
uma funo usando as funes `i exige um grande esforo computacional e no permite obter o polinmio
interpolador de grau n a partir do conhecimento do polinmio interpolador de grau n 1. Estes dois
factores levam-nos a considerar outro modo de obter o polinmio interpolador.
Consideremos uma funo f definida num intervalo [a, b] onde consideramos a partio (3.2.1).
Seja Pn o polinmio interpolador de Lagrange para f relativamente a esta partio, ou seja, nos pontos
xi , i = 0, . . . , n, considerados em [a, b]. Este polinmio tem grau menor ou igual a n e, portanto, pertence
ao espao Pn - espao dos polinmmios de grau menor ou igual a n. Neste espao consideremos as
funes
0 (x) = 1,

j1

j (x) = (x xi ), j = 1, . . . , n.
i=0

O conjunto { j (x), j = 0, . . . , n} constitui uma base do espao Pn . Logo existem constantes a j ,


j = 0, . . . , n, tais que o polinmio interpolador de Lagrange dado por
Pn (x) =

a j j (x).

j=0

Determinemos os coeficientes da combinao linear anterior. Atendendo a que Pn (x0 ) = f (x0 ) vem
a0 = f (x0 ). Considerando esta constante em Pn (x) obtemos
n

Pn (x) = f (x0 ) + a j j (x).


j=1

Atendendo a que Pn (x1 ) = f (x1 ), vem


a1 =

f (x1 ) f (x0 )
x1 x0

que denotamos por f [x0 , x1 ] e chamamos diferena dividida de primeira ordem.


Substituindo em Pn (x) e atendendo a que Pn (x2 ) = f (x2 ), deduzimos
a2 =

f (x2 ) f (x0 ) f [x0 , x1 ](x2 x0 )


f [x2 , x1 ] f [x1 , x0 ]
=
(x2 x0 )(x2 x1 )
x2 x0

que denotamos por f [x0 , x1 , x2 ].


Podemos deste modo obter um processo recursivo para a determinao dos coeficientes do polinmio
Pn .
Seja ento
f (xi+1 ) f (xi )
.
f [xi , xi+1 ] =
xi+1 xi

A diferena dividida de ordem k 2 definida em funo das diferenas divididas de ordem k 1 por
f [xi , xi+1 , . . . , xi+k+1 ] =

f [xi+1 , . . . , xi+k+1 ] f [xi , . . . , xi+k ]


, k N.
xi+k+1 xi

Atendendo s consideraes anteriores vem


a j = f [x0 , . . . , x j ], j = 1, . . . , n.

74

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I
Substituindo na expresso de Pn (x), obtemos
n

j1

j=1

i=0

Pn (x) = f (x0 ) + f [x0 , . . . , x j ] (x xi ).

(3.3.1)

O polinmio interpolador determinado designado polinmio interpolador de Newton.


Notemos que, uma vez determinado Pn e pretendermos obter Pn+1 , basta fazer
n

Pn+1 (x) = Pn (x) + f [x0 , . . . , xn+1 ] (x xi ).


i=0

A determinao dos coeficientes do polinmio interpolador de Newton pode ser feita organizando os
clculos numa tabela - tabela de diferenas divididas. A tabela seguinte apresenta os referidos coeficientes
para o caso n = 3.
xi

f (xi )

x0

f (x0 )

x1

f (x1 )

x2

f (x2 )

x3

f (x3 )

f [, ]

f [, , ]

f (x1 ) f (x0 )
x1 x0

f [, , , ]

f [x1 ,x2 ] f [x0 ,x1 ]


x2 x0

f (x2 ) f (x1 )
x2 x1

f [x0 , ., ., x3 ]

f [x2 ,x3 ] f [x1 ,x2 ]


x3 x1

f (x3 ) f (x2 )
x3 x2

Exemplo 3.5. Consideremos uma funo da qual se conhecem os valores dados no seguinte quadro
xi

5
4

3
2

5
2

f (xi )

Determinemos, utilizando diferenas divididas, o polinmio interpolador de f nos pontos xi , i = 0, 1, 2, 3.


Atendendo a que com os dados anteriores obtemos a tabela de diferenas divididas
xi

f (xi )

5
4

3
2

5
2

f [, ]

f [, , ]

f [, , , ]

f [, , , , ]

4
8
8
2
4

8
6

16
8
5

176
15

o polinmio interpolador pretendido tem a seguinte expresso







5
5
3
P4 (x) = 1 + 4(x 1) + 8(x 1) x
16(x 1) x
x
+
4
4
2



176
5
3
+
(x 1) x
x
(x 2).
15
4
2

J. A. Ferreira, G. Pena

Matemtica Numrica I

75

Novamente, semelhana do que foi feito para o polinmio interpolador de Lagrange,


podemos dividir o clculo do polinmio interpolador de Newton em duas partes: o clculo as
diferenas divididas intervenientes na frmula e o clculo do polinmio segundo a frmula
(3.3.1). As diferenas divididas podem ser calculadas usando a seguinte funo
Algoritmo 3.3 Clculo das diferenas divididas f [x0 , . . . , xn ]
function [diferencas] = diferencasDivididas(xPts,yPts)
A=zeros(length(xPts),length(xPts));
A(:,1) = yPts;
for col=2:length(xPts)
for linha=1:length(xPts)(col1)
A(linha,col) = (A(linha+1,col1) ...
A(linha,col1))/(xPts(linha+col1) xPts(linha));
end
end
diferencas = A(1,:);
return

Uma vez determinados os coeficientes a j , j = 0 . . . , n necessrios para calcular o polinmio


interpolador de Newton, a determinao do valor deste polinmio num vector (ou matriz) de
coordenadas x feito com o seguinte algoritmo:
Algoritmo 3.4 Clculo do polinmio interpolador de Newton
function [y] = polinomioInterpoladorNewton(x,xPts,yPts)
diferencas = diferencasDivididas(xPts,yPts);
y = diferencas(1)*ones(size(x));
aux=ones(size(x));
for k=2:length(xPts)
aux = aux.*(xxPts(k1));
y = y + diferencas(k)*aux;
end
return

Observamos que a funo diferencasDivididas poderia ser modificada para guardar


todas as diferenas divididas nela calculadas. Caso pretendessemos acrescentar um ponto de
interpolao, a nova funo poderia devolver os coeficientes para o polinmio interpolador
de Newton que contabiliza o novo ponto de interpolao, sem recalcular todas as entradas da
matriz A.

A diferena dividida de ordem n e a derivada de ordem n + 1 esto intrinsecamente relacionadas como


estabelecemos no resultado seguinte.

76

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Teorema 3.4. Em [a, b] consideremos a partio (3.2.1). Se f : [a, b] R tal que f Cn ([a, b])
e existe f (n+1) em (a, b), ento existe (a, b) tal que
f [x0 , . . . , xn ]n! = f (n) ().

(3.3.2)

Demonstrao. Seja Pn o polinmio interpolador de f em xi , i = 0, . . . , n. Atendendo a que e(x) =


f (x) Pn (x) tem pelo menos n + 1 zeros em [a, b], ento e(n) tem pelo menos um zero em (a, b), isto ,
existe (a, b) tal que se tem sucessivamente
0 = e(n) ()
(n)

= f (n) () Pn ()

= f (n) () f [x0 , . . . , xn ]n!

que prova o pretendido.



Seja Pn o polinmio interpolador de f em xi , i = 0, . . . , n, em que f (xi ) < f (xi+1 ), i = 0, . . . , n 1.
Seja y ( f (x0 ), f (xn )). Pretendemos determinar x [a, b] tal que y = f (x ). O problema anterior,
usualmente designado por problema inverso, pode ser resolvido, pelo menos de modo aproximado,
utilizando a teoria de interpolao. De facto, pretendemos x tal que x = f 1 (y ). Seja Gn o polinmio
interpolador para os seguintes dados

yi , f 1 (yi ) , i = 0, . . . , n.
Ento Gn (y ) constitui uma aproximao para f 1 (y ), ou seja para x .
Exemplo 3.6. Consideremos a seguinte tabela
xi

1
4

1
2

2
2

3
4


3

f (xi ) 0 sin 8
sin 8
1

que diz respeito a f (x) = sin 2 x , x [0, 1]. Pretendemos determinar x (0, 1) tal que f (x ) = 0.95.
A tabela seguinte
yi

xi

sin
1
4

2
2
1
2

sin

3
8
3
4

1
1

permite construir o polinmio




y y 22 y sin 3
(y 1)
8







2

sin 8 sin 3
sin 8 1
8 sin 8 2
8


y y sin 8
y sin 3
(y 1)
1
8

+



2
2
3
2 2 2 sin

sin
2
2
8
2
8
2 1


y y sin 8
y 22 (y 1)
3
+



 2 


3
3
4 sin 3 sin 3 sin
sin

sin

1
8
8
8
8
2
8



y y sin 8
y 22 y sin 3
8

+

 .
2

3
1 sin 8
1 2 1 sin 8

1
P4 (y) =
4 sin

(3.3.3)

Matemtica Numrica I

J. A. Ferreira, G. Pena

77

Atendendo a que P4 (0.95) = 0.8211, obtemos x ' 0.8211. Notamos que f (0.8211) = 0.960774. Na
Figura 3.2 ilustramos o comportamento de P4 bem como da funo inversa
f 1 (y) =

2
arcsin(y), y [0, 1].

(3.3.4)

f 1
P4
pontos de interpolao

1
0.8
0.6
0.4
0.2
0
0

0.2

0.4

0.6

0.8

Figura 3.2: Grficos de P4 , definido por (3.3.3), e de f 1 (y), definida por (3.3.4).
Vimos dois processos diferentes de determinar o polinmio interpolador:
1. utilizao dos polinmios de Lagrange,
2. utilizao das diferenas divididas.
No entanto, quando os pontos da partio so igualmente distanciados, isto , xi xi1 = h, i = 1, . . . , n, a
construo do polinmio interpolador pode ser feita usando um processo mais simples e mais eficiente
recorrendo s chamadas diferenas progressivas.
Definio 3.1. Seja h > 0 uma quantidade fixa e f uma funo definida em x e x + h. Chamamos
diferena progressiva de primeira ordem de f em x a
f (x) = f (x + h) f (x).
Se f definida em x + ih, i = 0, . . . , n, a n1 ( f (x)) chamamos diferena progressiva de ordem
n 2 de f em x e esta diferena progressiva denotada por n f (x).
A diferena progressiva de primeira ordem de f em x est relacionada com a diferena dividida
f [x, x + h]. De facto, temos
f (x)
.
f [x, x + h] =
h
Mais geralmente, vale a igualdade
f [x0 , x1 , . . . , xn ] =

n f (x0 )
,
n!hn

78

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

em que xi = xi1 + h, i = 1, . . . , n.
Atendendo igualdade anterior, o polinmio interpolador de f em xi , i = 0, . . . , n, xi = xi1 + h, i =
1, . . . , n, pode ser escrito na forma
j f (x0 ) j1
(x xi ).
j
j=1 h j! i=0
n

Pn (x) = f (x0 ) +

A finalizar, observamos que o clculo das diferenas progressivas pode ser organizado num quadro anlogo
ao construdo para as diferenas divididas.

Relativamente implementao do clculo do polinmio anteriormente definido com diferenas progressivas, observamos que os Algoritmos 3.3 e 3.4 podem ser facilmente adaptados a
este caso.

Para determinar o polinmio interpolador para uma funo f definida num intervalo [a, b] coloca-se a
questo de como escolher a partio no intervalo. Ser que podemos escolher a partio de uma forma
arbitrria ou a escolha dos pontos da partio tem influncia no erro cometido?
Consideremos a funo de Runge
f (x) =
e as parties

1
, x [1, 1],
1 + 25x2

(3.3.5)

3 1 1 1 1 3
1, , , , 0, , , , 1,
4 2 4 4 2 4

7 5 1 1 5 7
1, , , , 0, , , , 1.
8 8 2 2 8 8
f

P8

pontos de interpolao

1
0.8

0.5

0.6

0.4
0.5

0.2

0
1

0.5

0.5

0.5

0.5

Figura 3.3: Grficos da funo de Runge (3.3.5) e P8 (esquerda) e grfico do erro E8 (direita).

Matemtica Numrica I

J. A. Ferreira, G. Pena

79

Sejam P8 e P8 os polinmios interpoladores de f para os dois conjuntos de pontos anteriores e


denotemos por E8 e E8 os erros seguintes
E8 (x) = | f (x) P8 (x)|, x [1, 1],

E8 (x) = | f (x) P8 (x)|, x [1, 1].

Os comportamentos de P8 , E8 e de P8 , E8 so ilustrados nas Figuras 3.3 e 3.4, respectivamente.


P8

pontos de interpolao

0.25

0.8

0.2

0.6

0.15

0.4

0.1

0.2

5 102

0
1

0.5

0.5

0.5

0.5

Figura 3.4: Grficos da funo de Runge (3.3.5) e P8 (esquerda) e grfico do erro E8 (direita)
Podemos facilmente verificar que o mximo do valor absoluto do erro inferior quando os pontos da
partio so considerados prximos das extremidades do intervalo. Assim, para este caso, a escolha dos
pontos influncia o erro.

3.4

Polinmio interpolador de Lagrange segmentado

Consideremos uma funo f definida num intervalo [a, b] onde est definida uma partio uniforme
com n + 1 pontos (3.2.1). Seja Pn o polinmio interpolador de Lagrange. Provmos que se existe uma
constante positiva M tal que
(n+1)
f
(x) M, x [a, b],
ento

| f (x) Pn (x)| M
Atendendo a que

(b a)n+1
, x [a, b].
4(n + 1)n(n+1)

(b a)n+1
= 0,
n+ 4(n + 1)n(n+1)
lim

conclumos que
| f (x) Pn (x)| 0,

n +, x [a, b].

Assim, para certas funes, o aumento do grau do polinmio implica um aumento de preciso.
No entanto existem funes para as quais no podemos concluir que a um aumento do grau do
polinmio interpolador corresponda um aumento da proximidade entre o polinmio interpolador e a
funo interpolada, isto , uma diminuio do erro | f (x) Pn (x)| em [a, b]. Um exemplo de uma funo

80

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

que ilustra a situao anterior a conhecida funo de Runge (3.3.5). De facto, consideremos para a
funo (3.3.5) o polinmio interpolador de Lagrange de grau 4 - P4 (x) - para a partio
1 1
1, , 0, , 1,
2 2
e seja
E4 (x) = | f (x) P4 (x)|, x [1, 1].

Seja ainda P8 o polinmio interpolador de Lagrange para a funo de Runge (3.3.5) e para a partio
3 1 1 1 1 3
1, , , , 0, , , , 1
4 2 4 4 2 4
e
E8 (x) = | f (x) P8 (x)|, x [1, 1].

Na Figura 3.5 ilustramos o comportamento das funes E4 e E8 .


E4

E8

1
0.8
0.6
0.4
0.2
0
1

0.5

0.5

Figura 3.5: Grficos das funes E4 e E8 .


Observamos que se tem
max E8 (x) > max E4 (x).

x[1,1]

x[1,1]

A construo de um polinmio interpolador que aproxime a funo de Runge (3.3.5) com erro
inferior ao dos polinmios P4 e P8 conseguida com polinmios de grau inferior a 4. Assim, considerando
os pontos 1, 21 , 0, e 0, 12 , 1, e a decomposio de [1, 1] nos subintervalos [1, 0] e [0, 1], podemos
facilmente obter os polinmios interpoladores de Lagrange de grau 2, s(1) e s(2) para a funo de Runge
(3.3.5) e para os intervalos definidos. Seja
 (1)
s (x) x [1, 0]
s(x) =
(3.4.1)
s(2) (x) x ]0, 1].
Esta funo um polinmio de grau 2, interpolador da funo de Runge (3.3.5) nos pontos 1, 21 , 0,
1
2 e 1.

Matemtica Numrica I

J. A. Ferreira, G. Pena

81

O polinmio s definido por (3.4.1) um polinmio interpolador da funo f para a partio considerada
mas diferente do polinmio de Lagrange anteriormente estudado. Para realar a diferena existente entre
estes polinmios vamos adoptar a designao polinmio interpolador de Lagrange segmentado. Na Figura
3.6 ilustramos o comportamento do polinmio s e da funo de Runge (3.3.5). A comparao entre o
comportamento do erro do polinmio interpolador segmentado de grau 2 e do polinmio interpolador de
grau 4 para os pontos 1, 21 , 0, 21 , 1, apresentada na Figura 3.7.
f

pontos de interpolao

1
0.8
0.6
0.4
0.2
0
1

0.5

0.5

Figura 3.6: Grficos da funo de Runge (3.3.5) e de s.

E2s

E4

0.4
0.3
0.2
0.1
0
1

0.5

0.5

Figura 3.7: Grficos do erro associado ao polinmio interpolador segmentado de grau 2, E2s , e ao polinmio
interpolador de grau 4, E4 , para os pontos 1, 12 , 0, 12 , 1.

82

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Definio 3.2. Seja f uma funo definida num intervalo [a, b] onde consideramos a partio (3.2.1).
Se n divisvel por m, ento chamamos polinmio interpolador de Lagrange segmentado, de grau
m, ao polinmio
(1)
s (x)
x [x0 , xm ],

(2)

s (x)
x ]xm , x2m ],

..

.
s(x) =
(
j)

s (x)
x ]x( j1)m , x jm ],

..

(q)
s (x)
x ]xnm , xn ],
em que n = mq, e, para i = 1, . . . , q, s(i) o polinmio interpolador de Lagrange de grau m para f em
[x(i1)m , xim ] considerando a partio
x(i1)m < x(i1)m+1 < < xim .
Para construir cada um dos ramos do polinmio s podemos usar um dos processos introduzidos:
utilizao dos polinmios de Lagrange ou a utilizao das diferenas divididas. Neste caso podemos
definir, de modo anlogo ao anterior, o polinmio interpolador de Newton segmentado.
Exemplo 3.7. Determinemos o polinmio interpolador segmentado quadrtico para uma funo f
definida no intervalo [a, b] para a partio
a = x0 < x1 < x2 < < x6 = b.
Temos, utilizando as funes de Lagrange,

0 )(xx2 )
0 )(xx1 )
1 )(xx2 )

f (a) (x(xx
+ f (x1 ) (x(xx
+ f (x2 ) (x(xx

x
)(x
x
)
x
)(x
x
)
x
)(x2 x1 )

0
1
0
2
1
0
1
2
2
0

(xx3 )(xx4 )
(xx2 )(xx4 )
(xx2 )(xx3 )
f (x2 ) (x2 x3 )(x2 x4 ) + f (x3 ) (x3 x2 )(x3 x4 ) + f (x4 ) (x4 x2 )(x4 x3 )
s(x) =

f (x4 ) (xx5 )(xx6 ) + f (x5 ) (xx4 )(xx6 ) + f (b) (xx4 )(xx5 )


(x4 x5 )(x4 x6 )
(x5 x4 )(x5 x6 )
(bx4 )(bx5 )

x [a, x2 ],

x ]x2 , x4 ],
x ]x4 , b],

e, utilizando as diferenas divididas,

x [a, x2 ],

f (a) + f [a, x1 ](x a) + f [a, x1 , x2 ](x a)(x x1 )


f (x2 ) + f [x2 , x3 ](x x2 ) + f [x2 , x3 , x4 ](x x2 )(x x3 ) x ]x2 , x4 ],
s(x) =

f (x4 ) + f [x4 , x5 ](x x4 ) + f [x4 , x5 , x6 ](x x4 )(x x5 ) x ]x4 , b].

Seja f : [a, b] R uma funo da qual se conhece f (xi ), i = 0, . . . , n, em que {xi , i = 0, . . . , n} satsifaz
(3.2.1). Seja s o polinmio interpolador de Lagrange segmentado de grau m, isto , para i = 1, . . . , q, e
x [x(i1)m , xim ], s(x) dado por
s(x) = s(i) (x),

em que s(i) denota o polinmio interpolador de Lagrange de grau m nos pontos x j , j = (i 1)m, . . . , im.
Se x [x(i1)m , xim ], ento
f (x) s(x) = f (x) s(i) (x)
=

f (m+1) ((x))
(m + 1)!

im

(x x j ).

j=(i1)m

Matemtica Numrica I

J. A. Ferreira, G. Pena

83

Assim, se existir M > 0 tal que


| f (m+1) (x)| M, x [x(i1)m , xim ], i = 1, . . . , q
deduzimos
| f (x) s(x)|

M
(m + 1)!

im

j=(i1)m

|(x x j )|.

A partir da desigualdade anterior conclumos vrias estimativas para o erro do polinmio interpolador de
Lagrange segmentado de grau m:

m
M
max (x jm x( j1)m ) ,
1. k f sk
(m + 1)! j=1,...,q
2. k f sk

M
hm+1 ,
4(m + 1)

3. k f sk

M
(b a)m+1 , se a partio uniforme.
4(m + 1)nm+1

h = max (xi xi1 ),


i=1,...,n

Exemplo 3.8. Consideremos a funo f (x) = sin(x), x [ 12 , 32 ], e, neste intervalo, a partio 12 , 34 , 1, 54 , 32 .


Determinemos o polinmio interpolador segmentado quadrtico de f nos pontos dados, uma aproximao
para f ( 78 ) e uma estimativa para o erro da aproximao.
O polinmio pretendido
s(x) =
em que

s(1) (x),
s(2) (x),

x [ 21 , 1],
x ]1, 32 ],





  x 3 (x 1)
 3  x 1 (x 1)
 x 12 x 34
1
4
2
 3

, x ,1
 + sin
 + sin
s (x) = sin
3
1
2 12 43 12 1
4
2
1 12 1 34
42
4 1
(1)

s (x) = sin
(2)

Ento

 (x 45 )(x 32 )

(1 54 )(1 32 )
' s(1)

7

2
( 45 1)( 54 23 )

e, para x = 78 , vem

Usando agora (3.2.5), obtemos

=8

7

+ sin

 3  (x 1)(x 5 )
2

4
,
( 23 1)( 32 54 )



3
x 1, .
2



 7 1  7
3  7
1 8 2
1 .
8
8
8 4 8
8 2 8
Podemos agora determinar uma estimativa para o erro da aproximao obtida. Usando (3.2.4)
obtemos





1
3 
1 
3
(1)

| f (x) s (x)| x
x (x 1) , x , 1 ,
3!
2
4
2
f

7

+ sin

 5  (x 1)(x 3 )

   
7
7 3
f
8 s 8 210 .
(1))

| f (x) s



3
1
(x)|
, x ,1 .
768
2

(3.4.2)

(3.4.3)

Observamos que a estimativa para o erro (3.4.3) mais grosseira do que a estimativa (3.4.2), e
ainda que a estimativa (3.4.3) vlida para x [1, 32 ] pois que | f 000 (x)| 3 , x [1, 23 ].

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

84

3.5

Polinmio interpolador de Hermite

Em muitas questes prticas conhecida uma funo num conjunto de pontos e ainda o coeficiente
angular da tangente ao grfico da funo nesses pontos. Nestas circunstncias, para aproximar a funo
f , determinamos um polinmio que coincida com f nos pontos dados e cujo grfico tenha nos nodos de
interpolao tangente com o coeficiente angular dado. Mais especificamente, coloca-se o problema:
Seja f definida no intervalo [a, b]. Suponha que so conhecidos f e f 0 nos pontos da
partio (3.2.1). Pretendemos determinar um polinmio H(x) tal que
H(xi ) = f (xi ), H 0 (xi ) = f 0 (xi ), i = 0, . . . , n.

(3.5.1)

O polinmio a determinar, interpolador para f e para a sua derivada, deve verificar as 2n + 2 condies
(3.5.1). Logo, se existir tal polinmio, este deve ter grau inferior ou igual a 2n + 1. No resultado que
apresentamos seguidamente estabelecemos a existncia e unicidade do polinmio que verifica (3.5.1).
Teorema 3.5. Seja f uma funo definida num intervalo [a, b] onde consideramos a partio
(3.2.1). Dados f (xi ), f 0 (xi ), i = 0, . . . , n, existe um nico polinmio que denotamos por H2n+1 , de
grau menor ou igual a 2n + 1, que verifica (3.5.1)

Demonstrao. Provemos a unicidade. Sejam F e G dois polinmios que verificam as condies (3.5.1)
e seja R o polinmio seguinte
R(x) = F(x) G(x), x [a, b].
Este polinmio tem grau inferior ou igual a 2n + 1 e verifica a

R(xi ) = R0 (xi ) = 0, i = 0, . . . , n.
Ento R tem pelo menos 2n + 2 zeros reais. Logo R o polinmio nulo. Conclumos que se existir um
polinmio que verifica (3.5.1) ento este polinmio nico.
Provemos a existncia. Atendendo s condies consideradas, o polinmio, a existir, pertence ao
espao P2n+1 dos polinmios de grau menor ou igual a 2n + 1. Consideremos os polinmios de Lagrange
xxj
, i = 0, . . . , n.
x
j6=i i x j

`i (x) =

Definamos as seguintes 2n + 2 funes polinomiais hi e hi


hi (x) = [1 2`0i (xi )(x xi )]`i (x)2 ,

hi (x) = (x xi )`i (x)2 , i = 0, . . . , n.

As funes anteriores so polinmios de grau menor ou igual a 2n + 1 e satisfazem as condies:


hi (x j ) = i j ,
hi (x j ) = 0,

i, j = 0, . . . , n,
i, j = 0, . . . , n,

h0i (x j ) = 0,
0
hi (x j ) = i j ,

i, j = 0, . . . , n,
i, j = 0, . . . , n.

Atendendo s condies anteriores, fcil demonstrar que {hi , hi , i = 0, . . . , n} uma base de P2n+1 .
Assim, a existir o polinmio H2n+1 , este admite a representao
n

i=0

i=0

H2n+1 (x) = Ci hi (x) + Ci hi (x).

Matemtica Numrica I

J. A. Ferreira, G. Pena

85

com Ci ,Ci R, = 0, . . . , n.
Observamos que provar a existncia de H2n+1 equivalente a provar a existncia de Ci ,Ci , i = 0, . . . , n,
tais que H2n+1 verifica (3.5.1). Atendendo a que H2n+1 (xi ) = f (xi ), obtemos Ci = f (xi ), i = 0, . . . , n.
0
Por outro lado, de H2n+1
(xi ) = f 0 (xi ), vem Ci = f 0 (xi ), i = 0, . . . , n. Finalmente, obtemos a expresso de
H2n+1
n

i=0

i=0

H2n+1 (x) = f (xi )hi (x) + f 0 (xi )hi (x).

(3.5.2)


O polinmio anterior chamado polinmio interpolador de Hermite de f nos pontos xi , i = 0, . . . , n.


Exemplo 3.9. Consideremos a tabela
xi

f (xi )
f 0 (xi )

1
2

2
2
2
2 2

1
1
0

O polinmio interpolador de Hermite, para os dados anteriores, admite a representao

2
H5 (x) = 2(x 1)2 x 12 x + 8 2(x 1)2 x2 +


2
+4 2(x 1)2 x 12 x2 + 4(1 6(x 1)) x 12 x2 .

Atendendo a que a tabela anterior diz respeito funo f (x) = sin( x


2 ), na Figura 3.8 ilustramos o
comportamento do polinmio de Hermite de grau 5 e da sua derivada.
H5

f0

pontos de interpolao

H50

pontos de interpolao

1.5

0.8
1

0.6
0.4

0.5

0.2
0

0
0

0.2

0.4

0.6

0.8

0.2

0.4

0.6

0.8

Figura 3.8: Grficos de f (x) = sin( x


2 ) e H5 (esquerda) e das suas derivadas (direita).
Vamos seguidamente utilizar diferenas divididas para construir o polinmio interpolador de Hermite.
Na construo do polinmio interpolador de Hermite de grau 2n + 1 consideramos as funes
hi (x), hi (x), i = 0, . . . , n, que constituem uma base de P2n+1 . O polinmio anterior pode ser construdo
utilizando outra base para o espao referido.

86

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I
Consideremos as funes
0 (x) = 1,
1 (x) = (x x0 ),

2 (x) = (x x0 )2 ,

3 (x) = (x x0 )2 (x x1 ),
..
.

(3.5.3)

2n+1 (x) = (x x0 )2 (x xn1 )2 (x xn ).

Estas funes so linearmente independentes. Logo H2n+1 admite a representao


H2n+1 (x) =

2n+1

A j j (x).

j=0

Determinemos as constantes Ai , i = 0, . . . , 2n + 1. Uma vez que H2n+1 (x0 ) = f (x0 ), obtemos


A0 = f (x0 ).
0
Por outro lado, atendendo a que H2n+1
(x0 ) = f 0 (x0 ), deduzimos

A1 = f 0 (x0 )
que representamos por
f [x0 , x0 ].
Substituindo as constantes determinadas em H2n+1 e considerando as condies para x = x1 , vem
A2 = f [x0 , x0 , x1 ]
e
A3 = f [x0 , x0 , x1 , x1 ].
Repetindo o processo anterior, obtemos os restantes coeficientes Ai , i = 4, . . . , 2n + 1 e, deste modo,
estabelecemos para H2n+1 (x) a expresso
H2n+1 (x) = f (x0 ) + f 0 (x0 )(x x0 ) + f [x0 , x0 , x1 ](x x0 )2
+ f [x0 , x0 , x1 , x1 ](x x0 )2 (x x1 )
++

+ f [x0 , x0 , . . . , xn , xn ](x x0 )2 (x xn1 )2 (x xn ).

(3.5.4)

O polinmio interpolador de Hermite H2n+1 pode ser determinado utilizando a tabela das diferenas
divididas como veremos seguidamente. Consideremos a mudana de varivel
y0 = x0 , y1 = x0 , y2 = x1 , y3 = x1 , . . . , y2n = xn , y2n+1 = xn ,
e seja g tal que

g(y0 ) = f (x0 ),
g(y1 ) = f (x0 ),
g(y2 ) = f (x1 ),
g(y3 ) = f (x1 ),
..
.
g(y2n ) = f (xn ),
g(y2n+1 ) = f (xn ).

Matemtica Numrica I

J. A. Ferreira, G. Pena

87

Podemos ento definir o polinmio


H(x) = g(y0 ) + g[y0 , y1 ](x x0 ) + g[y0 , y1 , y2 ](x x0 )2
+ g[y0 , y1 , y2 , y3 ](x x0 )2 (x x1 )+
++

+ g[y0 , y1 , . . . , y2n+1 ](x x0 )2 (x x1 )2 (x xn1 )2 (x xn )


onde

g[y0 , y1 ] = f [x0 , x0 ],
g[y0 , y1 , y2 ] = f [x0 , x0 , x1 ],
..
.

(3.5.5)

g[y0 , y1 , . . . , y2n , y2n+1 ] = f [x0 , x0 , . . . , xn , xn ],


As constantes (3.5.5) podem ser determinadas utilizando a tabela das diferenas divididas para g.
2

Exemplo 3.10. Determinemos o polinmio de Hermite de menor grau que interpolador de f (x) = ex ,
x [1, 1].
Consideremos (3.5.4) com n = 1 e a tabela seguinte
xi

f (xi )

f 0 (xi )

1
1

e1
e1

2e1
2e1

Com os dados anteriores construimos a seguinte tabela de diferenas divididas


xi

f (xi )

x0

f (x0 )

x0

f (x0 )

x1

f (x1 )

x1

f (x1 )

f [, ]

f [, , ]

f 0 (x0 )

f [x0 , x0 , x1 ]

f [x0 , x1 ]

f [x0 , x1 , x1 ]

f 0 (x1 )

f [, , , ]

f [x0 , x0 , x1 , x1 ]

que, para o caso particular deste exemplo, toma a forma


xi

f (xi )

e1

e1

e1

e1

f [, ]
2e1
0
2e1

f [, , ]
e1

f [, , , ]

e1

e portanto
H3 (x) = e1 + 2e1 (x + 1) e1 (x + 1)2 , x [1, 1].

88

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

A construo de um polinmio interpolador H que verifique outras restries de regularidade para as


derivadas, alm de H 0 (xi ) = f 0 (xi ), i = 0, . . . , n, feita de modo anlogo construo do polinmio de
Hermite usando diferenas divididas. O exemplo seguinte ilustra o procedimento a seguir para um caso
especfico.
Exemplo 3.11. Seja f uma funo definida num intervalo [a, b] e suponha dada a tabela
xi

x0

x1

f (xi )
f 0 (xi )
f 00 (xi )

f (x0 )
f 0 (x0 )
f 00 (x0 )

f (x1 )
f 0 (x1 )

Determinar o polinmio interpolador H(x) que verifique


H(xi ) = f (xi ), H 0 (xi ) = f 0 (xi ), i = 0, 1, H 00 (x0 ) = f 00 (x0 ).
O polinmio H(x), a existir, vai pertencer ao espao P4 . Consideremos neste espao as funes
seguintes
0 (x) = 1,
1 (x) = (x x0 ),

2 (x) = (x x0 )2 ,

(3.5.6)

3 (x) = (x x0 ) ,

4 (x) = (x x0 )3 (x x1 ).

O conjunto {, i = 0, . . . , 4} uma base de P4 e portanto


H(x) =

A j (x).

j=0

Determinemos as constantes A j , j = 0, . . . , 4, utilizando as condies impostas a este polinmio: Atendendo a que H(x0 ) = f (x0 ), vem A0 = f (x0 ). Por outro lado, atendendo a que H 0 (x0 ) = f 0 (x0 ), obtemos
A1 = f [x0 , x0 ], que, tal como anteriormente, denotamos por f [x0 , x0 ]. Mais ainda, atendendo a que
00
0)
H 00 (x0 ) = f 00 (x0 ), vem A2 = f (x
que representamos por f [x0 , x0 , x0 ]. De H(x1 ) = f (x1 ), obtemos
2
A3 = f [x0 , x0 , x0 , x1 ].
Considerando agora
A4 =
ou seja,

H 0 (x1 )

f 0 (x1 ),

vem

f 0 (x1 ) f [x0 , x0 ] 2 f [x0 , x0 , x0 ](x1 x0 ) 3 f [x0 , x0 , x0 , x1 ](x1 x0 )2


,
(x1 x0 )3
A4 = f [x0 , x0 , x0 , x1 , x1 ].

Finalmente estabelecemos
H(x) = f (x0 ) + f [x0 , x0 ](x x0 ) + f [x0 , x0 , x0 ](x x0 )2

+ f [x0 , x0 , x0 , x1 ](x x0 )3 + f [x0 , x0 , x0 , x1 , x1 ](x x0 )3 (x x1 ).

Observamos que a implementao do clculo do polinmio de Hermite se pode fazer com


base nos Algoritmos 3.3 e 3.4.

Seguidamente vamos estudar o erro cometido ao aproximar uma funo pelo seu polinmio de Hermite
de grau 2n + 1.

Matemtica Numrica I

J. A. Ferreira, G. Pena

89

Teorema 3.6. Seja f uma funo com derivadas at ordem 2n + 1 contnuas em [a, b] e com
derivada de ordem 2n + 2 em (a, b). Em [a, b] consideremos a partio (3.2.1) e seja H2n+1 o
polinmio interpolador de Hermite para a funo f e relativamente partio anterior. Se
x [a, b], ento existe (x) (a, b) tal que
f (x) H2n+1 (x) =

f (2n+2) ((x)) n
(x x j )2 .
(2n + 2)!
j=0

(3.5.7)

Demonstrao. Seja x [a, b]. Se x = xi , i = 0, . . . , n, ento o teorema est provado. Suponhamos agora
que x 6= xi , i = 0, . . . , n e consideremos a funo
n

(t x j )2
, t [a, b].
2
j=0 (x x j )

g(t) = f (t) H2n+1 (t) [ f (x) H2n+1 (x)]

A funo g tem o valor zero em xi , i = 0, . . . , n, (zeros duplos) e em x (zero simples). Por aplicao
sucessiva do teorema de Rolle, conclumos que g(2n+2) tem pelo menos um zero em (a, b), isto , existe
(x) (a, b) tal que
0 = g(2n+2) ((x)) = f (2n+2) ((x)) [ f (x) H2n+1 (x)]

(2n + 2)!

.
nj=0 (x x j )2

Esta ltima igualdade finaliza a demonstrao.



A partir o resultado anterior, estabelecemos seguidamente estimativas para k f H2n+1 k :
1. Se | f (2n+2) (x)| M, x [a, b], de (3.5.7), vem
| f (x) H2n+1 (x)|

n
M
(x x j )2 .

(2n + 2)! j=0

2. Atendendo a que para x [a, b], |x xi | (b a), ento, de (3.5.7), deduzimos


k f H2n+1 k

M
(b a)2n .
(2n + 2)!

3. Provmos anteriormente a desigualdade


n

n+1


(x x j ) h n! ,


4
j=0
em que h = max (xi xi1 ). Ento
i=1,...,n

k f H2n+1 k M

h2(n+1) (n!)2
.
16(2n + 2)

Observamos que dependendo do comportamento de | f (2n+2) | podemos, ou no, concluir que o aumento
do grau do polinmio interpolador de Hermite implique uma diminuio do erro cometido ao aproximar
a funo por este polinmio. Uma forma de minimizar o erro consiste na utilizao de polinmios
interpoladores de Hermite de baixo grau.

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

90

Definio 3.3. Seja f uma funo definida num intervalo [a, b] onde consideramos a partio
a = x0 < x1 < < xn1 < xn = b. Sejam m, q N tais que mq = n. O polinmio s(x) definido
por (3.5.8)
(1)

H2m+1 (x),
x [x0 , xm ]

(2)

H2m+1 (x),
x ]xm , x2m ]

..

.
s(x) =
(3.5.8)
(
j)

H
(x),
x

]x
,
x
],

jm
(
j1)m
2m+1

..

(q)
H
x ]xnm , xn ],
2m+1 (x),
( j)

em que H2m+1 denota o polinmio interpolador de Hermite de grau 2m + 1 para os pontos


x( j1)m , x( j1)m+1 , . . . , x jm , j = 1, . . . , q,
designado polinmio interpolador de Hermite segmentado de grau 2m + 1.

Exemplo 3.12. Seja f : [1, 1] R a funo de Runge (3.3.5). O comportamento do polinmio


interpolador de Hermite de grau 9, H9 , para f e para a sua derivada f 0 nos pontos
1 1
1, , 0, , 1,
2 2
e da sua derivada so ilustrados na Figura 3.9. Na Figura 3.10 ilustramos o comportamento dos erros
dos polinmios anteriores.
f

H9

f0

pontos de interpolao

H90

pontos de interpolao

1
2

0.8
0.6

0.4
2

0.2
0
1

0.5

0.5

0.5

0.5

Figura 3.9: Grficos da funo de Runge e de H9 (esquerda) e das suas derivadas (direita).

Matemtica Numrica I

J. A. Ferreira, G. Pena
E9

0.2

91

| f H90 |

1.5

0.15
1
0.1
0.5

5 102

0
1

0.5

0.5

0.5

0.5

Figura 3.10: Grficos dos erros | f (x) H9 (x)|, x [1, 1], (esquerda) e de | f 0 (x) H90 (x)|, x [1, 1]
(direita).
Consideremos agora os conjuntos de pontos
1
1, , 0 e
2

1
0, , 1,
2

e seja s o polinmio interpolador de Hermite segmentado de grau 5, definido por


2

x2 10000
x2 x + 21 151250
x2 x + 21
1 100

29
841
10933

1 2
2

x [1, 0].
2156250
142129 x x + 2 (x + 1),


s5 (x) =
2
10000 2
1
151250 2
1
2

1 100

29 x + 841 x x 2 10933 x x 2

1 2
2

+ 2156250
x ]0, 1].
142129 x x 2 (x 1),

O comportamento do polinmio segmentado anterior e da sua derivada est ilustrado na Figura 3.11. Na
Figura 3.12 ilustramos o comportamento dos erros deste polinmio e da sua derivada.
f

s5

f0

pontos de interpolao

s05

pontos de interpolao

1
2

0.8
0.6

0.4
2

0.2
0
1

0.5

0.5

0.5

0.5

Figura 3.11: Grficos da funo de Runge (3.3.5) e de s5 (esquerda) e das suas derivadas (direita).

92

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I
| f s5 |

| f 0 s05 |

0.1

0.8
0.6

5 102

0.4
0.2

0
1

0.5

0.5

0.5

0.5

Figura 3.12: Grficos dos erros | f (x) s5 (x)|, x [1, 1], (esquerda) e de | f 0 (x) s05 (x)|, x [1, 1]
(direita).
As Figuras 3.10 e 3.12 ilustram a reduo do erro do polinmio de Hermite quando se considera o
polinmio de Hermite segmentado de grau 5.
Seja f : [a, b] R uma funo da qual se conhece f (xi ), f 0 (xi ), i = 0, . . . , n, em que {xi , i = 0, . . . , n}
satisfaz (3.2.1). Seja s o polinmio interpolador de Hermite segmentado de grau 2m + 1 definido por
(3.5.8). Se x [a, b], ento x [x(i1)m , xim ], para algum i {1, . . . , q}. Logo
s(x) = s(i) (x),
em que s(i) o polinmio interpolador de Hermite de grau 2m + 1 nos pontos x j , j = (i 1)m, . . . , im.
Assim
f (x) s(x) = f (x) s(i) (x)
=

f (2m+2) ((x))
(2m + 2)!

im

j=(i1)m

(x x j )2 .

Assim, se existir M > 0 tal que


| f (2m+2) (x)| M, x [x(i1)m , xim ], i = 1, . . . , q
deduzimos
| f (x) s(x)|

M
(2m + 2)!

im

j=(i1)m

(x x j )2 .

A partir da desigualdade anterior conclumos vrias estimativas para o erro do polinmio interpolador de
Hermite segmentado de grau 2m + 1 segmentado:

2m
max j=1,...,q (x jm x( j1)m )
,

1. k f sk

M
(2m+2)!

2. k f sk

Mh2m+2 (m!)2
16(2m+2)! ,

3. k f sk

M(ba)2m+2 (m!)2
16(2m+2)!nm ,

h = maxi=1,...,n (xi xi1 ),


se a partio uniforme.

Matemtica Numrica I

J. A. Ferreira, G. Pena

3.6

93

Splines

Consideremos para a funo de Runge (3.3.5) e o polinmio de Lagrange segmentado quadrtico sL,2
para os pontos 1, 21 , 0, 21 , 1. Denotemos por sH,3 o polinmio de Hermite segmentado cbico para a
funo de Runge (3.3.5) nos pontos 1, 0, 1. O comportamento das derivadas s0L,2 e s0H,3 ilustrado na
Figura 3.13. Na Figura 3.14 ilustramos o comportamento de s00H,3 e s000
H,3 . Para o exemplo de Runge e para
os polinmios anteriores, podemos mostrar que no existe s0L,2 (0), s0H,3 e s00H,3 so funes contnuas em
[1, 1] e no existe s000
H,3 (0).
f0
s0L,2
s0H,3

0.5

0.5

Figura 3.13: Comportamento das derivadas de primeira ordem dos polinmios de Lagrange segmentado
quadrtico e de Hermite segmentado cbico para a funo (3.3.5).

f 000
s000
H,3

500
0

20
40

f 00
s00H,3

0.5

0.5

500
1

0.5

0.5

Figura 3.14: Comportamento das derivadas do polinmio de Hermite segmentado cbico de segunda
ordem (esquerda) e de terceira ordem (direita) para a funo (3.3.5).

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

94

Consideremos agora a funo


f (x) =

0, x [1, 0]
,
x2 , x ]0, 1]

(3.6.1)

e seja sH o polinmio de Hermite segmentado cbico para esta funo nos pontos
1 1
1, , 0, , 1.
2 2
Na Figura 3.15 ilustramos o comportamento de sH e s0H . O comportammento de s00H ilustrado na Figura
3.16. Observamos que esta derivada no existe em x = 21 e x = 21 .
f
sH

0.8
0.6

0.4
2

0.2

f0
s0H

0
1

0.5

0.5

0.5

0.5

Figura 3.15: Comportamento do polinmio de Hermite segmentado cbico (esquerda) e da sua derivada
(direita) para a funo (3.6.1).

20

20
40

f 00
s00H

0.5

0.5

Figura 3.16: Comportamento da segunda derivada do polinmio de Hermite segmentado cbico para a
funo (3.6.1).

Matemtica Numrica I

J. A. Ferreira, G. Pena

95

A questo que pretendemos resolver seguidamente diz respeito construo de um polinmio interpolador segmentado com segunda derivada contnua. Com o objectivo de introduzir o processo de
construo de tal polinmio, comeamos por introduzir o conceito de spline interpolador de grau 2.
Definio 3.4. Seja f uma funo definida num intervalo [a, b] onde consideramos a partio a =
x0 < x1 < < xn1 < xn = b. O polinmio segmentado

s(1) (x),
x [x0 , x1 ],

(2)

s (x),
x ]x1 , x2 ],

..
.
s(x) =
(3.6.2)

s( j) (x),
x ]x j1 , x j ],

..

(n)
s (x),
x ]xn1 , xn ],
em que s( j) um polinmio quadrtico em ]x j1 , x j ], que verifica

s(x j ) = f (x j ), j = 0, . . . , n,
s contnua em xi , i = 1, . . . , n 1,
s0 contnua em xi , i = 1, . . . , n 1,
s0 (x0 ) = f 0 (x0 ) ou s0 (xn ) = f 0 (xn ),
designado spline interpolador quadrtico.
Observamos que, por definio, a construo do spline interpolador quadrtico requer a determinao de
3n parmetros e este nmero igual ao nmero de condies que so exigidas ao spline s.
0
Consideremos para s(i) a seguinte expresso
0

s(i) (xi ) = Mi

xi x
x xi1
+ Mi+1
.
hi
hi

(3.6.3)

A definio anterior induz de imediato a continuidade de s0 em xi . De facto, tem-se sucessivamente


0

lim s0 (x) = lim s(i) (x)

xxi

xxi

= lim Mi
xxi

x xi1
xi x
+ Mi+1
hi
hi

= Mi+1
= lim+ Mi+1
xxi

xi+1 x
x xi
+ Mi+2
hi+1
hi+1
0

= lim+ s(i+1) (x)


xxi

= lim+ s0 (x).
xxi

De (3.6.3), vem
s(i) (x) = Mi

(x xi )2
(x xi1 )2
+ Mi+1
+C.
2hi
2hi

Uma vez que s(xi ) = s(i) (xi ), para i = 1, . . . , n, deduzimos


C = f (xi )

Mi+1 hi
.
2

96

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Deste modo temos


s(i) (x) = Mi

(x xi )2
(x xi1 )2
Mi+1 hi
+ Mi+1
+ f (xi )
.
2hi
2hi
2

(3.6.4)

Para i = 0, temos tambm s(1) (x0 ) = f (x0 ), e portanto


M2 =


2
f (x0 ) f (x1 ) M1 .
h1

(3.6.5)

Das duas relaes anteriores obtemos






(x x1 )2
2
(x xi1 )2
2
s (x) = M1
+
f (x0 ) f (x1 ) M1
+
f (x0 ) f (x1 ) M1 .
2h1
h1
2hi
h1
(1)

(3.6.6)

Atendendo a que s contnua em xi , i = 1, . . . , n 1, vem sucessivamente


lim s(x) = lim s(i) (x)

xxi

xxi

= lim Mi
xxi

(x xi )2
(x xi1 )2
Mi+1 hi
+ Mi+1
+ f (xi )
2hi
2hi
2

(3.6.7)

= f (xi )
e
lim s(x) = lim+ s(i+1) (x)

xxi+

xxi

Mi+2 hi+1
(x xi )2
(x xi+1 )2
+ Mi+2
+ f (xi+1 )
2h
2h
2
xxi
i+1
i+1
Mi+2 hi+1
hi+1
= Mi
+ f (xi+1 )
.
2
2
= lim+ Mi+1

(3.6.8)

Conjugando (3.6.7) e (3.6.8) obtemos


Mi+1

hi+1
Mi+2 hi+1
+ f (xi+1 )
= f (xi ), i = 1, . . . , n 1.
2
2

(3.6.9)

De (3.6.9), a partir de Mi+1 calculamos Mi+2 , i = 1, . . . , n 1, iniciando-se o processo com M2 . Observamos que, de (3.6.5), dado M1 , calculamos M2 . Assim, a determinao de todos os coeficientes feita a
partir de (3.6.9), (3.6.5) desde que seja dado M1 .
A condio s0 (x0 ) = f 0 (x0 ) induz uma expresso para M1 que depende apenas dos dados do nosso
0
0
problema. De facto, considerando s(1) (x0 ), em que s(1) (x) definida por (3.6.3), obtemos
M1 = f 0 (x0 ).

(3.6.10)

Passemos agora a construo da soluo do problema inicial: a determinao de um polinmio


segmentado cbico, interpolador, contnuo e com derivada de primeira e segunda ordens contnuas nos
nodos da partio.

Matemtica Numrica I

J. A. Ferreira, G. Pena

97

Definio 3.5. Seja f uma funo definida num intervalo [a, b] onde consideramos a partio a =
x0 < x1 < < xn1 < xn = b. O polinmio segmentado

s(1) (x),
x [x0 , x1 ],

(2)

s
(x),
x ]x1 , x2 ],

.
.
.
s(x) =
(3.6.11)

s( j) (x),
x ]x j1 , x j ],

..

(n)
s (x),
x ]xn1 , xn ],
em que s( j) um polinmio cbico em ]x j1 , x j ], que verifica

s(x j ) = f (x j ), j = 0, . . . , n,
s00 contnua em xi , i = 1, . . . , n 1,
s0 contnua em xi , i = 1, . . . , n 1,
s contnua em xi , i = 1, . . . , n 1,

(3.6.12)

s0 (x0 ) = f 0 (x0 ) e s0 (xn ) = f 0 (xn )

(3.6.13)

s00 (x0 ) = 0 e s00 (xn ) = 0

(3.6.14)

e
ou

designado spline interpolador cbico.


Se (3.6.13), ento o spline s designado spline completo. Por outro lado, se (3.6.14), o spline s
designado spline natural. Neste caso as condies (3.6.14) surgem na literatura substituidas por
s00 (x0 ) = f 00 (x0 ) e s00 (xn ) = f 00 (xn ).

(3.6.15)

Observamos que, por definio, a construo o spline interpolador cbico requer a determinao de 4n
parmetros e este nmero igual ao nmero de condies que so exigidas ao spline s.
00
Consideremos para s(i) a seguinte expresso
00

s(i) (xi ) = Mi

xi x
x xi1
+ Mi+1
.
hi
hi

(3.6.16)

A definio anterior induz de imediato a continuidade de s00 em xi . De facto, tem-se sucessivamente


00

lim s00 (x) = lim s(i) (x)

xxi

xxi

= lim Mi
xxi

xi x
x xi1
+ Mi+1
hi
hi

= Mi+1
= lim+ Mi+1
xxi

xi+1 x
x xi
+ Mi+2
hi+1
hi+1
00

= lim+ s(i+1) (x)


xxi

= lim+ s00 (x).


xxi

98

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

De (3.6.16) vem
s(i) (x) = Mi

(x xi )3
(x xi1 )3
x xi
x xi1
+ Mi+1
Ci
+ Di
.
6hi
6hi
hi
hi

O spline cbico interpolador. Logo s(xi ) = s(i) (xi ) = f (xi ). Assim


Di = f (xi ) Mi+1

h2i
,
6

e portanto


(x xi1 )3
x xi
h2i
(x xi )3
x xi1
+ Mi+1
Ci
Mi+1 f (xi )
.
s (x) = Mi
6hi
6hi
hi
6
hi
(i)

O spline uma funo contnua nos nodos da partio. Logo


lim s(x) = s(xi1 )

+
xxi1

= f (xi1 )
= lim+ s(i) (x)
xxi1

= Ci + Mi

h2i
,
6

e portanto

h2i
.
6
Obtemos, deste modo, para i = 1, . . . , n, a seguinte expresso
Ci = f (xi1 ) Mi

(x xi )3
(x xi1 )3
s(i) (x) = Mi
+ Mi+1
6hi
6hi




2
hi x + xi
h2i x xi1
+ f (xi1 ) Mi
+ f (xi ) Mi+1
.
6
hi
6
hi

(3.6.17)

Para determinar completamente o spline interpolador cbico, temos que determinar os n + 1 coeficientes
M1 , . . . , Mn+1 . Consideramos agora a condio sobre s0 (x). Esta derivada contnua nos pontos da partio.
Atendendo a que se tem
0

lim s0 (x) = lim s(i) (x)

xxi

xxi

= Mi
e

hi f (xi ) f (xi1 )
hi
+ Mi+1 +
6
3
hi
0

lim+ s0 (x) = lim+ s(i+1) (x)

xxi

xxi

= Mi+1

hi+1
hi+1 f (xi+1 ) f (xi )
Mi+2
+
3
6
hi+1

conclumos
Mi

hi
hi + hi+1
hi+1
f (xi+1 ) f (xi ) f (xi ) f (xi1 )
+ Mi+1
+ Mi+2
=

, i = 1, . . . , n 1.
6
3
6
hi+1
hi

(3.6.18)

Temos que estabelecer as duas condies restantes. Consideramos no que segue as condies (3.6.13)
para o spline completo.

Matemtica Numrica I

J. A. Ferreira, G. Pena

99

De (3.6.17), para i = 0, N e s0 (x0 ) = f 0 (x0 ), s0 (xn ) = f 0 (xn ), vem


h1
h1
f (x1 ) f (x0 )
+ M2 = f 0 (x0 ) +
3
6
h1

(3.6.19)

hn
hn
f (xn ) f (xn1 )
.
+ Mn+1 = f 0 (xn )
6
3
hn

(3.6.20)

M1
e
Mn

Conjugando (3.6.18), (3.6.19) e (3.6.20) obtemos o seguinte sistema linear (tridiagonal) AM = B em


que M = [M1 M2 . . . , Mn+1 ]t , e
h1

h1
6
h1 +h2
3

3
h1
6

..

A=

..

hn1
6

Se a partio uniforme, ento

h2
6

..

hn1 +hn
3
hn
6

hn
6
hn
3

f (x1 ) f (x0 )
h1
f (x2 ) f (x1 )
f (x1 ) f (x0 )

h2
h1

f 0 (x0 ) +

..
B=
.
.

f (xn ) f (xn1 ) f (xn1 ) f (xn2 )

hn
hn1
f 0 (x0 ) f (xn )hnf (xn1 )
1
3
1
6

1
6
2
3

0 ...
1
6

...
.. .. ..
..
A = h . . .
.

0 0 0 . . .

0 0 0 ...

0 0 0

0 0 0

.. .. .. .
. . .

2
1
1
6
3
6
0 16 31

Atendendo a que A no singular pois = 0 no valor prprio de A 1 , conclumos que existe um e um


s spline cbico natural que interpolador de f em xi , i = 0, . . . , n.
O teorema seguinte permite-nos concluir a unicidade do spline interpolador cbico completo e natural.
Teorema 3.7. Seja f : [a, b] R, f C2 [a, b] e, em [a, b], consideremos a partio
a = x0 < x1 < < xn = b.
Seja s o spline interpolador cbico completo, ento
Z b
a

1 Teorema

Ri = |ai j |.
i6= j

00

(s (x)) dx

Z b
a

( f 00 (x))2 dx.

(3.6.21)

de Gershgorin: Se C valor prprio de A = [ai j ]_i, j = 1n inMn (R), ento ni=1 BRi (aii ), em que

100

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Demonstrao. Comecemos por notar que se tem


Z b
a

( f 00 (x))2 dx =

Z b
a

(s00 (x))2 dx +

Z b
a

(e00 (x))2 dx 2

Z b
a

s00 (x)( f 00 (x) s00 (x)) dx,

em que
e(x) = f (x) s(x).
Para o ltimo termo do segundo membro da identidade anterior vale a representao
Z b
a

00

00

00

s (x)( f (x) s (x)) dx = ( f s

)s00 |ba

Z b
a

s000 (x)( f 0 (x) s0 (x)) dx,

e, atendendo a que s completo, vem


Z b
a

Z b

s00 (x)( f 00 (x) s00 (x)) dx =

s000 (x)( f 0 (x) s0 (x)) dx.

Uma vez que s denota o spline interpolador cbico, s000 (x) = Ki em (xi , xi+1 ), e portanto
Z b
a

000

s (x)( f (x) s (x)) dx =


=

Z xi+1

Ki

j=0
n

s000 (x)( f 0 (x) s0 (x)) dx

j=0 xi
Z xi+1
n
xi

( f 0 (x) s0 (x)) dx

Ki ( f (x) s(x))|xx

j=0

i+1
i

=0
pois s interpolador de f nos nodos da partio. Logo
Z b
a

( f 00 (x))2 dx =

Z b
a

(s00 (x))2 dx +

Z b
a

(e00 (x))2 dx.

A identidade anterior permite concluir (3.6.21).

Sejam s1 e s2 dois splines interpoladores cbicos de f nos nodos xi , i = 0, . . . , n. Ento s1 s2 um


spline interpolador cbico da funo nula. Pelo Teorema 3.7 vem
Z b
a

((s1 s2 )00 (x))2 dx = 0,

e, atendendo a que a funo integranda contnua, obtemos


(s1 s2 )00 (x) = 0, x [a, b].
Da igualdade anterior vem s1 (x) s2 (x) = Ax + B, x [a, b] e, uma vez que s1 e s2 so interpoladores de
f , conclumos a igualdade dos splines interpoladores cbicos completos anteriores.

Matemtica Numrica I

J. A. Ferreira, G. Pena

101

O comportamento do erro do spline interpolador cbico estabelecido no teorema seguinte que


apresentamos sem demonstrao.
Teorema 3.8. Se f C4 [a, b], ento
k f sk


5
f (4) h4 ,

384

em que h = maxi=1,...,n hi , hi = xi xi1 , i = 1, . . . , n.

3.7

Interpolao de funes definidas em R2

Consideremos a superfcie S definida por z = f (x, y) e sejam (xi , y j , zi j ), i = 0, . . . , n, j = 0, . . . , m,


pontos S . Pretendemos averiguar a existncia de uma superfcie polinomial
n

z p = ai j xi y j
i=0 j=0

tal que
z p (xi , y j ) = f (xi , y j ), i = 0, . . . , n, j = 0, . . . , m.
Comecemos por definir o problema de interpolao bidimensional. Seja = [a, b] [c, d] e f :
R. Em introduzimos a seguinte partio rectangular
{(xi , y j ) : i = 0, . . . , n, j = 0, . . . , m, x0 = a < x1 < < xn = b, y0 = c < y1 < < ym = d}. (3.7.1)
Por Pn,m denotemos o seguinte polinmio, de grau menor ou igual a n em x e de grau menor ou igual a
m em y,
n

Pn,m (x, y) = ai j xi y j .
i=0 j=0

Pretendemos construir Pn,m que verifica


Pn,m (xi , y j ) = f (xi , y j ) := fi j , i = 0, . . . , n, j = 0, . . . , m.

(3.7.2)

Consideremos as funes de Lagrange unidimensionais anteriormente introduzidas


n

`i (x) =
e

xxj
, i = 0, . . . , n,
i6= j=0 xi x j

` j (y) =
e seja

y yi
, j = 0, . . . , m,
y
j6=i=0 j yi

i j (x, y) = `i (x)` j (y), i = 0, . . . , n, j = 0, . . . , m.

(3.7.3)

No teorema seguinte estabelecemos a existncia e unicidade do polinmio Pn,m que satisfaz (3.7.2).

102

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Teorema 3.9. Seja f : R e = [a, b] [c, d] onde consideramos a rede rectangular (3.7.1).
O polinmio
n

Pn,m (x, y) = f (xi , y j )i j (x, y),


i=0 j=0

o nico polinmio, de grau menor ou igual a n em x e de grau menor ou igual a m em y, que


satisfaz (3.7.2).

Demonstrao. Atendendo definio de i j , fcil mostrar que Pn,m satisfaz (3.7.2).


Provemos a unicidade. Sejam
n

Qn,m (x, y) = ai j xi y j
i=0 j=0

Rn,m (x, y) = ai j xi y j ,
i=0 j=0

dois polinmios que verificam (3.7.2). Ento


n

E(x, y) = Qn,m (x, y) Rn,m (x, y) = ci j xi y j , ci j = ai j bi j ,


i=0 j=0

tal que
E(xk , y p ) = 0, k = 0, . . . , n, p = 0, . . . , m.
Mas, de

0 = ci j xki y pj
i=0 j=0
n
m

ci j y pj

i=0 j=0
n
i xki ,
i=0

 i
xk

k = 0, . . . , n i =

ci j y pj

j=0

deduzimos
i , i = 0, . . . , n,
e portanto, para i = 0, . . . , n,

0 = i
m

ci j y pj , p = 0, . . . , m,

j=0

que permite concluir


0 = ci j
= ai j bi j

O polinmio Pn,m designado polinmio interpolador de Lagrange de f nos nodos (xi , y j ),
i = 0, . . . , n, j = 0, . . . , m.

Matemtica Numrica I

J. A. Ferreira, G. Pena

103

Exemplo 3.13. Seja f : [0, 1] [0, 1] R definida por f (x, y) = ex+y . O polinmio interpolador de
Lagrange nos pontos
y j /xi

0
1

1
e

e
e2

tem a seguinte representao


P1,1 (x, y) = (1 x) + ex)(1 y) + (e(1 x) + e2 x)y, (x, y) [0, 1] [0, 1].
Na Figura 3.17 ilustramos o comportamento de f e do seu polinmio interpolador P1,1 . O comportamento do erro | f P1,1 | ilustrado na Figura 3.18.

5
1

1
0

0.2 0.4
0.6 0.8

0.5
1 0

0.2 0.4
0.6 0.8

0.5
1 0

Figura 3.17: Grficos de f (x, y) = ex+y (esquerda) e do polinmio interpolador P1,1 (direita).

0.5
0
0

1
0.2 0.4
0.6 0.8

0.5
1 0

Figura 3.18: Grfico de |ex+y P1,1 (x, y)|, (x, y) [0, 1] [0, 1].
Estudamos no que segue o comportamento do erro f Pn,m . Por C p () denotamos o espao das
funes contnuas com derivadas parciais at ordem p contnuas em .

104

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Teorema 3.10. Seja Pn,m o polinmio interpolador de f : R, = [a, b] [c, d], na rede
rectangular (3.7.1). Se f Cn+m+2 (), ento
n+1 n
f
1

|x xi |
| f (x, y) Pn,m (x, y)|


n+1
(n + 1)! x
i=0
n+m+2 m
n

1
f

|y y j | |x xi |
+
(3.7.4)
(n + 1)!(m + 1)! xn+1 ym+1 j=0
i=0
m+1 m

1
f

|y y j |.
+


m+1
(m + 1)! y
j=0
Demonstrao. O erro f Pn,m admite a seguinte decomposio
f (x, y) Pn,m (x, y) = E1 (x, y) + E2 (x, y),

(3.7.5)

em que
n

E1 (x, y) = f (x, y) f (xi , y)`i (x)


n 
m
E2 (x, y) = f (xi , y) fi j ` j (y) `i (x).

i=0

i=0

j=0

Para E1 tem-se o seguinte majorante


n+1 n
f
1

|x xi |.
|E1 (x, y)|


n+1
(n + 1)! x
i=0

No que diz respeito a E2 , observamos que se tem

E2 (x, y) = R(xi , y)`i (x),


i=0

em que

R(x, y) = f (x, y) f (x, y j )` j (y).


j=0

Com esta identificao, temos para E2 a decomposio


n

E2 (x, y) = R(xi , y)`i (x) R(x, y) + R(x, y),


i=0

em que

n+1 n
n




1
R
R(xi , y)`i (x) R(x, y)
(n + 1)! xn+1 |x xi |

i=0
i=0


m
m
n+1 R
n+1 
1
n+m+2 f
=
f
(x,
y)

f
(x,
y
)`
(y)
=
(x,
)
j j

(y y j ),
xn+1
xm+1
m + 1 xn+1 ym+1
j=0
j=0

para algum (y0 , ym ), e portanto


n+m+2 m
n

n



f
1

|y y j | |x xi |
R(xi , y)`i (x) R(x, y)

(n + 1)!(m + 1)! xn+1 ym+1
j=0
i=0
i=0

(3.7.6)

Matemtica Numrica I

J. A. Ferreira, G. Pena

105

Para R tem-se a seguinte estimativa


m+1 m

1
f


|R(x, y)|
|y y j |.
(m + 1)! ym+1
j=0

Logo para E2 vlida a seguinte estimativa

n+m+2 m
m+1 m
n



1
1
f
f

|y y j | |x xi | +


|y y j |.
|E2 (x, y)|



(n + 1)!(m + 1)! xn+1 ym+1 j=0
(m + 1)! ym+1
i=0
j=0
(3.7.7)
Finalmente, conjugando (3.7.5) com (3.7.6) e (3.7.7), obtemos (3.7.4).

Como corolrio do Teorema 3.10 vlido o seguinte resultado.

Corolrio 3.3. Seja Pn,m o polinmio interpolador de f : R, = [a, b] [c, d], na rede
rectangular (3.7.1). Se f Cn+m+2 (), ento
n+1

1
f

hn+1
k f Pn,m k

x
n+1
4(n + 1) x

n+m+2

f
1
m+1

hn+1
(3.7.8)
+

x hy
n+1
m+1
16(n + 1)(m + 1) x y

m+1

f
1

hm+1
+

y ,
m+1
4(m + 1) y

em que hx = maxi=1,...,n xi xi1 , hy = max j=1,...,m y j y j1 .

O conceito de polinmio interpolador segmentado pode tambm ser facilmente introduzido para o
caso bidimensional.
Definio 3.6. Seja f : R, = [a, b] [c, d] e neste conjunto consideremos a rede rectangular
(3.7.1) e em que n = px qx , m = py qy . O polinmio s definido por
(1,1)
s
(x, y),

(2,1)

s
(x, y),

..

.
s(x, y) =
(qx ,1) (x, y),

..

(qx ,qy )
s
(x, y),

(x, y) [x0 , x px ] [y0 , y py ],


(x, y) ]x px , x2px ] [y0 , y py ],
(x, y) ]xnpx , xn ] [y0 , y py ],
(x, y) ]xnpx , xn ] [ympy , xm ],

em que s(i, j) (x, y) o polinmio interpolador de Lagrange, de grau px em x e py em y, de f nos nodos


x(i1)px < x(i1)px +1 < < xipx , y( j1)py < y( j1)py +1 < < y j py ,
chamado polinmio interpolador de Lagrande segmentado, de grau px em x e py em y, de f na rede
rectangular (3.7.1).

106

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Exemplo 3.14. Seja f : [0, 1] [0, 1] R definida por f (x, y) = ex+y . O polinmio interpolador de
Lagrange segmentado linear nos pontos

y j /xi

1
2

1
1
e2
e

e2
e
3
e2

e
3
e2
e2

1
2

1
tem a seguinte representao

s(x, y) =



1 
4 x 12 e 2 x y 12


1
+4 e 2 x 12 + ex y,



1
2e 2 x 1 + 2e x 12 (2) y 21

3
+ 2e(x 1) + 2e 2 x 21 2y,


1
4 e 2 x 21 ex (y 1)


3 
+4 e x 12 + e 2 x y 12 ,

3
2e(x 1) + 2e 2 x 12 (2)(y 1)


3
+ 2e 2 (x 1) + 2e2 x 21 2 y 21 ,

(x, y) [0, 12 ] [0, 12 ]


(x, y) ] 12 , 1] [0, 12 ]

(3.7.9)

(x, y) [0, 12 ] ] 12 , 1]
(x, y) ] 12 , 1] ] 12 , 1]

Na Figura 3.19 ilustramos o comportamento do erro f (x, y) s(x, y) para (x, y) [0, 12 ] [0, 12 ].

0.1
5 102
0
0

0.4
0.2

0.4

0.2

Figura 3.19: Grfico de |ex+y s(x, y)|, (x, y) [0, 12 ] [0, 12 ].


Das Figuras 3.18 e 3.19 conclumos que h uma reduo significativa no erro ao substituirmos o
polinmio interpolador P1,1 por s definido por (3.7.9) na regio [0, 12 ] [0, 12 ]
O comportamento do erros do polinmio interpolador segmentado pode ser estudado a partir do
Teorema 3.10. De facto, se (x, y) ]x(i1)px , xipx ] ]y( j1)py , y j py ], ento
| f (x, y) s(x, y)| = | f (x, y) s(i, j) (x, y)|

J. A. Ferreira, G. Pena

Matemtica Numrica I

107

e, atendendo a que se tem


(i, j)

| f (x, y) s

conclumos

p +1
ipx
x f
1


|x x` |
(x, y)|

(px + 1)! x px +1 `=(i1)p


x
p +p +2
j py
ipx
x y f
1


+
|y

y
|
k
|x x` |
(px + 1)!(py + 1)! x px +1 y py +1 k=(
j1)py
`=(i1)px
p +1
j py
y f
1


+
|y yk |,
(py + 1)! y py +1 k=(
j1)py

p +1
ipx
x f
1


| f (x, y) s(x, y)|
|x x` |
(px + 1)! x px +1 `=(i1)p
x
p +p +2
j py
ipx
x y f
1


+
|y

y
|
k
|x x` |
(px + 1)!(py + 1)! x px +1 y py +1 k=(
j1)py
`=(i1)px
p +1
j py
y f
1


+
|y yk |.
(py + 1)! y py +1 k=(
j1)py

Mais ainda

p +1
x f p +1
1

h x
k f sk
4(px + 1) x px +1 x
p +p +2
x y f p +1 py +1
1

h x hy
+
14(px + 1)(py + 1) x px +1 y py +1 x
p +1
y f py +1
1
hy .

+
4(py + 1) y py +1

A finalizar esta breve digresso pela interpolao bidimensional, realamos o facto de existirem para
funes de duas variveis, extenses naturais dos conceitos de polinmio de Hermite e de spline ([4]).
comum, em problemas de aproximao de funes, considerar a questo da determinao de um
polinmio interpolador a partir do conhecimento de uma funo em pontos de uma rede no rectangular,
isto, , num conjunto de pontos que no esto associados a uma partio rectangular do domnio. Em
muitas aplicaes considerada uma partio do domnio em tringulos sendo os nodos de interpolao
os vrtices destes conjuntos. manifesto que a partio em tringulos no poder ser qualquer.
Definio 3.7. Seja um domnio poligonal de R2 . Uma partio em tringulos TH = {Ti , i I}
em que Ti denota o tringulo aberto, I denota um conjunto de indices, diz-se admissvel para se so
vlidas as condies seguintes:
1. se i, j I, i 6= j, ento Ti T j = 0,
/
2. se i, j I, i 6= j, ento T i T j = 0/ ou T i T j = {o vrtice comum aos dois tringulos} ou
T i T j = {lado comum aos dois tringulos},
3. iI T i = .
Consideremos ento uma tringulao TH admissvel para , denotemos por VH = {(xi , y j ), i
I , j J } o conjunto de vrtices dos tringulos desta triangulao e suponhamos que so conhecidos

108

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

f (xi , y j ), i I , j J . A construo de um polinmio interpolador s tal que, em cada tringulo T i de


vertices (xi , y j ), (x p , yq ), (xr , yt ), um polinmio de grau um em cada uma das variveis, resume-se
determinao dos coeficientes a, b, c tais que
s(x, y) = a + bx + y, (x, y) T i .
Uma vez que se pretende que s seja interpolador, os coeficientes anteriores devero verificar

a + bxi + y j = f (xi , y j )
a + bx p + yq = f (x p , yq )

a + bxr + yt = f (xr , yt ).

(3.7.10)

O sistema (3.7.10) considerado para cada tringulo T i obtendo-se, deste modo, uma funo polinomial segmentada, de grau um em cada varivel, interpoladora de f nos vrtices dos tringulos de
TH .

3.8

Alguns problemas

1. Na seguinte tabela so dados diferentes valores para o peso especfico p da gua a diferentes
temperaturas t (em graus Celsius):
t

0.999871

0.999928

0.999969

0.999991

Usando interpolao linear, quadrtica e cbica, determine uma aproximao para p quando t = 4oC
usando a frmula interpoladora de Lagrange e de Newton. Compare os resultados obtidos sabendo
que o valor exacto 1.000000.
2. Pretende-se construir uma tabela para a funo f (x) = ex , com x [0, 1]. Considere o valor de
e com erro absoluto inferior a 0.5 106 e uma partio com pontos igualmente distanciados.
Determine o dimetro da partio a considerar de modo que o polinmio interpolador de Lagrange
permita obter uma aproximao para f com um erro inferior a 106 .
3. Considere a funo f (x) = ln(x + 1), x [1, 3]. Determine o polinmio interpolador de Lagrange
que aproxima f em [1, 3] com um erro inferior a 102 .
4. Determine o polinmio interpolador de Lagrange segmentado linear para a funo f tal que
xi

0.25

0.5

0.75

1.25

1.5

5. Calcule o polinmio interpolador de Lagrange segmentado quadrtico para a funo do problema


anterior.
6. Determine, utilizando interpolao segmentada linear com dois subintervalos para f (x) = cos x,
x [0, ], uma aproxime cos(20o ) e indique um majorante para o erro cometido.

Matemtica Numrica I

J. A. Ferreira, G. Pena

109

7. Durante a sedimentao da reaco de saponificao entre quantidades equimolares de sdio e


acetato de etilo, a concentrao c (em gr/`) de cada reagente varia, com o tempo t (em min), de
acordo com a equao
1
1
= + kt,
c c0
onde c0 a concentrao inicial e k (gr/(` min)) a constante de reaco. Foram obtidos os
seguinte resultados
1/c

24.7

32.4

38.4

45.0

52.3

65.6

87.6

102

154

192

10

12

20

25

(a) Obtenha uma estimativa para a concentrao inicial.


(b) Obtenha uma estimativa para a concentrao ao fim de 15 min.
8. Estabelea, utilizando o polinmio interpolador de Lagrange linear, a seguinte frmula de integrao
Z b
a

f (x) dx '


ba
f (a) + f (b) ,
2

que designada frmula dos trapzios. Suponha que | f 00 (x)| M, x [a, b]. Mostre que

Z b

 M
ba
3


a f (x) dx 2 f (a) + f (b) 12 (b a) .

9. Estabelea, utilizando o polinmio interpolador de Lagrange linear em [a, b], a seguinte frmula de
derivao numrica

1
f (b) f (a) ,
f 0 (a) '
ba
que designada frmula progressiva. Mostre que
f 0 (a)


1
b a 00
f (), (a, b).
f (b) f (a) =
ba
2

10. Estabelea, utilizando o polinmio interpolador de Lagrange quadrtico em [a, b], para os pontos
a = x0 < x1 < x2 = b com h = x1 a = b x1 , a seguintes frmula de derivao numrica
f 0 (x1 ) '


1
f (b) f (a) ,
2h

que designada frmula centrada. Mostre que


f 0 (x1 )


1
h2
f (b) f (a) = f 00 (), (a, b).
2h
2

11. Mostre que as funes polinomiais definidas por (3.5.3) so linearmente independentes.
12. Mostre que o conjunto {i , i = 1, . . . , 4}, em que i , i = 1, . . . , 4, so definidas por (3.5.6), uma
base de P4 .
13. Considere a funo f (x) = 3xex e2x . Determine uma aproximao para f (1.03) usando o polinmio interpolador de Hermite para os pontos x0 = 0 e x1 = 1.05. Determine uma estimativa para o
erro cometido.

110

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

14. Considere f (x) = ex . Determine o polinmio interpolador de Hermite de grau 5, H5 , usando os


pontos x0 = 0, x1 = 1 e x2 = 2. Compare H5 (0.25) com f (0.25) e com P2 (0.25), em que P2 o
polinmio interpolador de Lagrange de grau 2, para a funo f , nos mesmos pontos.
15. Determine o polinmio de grau mnimo que faa a concordncia entre a recta
1
y = 2 + (8 x),
2
no ponto (8, 2), e a circunferncia
(x 1)2 + (y + 2)2 = 1,
no ponto (1, 1). Nota: Duas curvas dizem-se concordantes de tiverem a mesma tangente no ponto
de unio.
16. Determine o polinmio interpolador de uma funo f para o suporte
f (0) = 1, f 0 (0) = 2, f (1) = 0, f 0 (1) = 10, f 00 (1) = 40.
17. Considere f (x) = ln(1 + x), x [0, 1]. Determine o polinmio de Hermite H, de menor grau, tal
que
k f Hk < 2 103 .
2

18. Considere f (x) = ex , x [1, 1]. Determine o polinmio interpolador de Hermite segmentado s
para f de menor grau. Calcule s( 12 ) e estime o erro |e1/4 s( 12 )|.
19. Diga se a funo seguinte um spline ou no
2
x [0, 1],
x + 1,
2x,
x ]1, 2],
f (x) =
2
x 2x + 4, x ]2, 3].

20. Diga se existem parmetros a, b, c, tais que


2
x [1, 0],
x ,
3
2
ax + bx + cx, x ]0, 1],
f (x) =

2 x,
x ]1, 2],
um spline cbico.

21. Estabelea o sistema que permite calcular o spline interpolador cbico natural.
22. Calcule o spline cbico natural para os seguintes dados
xi

f
f0

1
0

2
1

1
0

23. Considere a seguinte partio uniforme do intervalo [a, b], a = x0 < x1 < < xn = b, com
h = xi xi1 , e os pontos auxiliares
x3 = a 3h, x2 = a 2h, x1 = a h, xn+1 = b + h, xn+2 = b + 2h, xn+3 = b + 3h.

Matemtica Numrica I

J. A. Ferreira, G. Pena

111

Para i = 1, . . . , n + 1, denotemos por Bi (x) o seguinte polinmio segmentado

(x xi2 )3 ,

h3 + 3h2 (x xi1 ) + 3h(x xi1 )2 3(x xi1 )3 ,


1 3
Bi (x) = 3
h + 3h2 (xi+1 x)+ 3h(xi+1 x)2 3(xi+1 x)3 ,
h

(x x)3 ,

i+2
0

x [xi2 , xi1 ],
x ]xi1 , xi ],
x ]xi , xi+1 ],
x ]xi+1 , xi+2 ],
nos restantes casos,

que designado spline-B.

(a) Mostre que Bi C2 [a, b] e


Bi
B0i
B00i

xi2

xi1

xi

xi+1

xi+2

0
0
0

0
0
0

4
0
12
h2

1
3h

0
0
0

0
0
0

3
h
6
h2

6
h2

(b) Seja s(x) = n+1


i=1 Ci Bi (x). Mostre que se s o spline interpolador cbico completo, ento
C = [C1 . . .Cn+1 ]t verifica
BC = F,
em que F = [ f 0 (x0 ) f (x0 ) f (x1 ) . . . f (xn )
3
h 0
1 4

..
..

.
B= .
0 0

0 0
0 0

f 0 (xn )]t e
3
h

...
1 ...
..
..
.
.
0 ...
0 ...
0 ...

0
0
..
.
4
1
3h

0 0
0 0

.. ..
. .

1 0

4 1
0 h3

24. Considere f (x, y) = ln(1 + x + y), (x, y) [0, 1] [0, 1].


(a) Determine o polinmio interpolador P linear em cada uma das variveis.
(b) Calcule P( 14 , 14 ) e determine | f ( 14 , 14 ) P( 14 , 14 )|.

(c) Construa o polinmio interpolador segmentado linear s considerando a partio 0, 12 , 1.

(d) Calcule s( 41 , 41 ) e determine | f ( 14 , 14 ) s( 41 , 14 )|.

(e) Construa um polinmio interpolador Pn,m para f tal que


k f Pn,m k 102 .

25. Considere o tringulo e a triangulao T representados na Figura 3.20 e seja f : R2 tal


que
1 
 1 1
1 1
f (0, 0) = 1, f , 0 = f 0,
= , f (1, 0) = f (0, 1) = f ,
= 0.
2
2
2
2 2
Construa o polinmio interpolador segmentado s para f nos pontos dados, de grau um em cada uma
das variveis.

112

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

(0,1)

(0,0.5)

(0,0)

(0.5,0.5)

(0.5,0)

(1,0)

Figura 3.20: Triangulao do tringulo rectngulo de vrtices (0, 0), (1, 0) e (0, 1).

CAPTULO

4
E QUAES NO LINEARES

4.1

Introduo

A determinao de zeros de equaes lineares matriciais foi considerado no Captulo 2. Neste caso
considermos mtodos de duas classes: directos e iterativos. Na ltima classe de mtodos obtivmos uma
sucesso de vectores de aproximaes para o vector soluo da equao matricial. No presente captulo o
nosso objectivo o estudo de mtodos para a determinao da soluo de equaes no lineares.
J nos deparmos com equaes no lineares polinomiais do tipo
a0 + a1 x + . . . an xn = 0, an 6= 0.
Para estas equaes no lineares particulares existem mtodos com caractersticas prprias. No entanto
os mtodos que consideraremos neste captulos podero ser utilizados neste contexto. No entanto a sua
aplicao mais geral. Observamos que para algumas equaes polinomiais existem fmulas explcitas
para os seus zeros.
Consideremos a equao f (x) = 0, f : [a, b] R, em que [a, b] tal que existe apenas uma raiz x
desta equao em [a, b]. Observamos que se f 0 tem sempre o mesmo sinal [a, b] e f (a) f (b) < 0, ento
existe de facto apenas um zero de f em [a, b].
O nosso objectivo estudar mtodos que permitem construir uma sucesso de aproximaes xn , n N,
para x e tal que
lim xn = x .
n

Assim sendo, os mtodos que iremos estudar pertencem classe dos mtodos iterativos e a definio da
sucesso de aproximaes requer uma aproximao inicial. Mais ainda, como veremos, a aplicao dos
diversos mtodos requer a definio de um intervalo contendo uma s raiz da equao que se pretende
resolver. Este determinado a partir da representao grfica da funo f determinando um intervalo
contendo a abcissa do ponto de interseco da curva y = f (x) com o eixo das abcissas. Este mtodo
de localizao usualmente designado mtodo grfico. Observamos que localizar as razes de uma
113

114

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

determinada equao consiste em determinar intervalos contendo uma raiz da equao em estudo e, em
seguida, provar analiticamente que de facto em cada intervalo indicado existe uma e uma s raiz.
Consideremos a equao
sin(x)
x = 0.
x

(4.1.1)

Na Figura 4.1 apresentamos o grfico de f . Assim, a raiz da equao anterior est no intervalo [ 8 , 2 ]. De
facto f contnua neste intervalo e f ( 8 ) f ( 2 ) < 0. A unicidade resulta do facto de f 0 (x) < 0 no intervalo
anterior.

0
2
4
sin(x)
x

y=
y=0

6
0

Figura 4.1: Grfico de f (x) =

5
sin(x)
x

6
x.

Observamos que caso no seja fcil a determinao grfica de y = f (x), por vezes possvel reescrever
a equao f (x) = 0 na forma equivalente
f1 (x) = f2 (x),
em que f1 e f2 tm uma representao grfica mais simples. Assim o zero de f verifica f1 (x ) = f2 (x ), e
portanto a abcissa do ponto de inetrseco das duas curvas
y = f1 (x), y = f2 (x).
Consideremos a equao (4.1.1). Esta equao admite a representao equivalente
sin(x) = x2 .
Consideremos as duas curvas
y = sin(x), y = x2
que se intersectam apenas num ponto para x [ 4 , 2 ]. Na Figura 4.2 apresentamos as duas curvas anteriores.

Matemtica Numrica I

J. A. Ferreira, G. Pena
1

115

y = sin(x)
y = x2

0.5
0
0.5
1
0

Figura 4.2: Grficos de f1 (x) = sin(x) e de f2 (x) = x2 .


Identificado o intervalo contendo apenas a raiz da equao f (x) = 0 que pretendemos aproximar,
podemos considerar um dos mtodos que estudamos nas seces seguintes. Por exemplo, consideremos a
sucesso
sin(xn ) xn2
xn+1 = xn
, n = 0, 1, . . . ,
n)
cos(xn ) sin(x
xn xn

em que x0 = 2 . Na tabela seguinte apresentamos alguns elementos da sucesso anterior.


xi

f (xi )

1.5707963267948966192
0.9060367009005804134
0.8768125208725520179
0.8767262161570021592
0.8767262153950624460

0.9341765544273
0.0373466283594
0.0001096423133
9.67958207316 1010
7.54473754399 1020

Um conceito relevante que determina a escolha do mtodo iterativo o conceito de ordem.


Definio 4.1. Consideremos f : [a, b] R com uma nico zero x em [a, b]. O mtodo iterativo
xn+1 = g(xn ), n N0 , diz-se com ordem p R+ , se existe n0 N0 , tal que en = x xn , para
n N0 , n n0 , verifica
|en+1 | C|en | p ,
(4.1.2)
onde C denota uma constante positiva, independente de n, e p a maior constante positiva com a
propriedade (4.1.2).

4.2

O mtodo da bisseco

Consideremos o intervalo I0 = [a, b] onde f tem apenas um zero x . Sem perda de generalidade,
suponhamos que f (a) > 0 e f (b) < 0. Consideremos a seguinte sequncia de passos:
1. Seja
x1 =

a+b
.
2

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

116

Se f (x1 ) < 0, ento x I1 = [a, x1 ] = [a1 , b1 ]. Caso contrrio, x I1 = [x1 , b] = [a1 , b1 ]. Em


qualquer um dos casos, |I1 | = 12 |I0 |.
2. Seja

a1 + b1
.
2
Se f (x2 ) < 0, ento x I2 = [a1 , x2 ] = [a2 , b2 ]. Caso contrrio x I2 = [x2 , b1 ] = [a2 , b2 ]. Em
qualquer um dos caso |I2 | = 21 |I1 |.
x2 =

3. Seja
x3 =

a2 + b2
.
2

4. O processo repete-se.
I1

x1

b
I2

I0
Figura 4.3: Ilustrao grfica da sucesso (xn )nN e dos intervalos In associados ao mtodo da bisseco.
Obtemos deste modo a sucesso (xn )nN dos pontos mdios dos intervalos, obtidos por bisseco, e
que constituem aproximaes para x . O processo descrito anteriormente usualmente designado mtodo
do ponto mdio.
Teorema 4.1. Seja f : [a, b] R tal que f contnua e montona em [a, b] e f (a) f (b) < 0.
Seja (xn )nN a sucesso definida seguidamente:
1. I0 = [a0 , b0 ] = [a, b];
2. Se In1 = [an1 , bn1 ] tal que f (an1 ) f (bn1 ) < 0, ento xn =
Ento
e

an1 +bn1
.
2

1
|I0 |
2n

(4.2.1)

lim xn = x .

(4.2.2)

|In | =
n

Demonstrao. Se f (an1 ) f (xn ) < 0, ento x In = [an1 , xn ] = [an , bn ] e x In = [xn , bn1 ] = [an , bn ]
caso contrrio. Assim
1
1
|In | = |In1 | = n |I0 |.
2
2

Matemtica Numrica I

J. A. Ferreira, G. Pena
Notemos que
|xn x | |In | =

117

1
|I0 |
2n

e consequentemente vale (4.2.2).



Se pretendermos determinar uma aproximao, utilizando o mtodo do ponto mdio, para o nico
zero de f que existe em [a, b] com erro inferior a uma tolerncia , ento o nmero de iteraes n deve
verificar
|xn x | < .

Atendendo a que se tem

|xn x |
suficiente tomar n a verificar

1
|I0 |,
2n


ln |I0 |
n>
.
ln 2

(4.2.3)

O algoritmo anterior traduz-se na seguinte rotina de M ATLAB


Algoritmo 4.1 Mtodo da bisseco com controlo de nmero mximo de iteraes e erro
absoluto
function [zero,res,niter,erro]=bisseccao(f,a,b,tol,nmax)
x=[a (a+b)/2 b]; fx = feval(f,x); niter=0; I=(ba)/2;
while I tol && niter nmax
niter=niter+1;
if fx(1)*fx(2)<0
x(3)=x(2); x(2)=x(1)+(x(3)x(1))*0.5;
fx=feval(f,x); I=(x(3)x(1))*0.5;
elseif fx(2)*fx(3)<0
x(1)=x(2); x(2)=x(1)+(x(3)x(1))*0.5;
fx = feval(f,x); I=(x(3)x(1))*0.5;
else
x(2)=x(find(fx==0)); I=0;
end
end
zero=x(2); x=x(2); res = feval(f,x); erro=I;
return

Observamos que na funo anterior necessria uma implementao inline da funo f.

Exemplo 4.1. Consideremos a equao


x cos(x) = 2 sin(x).
Esta equao equivalente a

x
tan(x) = .
2
Considerando as abcissas dos pontos de interseco das curvas y = tan(x) e 2y = x obtemos as razes da
equao dada. Na Figura 4.4 apresentamos as curvas anteriores.

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

118

6
4
2
0
2
4
6

3
2

2 0

3
2

Figura 4.4: Grficos de f1 (x) = tan(x) (trao contnuo) e de f2 (x) =

x
2

(trao descontnuo).

Provemos que, em [, 75 ], existe apenas uma raiz da equao que pretendemos resolver. Comecemos
por notar que se
x
f (x) = tan(x) ,
2
0
ento f () < 0, f ( 7
5 ) > 0 e f contnua no intervalo anterior. Uma vez que f > 0 conclumos que
existe de facto apenas um zero de f neste intervalo.
A sucesso de aproximaes definidas pelo mtodo da bisseco definida seguidamente:

iterao
x1 =
x2 =
x3 =
x4 =
x5 =
x6 =
Notamos que x7 =

4.3

6
5
13
10
27
20
11
8
109
80
217
160

sinal

intervalo

7
x [ 6
5 , 5 ] = [a1 , b1 ]

7
x [ 27
20 , 5 ] = [a3 , b3 ]

+
+

7
x [ 13
10 , 5 ] = [a2 , b2 ]
11
x [ 27
20 , 8 ] = [a4 , b4 ]

109
x [ 27
20 , 80 ] = [a5 , b5 ]

109
x [ 217
160 , 80 ] = [a6 , b6 ]

87
e f (x7 ) ' 0.02097889.
64

O mtodo de Newton

Seja f : [a, b] R tal que


1. f (a) f (b) < 0 ( f (a) < 0 e f (b) > 0 sem perda de generalidade),
2. f 0 tem sinal constante em (a, b) ( f 0 > 0 sem perda de generalidade),
3. f 00 tem sinal constante em (a, b) ( f 00 > 0 sem perda de generalidade).

Matemtica Numrica I

J. A. Ferreira, G. Pena

x0

x2

119

x1

Figura 4.5: Ilustrao grfica da construo da sucesso (xn )nN do mtodo de Newton.
Consideremos a sucesso (xn )nN definida da seguinte forma (ver Figura 4.5):
1. Dado (x0 , y0 ), x0 = b, y0 = f (b), a recta tangente curva y = f (x) que tem a seguinte equao
y y0 = f 0 (x0 )(x x0 ).
Se x1 denota a abcissa do ponto de interseco da recta anterior com o eixo das abcissas, ento
x1 = x0

f (x0 )
.
f 0 (x0 )

2. Consideremos a recta tangente curva y = f (x), no ponto (x1 , f (x1 )), de equao
y f (x1 ) = f 0 (x1 )(x x1 ).
Se x2 denota a abcissa do ponto de interseco da recta anterior com o eixo das abcissas, ento
x2 = x1

f (x1 )
.
f 0 (x1 )

3. O processo repete-se...
4. Consideremos a recta tangente curva y = f (x) no ponto (xn , f (xn )) de equao
y f (xn ) = f 0 (xn )(x xn ).
Se xn+1 denota a abcissa do ponto de interseco da recta anterior com o eixo das abcissas, ento
xn+1 = xn

f (xn )
.
f 0 (xn )

(4.3.1)

Obtivmos, deste modo, uma sucesso (xn )nN definida recursivamente por (4.3.1). O mtodo descrito
designado mtodo de Newton ou mtodo de Newton-Raphson.

120

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

A funo seguinte implementa o mtodo de Newton. Notemos que alm da implementao


inline de f, necessrio fornecer uma implementao do mesmo tipo para a derivada f'.

Algoritmo 4.2 Mtodo de Newton com controlo de nmero mximo de iteraes e erro absoluto
function [zero,res,niter,erro]=newton(f,df,x0,tol,nmax)
x=x0;
fx=feval(f,x); dfx=feval(df,x);
niter=0; er=tol*10;
while er tol && niter nmax
niter=niter+1;
diff=fx/dfx;
xold=x; x=x+diff;
diff=abs (diff);
fx=feval(f,x); dfx=feval(df,x);
er=abs(xxold);
end
zero=x; res=fx; erro=er;
return

Exemplo 4.2. Consideremos a equao


ln(1 + x) x + 1 = 0.
O mtodo grfico permite facilmente localizar as razes da equao anterior reescrevendo-a na forma
equivalente
ln(1 + x) = x 1.
Na Figura 4.6 ilustramos o comportamento das funes f1 (x) = ln(1 + x) e f2 (x) = x 1.

y = ln(1 + x)
y = x1

2
1

Figura 4.6: Grficos de f1 (x) = ln(1 + x) e de f2 (x) = x 1.


9
1
Provemos que as razes da equao dada esto nos intervalos [ 10
, 10
] e [ 32 , 52 ]. Observamos que
a funo f (x) = ln(1 + x) x + 1 contnua nos intervalos indicados. No que diz respeito ao primeiro
intervalo, temos

Matemtica Numrica I

J. A. Ferreira, G. Pena

121



1
9
= 0.402585, f 10
= 0.994639,
1. f 10

1
9
1
2. f 0 (x) = 1+x
1 > 0, x 10
, 10
.

1
9
, 10
.
Logo existe uma raiz nica em 10
No que diz respeito ao segundo intervalo, temos


1. f 23 ' 0.416291, f 52 ' 0.247237,

1
2. f 0 (x) = 1+x
1 < 0, x 23 , 52 .

Logo existe uma raiz nica em [ 23 , 25 ].


9
Na tabela seguinte apresentamos alguns elementos da sucesso anterior com x0 = 10
.
xi

f (xi )

0.85526832300066159066
0.84213564414917271192
0.84140765842997510135
0.84140566045191836530
0.84140566043696063785

0.0776054313105
0.00388347780766
0.0000106002220641
7.93566566427 1011
4.44760152368 1021

Estudamos seguidamente as propriedades da sucesso definida pelo mtodo de Newton.


Teorema 4.2. Seja f : [a, b] R, f C2 [a, b], tal que
1. f (a) f (b) < 0,
2. f 0 tem sinal constante em (a, b),
3. f 00 tem sinal constante em (a, b).
Se (xn )nN a sucesso definida por (4.3.1) com x0 tal que
f (x0 ) f 00 (x0 ) < 0,

(4.3.2)

ento (xn )nN converge para a nica raiz x , em (a, b), da equao f (x) = 0, e o erro en = x xn
verifica
M
|en+1 |
|en |2 ,
(4.3.3)
2m
onde
0 < m | f 0 (x)|, | f 00 (x)| M, x [a, b],
Demonstrao. Suponhamos, sem perda de generalidade que, em (a, b), f 0 > 0, f 00 > 0 e seja x0 = b.
Provemos que (xn )nN uma sucesso limitada inferiormente e montona decrescente.
1. claro que x x0 . Suponhamos que x xn e provemos que x xn+1 . Notemos que se tem
sucessivamente
0 = f (x )
= f (xn + (x xn ))
= f (xn ) + f 0 (xn )(x xn ) +

f 00 (n )
(x xn )2 ,
2

122

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I
em que n (x , xn ) pois x xn . fcil agora provar a igualdade
x = xn

f 00 (n )
f (xn )
+
(x xn )2 ,
f 0 (xn ) 2 f 0 (xn )

(4.3.4)

e, atendendo definio (4.3.1), conclumos que (xn )nN verifica


x xn+1 =

f 00 (n )
(x xn )2 .
2 f 0 (xn )

Uma vez que f 0 > 0, f 00 > 0, estabelecemos


x xn+1 0, n N0 .
Logo a sucesso (xn )nN limitada.
2. Observamos agora que (xn )nN montona decrescente. De facto, x1 x0 . Suponhamos que
xn xn1 . De (4.3.1), tem-se sucessivamente
f (xn ) = f (xn1 + (xn xn1 ))
= f (xn1 ) + f 0 (xn1 )(xn xn1 ) +
=

f 00 (n )
(xn xn1 )2 ,
2

f 00 (n )
(xn xn1 )2
2

com n (xn , xn1 ), e portanto f (xn ) 0. Assim, uma vez que


xn+1 = xn

f (xn )
,
f 0 (xn )

vem xn+1 xn .
Provmos que (xn )nN uma sucesso limitada inferiormente e montona decrescente. Logo
convergente. Seja x o limite desta sucesso. Atendendo a que f e f 0 so contnuas, de (4.3.1), vem
f (x)
= 0,
e, atendendo unicidade do zero de f em (a, b), conclumos que x = x .
A estimativa (4.3.3) para o erro deduz-se facilmente de (4.3.4).

Observamos que o Teorema 4.2 uma condio suficiente para a convergncia do mtodo de Newton.
Atendendo a este facto, a sucesso gerada pelo Newton pode convergir no sendo vlidas algumas das
suas hipteses. Por outro lado, a estimativa (4.3.3) estabelece que o mtodo de Newton apresenta ordem
de convergncia igual a 2 e a velocidade da convergncia depende do comportamento de f 0 e f 00 .

4.4

O mtodo do ponto fixo

A construo dos mtodos estudados para a determinao de uma sucesso de aproximaes para
o zero x de f , num determinado intervalo, consideram na definio da sucesso a expresso de f . No
entanto, por vezes conveniente reescrever a equao f (x) = 0 numa equao equivalente
x = g(x).
Neste caso, o zero de f verifica g(x ) = x .

Matemtica Numrica I

J. A. Ferreira, G. Pena

123

Definio 4.2. Seja g : I R. Se p I tal que g(p) = p, ento p diz-se ponto fixo de g.
Os pontos fixos de g, num determinado intervalo, so as abcissas dos pontos de interseo da curva
y = g(x), x I, com a recta y = x. A determinao dos zeros de f passa ento pela determinao dos
pontos fixos de g.
Teorema 4.3. Se g : [a, b] R, contnua e g([a, b]) [a, b], ento g tem um ponto fixo em
[a, b]. Se
|g0 (x)| K < 1, x [a, b],
(4.4.1)
ento o ponto fixo nico.

Demonstrao.
Existncia: Se g(a) = a ou g(b) = b, ento g tem um ponto fixo. Suponhamos agora que g(a) > a e
g(b) < b. Seja h(x) = g(x) x, x [a, b]. Atendendo a que h(a)h(b) < 0 e h contnua, ento h tem um
zero neste intervalo. Seja p (a, b) tal que h(p) = 0. Logo p = g(p).
Unicidade: Se p e q so pontos fixos de g, ento g(p) = p e g(q) = q. Temos sucessivamente
|p q| = |g(p) g(q)|

= |g0 ()||p q|

K|p q|,
em que pertence ao intervalo de extremos p e q. Logo

(1 K)|p q| 0,
e portanto p = q.

Exemplo 4.3. A equao
x3 + 4x2 10 = 0
tem uma nica raiz em [1, 2]. De facto, f (x) = x3 + 4x2 10 tal que f (1) f (2) < 0, f contnua e
portanto existe x [1, 2] tal que f (x ) = 0. A raiz anterior nica pois f 0 (x) = 3x2 + 8x > 0, x (1, 2).
Existem vrias equaes do tipo x = g(x) equivalentes a f (x) = 0 :
1. g(x) = x3 + 4x2 + x 10. Uma vez que g(1) = 4 vem que g([1, 2]) 6 [1, 2].

10 x3 . Observamos que g(2) =

2. g(x) =

1
2

3. g(x) =

10
x+4 .

(a) g(1) =

2
2 ,

e portanto g([1, 2]) 6 [1, 2].

Para esta expressso temos

2, g(2) = 53 ,

10
(b) g0 (x) = 2(x+4)
3/2 , x (1, 2), e portanto g decrescente em [1, 2].

124

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I
Logo
g([1, 2]) =

"r

#
5
, 2 [1, 2].
3

Conclumos que g tem um ponto fixo x em [1, 2]. Para estabelecer a unicidade de x provemos que
|g0 (x)| < 1, x [1, 2]. Seja h(x) = |g0 (x)|, x [1, 2]. Esta funo decrescente em [1, 2] pois que

3 10
0
h (x) =
< 0, x [1, 2].
4(x + 4)5/2
Logo

2
|g (x)| = h(x) h(1) =
< 1, x [1, 2].
10
0

Consideramos seguidamente o problema da construo de um mtodo iterativo para determinar uma


aproximao para o nico ponto fixo de g : [a, b] R. Para x0 [a, b], consideremos a sucesso (xn )nN
definida por
xn+1 = g(xn ), n = 0, 1 . . . .
(4.4.2)
O mtodo iterativo definido por (4.4.2) designado mtodo do ponto fixo. Na Figura 4.7 mostramos uma
interpretao grfica da sucesso gerada pelo mtodo anterior.
g(x0 )
g(x2 )
g(x3 )
g(x1 )

x0

x2

x3 x1

Figura 4.7: Ilustrao grfica da construo da sucesso (xn )nN do mtodo do ponto fixo.
Exemplo 4.4. Retomemos o Exemplo 4.3 em que considermos a equao
x3 + 4x2 10 = 0
com uma nica raiz em [1, 2]. Reescrevemos, no intervalo anterior, a equao em estudo na forma
equivalente
r
10
x=
,
x+4
q
10
em que g(x) = x+4
tem um ponto fixo nico em [1, 2].
Consideremos agora a sucesso (xn )nN definida por
r
10
xn+1 =
, n = 0, 1, . . . .
(4.4.3)
xn + 4

Matemtica Numrica I

J. A. Ferreira, G. Pena

125

Na tabela seguinte apresentamos alguns elementos desta sucesso quando x0 = 1 bem como os correspondentes valores de | f |.
n

xn

f (xn )

1
2
3
4
5
..
.

1.4142135623730950488
1.3590402174294351594
1.3660182195292663164
1.3651297414694172065
1.3652427711324894042
..
.

0.82842712474619009760
0.10190463362416193871
0.013020992223824525539
0.0016557492418038259895
0.00021067461276573120107
..
.

21

1.3652300134140968453

7.8058660544728304262 1018

Se considerarmos x0 = 2, obtemos x21 ' 1.36523 e | f (x21 )| ' 1.201 1017 . Por outro lado, com x0 = 1.5
obtemos x21 ' 1.36523 e | f (x21 )| ' 0. Neste caso, vrias aproximaes iniciais geram sucesses em que
o valor correspondente da funo f parecem convergir para zero.
Os resultados apresentados no exemplo anterior pemitem-nos intuir que a sucesso (xn )nN definida
por (4.4.3) converge para a raiz da equao pretendida. No resultado seguinte estabelecemos as condies
que nos permitem concluir a convergncia do mtodo do ponto fixo.
Teorema 4.4. Seja g : [a, b] [a, b] tal que
|g0 (x)| k < 1, x [a, b].

(4.4.4)

Ento, qualquer que seja a aproximao inicial x0 [a, b], a sucesso gerada pelo mtodo
iterativo (4.4.2) converge para o nico ponto fixo de g em [a, b].

Demonstrao. O Teorema 4.3 permite concluir a existncia e unicidade do ponto fixo x [a, b].
Sejam xn+1 e xn definidos por (4.4.2) e x0 [a, b]. Temos, sucessivamente,
xn+1 x = g(xn ) g(x )

= g0 (n )(xn x ),

em que n pertence ao intervalo de extremos x e xn .


Considerando agora (4.4.4) obtemos

e portanto

|xn+1 x | k|xn x |,

(4.4.5)

|xn x | kn |x0 x |.

(4.4.6)

Atendendo a que k < 1, de (4.4.6), vem

lim |xn+1 x | = 0.

n+

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

126

Corolrio 4.1. Nas hipteses do Teorema 4.4 tem-se


|en | kn max{x0 a, b x0 }
e
|en |

kn
|x1 x0 |.
1k

(4.4.7)

(4.4.8)

Demonstrao. A prova de (4.4.7) imediata. Provemos agora (4.4.8). Consideremos x j+1 e x j definidos
por (4.4.2). fcil demonstrar a desigualdade
|x j+1 x j | k j |x1 x0 |.
Para |xn+m xn |, temos, sucessivamente,
|xn+m xn |

m+n1

j=n
m+n1

j=n

|x j+1 x j |
k j |x1 x0 |

kn |x1 x0 | k j
j=0

kn
|x1 x0 |

1k

sendo a ltima igualdade obtida atendendo ao facto de k < 1.


A desigualdade
kn
|x1 x0 |
|xn+m xn |
1k
permite finalmente concluir (4.4.6).

Notamos que as desiguladades (4.4.7) e (4.4.8) podem ser utilizadas para determinar o nmero de
iteraes do mtodo do ponto fixo que devemos considerar para que o erro da aproximao determinada
seja inferior a uma tolerncia , fixada a priori. Assim, de (4.4.7) obtemos


ln max{bx 0 ,x0 a}
n>
,
ln k
e, de (4.4.8), vem
n>




ln |x1 x
0|

.
ln k
Observamos tambm que a velocidade de convergncia do mtodo do ponto fixo definido por uma
funo g determinada pelo majorante de |g0 |. Consideremos dois mtodos do ponto fixo, definidos pelas
funes g1 e g1 , para determinar uma aproximao para a raiz de uma determinada equao. Se
max |g01 | < max |g02 |,
[a,b]

[a,b]

ento devemos escolher o mtodo definido pela funo g1 .

Matemtica Numrica I

J. A. Ferreira, G. Pena

127

O Teorema 4.4 uma condio suficiente para a convergncia do mtodo do ponto fixo. Na prova
deste teorema estabelecemos a desigualdade (4.4.5) que pode ser reescrita na forma equivalente
|en+1 | k|en |.
Esta desigualdade estabelece que, nas condies do Teorema 4.4, o mtodo do ponto fixo apresenta
convergncia linear. No resultado que apresentamos seguidamente estabelecemos que, sob determinadas
condies, o mtodo do ponto fixo tem convergncia quadrtica.
Teorema 4.5. Seja g : [a, b] R com um nico ponto fixo x em [a, b]. Se g0 (x ) = 0 e g00
limitada num intervalo contendo o ponto fixo, ento existe > 0 tal que, qualquer que seja
x0 I = [x , x + ], mtodo do ponto fixo (4.4.2) tem convergncia quadrtica.
Demonstrao. Atendendo a que g0 (x ) = 0, fixado k < 1, existe > 0 tal que
|g0 (x)| k, x I.
Mostremos que g(I) I. Para o efeito, notamos que, para x I, se tem sucessivamente
|g(x) x | = |g(x) g(x )|

= |g0 ()||x x|
k|x x|
,

em que I.
Uma vez que g(I) I e |g0 (x)| < 1 para x I, pelo Teorema 4.4, a sucesso definida pelo mtodo do
ponto fixo converge para x . Provemos agora que tal convergncia quadrtica. Atendendo a que se tem
xn+1 = g(xn )
1
= g(x ) + g0 (x )(xn x ) + g00 ()(xn x )2
2
1 00
2
= g ()(xn x ) ,
2
com no intervalo definido por xn e x , vem


1 00


|en+1 | = g () |en |2 .
2

Finalmente, atendendo a que g00 limitada em algum intervalo contendo x , conclumos


|en+1 | M|en |2 .


Observamos por ltimo que o mtodo do ponto fixo se pode implementar de forma anloga
ao mtodo de Newton (ver Algoritmo 4.2).

128

4.5

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

O mtodo da falsa posio

A aplicao do mtodo de Newton para determinar uma aproximao para a soluo x de f (x) = 0
requer a existncia da primeira derivada. Estudamos seguidamente um mtodo iterativo que segue a
mesma filosofia do mtodo de Newton mas em que a recta tangente substituda pela recta secante.
Suponhamos que f : [a, b] R tal que f (a) f (b) < 0. Suponhamos que f (a) < 0, f (b) > 0.

x1 x2

Figura 4.8: Construo grfica da sucesso (xn )nN do mtodo da corda falsa..
1. Consideremos x0 = a e a recta secante curva y = f (x) nos pontos (a, f (a)), (b, f (b)) de equao
y = b + f [x0 , b](x x0 ).
Se x1 denota a abcissa do ponto de interseco da recta anterior com o eixo das abcissas, ento
x1 = b

f (b)
.
f [x0 , b]

Comparamos em seguida f (x1 ) com f (a) e f (b) e definimos I1 = [a1 , b1 ] tal que x I1 .
2. Consideremos a recta secante curva y = f (x) nos ponto (a1 , f (a1 )), (b1 , f (b1 )) de equao
y = f (b1 ) + f [a1 , b1 ](x b1 ).
Se x2 denota a abcissa do ponto de interseco da recta anterior com o eixo das abcissas, ento
x2 = b1

f (b1 )
.
f [a1 , b1 ]

Comparamos em seguida f (x2 ) com f (a1 ) e f (b1 ) e determinamos I2 = [a2 , b2 ] tal que x I2 .
3. O processo repete-se.
4. Seja In = [an , bn ] tal que x In . Consideremos a recta secante curva y = f (x) no ponto
(an , f (an )), (bn , f (bn )) de equao
y = f (bn ) + f [an , bn ](x bn ).
Seja xn+1 a abcissa do ponto de interseco da recta anterior com o eixo das abcissas, ento
xn+1 = bn

f (bn )
.
f [an , bn ]

(4.5.1)

Matemtica Numrica I

J. A. Ferreira, G. Pena

129

O mtodo apresentado designado mtodo da falsa posio ou mtodo da corda falsa. Em cada
iterao do mtodo, determinamos a abcissa do ponto de interseco da recta secante ao grfico de f em
pontos determinados e, em seguida, determinamos o novo intervalo comparando o sinal da funo nesta
nova aproximao com os extremos considerados de modo a definir o novo intervalo que nos vai permitir
calcular a nova aproximao, ver Figura 4.8.
Estudamos seguidamente as propriedades da sucesso definida por (4.5.1) para funes convexas ou
concavas.
Definio 4.3. Seja f : [a, b] R. Se
f ( x1 + (1 )x2 ) f (x1 ) + (1 ) f (x2 ), x1 , x2 [a, b], [0, 1],
ento f diz-se convexa em [a, b]. Se a desigualdade estrita, ento f diz-se estritamente convexa em
[a, b].
Se
f ( x1 + (1 )x2 ) f (x1 ) + (1 ) f (x2 ), x1 , x2 [a, b], [0, 1],
ento f diz-se cncava em [a, b]. Se a desigualdade estrita, ento f diz-se estritamente cncava em
[a, b].

Teorema 4.6. Seja f : [a, b] R convexa ou cncava tal que f (a) f (b) < 0. Ento a sucesso
gerada pelo mtodo da corda falsa converge e existe n0 N0 tal que
|en+1 | M|en |, n n0 ,

(4.5.2)

com M < 1.

Demonstrao. Seja f uma funo convexa e admitamos que f (a) < 0, f (b) > 0. Seja (xn )nN a sucesso
definida pelo mtodo da corda falsa. Esta sucesso crescente e limitada superiormente e portanto
convergente. Seja x este limite. Provemos que x = x . Para o efeito suponhamos que f (x)
6= 0. Ento
existem > 0 e n0 N0 tais que
| f (xn )| , n n0 .
(4.5.3)
Da definio (4.5.1) com bn = b, vem

xn+1 b =

f (b)
f [xn , b]

= (b xn )
e portanto
|xn+1 b|
e ainda
|xn+k b|
Logo, tomando o limite quando k , vem

f (b)
f (b) f (xn )

M
|xn b|,
M+
M
M+

x = b.

k

|xn b|.

130

J. A. F ERREIRA , G. P ENA

M ATEMTICA N UMRICA I

Mas a sucesso (xn )nN construida de modo a ter-se f (xn ) f (b) 0. Consequentemente
0 lim f (xn ) f (b) = f (b)2 > 0,
n

o que constitui uma contradio.


Para mostrar que a convergncia do mtodo da corda falsa linear, comecemos por observar que a
recta secante definida a partir de (an , f (an )), (b, f (b)) tem a seguinte equao
y = f (an ) + f [an , b](x an )

ou seja

y = f (xn ) + f [xn , b](x xn )

e portanto a aproximao xn+1 satisfaz

0 = f (xn ) + f [xn , b](xn+1 xn ).

(4.5.4)

0 = f (xn ) + f [xn , b](x xn ) + f [x , xn , b](x b)(x xn ).

(4.5.5)

Por outro lado temos


De facto, uma vez que se tem

f [x , xn , b](x b)(x xn ) = f [xn , b](x xn ) + f [x , xn ](x xn )


= f (xn ) f [xn , b](x xn )

conclumos a igualdade (4.5.5). Conjungando (4.5.4) e (4.5.5), obtemos

f [xn , b](x xn+1 ) = f [x , xn , b](x b)(x xn ),

que nos permite estabelecer



f [x , xn , b](x b)
|en+1 |

lim
= lim

n |en |
n
f [xn , b]



f [x , xn ]
= lim 1
n
f [xn , b]


0



f
(x
)

= 1 0
f ( )

em que (x , b). Atendendo a que f convexa deduzimos 0 6=

f 0 (x )
f 0 ( )

< 1.


Uma variante ao mtodo anterior chamado mtodo da secante. Consideremos as aproximaoes x0 e


x1 coincidindo com os extremos do intervalo [a, b] onde f tem apenas um zero. A partir da recta secante
curva y = f (x) e do ponto de interseco desta recta com o eixo das abcissas, obtemos
x2 = x1

f (x1 )
.
f [x0 , x1 ]

Considerando agora a secante curva y = f (x) definida pelos pontos (x1 , f (x1 )) e (x2 , f (x2 )) somos
facilmente conduzidos a
f (x2 )
.
x3 = x2
f [x1 , x2 ]
O processo repete-se e a partir das aproximaes xn1 e xn obtemos
xn+1 = xn

f (xn )
.
f [xn1 , xn ]

(4.5.6)

Observamos que a nica diferena entre o mtodo da secante e o da falsa posio a determinao
dos pontos que definem a secante. claro que no havendo a escolha criteriosa dos pontos que definem a
secante pode surgir facilmente uma situao de divergncia.

Matemtica Numrica I

J. A. Ferreira, G. Pena

4.6
1.

131

Alguns problemas
(a) Localize a raiz da equao ln(x 1) =

1
x1 .

(b) Aplique e o mtodo da bisseo duas vezes e indique o majorante do erro com que vem
afectada a aproximao calculada.
2.

(a) Localize as razes de x2 + 4| ln |x|| 4 = 0.

(b) Determine a terceira iterao utilizando o mtodo de Newton.


3. O mtodo de Newton para determinar a raiz da equao f (x) = 0 pode ser indentificado como
um mtodo do ponto fixo. Utilizando esta identificao, prove que o mtodo de Newton tem
efectivamente ordem de convergncia quadrtica.
4. Utilizando o mtodo de Newton, indique um mtodo iterativo para calcular o inverso de um nmero
positivo .
5. Considere a equao f (x) = 0 que rescrevemos na forma equivalente x = x + f (x) com 6= 0.
Indique como deve escolher o parmtro de modo a aplicar o mtodo do ponto fixo.
6.

(a) Mostre que o mtodo iterativo


xn+1 =

c
xnp1

, n = 0, . . . ,

no til para encontrar as raiz c p , p 2, em que c > 0.

(b) Mostre que o mtodo de Newton permite obter uma sucesso convergente para c p .
7.

(a) Localize a raiz positiva da equao cosh(x) 2 + 2x = 0.

(b) Determine a segunda iterao utilizando ao mtodo da corda falsa.

132

M ATEMTICA N UMRICA I

J. A. F ERREIRA , G. P ENA

B IBLIOGRAFIA

[1] R. L. Burden and J. D. Faires. Numerical Analysis. Brooks/Cole Publishing Company, Pacific Grove,
1997.
[2] W. Gautschi. Numerical Analysis: An Introduction. Birkhuser, Berlin, 1987.
[3] R. Kress. Numerical Analysis. Springer, New York, 1997.
[4] P. M. Prenter. Splines and Variational Methods. John Wiley & Sonsr, New York, 1976.
[5] A. Quarteroni, R. Sacco, and F. Saleri. Numerical Mathematics. Springer, New York, 2000.
[6] A. Quarteroni and F. Saleri. Scientific Computing with MATLAB and Octave. Springer, New York,
2007.

133

S-ar putea să vă placă și