You are on page 1of 447

ANLISE NUMRICA

HEITOR L. G. PINA

Faculdade de Engenharia Universidade Catlica

2009

Contedo

Prefcio segunda edio Prefcio primeira edio Notao 1 Aritmtica computacional 1.1 Introduo . . . . . . . . . . . . . . . . . . . . 1.1.1 A contagem e os nmeros naturais . . 1.1.2 A medio e os nmeros reais . . . . . 1.2 Representao de nmeros inteiros . . . . . . . 1.2.1 Inteiros positivos . . . . . . . . . . . . 1.2.2 Inteiros no-positivos . . . . . . . . . . 1.3 Representao de nmeros reais . . . . . . . . 1.3.1 Notao cientca de nmeros reais . . 1.3.2 Representao em ponto utuante . . . 1.4 Erros na aritmtica em ponto utuante . . . . 1.4.1 Erros de representao . . . . . . . . . 1.4.2 Erros nas operaes aritmticas . . . . 1.4.3 Dgitos correctos . . . . . . . . . . . . 1.5 A norma IEEE 754 . . . . . . . . . . . . . . . 1.6 Propagao de erros . . . . . . . . . . . . . . 1.6.1 Anlise indirecta ou regressiva de erros 1.6.2 Alguns aspectos prticos . . . . . . . . 1.7 Algoritmos . . . . . . . . . . . . . . . . . . . . 1.7.1 Conceito de algoritmo . . . . . . . . . 1.7.2 Complexidade computacional . . . . . 1.8 Notas e referncias . . . . . . . . . . . . . . . 1.9 Problemas . . . . . . . . . . . . . . . . . . . . v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

xviii xx xxvi . . . . . . . . . . . . . . . . . . . . . . 1 1 1 5 6 6 9 9 11 11 12 12 15 26 27 30 32 42 43 44 44 46 48

vi

Contedo

2 Interpolao polinomial 2.1 Introduo . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Generalidades . . . . . . . . . . . . . . . . 2.1.2 Algoritmo de Horner . . . . . . . . . . . . 2.2 Formas polinomiais . . . . . . . . . . . . . . . . . 2.2.1 Forma de Newton . . . . . . . . . . . . . . 2.2.2 Factorizao de polinmios . . . . . . . . . 2.3 Interpolao de Lagrange . . . . . . . . . . . . . . 2.3.1 Mtodo de Vandermonde . . . . . . . . . . 2.3.2 Frmula de Lagrange . . . . . . . . . . . . 2.3.3 Frmula de Newton . . . . . . . . . . . . . 2.3.4 Diferenas divididas . . . . . . . . . . . . 2.3.5 Interpolao inversa . . . . . . . . . . . . 2.4 Erros de interpolao . . . . . . . . . . . . . . . . 2.4.1 Anlise de erros . . . . . . . . . . . . . . . 2.4.2 Ns de Chebyshev . . . . . . . . . . . . . 2.4.3 Efeitos de perturbaes nos valores nodais 2.5 Interpolao com ns equidistantes . . . . . . . . 2.5.1 Frmulas de interpolao . . . . . . . . . . 2.5.2 Algumas relaes entre operadores . . . . 2.6 Interpolao de Hermite . . . . . . . . . . . . . . 2.6.1 Interpolao osculatria . . . . . . . . . . 2.6.2 Interpolao no plano complexo . . . . . . 2.7 Splines . . . . . . . . . . . . . . . . . . . . . . . . 2.7.1 Splines de grau zero . . . . . . . . . . . . 2.7.2 Splines de grau um . . . . . . . . . . . . . 2.7.3 Splines quadrticos . . . . . . . . . . . . . 2.7.4 Splines cbicos . . . . . . . . . . . . . . . 2.7.5 Splines com tenso . . . . . . . . . . . . . 2.8 Representao de curvas . . . . . . . . . . . . . . 2.8.1 Representao paramtrica . . . . . . . . . 2.8.2 Curvas de Bzier . . . . . . . . . . . . . . 2.9 Notas e referncias . . . . . . . . . . . . . . . . . 2.10 Problemas . . . . . . . . . . . . . . . . . . . . . . 3 Derivao numrica 3.1 Introduo . . . . . . . . . . . . . . . . . . . 3.2 Derivadas de primeira ordem . . . . . . . . . 3.2.1 Diferenas nitas de primeira ordem 3.2.2 Diferenas nitas de segunda ordem . 3.3 Derivadas de segunda ordem . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

59 59 59 65 65 67 71 73 73 75 79 80 85 87 88 90 93 95 95 100 103 104 107 111 112 113 114 116 122 122 122 123 125 126 139 139 140 142 144 145

Contedo

vii

3.4 3.5 3.6

3.7 3.8 3.9

Matrizes de derivao . . . . . . . . . . . . . . Derivao com splines . . . . . . . . . . . . . Inuncia de erros na funo f . . . . . . . . 3.6.1 Inuncia de perturbaes em f . . . . 3.6.2 Inuncia dos erros de arredondamento Extrapolao de Richardson . . . . . . . . . . Notas e referncias . . . . . . . . . . . . . . . Problemas . . . . . . . . . . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

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

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

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

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

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

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

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

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

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

148 150 150 150 151 154 155 156 161 161 163 164 167 171 172 173 175 176 180 182 186 187 188 189 192 196 197 198 202 203 205 205

4 Integrao numrica 4.1 Introduo . . . . . . . . . . . . . . . . . . . . 4.2 Regras bsicas . . . . . . . . . . . . . . . . . . 4.2.1 Deduo das frmulas . . . . . . . . . 4.2.2 Erros de integrao . . . . . . . . . . . 4.3 Regras com valores das derivadas . . . . . . . 4.4 Regras de Gauss . . . . . . . . . . . . . . . . 4.4.1 Deduo das frmulas . . . . . . . . . 4.4.2 Erros de integrao . . . . . . . . . . . 4.4.3 Regras de Gauss com peso . . . . . . . 4.4.4 Regras de Gauss com ns nos extremos 4.5 Regras compostas . . . . . . . . . . . . . . . . 4.5.1 Integrao com splines . . . . . . . . . 4.6 Convergncia da integrao numrica . . . . . 4.7 Integrao adaptativa . . . . . . . . . . . . . . 4.7.1 Mtodos adaptativos . . . . . . . . . . 4.7.2 A frmula de Euler-Maclaurin . . . . . 4.7.3 Mtodo de Romberg . . . . . . . . . . 4.8 Integrais imprprios . . . . . . . . . . . . . . . 4.8.1 Integrandas com singularidades . . . . 4.8.2 Intervalos innitos . . . . . . . . . . . 4.9 Inuncia de erros na integranda . . . . . . . 4.10 Notas e referncias . . . . . . . . . . . . . . . 4.11 Problemas . . . . . . . . . . . . . . . . . . . . 5 Equaes no-lineares 5.1 Introduo . . . . . . . . . . . . 5.1.1 Razes e zeros . . . . . . 5.1.2 Iteraes e convergncia 5.2 Mtodo da bisseco . . . . . . 5.2.1 Descrio do mtodo . . 5.2.2 Erros e convergncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . do intervalo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

212 . 212 . 213 . 216 . 222 . 222 . 223

viii

Contedo

5.3 Mtodo da falsa posio . . . . . . . . 5.3.1 Descrio do mtodo . . . . . . 5.3.2 Erros e convergncia . . . . . . 5.4 Mtodo da secante . . . . . . . . . . . 5.4.1 Descrio do mtodo . . . . . . 5.4.2 Erros e convergncia . . . . . . 5.5 Mtodo de Newton . . . . . . . . . . . 5.5.1 Descrio do mtodo . . . . . . 5.5.2 Erros e convergncia . . . . . . 5.6 Mtodo de Muller . . . . . . . . . . . . 5.7 Utilizao de interpolao inversa . . . 5.8 Mtodo do ponto xo . . . . . . . . . . 5.8.1 Descrio do mtodo . . . . . . 5.8.2 Erros e convergncia . . . . . . 5.8.3 Acelerao de Aitken . . . . . . 5.8.4 Mtodo de Steensen . . . . . . 5.9 Zeros de polinmios . . . . . . . . . . . 5.9.1 Localizao dos zeros . . . . . . 5.9.2 Determinao de todos os zeros 5.10 Efeito dos erros de arredondamento . . 5.11 Critrios de paragem . . . . . . . . . . 5.12 Notas e referncias . . . . . . . . . . . 5.13 Problemas . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

226 226 227 229 229 230 233 233 234 236 237 238 239 239 242 244 246 247 252 253 255 257 258

6 Sistemas de equaes lineares: mtodos directos 6.1 Introduo . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Notao e nomenclatura . . . . . . . . . . 6.1.2 Operaes com matrizes . . . . . . . . . . 6.1.3 Teoria dos sistemas de equaes lineares . 6.1.4 Sistemas triangulares . . . . . . . . . . . . 6.2 Reduo a sistemas triangulares . . . . . . . . . . 6.3 Mtodo de Gauss . . . . . . . . . . . . . . . . . . 6.4 Factorizaes triangulares . . . . . . . . . . . . . 6.4.1 Factorizao LU . . . . . . . . . . . . . . 6.4.2 Mtodo de Doolittle . . . . . . . . . . . . 6.4.3 Mtodo de Crout . . . . . . . . . . . . . . 6.4.4 Factorizao LDU . . . . . . . . . . . . . 6.5 Escolha de piv . . . . . . . . . . . . . . . . . . . 6.5.1 Escolha de piv no mtodo de Gauss . . . 6.5.2 Escolha de piv nos mtodos de Doolittle e 6.5.3 Equilibragem de matrizes . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . de Crout . . . . . .

270 . 270 . 271 . 273 . 277 . 280 . 281 . 285 . 289 . 289 . 291 . 294 . 294 . 295 . 295 . 301 . 301

Contedo

ix

6.6 6.7

Clculo da inversa e do determinante . . . . . . . . Sistemas com matrizes especiais . . . . . . . . . . . 6.7.1 Matrizes simtricas . . . . . . . . . . . . . . 6.7.2 Matrizes simtricas denidas positivas . . . 6.7.3 Matrizes banda . . . . . . . . . . . . . . . . 6.7.4 Matrizes tridiagonais. Algoritmo de Thomas 6.7.5 Soluo por blocos . . . . . . . . . . . . . . 6.8 Anlise de erros . . . . . . . . . . . . . . . . . . . . 6.8.1 Efeito das perturbaes . . . . . . . . . . . . 6.8.2 Efeito dos erros de arredondamento . . . . . 6.9 Renamento iterativo . . . . . . . . . . . . . . . . . 6.10 Notas e referncias . . . . . . . . . . . . . . . . . . 6.11 Problemas . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

302 304 305 307 310 312 313 315 315 322 325 326 328

7 Valores e vectores prprios 7.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Alguns exemplos . . . . . . . . . . . . . . . . . . . 7.1.2 Denies bsicas . . . . . . . . . . . . . . . . . . . 7.1.3 Propriedades de pares prprios . . . . . . . . . . . 7.1.4 Similaridade . . . . . . . . . . . . . . . . . . . . . . 7.1.5 Teorema de Cayley-Hamilton . . . . . . . . . . . . 7.1.6 Polinmio minimal . . . . . . . . . . . . . . . . . . 7.1.7 Quociente de Rayleigh . . . . . . . . . . . . . . . . 7.1.8 Localizao de valores prprios . . . . . . . . . . . 7.2 Mtodos das potncias . . . . . . . . . . . . . . . . . . . . 7.2.1 Mtodo das potncias directas . . . . . . . . . . . . 7.2.2 Translaes espectrais . . . . . . . . . . . . . . . . 7.2.3 Mtodo das potncias inversas . . . . . . . . . . . . 7.2.4 Iteraes em subespaos . . . . . . . . . . . . . . . 7.3 Mtodos de Jacobi . . . . . . . . . . . . . . . . . . . . . . 7.3.1 Mtodo de Jacobi clssico . . . . . . . . . . . . . . 7.3.2 Variantes do mtodo de Jacobi . . . . . . . . . . . 7.4 Tridiagonalizao de matrizes . . . . . . . . . . . . . . . . 7.4.1 Rotaes de Givens . . . . . . . . . . . . . . . . . . 7.4.2 Reexes de Householder . . . . . . . . . . . . . . . 7.4.3 Valores prprios de matrizes tridiagonais simtricas 7.4.4 Vectores prprios de matrizes tridiagonais . . . . . 7.5 Problema de valores e vectores prprios generalizado . . . 7.5.1 Generalidades . . . . . . . . . . . . . . . . . . . . . 7.5.2 O caso hermiteano/hermiteano denido positivo . . 7.6 Notas e referncias . . . . . . . . . . . . . . . . . . . . . .

337 . 337 . 337 . 340 . 342 . 353 . 358 . 360 . 362 . 365 . 368 . 368 . 371 . 372 . 374 . 375 . 375 . 381 . 382 . 382 . 383 . 387 . 393 . 393 . 394 . 394 . 395

Contedo

7.7 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 8 Sistemas de equaes lineares sobredeterminados 8.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . 8.1.1 Alguns exemplos . . . . . . . . . . . . . . . 8.1.2 As equaes normais . . . . . . . . . . . . . 8.1.3 Mnimos quadrados ponderados . . . . . . . 8.2 Soluo de sistemas inconsistentes . . . . . . . . . . 8.2.1 Algoritmos de Gram-Schmidt . . . . . . . . 8.2.2 Algoritmo de Householder . . . . . . . . . . 8.2.3 Decomposio em valores singulares . . . . . 8.2.4 Regularizao . . . . . . . . . . . . . . . . . 8.2.5 A pseudo-inversa caso geral . . . . . . . . 8.3 Mnimos quadrados no-lineares . . . . . . . . . . . 8.4 Notas e referncias . . . . . . . . . . . . . . . . . . 8.5 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 . 411 . 411 . 417 . 421 . 422 . 423 . 428 . 430 . 434 . 438 . 440 . 442 . 443 451 . 451 . 454 . 457 . 459 . 461 . 465 . 465 . 468 . 470 . 471 . 474 . 474 . 480 . 481 . 481 . 485 . 489 . 491 . 494 . 499 . 503 . 503 . 505

9 Sistemas de equaes lineares: mtodos iterativos 9.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.1 Mtodos estacionrios . . . . . . . . . . . . . . 9.1.2 Decomposio da matriz A . . . . . . . . . . . 9.2 Mtodo de Jacobi . . . . . . . . . . . . . . . . . . . . . 9.3 Mtodo de Gauss-Seidel . . . . . . . . . . . . . . . . . 9.4 Mtodos de relaxao . . . . . . . . . . . . . . . . . . . 9.4.1 Mtodo de Jacobi com relaxao . . . . . . . . 9.4.2 Mtodo de Gauss-Seidel com relaxao . . . . . 9.4.3 Determinao do factor de relaxao . . . . . . 9.5 Acelerao polinomial . . . . . . . . . . . . . . . . . . . 9.6 Mtodos de descida . . . . . . . . . . . . . . . . . . . . 9.6.1 Descrio dos mtodos . . . . . . . . . . . . . . 9.6.2 Erros e convergncia . . . . . . . . . . . . . . . 9.7 Mtodos de projeco . . . . . . . . . . . . . . . . . . . 9.7.1 Quadro geral . . . . . . . . . . . . . . . . . . . 9.7.2 Projeco em subespaos de Krylov . . . . . . . 9.7.3 Mtodo de ortogonalizao completa de Arnoldi 9.7.4 Mtodo de Lanczos simtrico . . . . . . . . . . 9.7.5 Mtodo dos gradientes conjugados . . . . . . . . 9.7.6 Mtodo do resduo mnimo . . . . . . . . . . . . 9.8 Precondicionamento . . . . . . . . . . . . . . . . . . . 9.8.1 Generalidades . . . . . . . . . . . . . . . . . . . 9.8.2 Aplicao ao mtodo gradientes conjugados . .

Contedo

xi

9.9 Notas e referncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 9.10 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510 10 Sistemas de equaes no-lineares 10.1 Introduo . . . . . . . . . . . . . . . . . . . . . . 10.2 Mtodo de Newton . . . . . . . . . . . . . . . . . 10.2.1 Descrio . . . . . . . . . . . . . . . . . . 10.2.2 Erros e convergncia . . . . . . . . . . . . 10.3 Modicaes ao mtodo de Newton . . . . . . . . 10.3.1 Clculo espaado da matriz jacobiana . . . 10.3.2 Clculo da matriz jacobiana por diferenas 10.3.3 Mtodo de Broyden . . . . . . . . . . . . . 10.3.4 Modicaes globalmente convergentes . . 10.4 Mtodos lineares generalizados . . . . . . . . . . . 10.5 Mtodo de ponto xo . . . . . . . . . . . . . . . . 10.6 Mtodos de continuao . . . . . . . . . . . . . . 10.7 Notas e referncias . . . . . . . . . . . . . . . . . 10.8 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . nitas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520 520 521 521 524 526 526 527 529 532 533 535 537 539 540 544 544 553 553 555 557 558 567 568 570 571 573 574 576 579 582 585 589 592 597 597 598

11 Aproximao de funes 11.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . 11.2 Aproximao polinomial . . . . . . . . . . . . . . . 11.2.1 Frmula de recorrncia . . . . . . . . . . . . 11.2.2 Frmula de Rodrigues . . . . . . . . . . . . 11.2.3 Identidade de Christoel-Darboux . . . . . . 11.2.4 Algumas famlias de polinmios ortogonais . 11.2.5 Zeros de polinmios ortogonais . . . . . . . 11.2.6 Algoritmo de Clenshaw . . . . . . . . . . . . 11.2.7 Polinmios ortogonais num conjunto discreto 11.2.8 Convergncia da aproximao polinomial . . 11.2.9 Economizao de sries de potncias . . . . 11.3 Aproximao trigonomtrica . . . . . . . . . . . . . 11.3.1 Transformada de Fourier contnua . . . . . . 11.3.2 Convergncia da aproximao trigonomtrica 11.3.3 Fenmeno de Gibbs . . . . . . . . . . . . . . 11.3.4 Transformada de Fourier discreta . . . . . . 11.3.5 Transformada de Fourier rpida . . . . . . . 11.4 Alisamento de dados . . . . . . . . . . . . . . . . . 11.5 Aproximaes de Pad . . . . . . . . . . . . . . . . 11.5.1 Interpolao racional . . . . . . . . . . . . . 11.5.2 Construo das aproximantes de Pad . . .

xii

Contedo

11.6 Notas e referncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603 11.7 Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604 12 EDOs: problemas de valor inicial 12.1 Introduo . . . . . . . . . . . . . . . . . . . . 12.2 Mtodos de passo simples . . . . . . . . . . . 12.2.1 Mtodos de Euler . . . . . . . . . . . . 12.2.2 Mtodos . . . . . . . . . . . . . . . . 12.2.3 Erro de truncatura e consistncia . . . 12.2.4 Mtodos de Taylor . . . . . . . . . . . 12.2.5 Mtodos de Runge-Kutta . . . . . . . . 12.2.6 Convergncia . . . . . . . . . . . . . . 12.2.7 Inuncia dos erros de arredondamento 12.2.8 Estabilidade . . . . . . . . . . . . . . . 12.2.9 Controlo adaptativo do passo . . . . . 12.3 Mtodos multipasso . . . . . . . . . . . . . . . 12.3.1 Mtodos de Adams-Bashforth . . . . . 12.3.2 Mtodos de Adams-Moulton . . . . . . 12.3.3 Mtodos de Nystrm e de Milne . . . . 12.3.4 Mtodos multipasso lineares . . . . . . 12.3.5 Consistncia . . . . . . . . . . . . . . . 12.3.6 Convergncia . . . . . . . . . . . . . . 12.3.7 Estabilidade . . . . . . . . . . . . . . . 12.3.8 O processo preditor-corrector . . . . . 12.3.9 Controlo adaptativo do passo . . . . . 12.4 Sistemas de EDOs . . . . . . . . . . . . . . . 12.4.1 Rigidez . . . . . . . . . . . . . . . . . . 12.4.2 EDOs de ordem superior . . . . . . . 12.5 Notas e referncias . . . . . . . . . . . . . . . 12.6 Problemas . . . . . . . . . . . . . . . . . . . . 13 EDOs: problemas de valor de fronteira 13.1 Introduo . . . . . . . . . . . . . . . . . . . . 13.2 Alguns mtodos clssicos . . . . . . . . . . . . 13.2.1 O mtodo de colocao . . . . . . . . . 13.2.2 O mtodo dos mnimos quadrados . . . 13.2.3 O mtodo dos resduos ponderados . . 13.2.4 A escolha das funes teste e tentativa 13.2.5 O teorema da inversa limitada . . . . . 13.3 Formulao fraca simtrica . . . . . . . . . . . 13.3.1 Descrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612 612 615 617 619 620 622 623 630 634 636 641 645 645 647 649 650 652 654 658 661 663 664 665 666 668 668

673 . 673 . 675 . 676 . 679 . 680 . 685 . 687 . 689 . 689

Contedo

xiii

13.3.2 Erros e convergncia . . . . . . . . . . . . . . 13.3.3 Condies de fronteira essenciais e naturais . . 13.4 Formulao fraca no simtrica . . . . . . . . . . . . 13.5 Formulao variacional . . . . . . . . . . . . . . . . . 13.5.1 Descrio . . . . . . . . . . . . . . . . . . . . 13.5.2 O mtodo de RayleighRitz . . . . . . . . . . 13.6 O mtodo dos elementos nitos . . . . . . . . . . . . 13.6.1 Funes base . . . . . . . . . . . . . . . . . . 13.6.2 Construo do sistema de equaes algbricas 13.6.3 Elementos isoparamtricos . . . . . . . . . . . 13.6.4 Erros de aproximao . . . . . . . . . . . . . . 13.7 O mtodo das diferenas nitas . . . . . . . . . . . . 13.7.1 Descrio . . . . . . . . . . . . . . . . . . . . 13.7.2 Condies de fronteira . . . . . . . . . . . . . 13.7.3 Erros e convergncia . . . . . . . . . . . . . . 13.8 Estabilizao . . . . . . . . . . . . . . . . . . . . . . 13.8.1 Diferenas nitas . . . . . . . . . . . . . . . . 13.8.2 Elementos nitos . . . . . . . . . . . . . . . . 13.9 Notas e referncias . . . . . . . . . . . . . . . . . . . 13.10Problemas . . . . . . . . . . . . . . . . . . . . . . . . A Espaos lineares A.1 Linearidade . . . . . . . . . . . . . . . A.2 Bases e dimenso . . . . . . . . . . . . A.3 Distncias, normas e produtos internos A.3.1 Normas de vectores . . . . . . . A.3.2 Normas de funes . . . . . . . A.3.3 Convergncia . . . . . . . . . . A.4 Espaos de funes . . . . . . . . . . . A.4.1 Espaos de Lebesgue . . . . . . A.4.2 Espaos de Sobolev . . . . . . . A.5 Operadores lineares . . . . . . . . . . . A.5.1 Denio e exemplos . . . . . . A.5.2 Normas de operadores . . . . . A.5.3 Dualidade . . . . . . . . . . . . A.6 Notas e referncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

692 697 698 700 700 702 702 703 707 710 712 713 713 716 717 720 720 723 724 725

732 . 732 . 736 . 737 . 743 . 744 . 745 . 751 . 753 . 756 . 757 . 757 . 759 . 763 . 764

B Projectos computacionais 765 B.1 Aritmtica computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . 765 B.2 Interpolao polinomial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767 B.3 Derivao numrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771

xiv

Contedo

B.4 Integrao numrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774 B.5 Equaes no-lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780 B.6 Sistemas de equaes lineares: mtodos directos . . . . . . . . . . . . . . . 784 Bibliograa ndice 789 800

Lista de Tabelas

1.5.1 Casos previstos na norma IEEE 754 . . . . . . . . . . . . . . . . . . . . . . 30 3.3.1 Coecientes das frmulas de diferenciao numrica com ns xi = x0 + ih . 147 4.2.1 Frmulas de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 4.4.1 Abcissas e pesos das regras de Gauss-Legendre no intervalo [1, 1] . . . . . 178 11.2.1 Polinmios de Legendre Pk . . . . . . . . . . . . . 11.2.2 Polinmios de Chebyshev de primeira espcie Tk . 11.2.3 Polinmios de Chebyshev de primeira espcie Tk . 11.2.4 Monmios expressos em termos dos polinmios de espcie Tk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chebyshev de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . primeira . . . . . . . . . . . . . . . . . . . . . . . . . . 560 . 562 . 563 . 573 . . . . 622 641 647 650

12.2.1 Resultados dos Exemplos 12.2.1 e 12.2.2 . . . . . . . 12.2.2 Regio de estabilidade dos mtodos de Runge-Kutta . 12.3.1 Frmulas de Adams-Bashforth . . . . . . . . . . . . . 12.3.2 Frmulas de Adams-Moulton . . . . . . . . . . . . .

xv

Lista de Algoritmos
1.4.1 Somatrio recursivo . . . . . . . . . . . . . . . 1.4.2 Somatrio compensado (Kahan) . . . . . . . . 1.4.3 Produto interno . . . . . . . . . . . . . . . . . 1.9.1 Norma euclideana . . . . . . . . . . . . . . . . 2.1.1 Clculo de polinmios . . . . . . . . . . . . . 2.1.2 Mtodo de Horner . . . . . . . . . . . . . . . . 2.2.1 Mtodo de Horner com centros . . . . . . . . 2.2.2 Mtodo de Horner (modicado) . . . . . . . . 4.7.1 Mtodo adaptativo no-iterativo . . . . . . . . 5.2.1 Mtodo da bisseco . . . . . . . . . . . . . . 5.4.1 Mtodo da secante . . . . . . . . . . . . . . . 5.9.1 Contagem das variaes de sinal . . . . . . . . 6.1.1 Substituies ascendentes . . . . . . . . . . . 6.3.1 Condensao de Gauss (sem escolha de piv) . 6.7.1 Mtodo de Choleski . . . . . . . . . . . . . . . 6.7.2 Mtodo de Thomas . . . . . . . . . . . . . . . 6.9.1 Renamento iterativo . . . . . . . . . . . . . . 7.2.1 Mtodo das potncias directas . . . . . . . . . 7.2.2 Mtodo das potncias inversas com translaes 7.2.3 Iteraes ortogonais . . . . . . . . . . . . . . . 7.3.1 Mtodo de Jacobi clssico . . . . . . . . . . . 7.4.1 Tridiagonalizao de Givens . . . . . . . . . . 7.4.2 Reexo de Householder . . . . . . . . . . . . 8.2.1 Mtodo de Gram-Schmidt clssico . . . . . . . 8.2.2 Mtodo de Gram-Schmidt modicado . . . . . 8.2.3 Transformao de Householder . . . . . . . . . 9.1.1 Mtodos baseados na decomposio de A . . . 9.4.1 Mtodo de Jacobi com relaxao . . . . . . . . 9.4.2 Mtodo de Gauss-Seidel com relaxao . . . . 9.6.1 Mtodo de gradiente . . . . . . . . . . . . . . 9.7.1 Determinao de direces A-conjugadas . . . xvi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . espectrais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 24 25 51 65 66 69 70 191 224 231 247 281 288 309 313 326 370 373 374 379 383 385 425 426 430 458 465 469 479 485

Lista de Algoritmos

xvii

9.7.2 Decomposio de Arnoldi . . . . . . . . . . . . . . . 9.7.3 Decomposio de Arnoldi (modicado) . . . . . . . 9.7.4 Mtodo de Lanczos simtrico . . . . . . . . . . . . . 9.7.5 Mtodo dos gradientes conjugados . . . . . . . . . . 9.7.6 Mtodo dos resduos conjugados . . . . . . . . . . . 9.8.1 Mtodo dos gradientes conjugados precondicionados 10.3.1 Mtodo de Newton (modicado) . . . . . . . . . . . 10.3.2 Mtodo de Broyden . . . . . . . . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

487 489 492 496 502 506 527 531

Prefcio segunda edio


Esta edio difere da anterior nos seguintes aspectos mais importantes: eliminao das arreliadoras gralhas; polimento do texto naqueles trechos que se revelaram de leitura mais difcil; aumento do nmero de algoritmos que so descritos no formato de pseudo programas (em cerca de 100%), do nmero de exemplos resolvidos (em cerca de 35%), do nmero dos problemas (em cerca de 15%) e de projectos propostos (em cerca de 40%); actualizao da bibliograa. As alteraes mais signicativas ao contedo propriamente dito so as que sucintamente se passam a descrever, captulo a captulo: 1 Aritmtica Computacional: A exposio dos sistemas de numerao foi alargada e sistematizada. A anlise de erros das operaes em ponto utuante mereceu alguma simplicao sem sofrer perda de generalidade. Tambm a anlise indirecta de erros recebeu um tratamento mais cuidado. Foi acrescentada uma nova seco dedicada a uma introduo breve aos algoritmos com meno ao conceito de complexidade computacional. 2 Interpolao polinomial: A seco dedicada aos splines passou a referir com mais detalhe a interpolao com splines em tenso e foi acrescentada uma seco onde se refere a representao de curvas, nomeadamente, as de Bzier. 3 Derivao numrica: O ttulo foi mudado mas o contedo do captulo permaneceu praticamente inalterado. 4 Integrao numrica: A seco dedicada a integrais imprprios foi retocada, passando a incluir outras transformaes de variveis, nomeadamente, a transformao IMT. 5 Equaes no-lineares: A caracterizao da convergncia de sucesses foi aprofundada, distinguindo-se agora a convergncia-R e a convergncia-Q. A subseco relativa localizao de zeros de polinmios foi reescrita e ligeiramente ampliada. 6 Sistemas de equaes lineares: mtodos directos: Sem alteraes. xviii

Prefcio segunda edio

xix

7 Valores e vectores prprios: A introduo terica foi ligeiramente ampliada (estabilidade das transformaes de similaridade (ou de semelhana), caracterizao variacional dos valores prprios de matrizes hermiteanas mantendo-se o resto do captulo praticamente sem alteraes. 8 Sistemas de equaes lineares sobredeterminados: Tirando um maior partido da decomposio em valores singulares, foi includo algum material sobre regularizao em problemas mal condicionados e tratado o caso geral da matriz pseudoinversa. 9 Sistemas de equaes lineares: mtodos iterativos: O tratamento dos mtodos de projeco, com especial referncia aos espaos de Krylov, passa a ter uma seco dedicada. Concomitantemente, os mtodos dos gradientes conjugados so agora tratados neste contexto mais amplo. 10 Sistemas de equaes no-lineares: O mtodo do ponto xo benecia de uma meno mais explcita. 11 Aproximao de funes: Praticamente sem alteraes. 12 Equaes diferencias ordinrias: problemas de valor inicial: Algumas alteraes de pormenor. 13 Equaes diferencias ordinrias: problemas de valor de fronteira: Passa a incluir agora uma referncia ao teorema da inversa limitada. O tratamento das equaes de conveco-difuso foi ampliado abordando maior variedade de processos de estabilizao. Apndice A Espaos lineares: Praticamente sem alteraes. Apndice B Projectos computacionais: Includos novos projectos. Agradecimentos. um dever e um prazer agradecer a ajuda de vrias pessoas e instituies: aos Professores Jos Leonel M. Fernandes, Lus Trabucho de Campos, Joo Folgado, Mrio Graa, Carlos M. Lemos, Miguel Neves e Fernando P. Valente, pelos comentrios, sugestes e trocas de pontos de vista que muito contriburam para a melhoria desta edio. ao IST e ao Projecto SARA, pela disponibilizao dos meios necessrios preparao desta edio. Lisboa Agosto de 2001 Heitor Pina

Prefcio primeira edio

This book of mine has little need of preface, for indeed it is all preface from beginning to end. DArcy Wentworth Thompson (1860-1948)
Growth and Form

Este livro nasceu de sucessivas verses de apontamentos de cursos leccionados pelo autor no Instituto Superior Tcnico e na Escola Naval, nomeadamente. O conjunto do material includo o habitual em textos de Anlise Numrica ou de Mtodos Numricos de carcter introdutrio embora no elementar. Existem excelentes livros de introduo aos Mtodos Numricos que apresentam um escopo e nvel de desenvolvimento semelhante ao do presente texto e que, de um modo ou outro, lhe serviram de inspirao. Merecem destaque os seguintes: ATKINSON (1978), CARNAHAN et al. (1969), CHENEY and KINCAID (1985), CONTE and de BOOR (1980), DAHLQUIST and BJRCK (1974), FORSYTHE et al. (1977), FROBERG (1985), HILDEBRAND (1974), ISAACSON and KELLER (1966), MATHEWS (1987), RALSTON and RABINOWITZ (1978) e STOER and BULIRSH (1993). A literatura nacional neste campo no abundante, pelo que da maior justia recordar os textos pioneiros de Csar de Freitas (Introduo Anlise Numrica) nos anos 60, e a srie de monograas de Antnio Cadete e Maria Odete Cadete publicadas pelo Instituto Gulbenkian de Cincia nos anos 70. Mais recentemente, merecem destaque os livros de Maria Raquel Valena (Mtodos Numricos, Livraria Minho, 1993) e de M. A. Fernandes Costa (Clculo Numrico com Pascal, Escolar Editora, 1993). O presente texto permite apoiar um curso semestral de iniciao, ou um curso de dois semestres de teor mais avanado. Em qualquer caso, h um ncleo de matria que constitui uma espcie de fundao sobre a qual assenta tudo o resto e que ocupa grande parte dos Captulos 1 a 9. Os temas tratados nos restantes captulos podero ser escolhidos de acordo com os objectivos especcos de cada curso. xx

Prefcio primeira edio

xxi

Os pr-requisitos necessrios a uma boa assimilao das matrias tratadas englobam a Anlise Real, o Clculo Diferencial e Integral, a lgebra Linear e as Equaes Diferenciais Ordinrias. So tambm indispensveis conhecimentos de Programao. Eis uma breve descrio do contedo dos captulos. Captulo 1: O objectivo de um mtodo numrico , como o prprio nome indica, produzir respostas numricas a problemas matemticos. , pois, necessrio compreender os modos como os computadores representam e operam com nmeros, quais os erros cometidos e como que estes se podem avaliar e controlar. Assim, este captulo aborda os tpicos da Aritmtica Computacional considerados indispensveis. Captulo 2: A Interpolao Polinomial um tema venerando e obrigatrio. So poucas as reas dos Mtodos Numricos que, de uma forma ou outra, no fazem apelo interpolao e, muito especialmente, interpolao que recorre a polinmios. Este captulo apresenta o material mnimo, com a possvel excepo das seces relativas a ns equidistantes (em fase de obsolescncia por via dos computadores, mas includa por respeito aos clssicos) e interpolao complexa (que pode ser considerada como um dos tpicos a omitir num curso elementar). Captulo 3: A Diferenciao Numrica visa a obteno de derivadas a partir da informao dada por valores discretos da funo. feita a deduo das frmulas de diferenas nitas e dos respectivos erros. Constitui uma aplicao directa do material desenvolvido no captulo anterior. Captulo 4: O objectivo da Integrao Numrica de calcular integrais quando o processo analtico no se mostra vivel. Neste captulo deduzem-se as chamadas regras de integrao, e respectivas estimativas de erro, para os casos mais vulgares, tirando partido, tal como sucede com o Captulo 3, da teoria desenvolvida no Captulo 1. A aplicao atravs de algoritmos adaptativos , tambm, descrita devido seu interesse prtico. A seco sobre Integrais Imprprios pode ser omitida num curso elementar. Captulo 5: A soluo de equaes no-lineares um tema muito rico que possibilita um aprofundamento de noes essenciais, como sejam, a de mtodo iterativo, a de convergncia e ordem de convergncia, a de acelerao de um processo iterativo bsico, etc. Neste captulo apresentam-se os mtodos mais usuais, com chamadas de ateno para as respectivas vantagens e desvantagens, numa tentativa de proporcionar pistas para uma escolha criteriosa do mtodo a empregar num caso concreto. Captulo 6: A soluo de sistemas de equaes lineares sempre se erigiu como um desao, j que, por ser um problema computacionalmente intensivo, os mtodos manuais esto, partida, prejudicados. Este captulo estuda os chamados mtodos directos de soluo que se baseiam na ideia de reduo do problema original a um problema

xxii

Prefcio primeira edio

mais fcil por meio de uma factorizao adequada da matriz do sistema. So estudados o mtodo de Gauss e as suas variantes compactas, e dada alguma ateno explorao da estrutura da matriz para aumentar a eccia dos algoritmos, tendo em vista, designadamente, a aplicao ao caso to frequente das matrizes esparsas. O estudo dos erros inerentes aritmtica de preciso nita abordado, chamando-se a ateno para o importante conceito de condio da matriz do sistema. Captulo 7: A determinao de valores e vectores prprios constitui um dos problemas mais exigentes da lgebra Linear Numrica e em que medeia uma maior distncia entre a teoria bsica e os algoritmos ecazes. Este facto obriga, por um lado, a uma introduo mais longa e, por outro, a limitar o material apresentado aos mtodos clssicos. Pela sua relevncia prtica, dada uma ateno particular classe de matrizes reais simtricas. Captulo 9: Este captulo versa a soluo de sistemas de equaes lineares por mtodos iterativos. Sendo o complemento natural do Captulo 6, pode perguntar-se porque que no surge na sua sequncia imediata. A opo tomada justicada pela necessidade de invocar algumas propriedades espectrais de matrizes, introduzidas no Captulo 7, e indispensveis ao estudo da convergncia. O captulo visita os mtodos clssicos (Jacobi e Gauss-Seidel) e descreve os processos de acelerao em algoritmos de convergncia linear: relaxao e acelerao polinomial. feita uma introduo aos mtodos de descida ou do gradiente, e estudam-se com algum pormenor os mtodos dos gradientes conjugados, cada vez mais populares, e as respectivas verses precondicionadas. Estes dois ltimos temas podem ser omitidos num curso de carcter mais elementar. Captulo 8: Em muitas aplicaes prticas, a situao de ter um sistema de equaes lineares com um nmero de equaes exactamente igual ao nmero de incgnitas no ocorre. Por vezes, possvel, e, mesmo, desejvel, haver redundncia na informao subjacente ao problema, como forma de reduzir o efeito dos erros nos dados. Neste caso, somos conduzidos a sistemas de equaes lineares sobredeterminados. O presente captulo faz a apresentao das principais tcnicas no mbito do chamado mtodo dos mnimos quadrados. Captulo 10: A soluo de sistemas de equaes no-lineares um problema que combina todas as diculdades dos sistemas de equaes lineares com as das equaes nolineares. Assim, no admira que este seja um tema particularmente difcil, e esteja muito longe de consolidao. Os mtodos apresentados derivam essencialmente de generalizaes do mtodo de Newton, referido j no Captulo 5, e dos mtodos apresentados no Captulo 9. um captulo de estrutura minimal que s deve ser includo num curso com caractersticas mais avanadas.

Prefcio primeira edio

xxiii

Captulo 11: Inicia-se aqui o grande tema da aproximao de funes por polinmios algbricos e trigonomtricos. No primeiro caso, somos levados ao estudo dos polinmios ortogonais, e no segundo, ao das transformadas de Fourier, em particular, s verses rpidas, e computacionalmente mais interessantes, destas. Faz-se, tambm, uma abordagem do problema do alisamento de dados e das aproximaes racionais ou de Pad. Este captulo recorre intensivamente s noes apresentadas no Apndice A, o que o torna de incluso mais difcil num curso elementar. Captulo 12: A modelao de fenmenos fsicos por equaes diferenciais ordinrias uma tcnica da maior utilidade nas aplicaes. O estudo da respectiva soluo por mtodos aproximados iniciado neste captulo, e prosseguido no seguinte. um tema inesgotvel, que se justica por si prprio, mas, tambm, como preparao para o caso mais dif cil das equaes s derivadas parciais. O presente captulo concentra-se nos problemas de valor inicial com a deduo dos mtodos de passo simples e multipasso. dado o devido realce aos aspectos da convergncia e da estabilidade, que podem, numa verso elementar de um curso, ser expostos de forma mais resumida. Captulo 13: Este captulo introduz os mtodos mais correntes para a soluo aproximada de problemas de valor de fronteira de equaes diferenciais ordinrias. Basicamente, passam-se em revista os mtodos clssicos e estudam-se, com um pouco mais de pormenor, os mtodos baseados em formulaes fracas ou variacionais. So expostos de forma introdutria, mas preparando desde j o estudante para exposies mais avanadas, os mtodos doe elementos nitos e das diferenas nitas. Tambm aqui indispensvel alguma familiaridade com o material do Apndice A. Apndice A: Este apndice serve o propsito de organizar material que, a ser disperso por vrios locais, perderia aquilo que a prpria essncia dos espaos lineares a unidade. No tendo pretenes a ser uma exposio, mesmo resumida, de Anlise Funcional, constitui uma oportunidade de sensibilizao dos estudantes para a respectiva linguagem, usando os mtodos numricos como pretexto. Apndice B: Esto aqui reunidas algumas propostas de projectos computacionais. da maior importncia que o estudante seja capaz de percorrer as diferentes fases que a soluo de um problema matemtico, em geral, requere: formulao; escolha do mtodo de soluo; seleco do algoritmo; programao, tendo em conta os meios computacionais disponveis; interpretao e validao dos resultados. Da que se considere indispensvel preparao do estudante a realizao de alguns destes projectos. No nal de cada captulo so propostos problemas de natureza variada: desde simples exerccios de aplicao, mais ou menos imediata, da matria exposta, obteno de resultados que seria fastidioso incluir no texto, deduo de novos resultados, constituindo

xxiv

Prefcio primeira edio

ampliaes ou generalizaes dos apresentados, a experincias numricas realizveis com meios de clculo modestos. So cerca de 500 problemas no total, devendo o estudante interessado procurar resolver uma parte substancial. As referncias bibliogrcas, geralmente livros de texto e algumas actas de conferncias, e (raros) artigos de revistas, destinam-se a proporcionar ao leitor os primeiros elementos para um estudo mais aprofundado, no tendo sido feito qualquer esforo para incluir as obras ou fontes originais. Quem se lana na rdua tarefa de escrever um livro tem de tomar algumas decises quanto losoa a adoptar. O vasto domnio constitudo pelo Mtodos Numricos, onde conuem disciplinas como a Anlise Matemtica, a Anlise Numrica propriamente dita, a Algoritmia e a Programao, no facilita esta deciso. A escolha do ttulo reecte o resultado de um compromisso: sem ser um livro de Anlise, no repele o rigor proporcionado pelos teoremas e respectivas demonstraes; sem ser um livro sobre Programao (no h uma nica receita para aplicar os mtodos expostos), contm, sempre que tal possa ajudar compreenso, uma descrio algortmica dos mtodos. Em todas as oportunidades, so sublinhadas as propriedades de convergncia e de estabilidade, tentando incutir no esprito do estudante que o facto de se poderem obter resultados numricos num computador de pouco serve se no for possvel associar a estes resultados alguma garantia de qualidade. H, por manifesto desejo de limitar o tamanho deste livro, duas omisses importantes que podem ser indispensveis na bagagem de quem quiser prosseguir os seus estudos nesta rea. So elas: a Optimizao, a qual s referida tangencialmente, e em apoio de outros mtodos, e as Equaes s Derivadas Parciais. O desenvolvimento de qualquer destes temas, a um nvel aceitvel, daria facilmente origem a outros dois volumes. Agradecimentos. um dever e um prazer registar aqui a ajuda de vrias pessoas e instituies: Aos alunos, que foram vtimas das verses preliminares deste texto, pela sua compreenso inesgotvel; aos Professores Michel Carpentier, Jos Leonel M. Fernandes, Carlos M. Lemos e Fernando P. Valente, pelas cuidadosas leituras e pertinentes comentrios que permitiram sucessivas melhorias incrementais; ao IST, ao seu Centro de Informtica e ao Projecto ARMOR, pela disponibilizao dos meios necessrios preparao deste livro; ao arteso Heitor Pina (identicvel com o autor mediante um isomorsmo natural) pelo paciente trabalho de dactilograa, elaborao das guras, etc., e a quem, infelizmente, so atribuveis todos os erros, omisses e falhas sobreviventes. Lisboa Maio de 1995 Heitor Pina

[. . . ] and so there aint nothing more to write about, and I am rotten glad of it, because if Id a knowed what a trouble it was to make a book I wouldnt a tackled it, and aint going to no more. But I reckon I got to light out for the territory ahead [. . . ] Mark Twain (1835-1910)
The Adventures of Huckleberry Finn

Notao

Compilamos aqui as principais notaes utilizadas neste livro, deixando a introduo de outras, de carcter mais especco, para os locais apropriados. Os teoremas so referenciados do seguinte modo: Teorema 3.4.5, em que 3 designa o Captulo 3; 4, a Seco 4; 5, o teorema nmero 5 da Seco 3.4. As referncias a denies, exemplos, etc., seguem o mesmo princpio. As referncias a frmulas so sempre includas entre parntesis: (2.3.7), por exemplo.

Miscelnea
SMBOLO || pq pq pq qtp i.e. sse i Re z Im z SIGNIFICADO Quanticador universal Quanticador existencial Aproximadamente igual a Idntico a Assimptoticamente igual a Muito menor que Muito maior que Valor absoluto de um real ou mdulo de um complexo Norma A proposio p implica a proposio q A proposio q implica a proposio p p q e p q, i.e., as proposies p e q so equivalentes do ingls, almost everywhere isto (do latim id est) Se e se s i = 1, unidade imaginria Parte real do nmero complexo z Parte imaginria do nmero complexo z Fim de denio, demonstrao, exemplo, etc.

xxvi

Notao

xxvii

Nmeros reais
Neste texto a separao entre a parte inteira e a parte fraccionria de um nmero real feita por um ponto de acordo com notao anglo-saxnica e no por uma vrgula segundo as regras de ortograa do portugus. Assim, escreveremos 43.82 e no 43, 82. Esta opo ditada pelo facto de todas as linguagens de programao seguirem a tradio anglo-saxnica e o desejo de no criar, por esta via, duplicidade de convenes.

Alfabeto grego
Minsculas o Maisculas A B E Z H I K M N O R T X

xxviii

Notao

Conjuntos
Os conjuntos so indicados de duas maneiras: ou especicando todos os elementos que formam o conjunto como, por exemplo, S = {0, 1, 3}, ou atravs da expresso das propriedades que caracterizam os elementos do conjunto como, por exemplo, S = {x : 0 < x 1}. Listamos em seguida os conjuntos e os smbolos com eles relacionados de uso mais frequente neste texto. SMBOLO xA AB AB A\B AB AB N N+ Z Z+ N1 Z Q Q+ Q R R+ R C [a, b] (a, b) inter (a, b, c) dim C[a, b] C k [a, b] Lp Hp Pn P Pm,n R Rmn Cmn SIGNIFICADO x pertence ao conjunto A A subconjunto de B B subconjunto de A Diferena dos conjuntos A e B Unio dos conjuntos A e B Interseco dos conjuntos A e B Conjunto dos inteiros no negativos {0, 1, 2, . . .} Conjunto dos nmeros naturais {1, 2, . . .} Conjunto dos nmeros inteiros Conjunto dos inteiros positivos {1, 2, . . .} Conjunto dos inteiros negativos Conjunto dos nmeros racionais Conjunto dos racionais positivos Conjunto dos racionais negativos Conjunto dos nmeros reais Conjunto dos reais positivos = {x : x R e x > 0} Conjunto dos reais negativos = {x : x R e x < 0} Conjunto dos nmeros complexos Intervalo fechado, = {x R : a x b} Intervalo aberto, = {x R : a < x < b} Menor intervalo de R que contm os pontos a, b, c Dimenso de um espao linear Espao das funes contnuas sobre o intervalo [a, b] Espao das funes sobre o intervalo [a, b] com derivadas contnuas at ordem k Espaos de Lebesgue Espaos de Sobolev Espao dos polinmios de grau n Espao de todos os polinmios Espao dos splines de grau m numa malha com n subintervalos Espao das funes integrveis Riemann Espao das matrizes reais m n Espao das matrizes complexas m n

Notao

xxix

Vectores e matrizes
Um vector indicado por x e a respectiva i-sima componente por xi . Quando houver necessidade de denotar sucesses de vectores, usaremos ndices superiores do seguinte modo: x(k) . Analogamente, uma matriz ser denotada por A, mas o seu elemento (i, j) (linha i, coluna j), por aij ou, por vezes, (A)ij . As sucesses de matrizes sero indicadas por A(k) , o que no deve ser confundido com potncias, estas denotadas simplesmente por Ak . Identicaremos sempre um vector x Cn como vector-coluna, i.e., como uma matriz em Cn1 .

SMBOLO cond A det A tr A diag(a1 , . . . , an ) (x, y) xy x A I ij

SIGNIFICADO Nmero de condio da matriz A Determinante da matriz A Trao da matriz A Matriz diagonal cujos elementos diagonais so a1 , . . . , an Produto interno dos vectores x e y x e y so ortogonais Norma do vector x Norma da matriz A Matriz identidade Smbolo de Kronecker denido por 1 se i = j ij = 0 se i = j Vector nulo ou matriz nula i-sima coluna da matriz identidade T Vector e = 1 1 1 Polinmio caracterstico da matriz A Raio espectral da matriz A Espectro da matriz A Inversa da matriz A Inversa generalizada da matriz A Transposta da matriz A Conjugada da transposta da matriz A

0 ei e pA () (A) (A) A1 AI AT AH

xxx

Notao

Funes

SMBOLO x x erf x exp x ex ln x sin x cos x sinh x cosh x tan x sign x

SIGNIFICADO Maior inteiro x Menor inteiro x Funo erro Exponencial de x Logaritmo natural (base e) de x Seno de x Co-seno de x Seno hiperblico (sinh x = (exp(x) exp(x))/2) Co-seno hiperblico (cosh x = (exp(x) + exp(x))/2) Tangente de x Signum, denida como se x > 0 1 sign x = 0 se x = 0 1 se x < 0 Derivada de ordem k da funo f no ponto x Polinmios de Lagrange Polinmios de Legendre Polinmios de Chebyshev de primeira espcie Polinmios de Chebyshev de segunda espcie f (x) = O(g(x)) sse existirem constantes c > 0 e x0 0 tais que |f (x)| c|g(x)|, x x0 f (x) = O(g(x)) sse existirem constantes c > 0 e x0 0 tais que |f (x)| c|g(x)|, x x0

Dk f (x) f (k) (x) Lk Pk Tk Uk O(g(x)) O(g(x))

Notao

xxxi

Formulrio til
Trigonometria
sin(x + y) = sin x cos y + cos x sin y cos(x + y) = cos x cos y sin x sin y tan x + tan y tan(x + y) = 1 tan x tan y sin(2x) = 2 sin x cos x cos(2x) = cos2 x sin2 x = 2 cos2 x 1 = 1 2 sin2 x 2 tan x tan(2x) = 1 tan2 x x 1 + cos x sin2 = 2 2 1 cos x 2 x cos = 2 2

Sucesses e sries
n k=1 n k=0 n k=1

k = 1 + 2 + + n =

n(n + 1) 2 1 r n+1 1r (r = 1)

rk = 1 + r + + rn = k 2 = 1 + 4 + + n2 =

n(n + 1)(2n + 1) 6

Captulo 1 Aritmtica computacional


Este captulo aborda os aspectos da aritmtica que so mais relevantes na utilizao de computadores, nomeadamente o estudo dos erros associados preciso nita que inerente a estas mquinas.

1.1

Introduo

O objectivo de qualquer mtodo numrico, pela sua prpria denio, consiste em fornecer solues numricas a problemas matemticos, i.e., solues sob a forma de nmeros. , pois, indispensvel compreender a noo de nmero, os vrios tipos de nmeros, as suas diferentes representaes, sobretudo as que so usadas em computador, as operaes admissveis, os erros cometidos e os seus efeitos nos resultados.

1.1.1

A contagem e os nmeros naturais

A contagem uma operao corrente do diaadia e to comum que as suas profundidade e subtileza passam despercebidas. A sociedade reconhece, no entanto, a sua importncia ao ponto de transmitir a respectiva tcnica s crianas logo que estas dominam a linguagem falada. As operaes de contagem, a elaborao do conceito de nmero e respectivas representaes so o resultado de uma lenta evoluo. Ao homem primitivo deve ter surgido a necessidade de saber quantos animais caou num dia, quantas peles tem guardadas para o prximo Inverno, quantos lhos tem, etc. O nmero de objectos em questo era, pois, muito baixo, e a sua indicao ou transmisso oral corresponderia a um certo fonema associado eventualmente a gestos apropriados. Assim, um homem primitivo que possusse quatro lanas daria conhecimento deste facto aos seus companheiros de caa emitindo uns certos sons e exibindo talvez quatro dedos de uma mo. Se houvesse necessidade de registar este nmero poderia ainda recorrer a quatro riscos na areia, ou a juntar quatro pauzinhos ou pedrinhas e apontar para estes objectos a m de que os seus companheiros 1

Aritmtica computacional

melhor se inteirassem da situao. Estas pequenas artimanhas tero sido as primeiras tentativas de construir representaes de nmeros. medida que a sociedade humana progrediu, as exigncias relativamente contagem tambm aumentaram. O nmero de membros de uma tribo ou o nmero de cabeas de um rebanho pode facilmente exceder o nmero de dedos de ambas as mos. O advento da agricultura e do comrcio suscitou a necessidade de mtodos de contagem e de representao mais sosticados, bem como de um maior domnio sobre as operaes aritmticas. A atribuio de um smbolo distinto a cada nmero natural um mtodo que se revela impraticvel, pois seriam necessrios innitos smbolos distintos. Para resolver esta diculdade, as vrias civilizaes desenvolveram diferentes sistemas de numerao. Todos eles possuam, contudo, os seguintes ingredientes comuns: um conjunto (nito e geralmente pequeno) de smbolos bsicos (os algarismos); Os registos mais antigos de sistemas de numerao e de aritmtica que se conhecem datam de cerca de 2 000 anos a.C. e dizem respeito s civilizaes centradas na Mesopotmia. Usavam, por razes no totalmente esclarecidas, a base sessenta ou sexagesimal de que hoje ainda restam vestgios na diviso da hora em sessenta minutos, e do minuto em sessenta segundos. Inicialmente, o zero era indicado apenas por um espao em branco, prtica muito propcia a erros, o que levou mais tarde necessidade de introduo de um smbolo especial de separao. Um outro exemplo, de todos bem conhecido, o sistema romano de numerao que adoptou, na sua fase nal de desenvolvimento, os seguintes smbolos bsicos: I(= 1), V (= 5), X(= 10), L(= 50), C(= 100), D(= 500) e M(= 1 000), no existindo smbolo para o zero. As regras de formao eram algo complicadas. A representao de certos nmeros obtinha-se por repetio de smbolos bsicos, como por exemplo o III, reminiscentes talvez dos pauzinhos, riscos ou entalhes primitivos. Noutros casos recorria-se a operaes implcitas, como V I (= V + I) ou IV (= V I), ou seja, um I direita implicava uma soma, e um I esquerda, uma subtraco, relativamente ao nmero adjacente, aquilo que por vezes se designa por princpios aditivo e subtractivo, respectivamente. Desta maneira, os algarismos podiam adquirir um valor diferente consoante a sua posio na representao do nmero, ou seja, tinham um valor posicional . As vantagens deste mtodo foram reconhecidas na sua totalidade pelos maias e aztecas (no incio da era crist) e pelos hindus (cerca de seis sculos depois). Foi destes ltimos que adquirimos, por intermdio dos rabes, o nosso sistema de numerao actual, no qual todos os algarismos possuem valor posicional. Os smbolos bsicos so 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9, e as regras de formao, bem conhecidas. Convm notar a presena do algarismo zero e apreciar a facilidade representativa e operativa que permite, uma ideia que levou muito tempo a cristalizar (para qu arranjar um smbolo para representar o nada, o vazio?). O nmero de smbolos bsicos de um sistema de numerao posicional designado por base desse sistema. O nosso sistema de numerao , pois, um sistema de base um conjunto de regras de formao dos nmeros a partir destes algarismos.

1.1 Introduo

dez ou decimal, historicamente o mais vulgarizado. Este facto costuma ser atribudo ao processo de contagem pelos dedos que privilegia a base dez. Contudo, outras bases foram utilizadas ao longo dos tempos. Por exemplo, as civilizaes da Mesopotmia citadas atrs desenvolveram sistemas de base sessenta. Os maias e os aztecas da Amrica Central e os celtas da Europa utilizaram a base vinte. Esta base vigesimal teve alguma divulgao neste continente, aparentemente por inuncia normanda. Dela restam ainda alguns resqucios: no sculo XX usou-se em Portugal uma unidade monetria conhecida por vintm, e os franceses ainda hoje designam o nmero 80 por quatre-vingts quatro-vintes. Adiante veremos que, uma vez compreendidos os princpios da numerao, o problema da base e da representao de um nmero nessa base no oferece diculdade, sendo a opo do respectivo valor ditada por razes de convenincia. Tem interesse sintetizar e organizar, em termos de perspectiva histrica, aquilo que acabmos de dizer. Sistemas de numerao do tipo aditivo Primeira espcie. Estes sistemas baseiam-se no princpio aditivo, sendo exemplo o sistema hieroglco egpcio decimal o qual atribua smbolos prprios unidade e s sucessivas potncias de 10. Para ilustrar a forma de representao caracterstica destes sistemas, consideremos o nmero 2037 e usemos a notao 1, 10, 100, . . . , para indicar os smbolos que representam a unidade, a dezena, a centena, etc. Ento, 2037 = 1000 + 1000 + 10 + 10 + 10 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 1000 1000 10 10 10 1 1 1 1 1 1 1 So oportunas algumas observaes interessantes. Em primeiro lugar, esta representao permite ler o nmero da esquerda para a direita e da direita para a esquerda, e, se for caso disso, dispor a representao na vertical, de cima para baixo ou de baixo para cima, dependendo do suporte da escrita. De facto, a ordem dos smbolos at podia ser qualquer, embora tal facilidade no tenha sido usada, tanto quanto sabemos. Em segundo lugar, no h necessidade de smbolo para o zero. Em terceiro lugar, as operaes aritmticas elementares de soma e subtraco tornam-se muito simples. A principal desvantagem deste sistema reside no facto de produzir representaes longas: o nmero 2037 requer 2 + 3 + 7 = 12 smbolos. Segunda espcie. Como resposta ao problema das representaes longas, certas civilizaes adoptaram smbolos intermdios entre as unidades e as restantes ordens. Nos sistemas de base dez foram introduzidos caracteres para o 5, o 10, o 50, o 100, o 500, e assim sucessivamente, enquanto para os sistemas de base sessenta da Mesopotmia foram criados caracteres para o 10, o 60, o 600, o 3600, etc.

Aritmtica computacional

Retomando o exemplo acima, temos agora a seguinte representao decimal 2037 = 1000 + 1000 + 10 + 10 + 10 + 5 + 1 + 1 = 1000 1000 10 10 10 5 1 1 a qual requer 2 + 3 + 1 + 2 = 8 smbolos, o que constitui uma economia aprecivel. Sendo este sistema uma simples variante do caso anterior, continua a no ser necessrio representar o zero. O sistema romano pode integrar-se neste grupo, embora a inslita adopo de um princpio subtractivo o tenha complicado desnecessariamente. Neste sistema, como se disse atrs, 1 = I, 5 = V , 10 = X, 50 = L, 100 = C, 500 = D e 1000 = M pelo que 2037 = 1000 + 1000 + 10 + 10 + 10 + 5 + 1 + 1 = 1000 1000 10 10 10 5 1 1 =MMXXXV II Terceira espcie. Neste grupo integram-se os sistemas de numerao que empregam caracteres prprios para todas as unidades 1, 2, . . . , 9, para todas as dezenas 10, 20, . . . , 90, para todas as centenas 100, 200, . . . , 900, para todos os milhares 1000, 2000, . . . , 9000, etc. Assim, 2037 = 2000 + 30 + 7 = 2000 30 7 Como se v, neste caso so usados 3 smbolos. A economia de representao imensa mas foi conseguida custa duma proliferao de smbolos difceis de memorizar na sua totalidade. O sistema que os gregos usaram em determinada poca constitui um exemplo deste tipo de numerao. Os smbolos eram simplesmente as letras do respectivo alfabeto tomadas pela respectiva ordem lexicogrca: 1 = , 2 = , . . . , 9 = , 10 = , 20 = , 30 = , . . . , 100 = , 1000 = , 2000 = , etc., pelo que 2037 = 2000 + 30 + 7 = 2000 30 7 = Sistemas de numerao do tipo hbrido Estes sistemas fazem intervir um princpio multiplicativo conjuntamente com o princpio aditivo, o que permite muitas combinaes. A ideia melhor ilustrada se nos concentrarmos nas variantes mais utilizadas, as quais, aplicadas ao exemplo que estamos a usar, conduzem a 2037 = 2 1000 + 3 10 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 2 1000 3 10 1 1 1 1 1 1 1

1.1 Introduo

ou, se existir representao autnoma para os algarismos das unidades, a 2037 = 2 1000 + 3 10 + 7 = 2 1000 3 10 7 Por um lado, ganhou-se em termos de economia de smbolos mantendo as representaes compactas. Por outro lado, a representao tem que pressupor uma conveno de escrita e leitura: agora, no indiferente ler os nmeros da esquerda para a direita ou da direita para a esquerda. Sistemas de numerao do tipo posicional So exemplos os sistemas de numerao babilnicos de base 60, os sistemas eruditos chineses de base 10, o sistema maia de base 20 e o presente sistema decimal de origem hindu. Se adoptarmos a conveno de escrever um nmero de acordo com as potncias crescentes ou decrescentes de 10, os smbolos para as dezenas, as centenas, os milhares, etc., tornam-se redundantes e o valor de um algarismo determinado pela sua posio na representao. Todavia, esta ideia implica imediatamente a necessidade de criar um simbolismo especial para assinalar a ausncia de uma dada potncia, ou seja, o princpio posicional no pode prescindir de um smbolo para o zero. Chegamos assim, representao na base decimal 2037 = 2 1000 + 0 100 + 3 10 + 7 = 2 0 3 7 Observemos, no entanto, que uma coisa a inveno de um smbolo para marcar a ausncia de uma dada ordem, i.e., o zero representativo, outra coisa a aceitao do zero como um nmero dotado de propriedades operativas idnticas s dos outros nmeros, passagem de extrema relevncia que cmos a dever aos hindus.

1.1.2

A medio e os nmeros reais

Sinteticamente podemos dizer que os nmeros naturais resolveram o problema da contagem. Todavia, quando se pretendem efectuar medies de certas grandezas surgem diculdades. Assim, a medio do comprimento de um campo empregando uma vara de um certo comprimento xo (o padro ou unidade) pode revelar que esse campo tem um comprimento superior a 31 mas inferior a 32 varas, por exemplo. Esta diculdade pode no desaparecer simplesmente com uma mudana de unidade. Foi precisamente isto que os pitagricos descobriram, para sua grande consternao, que a hipotenusa de um tringulo rectngulo issceles no comensurvel com o cateto, i.e., a hipotenusa e o cateto no podem ser expressos como mltiplos (inteiros) de uma mesma unidade, qualquer que seja esta unidade! Tal facto implica a concluso inevitvel: os conjuntos dos nmeros naturais e, por extenso, dos nmeros racionais, no so sucientemente ricos para poderem exprimir o valor de certas grandezas fsicas.

Aritmtica computacional

Por outro lado, constatamos que certas operaes aritmticas com operandos inteiros conduzem a resultados que tambm no so inteiros. Se o dono de um campo cujo comprimento fosse de 31 varas quisesse dividi-lo em dois campos exactamente do mesmo comprimento para oferecer aos seus dois lhos, haveria de deparar com esta diculdade. O conceito de nmero real permite resolver estes dois problemas: um, de natureza fsica, e outro, de natureza matemtica.

1.2

Representao de nmeros inteiros

Comeamos por tratar primeiro dos nmeros inteiros positivos e, depois, veremos as alteraes necessrias para acomodar os nmeros inteiros no-positivos.

1.2.1

Inteiros positivos

Como referimos atrs, a representao de um nmero inteiro na base decimal consiste num conjunto de algarismos, em que cada um possui um valor que depende da respectiva posio na representao. Assim, na base decimal o nmero 438 signica quatro centenas mais trs dezenas mais oito unidades ou, de uma forma sucinta, 438 = 4 102 + 3 101 + 8 100 Utilizando o smbolo di para denotar o algarismo ou dgito decimal colocado na posio i a contar da direita, um inteiro positivo N com n + 1 dgitos possui a representao decimal N = (dn dn1 . . . d1 d0 )10 = dn 10n + dn1 10n1 + + d1 101 + d0 100 (1.2.1)

com 0 di < 10, i = 0, 1, . . . , n. A generalizao desta ideia a uma base b diferente de 10, em que b 2 inteiro, no oferece diculdade. Assim, um nmero inteiro positivo N cuja representao na base b seja (dn dn1 . . . d1 d0 )b ter a representao decimal obtida atravs da expresso N = (dn dn1 . . . d1 d0 )b = dn bn + dn1bn1 + + d1 b1 + d0 (1.2.2)

com 0 di < b, i = 0, 1, . . . , n e em que as operaes no segundo membro so efectuadas na base 10. um exerccio simples vericar que esta representao nica. Um dgito que corresponda a uma potncia da base maior que outro diz-se mais signicativo, i.e., na notao empregue, o dgito di mais signicativo que o dgito dj sse i > j.

1.2 Representao de nmeros inteiros

Chamamos a ateno para o facto de que os di que guram na expresso (1.2.1) so dgitos decimais, e os que guram na expresso (1.2.2) so dgitos da base b. Todavia prtica corrente utilizar os mesmos smbolos grcos sempre que tal seja possvel. Assim, os dgitos da base 5 so denotados pelos smbolos 0, 1, 2, 3, 4, idnticos, portanto, aos primeiros cinco smbolos da base 10. Quando se utilizam bases acima de 10 h que recorrer a outros smbolos para representar 10, 11, . . . existindo basicamente duas tcnicas. Uma emprega as primeiras letras do alfabeto latino. Por exemplo, os dgitos da base 16, ou hexadecimal, so denotados por 0, 1, . . . , 9, A, B, C, D, E e F . A outra mantm os smbolos 10, 11, . . . mas na forma agrupada 10, 11, . . . para marcar a distino. Seguiremos a conveno de que, sempre que se omitir a indicao da base na representao de um nmero, esta ser interpretada como decimal. Como a um nmero correspondem tantas representaes quantas as bases, logo, innitas representaes, convm no confundir um nmero com qualquer das suas possveis representaes. Um problema que se coloca , pois, o da passagem de uma representao para outra, ou, como habitual dizer, o da mudana de base. Vamos a seguir mostrar como possvel efectu-la quando uma das bases a base 10. Esta restrio resulta do facto de ser mais fcil efectuar as operaes necessrias em aritmtica decimal, na qual estamos mais vontade, do que em qualquer outra base. Se for necessrio converter um nmero de uma base no decimal para outra, tambm no decimal, prefervel ento fazer esta converso usando a base 10 como base intermdia. Mudana da base b para a base 10 Para efectuar a converso de um nmero inteiro da base b para a base 10 basta aplicar a expresso (1.2.2), conforme se mostra no exemplo seguinte. Exemplo 1.2.1 Converter (437)8 base 10.
De acordo com a expresso (1.2.2) temos que (437)8 = 4 82 + 3 81 + 7 80 = 4 64 + 3 8 + 7 = 287 e, portanto, (437)8 = (287)10 .

Mudana da base 10 para a base b Seja N um nmero cuja representao decimal dada e cuja representao na base b pretendemos obter, ou seja, torna-se necessrio determinar os dgitos (dn dn1 . . . d1 d0 )b . Recordando a expresso (1.2.2), fcil ver que se dividirmos N por b, o quociente dn bn1 + dn1 bn2 + + d1 , e o resto d0 . Fica assim encontrado o dgito de menor ordem, d0 , da representao de N na base b. Dividindo o quociente achado por b, obtm-se como resto o dgito d1 , e assim por diante. O quociente da n-sima e ltima diviso dn . Exemplo 1.2.2 Converter 637 base hexadecimal.

Aritmtica computacional

O processo das divises sucessivas pode dispor-se assim: Logo, (637)10 = (27D)16 .

637 157 13

| 16 39 07

| 16 2

Os computadores digitais utilizam, para armazenar informao, dispositivos fsicos que podem assumir de modo estvel dois estados distintos. De facto, um interruptor pode estar ligado ou desligado, um lmpada pode estar acesa ou apagada, uma corrente elctrica pode magnetizar um ncleo de ferrite num sentido ou noutro, etc. Esta caracterstica fundamental privilegia a base 2 ou base binria para representao de nmeros nestas mquinas. Exemplo 1.2.3 Determinar a representao binria de 25.
25 05 1 |2 12 0 |2 6 0

Aplicando o mtodo atrs descrito temos que:

|2 3 1

|2 1

Portanto, 25 = (11001)2 .

Para realizar esta representao binria em computador seriam necessrios cinco elementos, que assumiriam os estados associados aos dgitos binrios que constituem a representao. Podemos imaginar um computador cuja memria fosse constituda por lmpadas e em que o dgito binrio 1 corresponderia a uma lmpada acesa, e o dgito binrio 0, a uma lmpada apagada. claro que este computador seria muito primitivo comparado com os actuais, mas o princpio utilizado o mesmo. Assim, usual designar por bit (binary digit) o elemento de memria bsico que assume os dois estados que se associam aos dgitos 0 e 1. O nmero de bits disponveis para a representao de nmeros inteiros determina qual o maior nmero inteiro representvel em computador. Deste modo, todos os inteiros entre zero e este valor possuem representao exacta e tambm so exactas as operaes aritmticas cujos operandos e resultados sejam inteiros nesta gama. Neste aspecto o computador uma ferramenta computacional perfeita. Como k bits permitem 2k conguraes, a representao dos dez dgitos decimais requer 4 bits, pois 23 = 8 e 24 = 16, i.e., 3 bits so insucientes, j que permitem apenas 8 conguraes, e 4 bits permitem 16 conguraes, o que de mais. Isto signica que a representao decimal desperdia bits e , portanto, menos econmica que uma base que seja potncia de 2. Acresce ainda que a aritmtica decimal mais difcil de implementar em computador. Por estas razes, a base 10 no muito utilizada na representao de nmeros em computador, excepto quando se torna absolutamente necessrio que a representao e a aritmtica sejam integralmente decimais, como acontece em certas aplicaes comerciais.

1.3 Representao de nmeros reais

1.2.2

Inteiros no-positivos

A representao de nmeros inteiros negativos no constitui problema. Basta encontrar representaes adequadas para o sinal + dos nmeros positivos, e para o sinal dos negativos. A representao do sinal em computador pode fazer-se reservando um bit para o efeito, geralmente o bit 0 para o sinal + e o bit 1 para o sinal . Nesta representao h dois zeros, o +0 e o 0, correspondendo, portanto, a duas conguraes de bits distintas. Esta duplicidade na representao do zero pode constituir um inconveniente, pois, por exemplo, uma operao de comparao de +0 e 0 deve dar um resultado de igual embora as conguraes de bits sejam diferentes. Por estas razes, so por vezes utilizadas outras tcnicas que evitam este tipo de problemas e tornam mais fceis as operaes com nmeros negativos. No entanto, estas questes de carcter especializado esto fora do mbito deste texto. Exemplo 1.2.4 Determinar a representao binria de +85 e 85 num computador com 8 bits para inteiros.
Como o sinal consome 1 bit, temos que o maior inteiro representvel 27 1 = 127. Neste computador so representveis os inteiros 127 N 127 e +0 = (0 0000000)2 , 0 = (1 0000000)2 . No oferece diculdade obter +85 = (0 1010101)2 e 85 = (1 1010101)2 .

1.3

Representao de nmeros reais


43.82 = 43 + .82

Na base decimal a notao 43.82 interpretada da seguinte maneira1 :

em que, por sua vez, 43 = 4 101 + 3 100 e .82 = 8 101 + 2 102

Generalizando de forma evidente esta ideia, podemos dizer que a representao do nmero real x na base 10 deve ser lida como signicando x = (dn dn1 . . . d0 .d1 d2 . . . dk )10 = dn 10n + dn110n1 + + d0 + d1 101 + d2 102 + + dk 10k x = (dn dn1 . . . d0 .d1 d2 . . . dk )b (1.3.1)

Analogamente, para um nmero real x na base b ser

= dn bn + dn1 bn1 + + d0 + d1 b1 + d2 b2 + + dk bk

(1.3.2)

Os dgitos (dn dn1 . . . d0 )b constituem a parte inteira, e os dgitos (d1 d2 . . . dk )b , a parte fraccionria da representao do nmero x na base b.
1

Ter presente o que se diz a este propsito na Notao.

10

Aritmtica computacional

Mudana da base 10 para a base b Seja x um nmero real dado atravs da sua representao decimal e suponhamos que pretendemos obter a sua representao na base b. Como a converso da parte inteira segue as regras deduzidas na seco anterior, vamos admitir, para simplicar, que x um nmero fraccionrio puro, i.e., sem parte inteira. Nestas condies, x = (.d1 d2 . . . dk )b = d1 b1 + d2 b2 + + dk bk Se multiplicarmos x por b, vericamos que d1 a parte inteira do resultado, e d2 b1 + +dk bk+1 , a parte fraccionria. Multiplicando esta ltima novamente por b e tomando a parte inteira do resultado obtemos d2 , e assim sucessivamente. Exemplo 1.3.1 Converter base 2: a) .625; b) 0.1.
b) De igual modo, .1 2 = 0.2 .2 2 = 0.4 .4 2 = 0.8 .8 2 = 1.6 .6 2 = 1.2 .2 2 = 0.4 Logo, .1 = (.000110011 . . .)2 . Vericamos que, enquanto o nmero .625 tem uma representao binria nita, j o mesmo no se passa com o nmero .1 cuja representao binria innita com o grupo de bits 0011 repetindo-se periodicamente. Este nmero no , pois, representvel num computador (binrio), que por natureza uma mquina com capacidade nita. A possibilidade de ocorrncia de um nmero innito de dgitos na parte fraccionria de um nmero alerta-nos para o facto de que o valor de k na expresso (1.3.2) pode no ser nito.

a) De acordo com o exposto temos sucessivamente: .625 2 = 1.250 .250 2 = 0.500 .500 2 = 1.000 Logo, .625 = (.101)2 .

Mudana da base b para a base 10 Seja x = (.d1 d2 . . . dk )b . A sua representao decimal obtm-se aplicando directamente a expresso (1.3.2), como o exemplo seguinte ilustra. Exemplo 1.3.2 Converter (.561)8 base decimal.
De acordo com a expresso (1.3.1) vem que (.561)8 = 581 +682 +183 = .720703125.

1.3 Representao de nmeros reais

11

1.3.1

Notao cientca de nmeros reais

Nas aplicaes cientcas h necessidade de recorrer a nmeros muito grandes e a nmeros muito pequenos. Para vericar que assim basta recordar o valor de algumas constantes fsicas como, por exemplo, o nmero de Avogadro e a massa do electro. A representao destas constantes obriga a um grande nmero de dgitos, a maioria dos quais so zeros. Por outro lado, as medies que permitem obter estes nmeros nem sempre garantem tantos dgitos exactos. A forma de resolver estas diculdades inerentes representao de nmeros muito grandes ou muito pequenos usar a chamada notao cientca. Esta notao consiste em exprimir um nmero real x na forma x = mbt (1.3.3)

em que m um nmero real no negativo designado por mantissa, b 2 um inteiro positivo designado por base e t um inteiro designado por expoente. Fixada a base b, esta representao no nica pois, por exemplo, x = 0.1 pode ser escrito na base 10 de vrias maneiras, x = 0.1 = 1 101 = 0.01 101 = 10 102 , . . . Para resolver esta ambiguidade usual impor a seguinte conveno para as mantissas:
m

Diz-se, neste caso, que se trata de uma representao normalizada. Nesta representao o primeiro dgito da mantissa de um nmero diferente de zero sempre diferente de zero. A adopo desta conveno no elimina, contudo, todas as ambiguidades. Para o nmero zero continuam a ser possveis innitas representaes, todas com mantissa m = 0 e expoente t arbitrrio. Uma outra situao em que a representao no nica o caso de nmeros cuja mantissa tem innitos dgitos repetindo-se periodicamente. A expresso (1.3.1) e a frmula da soma das progresses geomtricas levam-nos a concluir que, por exemplo, 0.1 .9999 . . . = 9 10k = 9 =1 1 0.1 k=1 Assim, consideraremos .9999 . . . e 0.1 101 como duas representaes do mesmo nmero. O Problema 1.9.16 trata o caso geral.

=0 se x = 0 b1 m < 1 se x = 0

1.3.2

Representao em ponto utuante

claro que a notao cientca, tal como acabamos de apresentar, no pode ser implementada em computador, pois, para cobrir todos os nmeros reais, a mantissa e o expoente

12

Aritmtica computacional

exigiriam um nmero innito de dgitos. Assim, a notao cientca modicada no sentido de se utilizar um nmero nito p de dgitos para a mantissa e um nmero nito q de dgitos para o expoente, obtendo-se a chamada representao em ponto utuante. Para simplicar a exposio usaremos a notao F P (b, p, q) para designar o sistema de representao em ponto utuante de base b, cuja mantissa ocupa p dgitos (base b) e cujo expoente pode utilizar no mximo q dgitos (base b). Assim, F P (b, p, q) constitudo por todos os nmeros reais x da forma x = 0 ou x = mbt em que b1 m 1 bp |t| bq 1 (1.3.4)

Chamamos a ateno para o facto de que estamos a admitir que a gama dos expoentes simtrica relativamente origem, o que nem sempre sucede nos sistemas de ponto utuante realizados em computador como veremos adiante. Exemplo 1.3.3 Concretizar F P (10, 6, 2).
F P (10, 6, 2) designa o sistema de ponto utuante de base 10, cuja mantissa possui 6 decimais e cujo expoente pode variar entre 99 e +99. So nmeros deste sistema todos os nmeros reais da forma (.d1 d2 d3 d4 d5 d6 )10(t1 t0 ) Nesta expresso os d1 , . . . , d6 ou so todos nulos ou ento 1 d1 9, 0 d2 , 9, . . ., 0 d6 9. Por seu turno, 0 t0 9 e 0 t1 9.

O nmero .1 10100 no representvel em F P (10, 6, 2), pois o seu expoente excede 99. Situaes como esta so conhecidas como overow . Analogamente, o nmero .1 10100 tambm no representvel neste sistema, pois o seu expoente inferior a 99, o que conhecido como situao de underow . O nmero = 3.141592654 . . . no possui representao exacta neste sistema pois a sua representao decimal excede os 6 dgitos da mantissa.

1.4

Erros na aritmtica em ponto utuante

Nesta seco vamos analisar os efeitos, em primeiro lugar, da preciso nita na representao de nmeros reais e, em segundo lugar, nas operaes aritmticas correntes.

1.4.1

Erros de representao

Como acabamos de ver, o sistema de ponto utuante s permite a representao exacta de alguns nmeros reais, o que implica que tenhamos de aceitar um certo erro na representao dos restantes. A questo que legtimo levantar, neste momento, a seguinte: dado um nmero real x qual o nmero em F P (b, p, q), que denotaremos por (x), que o representa? Se x tiver representao exacta em F P (b, p, q), ento naturalmente (x) = x.

1.4 Erros na aritmtica em ponto utuante

13

Se no for possvel a representao exacta, existem basicamente duas tcnicas para determinar (x), a truncatura e o arredondamento. Vejamos em que consiste cada uma delas, supondo que x no d lugar a overow ou a underow. Truncatura: desprezam-se simplesmente os dgitos do nmero real x que no cabem na mantissa, i.e., os dgitos da mantissa alm dos p primeiros so desprezados; para indicar este tipo de tcnica empregaremos a notao F P (b, p, q, T ). Arredondamento: o nmero real x representado pelo nmero do sistema de ponto utuante que lhe est mais prximo; este tipo de tcnica ser denotado por F P (b, p, q, A). Exemplo 1.4.1 Achar as representaes do nmero nos sistemas F P (10, 5, 2, T ) e F P (10, 5, 2, A).
Como imediatamente se deduz do que acabamos de expor, () = (.31415)101 (.31416)101 em F P (10, 5, 2, T ) em F P (10, 5, 2, A)

evidenciando-se, deste modo, os resultados diferentes produzidos pela truncatura e pelo arredondamento.

A representao de 0.75 em F P (10, 1, 2, A) no determinada pela regra que enuncimos acima, pois quer 0.7 quer 0.8 so nmeros deste sistema igualmente distantes de 0.75. costume resolver esta ambiguidade arredondando de acordo com o seguinte procedimento (ver KNUTH (1998)): se b e b/2 forem pares, arredondar de modo a que o ltimo dgito que mpar; se b for par mas b/2 for mpar (como o caso quando b = 2 ou b = 10), arredondar de modo a que o ltimo dgito que par; se b for mpar, optar por uma das regras anteriores, j que parece no haver vantagens ou desvantagens determinantes em qualquer delas. Esta tcnica conhecida por arredondamento simtrico e a de utilizao mais frequente e o exemplo seguinte apresenta uma razo. Exemplo 1.4.2 Proceder ao arredondamento do nmero 3.445 para 2 dgitos de acordo com as tcnicas anteriormente descritas.
Vamos comear por fazer o arredondamento simtrico (para par) directamente: 3.445 3.4; e sucessivamente, um dgito de cada vez: 3.445 3.44 3.4. O resultado nos dois processos o mesmo. Repitamos para o caso de arredondamento para mpar, directamente: 3.445 3.4; e sucessivamente: 3.445 3.45 3.5. Os dois processos produziram resultados diferentes, sendo o ltimo incorrecto!

14

Aritmtica computacional

Passemos agora anlise dos erros de representao, i.e., da determinao da diferena entre a representao x = (x) do nmero real x num sistema de ponto utuante e o nmero real x. Consideremos que x = mbt e x = (x) = mbt (1.4.1) em que suporemos a representao de x normalizada (a de x poder no estar j que a imposio do mesmo expoente t nas representaes de x e de x pode tornar tal impossvel). Ento, o erro absoluto E vem dado por Como fcil ver, E = x x = (x) x = mbt mbt = (m m)bt |m m|
bp
2

(1.4.2)

donde decorre que o erro absoluto majorado por |E|


btp 1 btp 2

1 bp

em F P (b, p, q, T ) em F P (b, p, q, A) em F P (b, p, q, T ) em F P (b, p, q, A)

(1.4.3)

(1.4.4)

O erro relativo e, denido apenas para o caso em que x = 0, dado por xx (x) x = e= x x e o seu valor absoluto pode exprimir-se do seguinte modo |e| = mbt mbt mm = mbt m

(1.4.5)

(1.4.6)

Recorrendo agora expresso (1.4.3) para majorar o numerador, e ao facto de b1 ser um minorante do denominador, podemos deduzir os seguintes majorantes para o erro relativo (porqu < e no ?) |e| < u
b1p 1 b1p 2

em F P (b, p, q, T ) em F P (b, p, q, A)

(1.4.7)

O segundo membro u destas relaes conhecido pela designao de unidade de arredondamento do sistema de ponto utuante do computador (mesmo quando este opera por truncatura!). Nestas condies, sempre vlida a seguinte armao (x) = (1 + e)x, Exemplo 1.4.3 Determinar as unidades de arredondamento dos sistemas F P (2, 24, 8, T ) e F P (2, 24, 8, A).
Aplicando (1.4.7) temos imediatamente que respectivamente. u = 223 (.12)106 , u = 224 (.6)107

com |e| < u

(1.4.8)

1.4 Erros na aritmtica em ponto utuante

15

1.4.2

Erros nas operaes aritmticas

Antes de tentar analisar casos mais complicados, conveniente estudar o comportamento das operaes aritmticas elementares (soma, subtraco, multiplicao e diviso) quando estas so efectuadas num sistema de ponto utuante. Para a soma e a subtraco temos x1 x2 = m1 bt1 m2 bt2 =
(m

(porqu assim e no da outra maneira possvel?). Para a multiplicao e a diviso empregamos x1 x2 = (m1 m2 )bt1 +t2 x1 /x2 = (m1 /m2 )bt1 t2 Estas operaes desenvolvem-se em computador de acordo com os seguintes passos: 1. Decomposio dos operandos, i.e., separao destes nmeros nas respectivas mantissas e expoentes; 2. Alinhamento das mantissas e dos expoentes para a soma e a subtraco; 3. Operao com as mantissas e/ou com os expoentes; 4. Normalizao da mantissa, i.e., translao da mantissa com o correspondente ajustamento do expoente; 5. Arredondamento da mantissa; 6. Recomposio do resultado, i.e., reunio da mantissa e do expoente para formar o resultado no sistema de ponto utuante. As operaes com os expoentes, uma vez que estes nmeros so inteiros, no introduzem erros (com a excepo bvia dos casos de overow e underow ). As operaes com as mantissas, pelo contrrio, so susceptveis de erros cuja anlise constitui o objectivo desta seco. Uma outra observao importante, cuja conrmao deixamos para os problemas, a de que as operaes em ponto utuante no respeitam, em geral, as propriedades comutativa, distributiva e associativa das suas contrapartes em aritmtica exacta. Um teorema auxiliar Quantidades como (1 + e1 )(1 + e2 )(1 + e3 ), (1 + e1 )(1 + e2 )/(1 + e3 ), etc., em que os ei representam erros relativos, aparecem com uma certa frequncia na anlise de erros, pelo que desejvel majorar ou estimar o seu valor sem incorrer em grandes complicaes,

m2 b(t1 t2 ) )bt1 (m1 b(t2 t1 ) m2 )bt2


1

se t1 > t2 se t1 t2

16

Aritmtica computacional

querendo com isto dizer que a revelao da estrutura do erro mais importante do que a sua expresso minuciosa. Da a utilidade do seguinte resultado a que recorreremos com alguma frequncia. Teorema 1.4.1 Se ei forem nmeros tais que |ei | u, para i = 1, . . . , n, com u tal que 0 nu < 1 e i = 1 ou i = 1, ento existe um nmero que verica
n i=1

(1 + ei )i = 1 +

com || n

nu 1 nu

Demonstrao Registemos primeiro algumas relaes a que vamos recorrer no seguimento. imediato ver que (1 + u)(1 u) = 1 u2 1 = 1 + u 1 1u e 1 1u 1+u (1.4.9)

Por induo em k inteiro positivo, pode provar-se sem diculdade a validade da seguinte relao 1 ku (1 u)k (1.4.10) Sendo u ei u e denotando por p o nmero de termos com i = 1 e, por q, o nmero de termos com i = 1, ento fcil estabelecer o seguinte
n (1 u)p (1 + u)p 1 = (1 + ei )i 1 1 (1 + u)q (1 u)q i=1

Comecemos pela desigualdade da direita. Temos, pela primeira concluso de (1.4.9) e por (1.4.10), que (1 + u)p 1 nu 1 1 = n q n (1 u) (1 u) 1 nu

Para obter a desigualdade da esquerda, a segunda concluso de (1.4.9) juntamente com (1.4.10) permitem escrever (1 u)p (1 u)q 1 (1 u)n 1 nu nu = n 1 nu

expresso que frequentemente utilizada para sublinhar a essncia do comportamento deste parmetro: o de crescer linearmente com nu, a menos de termos de ordem superior geralmente desprezveis na prtica.

Conjugando resultados, obtemos a armao do enunciado do teorema. Um desenvolvimento em srie de Maclaurin fornece nu n = nu + O(u2 ) 1 nu

1.4 Erros na aritmtica em ponto utuante

17

Soma Sejam x1 = m1 bt1 e x2 = m2 bt2 dois nmeros reais positivos, considerando, sem perda de generalidade, que x1 x2 e seja y = x1 + x2 o resultado (exacto) da sua soma. Designaremos por y = (x1 + x2 ) o resultado obtido efectuando esta operao em F P (b, p, q), i.e., executando todos os clculos neste sistema da maneira que o exemplo seguinte ilustra. Exemplo 1.4.4 Calcular, em F P (10, 4, 2, A), a soma y = x1 + x2 com x1 = 1/7 e x2 = 1/60.
Neste sistema de ponto utuante, temos que x1 = (x1 ) = (.1429)100 = (.1429)100 x2 = (x2 ) = (.1667)101 = (.0167)100 x1 + x2 = (.1596)10
0

(aps alinhamento)

O resultado em ponto utuante y = (x1 + x2 ) = (.1596)100 enquanto o resultado exacto y = x1 + x2 = 67/420 = 0.1595238 . . .. Os erros absoluto e relativo so E = (.76)104 e e = (.48)103 , respectivamente.

Este exemplo mostra que o alinhamento das mantissas pode ser fonte de erros importantes por perda de dgitos. Uma forma de minorar este efeito nefasto consiste em prover os registos aritmticos com dgitos extra: embora os nmeros sejam representados com p dgitos na mantissa, as unidades aritmticas dispem de p dgitos adicionais, os chamados dgitos de guarda. Em geral, o nmero de dgitos de guarda 2 ou 3 mas pode chegar, em certos casos, a igualar p. Na realidade, torna-se necessrio para as operaes aritmticas, sobretudo para a subtraco a estudar a seguir, prever pelo menos dois dgitos de guarda: um, para assegurar o correcto arredondamento de x2 , e o outro, para assegurar a eventual ps-normalizao do resultado. Retomando a expresso (1.4.8) e tendo em conta os alinhamentos das mantissas, resulta que x1 = (x1 ) = (1 + e1 )x1 x2 = (x2 ) = (1 + e2 )(1 + e2 )x2 com |e1 | < u com |e2 | < u

e onde e2 designa o erro em x2 provocado pelo alinhamento da respectiva mantissa. Denotando por e3 o erro relativo de arredondamento do resultado da soma, vem que y = (x1 + x2 ) = [(1 + e1 )x1 + (1 + e2 )(1 + e2 )x2 ](1 + e3 ) Agrupando termos, podemos escrever que y = (1 + e3 )(1 + e1 )x1 + (1 + e3 )(1 + e2 )(1 + e2 )x2

18

Aritmtica computacional

Admitindo que se dispe de um nmero de dgitos de guarda suciente para que seja vlida a condio (1 + e2 )(1 + e3 ) = 1 + e4 , com |e4 | < u e recorrendo ao Teorema 1.4.1, vem que (x1 + x2 ) = (1 + 1 )x1 + (1 + 2 )x2 , com |i | 2 , i = 1, 2 (1.4.11)

Esta expresso tem uma leitura importante, que a seguinte: o resultado da soma de dois nmeros em ponto utuante idntico ao que se obteria com aritmtica exacta mas com operandos perturbados, i.e., com (1 + 1 )x1 em vez de x1 , e (1 + 2 )x2 em vez de x2 . Atendendo ao valores usuais dos erros de arredondamento, estas perturbaes so geralmente muito pequenas. De (1.4.11) resulta que os erros absoluto E e relativo e da soma so expressos da seguinte maneira, E = y y = 1 x1 + 2 x2 E x1 x2 e= = 1 + 2 y x1 + x2 x1 + x2 Vamos, tal como aconteceu com a representao de nmeros, majorar os erros. Obtemos, sem diculdade, que |E| 2 (x1 + x2 ) |e| 2 Observemos que o erro relativo independente dos operandos x1 e x2 . No contexto das hipteses admitidas e com vista a ter um majorante do erro relativo de leitura simples, conveniente apresentar este ltimo resultado do seguinte modo (x1 + x2 ) = (x1 + x2 )(1 + e), Subtraco O tratamento da subtraco segue de perto o efectuado para a soma. Assim, supondo que x1 e x2 possuem o mesmo sinal, podemos escrever que y = (x1 x2 ) = (1 + 1 )x1 (1 + 2 )x2 , com |i | 2 , i = 1, 2 (1.4.13) com |e| 2 = 2u + O(u2) (1.4.12)

continuando a vericar-se que o resultado em ponto utuante idntico ao que se obteria com aritmtica exacta mas com operandos perturbados. Os erros absoluto e relativo so agora E = y y = 1 x1 2 x2 yy x1 x2 e= = 1 2 y x1 x2 x1 x2

1.4 Erros na aritmtica em ponto utuante

19

se y = 0 na ltima expresso. Majorando, chega-se a |E| 2 (|x1 | + |x2 |) |x1 | + |x2 | |e| 2 |x1 x2 |

Como |x1 x2 | pode ser uma quantidade muito pequena, tal acarretar como consequncia que o erro relativo e venha muito grande, no obstante o erro absoluto E se manter muito pequeno. Quer isto dizer que a subtraco pode conduzir a erros relativos grandes quando os nmeros a subtrair so muito prximos. Este fenmeno conhecido por cancelamento subtractivo e constitui uma fonte importante de erros nos clculos em ponto utuante. Exemplo 1.4.5 Calcular, em F P (10, 4, 2, A), o valor de y = x1 x2 com x1 = (.43787)102 e x2 = (.43783)102 e determinar os erros absoluto e relativo.
O resultado exacto y = x1 x2 = (.4)106 . Em F P (10, 4, 2, A) temos que (x1 ) = (.4379)102 (x2 ) = (.4378)102 e, portanto, (x1 x2 ) = (.1000)105 |E| = (.60)106 e |e| =

(.60)106 = 1.5 (.4)106 Conrma-se assim que, apesar de o erro absoluto ser muito pequeno, o erro relativo pode atingir valores extremamente elevados provocados pelo cancelamento subtractivo.

O exemplo seguinte mostra a vantagem de dispor de dgitos de guarda. Exemplo 1.4.6 Calcular o valor de y = x1 x2 em F P (10, 4, 2, T ) com x1 = (.1000)100 e x2 = (.5699)102 e determinar os erros absoluto e relativo.
Em F P (10, 4, 2, T ), sem dgitos de guarda, temos que (x1 ) = (.1000)100 (x2 ) = (.0056)100 e, portanto, |E| = (0.99)104 e |e| = (1.05)103 > u j que u = 103 . Em F P (10, 4, 2, T ), com um dgito de guarda, vem que (x1 ) = (.10000)100 (x2 ) = (.00569)100 e, portanto, |E| = (0.9)105 e |e| = (0.95)104 < u. A existncia de um dgito de guarda foi essencial para manter o erro relativo abaixo da unidade de arredondamento. (x1 x2 ) = (.9431)101 (x1 x2 ) = (.9440)101 O resultado exacto y = x1 x2 = (.94301)101 .

20

Aritmtica computacional

Multiplicao Consideremos agora a multiplicao de dois nmeros reais x1 e x2 , e sejam, como anteriormente, y = x1 x2 e y = (x1 x2 ) o resultado exacto e o resultado obtido em ponto utuante, respectivamente. Ento, y = (x1 x2 ) = [(1 + e1 )x1 (1 + e2 )x2 ](1 + e3 ) = (1 + e3 )(1 + e1 )(1 + e2 )x1 x2 = (1 + 1 )x1 (1 + 2 )x2

(1.4.14)

com 1 e 2 vericando (1 + 1 )(1 + 2 ) = (1 + e3 )(1 + e1 )(1 + e2 ) mas, para alm disso, arbitrrios. Quer isto dizer que o resultado y idntico ao que se obteria em aritmtica exacta com operandos perturbados (1 + 1 )x1 e (1 + 2 )x2 . Sublinhemos que a anlise permite, se tal convier, atribuir a responsabilidade do erro perturbao de um s operando, x1 , fazendo 2 = 0 ou x2 , fazendo 1 = 0, ou qualquer combinao intermdia admissvel. Os erros absoluto E e relativo e vm agora dados por E = [(1 + e3 )(1 + e2 )(1 + e1 ) 1]x1 x2 e = (1 + 1 )(1 + 2 ) 1 = (1 + e3 )(1 + e2 )(1 + e1 ) 1 e, portanto, tendo em conta o Teorema 1.4.1, (x1 x2 ) = x1 x2 (1 + e), Diviso Repetindo a anlise efectuada para a multiplicao, facilmente se chega a y= x1 x2 = (1 + e3 ) (1 + e1 )x1 (1 + e2 )x2 (1.4.16) com |e| 3 = 3u + O(u2 ) (1.4.15)

e novamente se verica que o resultado y igual ao que se obteria com operandos pertur bados. A majorao dos erros passa novamente pelo recurso ao Teorema 1.4.1, vindo E = (1 + e3 ) (1 + e1 ) x1 1 (1 + e2 ) x2 (1 + e1 ) e = (1 + e3 ) 1 (1 + e2 )

Por conseguinte, tambm para a diviso, temos que x1 x2 = x1 (1 + e), x2 com |e| 3 = 3u + O(u2) (1.4.17)

1.4 Erros na aritmtica em ponto utuante

21

Em resumo, podemos dizer que, das quatro operaes aritmticas elementares, apenas a subtraco de nmeros muito prximos pode causar problemas devidos a cancelamento subtractivo os quais se manifestam em erros relativos elevados por comparao com a unidade de arredondamento. Vamos passar ao estudo de dois casos de anlise um pouco mais difcil mas com grande interesse prtico. Trata-se de operao frequentes, nomeadamente em lgebra Linear Numrica, que podem envolver muitos nmeros e deste facto resultar eventualmente alguma acumulao de erros.

Somatrio Suponhamos que pretendamos calcular o somatrio de n nmeros xi (positivos ou negativos)


n

s=
i=1

xi

(1.4.18)

Um processo simples para obter o valor s do somatrio consiste em utilizar o Algoritmo 1.4.1 (ver, a este propsito, as Seces 1.7 e 1.8), designado, por razes evidentes, por somatrio recursivo. Quando este algoritmo realizado em computador, vamos ter os valores aproximados xi e si em vez dos valores exactos xi e si . Por simplicidade de exposio, vamos admitir que os nmeros xi possuem representao exacta no sistema de ponto utuante em uso, i.e, xi = xi . Ento, quando se executa o algoritmo acima em aritmtica de ponto utuante, resulta que si = (i1 + xi ) = (i1 + xi )(1 + ei ), s s i = 1, . . . , n

em que ei o erro relativo cometido na soma i (nas presentes circunstncias, e1 = 0). Algoritmo 1.4.1 Somatrio recursivo proc SUM (x, n, s) s=0 for i = 1 to n do s = s + xi od end

(inicializao)

22

Aritmtica computacional

Aplicando esta expresso recursivamente, vem que s0 s1 s2 s3 sn = = = = = s0 = 0 (s0 + x1 )(1 + e1 ) = x1 (1 + x2 )(1 + e2 ) = x1 (1 + e2 ) + x2 (1 + e2 ) s (2 + x2 )(1 + e3 ) = x1 (1 + e2 )(1 + e3 ) + x2 (1 + e2 )(1 + e3 ) + x3 (1 + e3 ) s x1 (1 + 1 ) + x2 (1 + 2 ) + + xn (1 + n )

onde recorremos novamente ao Teorema 1.4.1. Ento, o valor do somatrio pode exprimirse na seguinte forma
n n

s = sn =
i=1

xi =
i=1

xi (1 + i )

(1.4.19)

o que quer dizer que o valor aproximado igual ao valor exacto obtido com operandos ligeiramente perturbados. Os erros absoluto E e relativo e (supondo que s = 0) so dados neste caso por
n n

E=
i=1

i xi ,

e=
i=1

i xi /s

Admitindo que so vlidas as hipteses do Teorema 1.4.1, podemos escrever que |1 | n1 ,


n

|i | n+1i ,

i = 2, . . . , n

Sendo assim, como max1in |i | n1 , vem que |E| n1


i=1

|xi |,

|e| n1

n i=1 |xi | n i=1 xi |

Se os xi tiverem todos o mesmo sinal, ( n |xi |)/(| n xi |) = 1 e o erro relativo pode i=1 i=1 ser facilmente majorado. De facto, neste caso tem lugar a expresso simples |e| n1 = (n 1)u + O(u2) (1.4.20)

Esta anlise permite concluir que, se os nmeros xi forem todos do mesmo sinal, o erro relativo pode ser majorado independentemente dos valores destes nmeros. Contudo, se os xi tiverem sinais diferentes, tal no possvel. Trata-se, mais uma vez, da manifestao do fenmeno de cancelamento subtractivo j detectado aquando do estudo dos erros da subtraco. Uma outra indicao com interesse prtico que se pode extrair desta anlise decorre de os n+1i decrescerem com i. Ento, se tal for vivel, o somatrio deve efectuarse comeando pelos nmeros mais pequenos (em valor absoluto) e progredindo para os maiores (em valor absoluto) a m de tentar minimizar o produto i xi . Embora esta tcnica

1.4 Erros na aritmtica em ponto utuante

23

s: y: Figura 1.4.1: Soma de Kahan t = s + y: t s: c = (t s) y:

s1

s2 y1 y2

s1

s2 + y 1 y1 y2

no conduza necessariamente ao menor erro absoluto nal (notemos que o raciocnio foi feito com base nos majorantes n+1i e no nos erros efectivos i ), ela pode contribuir signicativamente para uma maior preciso do resultado. Ainda com vista a produzir resultados com elevada preciso, podemos recorrer a tcnicas como as que vamos descrever de seguida. Acumulao em dupla preciso. Outro aspecto que merece um comentrio tem a ver com a circunstncia de o algoritmo do somatrio poder ser facilmente modicado de modo a que as somas sejam acumuladas em dupla preciso (esta noo ser desenvolvida mais frente na Seco 1.5), sem que tal procedimento exija que os nmeros xi tenham tambm de ser convertidos a dupla preciso. Para tal basta que s seja substituda por uma varivel auxiliar declarada em dupla preciso ou outra tcnica de programao que produza o mesmo efeito. Ora, possvel demonstrar que nestas condies o erro absoluto vem substancialmente reduzido, raramente ultrapassando, se no existir cancelamento subtractivo, uma unidade de arredondamento, qualquer que seja o valor de n. Este resultado aponta para a vantagem prtica em recorrer a esta tcnica de acumulao em dupla preciso, sempre que for importante reduzir os efeitos dos erros de arredondamento em somatrios com muitos termos. Tcnica de Kahan. Em alternativa, pode recorrer-se tcnica de Kahan para produzir somatrios compensados em que se procura estimar o erro cometido e efectuar a sua compensao. A Figura 1.4.1 explica a ideia por trs desta tcnica e na qual se admitiu, para efeitos de ilustrao, que y o nmero que tem que ser alinhado com s para obter a soma s + y. A varivel t acumula temporariamente s + y e c designa a correco a ter em conta, enquanto s1 e y1 so as partes mais signicativas e s2 e y2 as menos signicativas de s e t, respectivamente. O Algoritmo 1.4.2 formaliza este mtodo.

24

Aritmtica computacional

possvel demonstrar (ver GOLDBERG (1991)) que o somatrio compensado satisfaz


n

s=
i=1

(1 + i )xi ,

com |i | 2u + O(nu2)

pelo que os respectivos erros absoluto e relativo vericam os majorantes


n

|E| |e|

2u + O(nu ) 2u + O(nu2)

|xi | i=1 n i=1 |xi | | n xi | i=1

que devem ser comparados com (1.4.20). No entanto, este mtodo de somatrio tambm no est imune ao cancelamento subtractivo no caso de os xi possurem sinais diferentes. Todavia, se os xi possurem todos o mesmo sinal, o erro relativo praticamente independente do nmero n de termos. Produto interno Uma das operaes mais correntes em mtodos numricos o clculo do produto interno s de dois vectores reais x e y de dimenso n, o qual denido por s = xT y =
n

xi yi
i=1

(1.4.21)

Um mtodo simples para obter este valor, semelhante ao usado para o somatrio, apresentado no Algoritmo 1.4.3 o qual imita uma subrotina semelhante da programateca BLAS (ver LAWSON et al. (1979)). Em aritmtica de ponto utuante estes clculos do origem a valores contaminados pelos erros de arredondamento. Designando, como anteriormente, por si os valores assim Algoritmo 1.4.2 Somatrio compensado (Kahan) proc SUMK (x, n, s) s = x1 ; c = 0 for i = 2 to n do y = xi c t=s+y c = (t s) y s=t od end

(inicializao)

(correco)

1.4 Erros na aritmtica em ponto utuante

25

obtidos, admitindo que os xi e os yi possuem representao exacta em ponto utuante, e tendo em ateno os erros cometidos nas diferentes operaes aritmticas envolvidas, podemos escrever que si = (i1 + xi yi ) = (i1 + xi yi(1 + ei ))(1 + ei ), s s i = 1, . . . , n

em que ei o erro relativo cometido na soma, e ei , na multiplicao xi yi na etapa i. Tal como atrs, no oferece qualquer diculdade ver que s0 s1 s2 = = = s0 = 0 (s0 + x1 y1 (1 + e1 )) = x1 y1 (1 + e1 ) (1 + x2 y2 (1 + e2 ))(1 + e2 ) = x1 y1 (1 + e1 )(1 + e2 ) s + x2 y2 (1 + e2 )(1 + e2 ) (1.4.22)

sn

= x1 y1 (1 + 1 ) + x2 y2 (1 + 2 ) + + xn yn (1 + n )

em que em que empregou novamente o Teorema 1.4.1. Verica-se novamente o facto de o resultado obtido em aritmtica de preciso nita ser idntico ao que seria obtido em aritmtica exacta mas com operandos ligeiramente perturbados. Admitindo que so vlidas as hipteses do Teorema 1.4.1, os ei e ej que aparecem nas expresses acima so quantidades que vericam |ei | < u e |i | < u. Ento, podemos armar que e
n n

s=
i=1

xi yi =
i=1

xi yi (1 + i ),

com |1 | n ,

|i | n+2i ,

i = 2, . . . , n

Se todos os termos xi yi forem do mesmo sinal e seguindo um processo idntico ao adoptado para o somatrio, pode obter-se o seguinte majorante para o erro relativo do produto interno |e| n = nu + O(u2) (1.4.23) sendo pertinente o mesmo comentrio feito aps (1.4.20). Algoritmo 1.4.3 Produto interno proc DOT (x, y, n, s) comment: x, y Rn , s = xT y s=0 for i = 1 to n do s = s + xi yi od end

(inicializao)

26

Aritmtica computacional

1.4.3

Dgitos correctos

Seja x o valor aproximado resultante do clculo, em aritmtica de ponto utuante no sistema F P (b, p, q), de uma dada quantidade x, admitindo, para simplicar a anlise, que se trata de nmeros diferentes mas com o mesmo sinal, positivo, digamos. De acordo com (1.4.1), podemos escrever que x = mbt , x = mbt

Vamos supor que a representao de x est normalizada mas que a de x poder no estar j que a imposio do mesmo expoente t nas duas representaes pode tornar tal desiderato impossvel. Sendo assim, o erro absoluto E vem dado por E = x x = (m m)bt = [(m m)bs ] bts em que s um inteiro escolhido de modo a que (m m)bs seja um nmero normalizado, satisfazendo portanto as condies (1.3.4). Deste modo, b1 (m m)bs < 1 sendo fcil concluir que o erro absoluto e o nmero s se relacionam do seguinte modo bts1 |E| < bts Tomando logaritmos, tambm podemos deduzir que t logb |E| 1 s < t logb |E| (1.4.25) (1.4.24)

desigualdades que determinam sem ambiguidades o inteiro s a partir do erro absoluto (ver o Problema 1.9.35 para uma outra possibilidade). Assim, diremos que x tem s dgitos correctos e o prximo exemplo ajuda a perceber a razoabilidade desta designao a qual, todavia, no adoptada por todos os autores. Exemplo 1.4.7 Determinar o nmero de dgitos correctos: a) da aproximao x = 3.14 do nmero x = ; b) da aproximao x = 0.19999 do nmero x = 0.2.
a) De acordo com o que se disse acima, x = = (0.314159 . . .)101 , donde pelo que x tem 3 dgitos decimais correctos. De facto, x e x possuem os 3 dgitos decimais mais signicativos iguais e o erro revela-se apenas no quarto dgito. b) Neste caso, x = 0.19999 e x = 0.2 pelo que |E| = 105 , ou seja, s = 4, embora os dois nmeros no tenham nenhum dgito decimal igual. |E| = (0.159 . . .)102 , log10 |E| = 2.8, 2.8 s < 3.8 x = (0.314)101

1.5 A norma IEEE 754

27

Simples: Figura 1.5.1: Formatos da norma IEEE 754 (S indica o sinal) Duplo:

1 8 S Expoente 1 S 11 Expoente

23 Mantissa 52 Mantissa

1.5

A norma IEEE 754

Os fabricantes de computadores tm adoptado sistemas de ponto utuante muito variados, diferindo na base, nos nmeros de dgitos p da mantissa e q do expoente, nas regras de arredondamento, etc. Uma consequncia imediata desta situao a de os resultados em aritmtica de ponto utuante poderem depender do computador utilizado, o que no desejvel. Para obviar a este estado de coisas foi feito um esforo de uniformizao que culminou com a publicao da norma IEEE 754 em 1985 (ver a nota a este respeito na Seco 1.8). esta norma, cada vez mais adoptada, que vamos passar a descrever sucintamente. Formatos A norma IEEE 754 dene dois formatos bsicos para os nmeros em ponto utuante: o formato simples, com 32 bits, e o formato duplo, com 64 bits, mostrando a Figura 1.5.1 o modo como os bits so alocados. Alm dos formatos bsicos, esta norma dene ainda mais dois formatos alargados: o alargado simples e o alargado duplo. O leitor interessado encontrar na norma referida uma descrio mais pormenorizada. O Problema 1.9.39 d uma explicao para a forma como feita a distribuio dos bits: primeiro o sinal, depois o expoente e, s no m, a mantissa, diversa do modo de escrita habitual. A base da representao binria, i.e., b = 2. O primeiro bit usado para o sinal: 0 para nmeros positivos e 1 para nmeros negativos. No formato simples, os 8 bits seguintes so reservados para a representao e do expoente t. As representaes dos expoentes e = 00000000 (= 0) e e = 11111111 (= 255) so reservadas para uso especial que referiremos mais frente.

28

Aritmtica computacional

O menor expoente normal representado e = 00000001 (= 1), que a norma faz corresponder ao expoente mnimo tmin = 126, e o maior expoente normal representado e = 11111110 (= 254), que a norma faz corresponder ao expoente mximo tmax = 127, ou seja, t = e tmax ; diz-se, neste caso, que o expoente enviesado. conveniente observar que tmin = tmax , i.e., a gama de expoentes no simtrica em torno da origem. A mantissa dispe de 23 bits e normalizada (exceptuando alguns casos especiais de que falaremos adiante), o que signica que o primeiro bit da mantissa 1. Portanto, sendo este bit conhecido, no necessrio armazen-lo explicitamente: pois implcito e suposto estar esquerda do ponto. O primeiro bit da mantissa , assim, o bit implcito o qual seguido pelos 23 bits explcitos. Este facto tem as seguintes duas consequncias: a primeira a de que, embora apenas se usem 23 bits para a representao da mantissa, p = 24 graas ao bit implcito; a segunda a de que se torna necessrio uma representao peculiar para o zero (ver mais frente). Em resumo, a norma IEEE 754 permite representar, em formato simples, nmeros normalizados na forma (1.5.1) x = (1)s (d0 .d1 . . . d(p1) )2 2t em que s {0, 1} o sinal, 126 = tmin t tmax = 127 o expoente e os dk so bits, i.e., dk {0, 1} com d0 = 1. A mantissa corresponde a m = d0 20 + f = 1 + f , com f = d1 21 + d(p1) 2(p1) a parte fraccionria da mantissa, i.e., a parte da mantissa explicitamente representada no computador, excluindo, portanto, o bit implcito. Zero. A congurao com o expoente e com todos os bits a zero e a parte fraccionria f tambm com todos os bits a zero, (i.e., dk = 0, k = 1, . . . , p1), usada para representar o valor +0 (se s = 0) e o valor 0 (se s = 1). Neste caso, o bit implcito deve ser tomado como d0 = 0. A existncia de dois zeros obriga a norma IEEE 754 a denir que a operao de comparao tome 0 = +0 e no 0 < +0. Formato duplo. O formato duplo tem uma estrutura semelhante do formato simples mas emprega 64 bits: 1 para o sinal, 11 para o expoente e 52 para a mantissa. Assim, o expoente pode variar entre tmin = 1022 e tmax = 1023, e a mantissa, por via do bit implcito, dispe de 53 bits, ou seja, p = 53. Arredondamento A norma IEEE 754 especica tambm as regras a que a aritmtica de ponto utuante deve obedecer. Em primeiro lugar, prescreve que, se o resultado de uma operao tiver representao exacta, ento o resultado dessa operao deve ser exactamente esse resultado.

1.5 A norma IEEE 754

29

Esta disposio pode parecer trivial, mas sucede que h computadores cuja aritmtica no obedece a este, aparentemente simples, requisito! Em segundo lugar, se o resultado de uma operao aritmtica no tiver representao exacta, a norma estabelece quatro modos de arredondamento que devem ser todos implementados: Arredondamento simtrico, nos moldes expostos atrs. Truncatura (ou arredondamento na direco de 0). Arredondamento para cima, i.e., o resultado sempre arredondado para o nmero representvel imediatamente acima (arredondamento na direco de +). Arredondamento para baixo, i.e., o resultado sempre arredondado para o nmero representvel imediatamente abaixo (arredondamento na direco de ). O utilizador deve poder optar por um destes 4 modos, embora normalmente a opo por omisso seja a do arredondamento simtrico, por ser a mais favorvel do ponto de vista numrico. Em qualquer caso, a representao deve obedecer a (x) = (1 + e)x, com |e| < u (1.5.2)

A norma determina ainda que o resultado de uma operao aritmtica elementar deve ser igual ao valor arredondado do resultado exacto, i.e., deve ser sempre satisfeita a condio (x op y) = (x op y)(1 + e), com |e| < u (1.5.3) em que op designa qualquer uma das operaes aritmticas elementares (+, , e /) e x e y os respectivos operandos com representao exacta. Esta regra, que consubstancia o modelo de aritmtica da norma IEEE 754, obriga os fabricantes a projectar as suas unidades de ponto utuante em conformidade, nomeadamente no que respeita aos dgitos de guarda e outros pormenores tcnicos. Underow, overow e NaN A situao de underow, representada por um expoente e = 00 . . . 0 e parte fraccionria f no nula, acontece quando o resultado de uma operao inferior ao menor nmero representvel, 2126 no caso do formato simples e 21022 no caso do formato duplo. A soluo tradicional era a de produzir como resultado o nmero 0, mtodo seguido ainda hoje por alguns fabricantes e que conhecido pela designao de underow sbito. A norma IEEE 754 prescreve a tcnica de underow gradual que consiste, no caso de ocorrer underow, em desistir de ter mantissas normalizadas. Por exemplo, se o resultado de uma operao em formato simples fosse 2128 , ento este seria representado pelo nmero no normalizado 0 00000000 010 . . . 0, em que o expoente com todos os bits nulos serve para indicar que o nmero no normalizado (designado, na nomenclatura da norma IEEE, por

30

Aritmtica computacional

Tabela 1.5.1: Casos previstos na norma IEEE 754

Expoente t = tmin 1 t = tmin 1 tmin t tmax t = tmax + 1 t = tmax + 1

Parte fraccionria f =0 f =0 f =0 f =0

Representa (1)s 0 (1)s f 2tmin (1)s (1 + f )2t (1)s NaN

nmero desnormalizado ou, por alguns autores, por nmero subnormal ). Assim, esta congurao especial deve ser interpretada como representando um nmero cujo expoente o menor possvel, 2126 , e cuja mantissa 22 , ou seja, o nmero 2128 . Deste modo, o menor nmero positivo representvel em formato simples 2149 . Nmeros inferiores a este so postos a zero. Convm referir que a introduo da tcnica de underow gradual, por encarecer substancialmente o hardware, no foi pacca. No entanto, as vantagens do ponto de vista numrico prevaleceram sobre os aspectos econmicos. A condio de overow representada pela congurao de bits do expoente e = 11 . . . 1 (= 255), razo pela qual esta congurao do expoente havia sido reservada. Se a parte fraccionria f for exactamente 0, ento esta congurao representa (1)s . A norma especica que as regras usuais com operaes envolvendo sejam respeitadas, como sejam, 1/(+) = +0, 1/() = 0, 1/(+0) = +, 1/(0) = . No caso de um clculo produzir um expoente e = 11 . . . 1 (= 255) mas uma parte fraccionria f no nula, a norma indica uma de duas alternativas possveis deixadas ao cuidado do fabricante do computador: uma situao de erro com interrupo do programa ou a emisso de um cdigo especial de NaN (Not a Number ). Situaes tpicas de NaN so, por exemplo: 0/0, 0 , /, + + (), x quando x < 0, etc. A Tabela 1.5.1 resume as situaes previstas na norma IEEE 754, nomeadamente os casos especiais. Exemplo 1.5.1 Dado os nmeros escrito em formato simples IEEE 754, obter as suas representaes decimais: a) 1 10000010 1010 . . . 0; b) 0 00000000 010010 . . . 0.
a) O nmero negativo, pois o bit de sinal 1. Como (10000010)2 = 130, o expoente t = 130 127 = 3. A mantissa m = (1.1010 . . . 0)2 = 1.625. Portanto, estamos perante o nmero (1.101)2 23 = 1.625 8 = 13. b) O nmero positivo, pois o bit de sinal 0. Como o expoente e = 0 e a parte fraccionria f = 0, trata-se de um nmero desnormalizado (22 + 25 ) 2126 (3.306077862) 1039 .

1.6

Propagao de erros

A tcnica desenvolvida na Seco 1.4 para obter majorantes do erro bastante complicada e totalmente inaplicvel em expresses com uma certa complexidade. Imaginemos o que

1.6 Propagao de erros

31

seria tentar obter majorantes para os erros no clculo de funes do gnero y = f (x) = sin ln(x + tan x0.3 ) + cosh(x + 1) impensvel tentar decompor esta funo nas suas operaes elementares e reproduzir uma anlise semelhante efectuada atrs. Esta seco vai incidir sobre o problema de estimar os erros cometidos ou de, pelo menos, avaliar a inuncia dos erros de arredondamento no resultado nal obtido. Para tal, tomaremos como axiomas os seguintes factos j apurados (recordar as expresses (1.5.2) e (1.5.3)) e que qualquer aritmtica computacional deve satisfazer, como o caso das que obedecem norma IEEE 754: (x) = (1 + e)x, (x1 op x2 ) = (x1 op x2 )(1 + e), com |e| < u com |e| < u (1.6.1) (1.6.2)

em que, nesta ltima expresso, op designa qualquer uma das operaes aritmticas elementares (+, , e /) e x1 e x2 os respectivos operandos com representao exacta. Notemos que e no assume necessariamente o mesmo valor nestas duas expresses. Problemas bem postos Assim, suponhamos que, dado x, se pretende calcular y o qual obtido na forma explcita por meio de y = f (x) ou, como acontece frequentemente, por via da forma implcita (x, y) = 0. Ento, no caso de se vericar cumulativamente que: 1. dado x ser possvel obter y; 2. o valor de y ser nico; 3. os resultados y dependerem continuamente dos dados x; diz-se que o problema de obter y, dado x, bem posto (no sentido de HADAMARD (1923)). Se y = f (x), e uma vez que f , por denio, uma funo, as duas primeiras condies acima esto trivialmente vericadas e s resta apurar se f contnua. Se tal acontecer, ento o problema bem posto. Se y for denido implicitamente por (x, y) = 0, preciso averiguar se esta equao permite exprimir y como funo contnua de x, um estudo potencialmente mais difcil que envolve o teorema das funes implcitas. Por palavras simples: num problema bem posto pequenas perturbaes nos dados devem provocar pequenas variaes nos resultados; se tal no suceder, o problema diz-se ento mal posto. Hadamard pensava que os problemas mal postos no teriam realidade fsica e seriam, de algum modo, problemas articiais, ideia que se veio a reconhecer mais tarde como no sendo totalmente correcta.

32

Aritmtica computacional

Dada a sua extrema sensibilidade a perturbaes nos dados, a soluo numrica de um problema mal posto apresenta maiores diculdades j que os erros inerentes aritmtica de preciso nita constituem uma fonte incontornvel de perturbaes. Se o problema for mal posto, ento impe-se reformul-lo de modo a obter um problema bem posto, o que pode no ser uma tarefa simples.

1.6.1

Anlise indirecta ou regressiva de erros

Uma resposta para a questo de avaliar os erros no clculo de y = f (x) dada pela chamada anlise indirecta ou regressiva de erros, assim designada em oposio anlise directa ou progressiva anteriormente estudada. Suponhamos que a expresso y = f (x) traduz o problema de calcular o resultado y a partir do dado x, i.e., a funo f associa a um valor x um (nico) valor y. Os valores possveis para x constituem o conjunto dos dados, que naturalmente tomaremos como o domnio X de f , e os valores resultantes para y atravs da aplicao desta funo formaro o conjunto dos resultados possveis, ou seja, o contradomnio Y desta funo. Quando se efectuam os clculos em aritmtica de preciso nita, caracterizada basicamente pela unidade de arredondamento u, obtemos, em vez dos valores exactos y, os valores aproximados y . Nestas condies, podemos dizer que y = fu (x) em que fu a funo que exprime o algoritmo efectivamente utilizado. Esta funo inclui assim os efeitos da aritmtica de preciso nita e a notao ajuda a reter o facto de que fu depende de u como parmetro. Esta funo fu peculiar por vrias razes. Por um lado, se no for constante, a sua variao faz-se por saltos que, no mnimo, correspondem alterao do ltimo dgito signicativo, ou seja fu uma funo constante por troos. Por outro lado, como um mesmo resultado y pode ser produzido por mais do que uma perturbao nos dados, a funo fu no necessariamente injectiva mesmo quando f . Deste modo, fu carece das propriedades to teis na Anlise Matemtica como sejam a continuidade, a diferenciabilidade e a invertibilidade. Sendo assim, o problema de relacionar y = fu (x) com y = f (x) agura-se como geralmente impossvel. Ora, aqui que intervm a ideiachave da anlise indirecta ou regressiva. Como vimos atrs, para algumas operaes relativamente simples, o resultado aproximado era igual ao resultado que se obteria usando aritmtica exacta mas com operandos ou dados ligeiramente perturbados (recordar as expresses (1.4.11), (1.4.13), (1.4.14), (1.4.16), (1.4.19) e (1.4.22)). Se tal for o caso (o que s pode ser determinado face situao concreta em estudo), ento y o resultado exacto de aplicar a funo f a x, em que x representa um valor que difere ligeiramente de x, i.e., y = f () x

1.6 Propagao de erros

33

Figura 1.6.1: Esquema da anlise indirecta de erros

sob reserva de que y Y e x no ser necessariamente nico. O que acabamos de dizer est esquematizado na Figura 1.6.1 e , por vezes, referido como o princpio de Wilkinson: a soluo calculada a soluo exacta de um problema ligeiramente diferente. A y y costume dar o nome de erro progressivo absoluto e a x x o de erro regressivo absoluto, por razes agora evidentes, recebendo os respectivos erros relativos a denies bvias ( y)/y e ( x)/x, respectivamente. y x Nmeros de condio de funes f : R R Pelo que se acabou de dizer, faz sentido estudar o efeito nos resultados de perturbaes nos dados, independentemente da origem destas provir da aritmtica utilizada ou no. Se tivermos em mente medir perturbaes absolutas ou relativas, ento a denio seguinte constitui a via natural, onde h a perturbao de x, tendencialmente muito pequena. Denio 1.6.1 Seja f : R R. O valor conda f (x) = lim sup
0 |h|

f (x + h) f (x) h

(1.6.3)

designa-se por nmero de condio absoluto da funo f no ponto x. O valor condr f (x) = lim sup f (x + h) f (x) f (x) h x (1.6.4)

0 |h|

designa-se por nmero de condio relativo da funo f no ponto x. Como se v, o nmero de condio absoluto relaciona as perturbaes absolutas de f com as perturbaes absolutas de x, enquanto o nmero de condio relativo relaciona as perturbaes relativas de f com as perturbaes relativas de x e ambos traduzem factores de ampliao, nos resultados, de pequenas perturbaes nos dados.

34

Aritmtica computacional

No caso de f ser uma funo continuamente diferencivel, o que garante que o problema bem posto, o seu desenvolvimento em srie de Taylor permite dizer que f (x + h) = f (x) + f (x)h + O(h2 ) f (x + h) f (x) = f (x) + O(h) h pelo que sup
|h|

(1.6.5)

f (x + h) f (x) = |f (x)| + O() h

e, tomando lim0 nesta expresso, chegamos ao resultado simples conda f (x) = |f (x)| Retornando a (1.6.5), podemos escrever que |f (x + h) f (x)| conda f (x)|h| + O(h2) (1.6.7) (1.6.6)

Logo, o valor de conda f (x) que determina, a menos de termos de ordem superior, a forma como as perturbaes nos dados se propagam aos resultados. Se o valor deste parmetro for grande, ento existe um efeito de ampliao das perturbaes, mas se, pelo contrrio, for pequeno, ento as perturbaes no sero apreciavelmente ampliadas, podendo mesmo ser reduzidas (se conda f (x) < 1). Com o to de aliviar a notao, a expresso (1.6.7) , por vezes, escrita na forma |f (x + h) f (x)| conda f (x)|h| (1.6.8)

em que o smbolo traduz uma desigualdade vericada a menos de termos de ordem superior em h. Tirando partido da deduo efectuada, no oferece diculdade concluir que, ainda para f continuamente diferencivel, se tem que condr f (x) = Notemos que condr f (x) = conda f (x) A expresso equivalente a (1.6.7) agora f (x + h) f (x) |h| condr f (x) + O(h2 /|x|) f (x) |x| (1.6.11) x f (x) (1.6.10) xf (x) f (x) (1.6.9)

Como se verica, a propagao das perturbaes relativas determinada por condr f (x).

1.6 Propagao de erros

35

Tal como se fez acima, lcito o emprego da notao aligeirada f (x + h) f (x) f (x) condr f (x) |h| |x| (1.6.12)

Nota: Chamamos a ateno para o facto de, expresses como (1.6.9), (1.6.10) e outras, envolverem divises por quantidades que podero ser nulas, o que obriga a uma vericao cuidadosa da sua validade em cada caso concreto em que tal acontea. As expresses (1.6.1) e (1.6.2) tornam evidente que a aritmtica computacional limita os erros relativos e no os absolutos, pelo que a noo de nmero de condio relativo acaba por ser mais relevante no presente contexto. Deste modo, sempre que nada for dito em contrrio, quando falarmos de nmero de condio subentenderemos que se trata de nmero de condio relativo e utilizaremos a simbologia mais simples cond f (x) para o denotar. Uma funo diz-se mal condicionada se o seu nmero de condio for muito elevado, e bem condicionada, se o seu nmero de condio for pequeno, sendo os qualicativos muito elevado e pequeno necessariamente vagos e, por conseguinte, dependentes do problema concreto em anlise. Vejamos alguns exemplos para esclarecer bem estas noes fundamentais. Exemplo 1.6.1 Determinar o nmero de condio das funes: a) f (x) = x; b) f (x) = x2 ; c) f (x) = (x a)2 ; d) f (x) = exp x
Aplicando a expresso (1.6.4), chegamos sem diculdade s seguintes concluses: a) f (x) = 1/(2 x) , cond f (x) = 1/2 Este resultado mostra que os erros relativos no clculo da raiz quadrada de um nmero tendem a ser reduzidos a metade e, portanto, esta funo bem condicionada. b) f (x) = 2x , cond f (x) = 2 Neste caso os erros relativos tendem a ser ampliados para o dobro, o que no muito grave, pelo que esta funo pode ser considerada bem condicionada. c) f (x) = 2(x a) , cond f (x) = 2|x/(x a)|. Esta funo bem condicionada excepto na vizinhana de x = a o que contrasta com o exemplo da alnea anterior. Ento no f (x) = (xa)2 uma simples translao de f (x) = x2 ? Como que a condio destas funes pode diferir tanto? Explicao: pensar em termos de erros relativos. d) f (x) = exp x , cond f (x) = |x|. Quanto maior for o valor de x, maior o nmero de condio e mais mal condicionada a funo exponencial se torna.

O exemplo seguinte ajuda a perceber o que se entende por nmero de condio baixo e nmero de condio elevado. Exemplo 1.6.2 Mostrar a inuncia do arredondamento dos dados.

36

Aritmtica computacional

Suponhamos que f (x) calculada por um algoritmo fu (x) que arredonda o valor de x mas que efectua todos os demais clculos sem quaisquer erros. Quer isto dizer que fu (x) = f ((x)) = f (x + h) em que h denota o erro de arredondamento cometido o qual, por via de (1.6.1), verica |h| u|x|. A expresso (1.6.12) permite dizer que fu (x) f (x) cond f (x)u f (x) Por conseguinte, o erro relativo propagado ao resultado pelo simples arredondamento inicial de x pode ser ampliado ou reduzido, tudo dependendo do valor de cond f (x). Para xar ideias, suponhamos que u da ordem de grandeza determinada no Exemplo 1.4.3, i.e., u 106 . Se cond f (x) 10p , ento o erro relativo no resultado pode ser 10p6 . Dito por palavras singelas: por cada potncia de 10 no nmero de condio, podemos perder at um dgito decimal no resultado. Em particular, se cond f (x) 106 , o resultado nal pode estar totalmente errado, ou seja, no ter nenhum dgito correcto.

Um problema bem posto pode assim estar a ser resolvido por recurso a uma formulao, leia-se y = f (x), mal condicionada, o que indesejvel, ou por uma formulao bem condicionada, o que tranquilizador. Ao aplicar as noes de problema bem ou mal posto ou de funo bem ou mal condicionada preciso ter em ateno de que situao estamos a tratar: o caso explcito y = f (x), como nos dois exemplos anteriores, ou o caso implcito (x, y) = 0 em que (x, f (x)) = 0, como se ver no exemplo seguinte. Exemplo 1.6.3 Determinar o nmero de condio da raiz positiva z da equao x4 + x3 a = 0, em que a > 0.
Uma anlise elementar do primeiro membro desta equao permite conrmar que existe, de facto, uma nica soluo positiva, que denotaremos por z. Resulta tambm, das propriedades das equaes polinomiais, que z uma funo contnua de a. Estamos, pois, perante um problema bem posto. Como, por denio de raiz, se deve ter que z 4 + z 3 a = 0, conclumos que z uma funo de a determinada implcitamente por (a, z) = z 4 + z 3 a = 0. O problema consiste em obter o nmero de condio de z = f (a) sem passar pela determinao explcita de f . Ora, por derivao de em ordem a a, temos que 4z 3 f (a) + 3z 2 f (a) 1 = 0 donde resulta que f (a) = 1/(4z 3 + 3z 2 ) A denio de nmero de condio d cond f (a) = af (a) a a a a 1 = = 4 = = < f (a) (4z 3 + 3z 2 )z 4z + 3z 3 3(z 4 + z 3 ) + z 4 3a + z 4 3

Este resultado permite-nos concluir que a raiz z , como funo de a, bem condicionada.

1.6 Propagao de erros

37

Nmero de condio de funes f : Rn R O nmero de condio foi denido atrs para funes f : R R. Todavia, as operaes que tratmos soma, subtraco, multiplicao, diviso, somatrio e produto interno so de facto funes com mais do que um argumento. Tem pois cabimento perguntar como que o conceito se generaliza a funes f : Rn R cujas variveis independentes T denotaremos pelo vector x = x1 x2 xn . Se tivermos em considerao que a essncia do conceito de nmero de condio est em relacionar variaes do resultado com variaes dos dados, a seguinte denio apropriada: Denio 1.6.2 Seja f : Rn R e x = x1 x2 xn conda f (x) = lim sup
0 h T

Rn . O valor (1.6.13)

|f (x + h) f (x)| x =1

designa-se por nmero de condio absoluto da funo f no ponto x. O valor condr f (x) = lim sup
0 h

|f (x + h) f (x)| |f (x)| =1

|| x

(1.6.14)

designa-se por nmero de condio relativo da funo f no ponto x. Notemos que: o valor do nmero de condio depende agora da norma em Rn utilizada nesta denio; o tamanho das perturbaes em x dado pelo valor de uma vez que h = 1; a passagem ao limite 0 traduz o facto de estarmos preocupados apenas com pequenas perturbaes nos dados. Se f for diferencivel, a denio de derivada (gradiente) permite escrever que f (x + h) f (x) = grad f (x)T h + O() donde se deduz que conda f (x) = sup | grad f (x)T h|
h =1

(1.6.15)

(1.6.16)

Por um raciocnio idntico, chegamos a condr f (x) = sup


h =1

x | grad f (x)T h| |f (x)|

(1.6.17)

Vejamos alguns exemplos para conrmar a bondade da Denio 1.6.2 e expresses subsequentes, concentrando-nos, pelas razes j expostas, no nmero de condio relativo. Comecemos pela operao de adio y = f (x) = f (x1 , x2 ) = x1 + x2

38

Aritmtica computacional

que engloba o caso da soma e da subtraco tratados anteriormente. Obtemos assim grad f (x) = 1 1
T

grad f (x)T h = h1 + h2

Suponhamos que optamos por utilizar a norma euclideana em R2 . Nesta hiptese, sup |h1 + h2 | = 2
h =1

e, por conseguinte, cond f (x) =

2 x 1 |x1 + x2 | Este resultado permite concluir que a adio de nmeros com o mesmo sinal uma operao bem condicionada. Tal pode no suceder no caso de nmeros com sinais diferentes e de valor absoluto muito prximo. Conrma-se assim aquilo que foi dito a propsito da diferena essencial entre a soma e a subtraco, ou seja, a possvel ocorrncia de cancelamento subtractivo quando x1 + x2 0. Passemos agora multiplicao em que y = f (x) = f (x1 , x2 ) = x1 x2 e, portanto, grad f (x) = x2 x1
T

grad f (x)T h = x2 h1 + x1 h2

No custa ver, continuando a utilizar a norma euclideana, que sup |x2 h1 + x1 h2 | = 2


h =1

|x1 x2 | x

pelo que cond f (x) = 2 Podemos assim concluir que a multiplicao uma operao bem condicionada. Um raciocnio idntico, que se deixa como exerccio, mostra que o nmero de condio da diviso igual a 2, donde decorre que esta operao bem condicionada. Preciso de algoritmos Um algoritmo fu (x) para calcular f (x) pode ter boa preciso, i.e., produzir resultados prximos, ou pelo contrrio, pode fornecer resultados muito afastados, dos resultados exactos. claro que os qualicativos prximos e afastados tm a ver com a preciso da aritmtica a qual, como sabemos, traduzida pela unidade de arredondamento u. Assim, faz sentido dizer que um algoritmo fu (x) calcula f (x) com preciso, ou preciso, se |fu (x) f (x)| = O(u)|f (x)|, x X (1.6.18)

1.6 Propagao de erros

39

Quer isto dizer que o algoritmo fu calcula f com preciso arbitrariamente elevada desde que a aritmtica seja sucientemente boa, leia-se u sucientemente pequeno. Ou seja, se no obtivermos a preciso desejada, a culpa da aritmtica e no do algoritmo. Esta noo, to natural primeira vista, acaba por ser demasiado exigente. De facto, se f (x) = 0, a relao (1.6.18) obriga a que fu (x) = 0, i.e., o algoritmo teria que produzir neste caso o valor exacto, o que s fortuitamente poder acontecer. Vamos ver a seguir que possvel adoptar conceitos que, procurando quanticar a preciso de algoritmos, no nos levem a situaes irrealistas. Estabilidade de algoritmos Um conceito alternativo que visa traduzir a importncia dos erros produzidos pela aritmtica de preciso nita o da estabilidade de algoritmos. Denio 1.6.3 Seja fu um algoritmo que calcula f : X Y . Se, x X, |fu (x) f ()| = O(u)|f ()| x x (1.6.19) para algum x X tal que | x| = O(u)|x|, o algoritmo fu diz-se progressivamente x estvel. Se, em vez de (1.6.19), e mantendo todas as restantes condies, for vlida a relao |fu (x) f ()| = 0 x ento o algoritmo fu diz-se regressivamente estvel. Isto quer dizer que um algoritmo progressivamente estvel produz solues aproximadas com dados ligeiramente diferentes dos dados do problema original e um algoritmo regressivamente estvel produz solues exactas com dados ligeiramente diferentes dos dados do problema original. Como se v, este conceito mais exigente que o de estabilidade progressiva. De facto, um algoritmo regressivamente estvel necessariamente progressivamente estvel pois (1.6.20) corresponde a tornar nulo o segundo membro de (1.6.19). Quando no existir estabilidade (progressiva ou regressiva) diz-se que um algoritmo instvel (progressivamente ou regressivamente). Tendo presente (1.6.19), com um algoritmo regressivamente estvel verica-se que |fu (x) f ()| |f (x)| cond f (x)O(u) + O(u2) x ou, se preferirmos uma notao mais ligeira, |fu (x) f ()| x |f (x)| cond f (x)O(u) (1.6.20)

donde decorre que o erro neste caso depende basicamente do nmero de condio de f .

40

Aritmtica computacional

Convm frisar que os conceitos de condio e estabilidade, embora relacionados, no so inteiramente equivalentes. Em primeiro lugar, porque a um dado problema podem corresponder vrios algoritmos, podendo uns ser estveis e outros instveis. Ora, um problema ou bem condicionado ou mal condicionado e, se for mal condicionado, no h algoritmo que permita obter bons resultados. Em segundo lugar, um algoritmo instvel pode arruinar a soluo de um problema bem condicionado. Ilustremos estas ideias com alguns exemplos. Exemplo 1.6.4 Determinar a estabilidade da representao de nmeros em sistemas de ponto utuante.
Temos simplesmente que f (x) = x, fu (x) = (x) e, volvendo relao (1.6.1), reconhecemos estarmos perante um caso em que fu (x) f (x) = O(u)f (x) Este resultado mostra que a converso ao sistema de ponto utuante um algoritmo preciso. Tomando, na Denio 1.6.3, x = (x) = (1+ e)x vem que x x = O(u). Constatamos assim que fu regressivamente estvel e, por maioria de razo, progressivamente estvel. Estranho seria alis que a operao elementar de converso ao sistema de ponto utuante no gozasse de todas estas boas propriedades!

Exemplo 1.6.5 Determinar a estabilidade do clculo de f (x) = sin x na vizinhana de /2.


Suponhamos que o algoritmo fu est to bem feito que fu (x) = (f (x)) = (sin x) ou seja, que devolve o valor arredondado do resultado exacto, uma situao feliz que nem sempre acontece. Neste caso, verica-se que fu (x) = f (x)(1 + e) com |e| = O(u) e, portanto, fu (x) f (x) = O(u)f (x) o que permite imediatamente concluir que fu preciso. Vejamos se fu progressivamente estvel. A seguinte sequncia de expresses no suscita qualquer diculdade fu (x) f () = f (x)(1 + e) f () x x

(a)

= (1 + e)[f () + f ()O(x x)] f () x x x = (1 + e)f ()O(x x) + ef () x x

1.6 Propagao de erros

41

Tomemos a vizinhana de /2 denida por |x /2| com = O(u)/2 = O(u). Tendo em conta que f (x) = cos x, deduzimos que |f (x)| = O(u), donde |fu (x) f ()| = O(u)|f ()| x x o que prova a estabilidade progressiva. x Para haver estabilidade regressiva, deve vericar-se que fu (x) = f (). Da expresso (a) acima resulta ainda que 0 = f (x)( x) + O((x x)2 ) + f (x)e x Esta relao implica que, na vizinhana que estamos a considerar, |x x| = O((x x)2 ) + f (x)e |x| xf (x)

Ora, como |f (x)| = O(u), o primeiro termo do segundo membro no O(u) mas sim O(1). Portanto, o algoritmo no regressivamente estvel.

Exemplo 1.6.6 Calcular em F P (10, 4, 2, T ) as razes da equao do segundo grau x2 + bx + c = 0 com b = (0.9432)101, c = (0.1000)103

As razes so dadas pela frmula resolvente 1 x1,2 = (b d), 2 com d = (b2 4c)1/2

a qual nos permite obter os nmeros de condio relevantes. Comecemos por estudar x1 como funo de b. Ento, cond x1 (b, c) = b x1 /b b = 1 x1 d

o que signica que x1 bem condicionada face a perturbaes de b. Para x1 como funo de c, temos que c x1 /c 2c cond x1 (b, c) = = 106 x1 d(b d)

o que signica que x1 extremamente bem condicionada face a perturbaes de c. Repetindo este processo para x2 como funo de b, obtemos cond x2 (b, c) = b x2 /b b = 1 x2 d

e como funo de c, cond x2 (b, c) = c x2 /c 2c = 1 x2 d(b + d)

42

Aritmtica computacional

Em ambos os casos, x2 bem condicionada. Vejamos agora o que se passa em termos numricos com preciso nita. Efectuando todas as operaes em F P (10, 4, 2, T ), temos a seguinte sequncia de clculos: b2 = (0.8896)102 4c = (0.4000)103 b2 4c = (0.8896)102 d = (b2 4c)1/2 = (0.9431)101

x1 = (b + d)/2 = (0.9430)101

x2 = (b d)/2 = (0.5000)103 Por outro lado, os valores exactos so, mostrando apenas 4 dgitos, x1 = (0.9431)101 e x2 = (0.1060)104

O valor de x1 calculado difere apenas no quarto dgito, mas o de x2 difere em todos. No entanto, x2 bem condicionada! Por outro lado, se calcularmos esta raiz pela frmula do produto das razes x1 x2 = c, vem que x2 = c = (0.1060)104 x1

recuperando-se desta maneira a preciso perdida. Conclumos que o algoritmo utilizado era estvel para o clculo de x1 mas instvel para o clculo de x2 , sendo fcil agora imputar a diculdade deste caso ao cancelamento subtractivo na expresso b d. Este exemplo mostra que: uma m escolha de algoritmo pode arruinar a soluo de um problema bem condicionado; descoberta a origem das diculdades, uma abordagem alternativa, neste caso sugerida por uma modicao trivial, pode ser suciente para obter estabilidade e, assim, manter a preciso ao nvel mximo permitido pela aritmtica utilizada.

1.6.2

Alguns aspectos prticos

Os aspectos tericos abordados nas subseces anteriores no dispensam algumas consideraes de ndole mais prtica. Natureza estatstica dos erros A estimativa de erros atravs de majorantes, se bem que muito til, sofre no entanto de um grave inconveniente do ponto de vista prtico, o qual reside no seu carcter pessimista. Este facto no deve causar surpresa j que, conforme pudemos explicar, a obteno dos majorantes feita optando, em cada passo da anlise, sempre pelo caso mais desfavorvel. Num clculo de alguma complexidade altamente improvvel que os erros efectivamente cometidos produzam, em todas as situaes, os piores efeitos possveis. Por exemplo,

1.7 Algoritmos

43

no somatrio de nmeros muito natural que os erros sejam de sinais diferentes, i.e., uns sejam por defeito, e outros, por excesso, de modo que razovel esperar alguma compensao mtua e um erro nal bem inferior ao estimado pelo majorante. Neste contexto recordamos o que dissemos a propsito da vantagem do arredondamento sobre a truncatura. Estas observaes levam-nos a considerar que uma anlise estatstica de erros permitiria obter estimativas mais realistas. De facto assim , estando todavia este tpico fora do mbito do presente texto. No deixaremos, no entanto, de mencionar, a ttulo de ilustrao do que acabamos de dizer, um resultado tpico. Se admitirmos que o erro de arredondamento se distribui com igual probabilidade entre u e +u, possvel demonstrar neste caso que o erro relativo provvel no somatrio de n nmeros positivos proporcional a n. Recordando que o majorante determinado na seco anterior aponta para um erro mximo proporcional a n, podemos ajuizar da enorme diferena que pode existir entre o erro provvel e o erro mximo, sobretudo quando o valor de n for elevado. Avaliao prtica do efeito dos erros de arredondamento Em algoritmos de uma certa complexidade, qualquer dos mtodos de anlise de erros, directo, indirecto ou estatstico, dicilmente poder ser aplicado. Nesta circunstncia, que podemos fazer para vericar a inuncia dos erros de arredondamento nos resultados? Existem basicamente duas tcnicas empricas que, embora no totalmente seguras, contribuem para este objectivo. A primeira, dirigida principalmente vericao da inuncia da preciso nita, consiste em resolver o problema em causa com preciso aumentada, adoptando, por exemplo, preciso dupla para todas as variveis. Se os resultados vierem substancialmente alterados, ento podemos concluir que o nosso algoritmo muito sensvel aos erros de arredondamento, e neste caso h que examinar o problema a m de averiguar se apenas o algoritmo que instvel ou se o prprio problema que mal condicionado e tomar as medidas adequadas. A segunda tcnica consiste em produzir pequenas perturbaes aleatrias nos dados e analisar a sua inuncia nos resultados. Uma grande variao destes aponta para instabilidade do algoritmo e/ou mau condicionamento do problema, tal como atrs. Devemos sublinhar que qualquer destas tcnicas requer alguma experincia, quer na sua aplicao quer na correcta interpretao dos efeitos que produzem.

1.7

Algoritmos

semelhana do que aconteceu atrs, vamos ter ocasio de estudar neste texto uma grande variedade de algoritmos para resoluo de problemas de ndole numrica, pelo que oportuno dispender algum tempo com esta noo e com certas ideias correlacionadas.

44

Aritmtica computacional

1.7.1

Conceito de algoritmo

A noo intuitiva de algoritmo, como processo detalhado para resoluo de problemas, no nada fcil de formalizar, o que pode parecer estranho j que a ideia intuitivamente simples. Vejamos ento quais os elementos essenciais presentes neste conceito. 1. Um algoritmo no se destina a resolver um problema mas sim uma classe de problemas, o chamado domnio do algoritmo. Por exemplo, um algoritmo construdo para calcular as razes de uma equao de segundo grau x2 + bx + c = 0 com b e c reais deve permitir obter estas razes para qualquer instncia dos dados b e c que situem o problema no domnio do algoritmo, neste caso determinado por b, c R. 2. Um algoritmo deve declarar sem ambiguidade a forma como os clculos se desenvolvem, querendo com isto dizer que um algoritmo no deve deixar nada ao acaso, ao arbtrio ou imaginao do agente computador, seja ele homem ou mquina. Tal implica o emprego de uma linguagem formal (por oposio a natural ), para a respectiva descrio. Adoptada uma dada linguagem, a descrio do algoritmo deve constituir uma expresso nita e sintaticamente correcta nessa linguagem. Esta armao mostra claramente que o conceito de algoritmo no pode ser dissociado do conceito de linguagem e da a diculdade de falar em algoritmos em geral, i.e., sem especicar previamente qual a linguagem subjacente. 3. Um algoritmo deve ter um comportamento determinstico, i.e., deve produzir sempre o mesmo resultado (output) para cada instncia dos dados (input) pertencente ao respectivo domnio. 4. Um algoritmo deve envolver um nmero nito de operaes ou instrues, extradas do repertrio de instrues disponvel na linguagem utilizada. Esta exigncia implica que os processos matemticos intrinsecamente innitos, como sejam certos mtodos iterativos, tenham que ser interrompidos o que obriga o respectivo algoritmo a conter instrues que assegurem a paragem da sua prpria execuo. Neste sentido, no correcto especicar um algoritmo para calcular a raiz quadrada positiva de um nmero real x > 0 mas sim para calcular a raiz quadrada positiva de um nmero real x > 0, com n dgitos correctos, por exemplo. Do que acabmos de dizer no resulta nenhuma diferena essencial entre algoritmo e programa, embora seja corrente reservar esta ltima designao para a implementao concreta de um algoritmo num determinado ambiente computacional.

1.7.2

Complexidade computacional

Para um dado problema, podem ser desenvolvidos algoritmos com caractersticas diferentes. Por exemplo, pode pretender-se o algoritmo mais breve, na linguagem utilizada,

1.7 Algoritmos

45

ou o algoritmo que necessite de menos memria ou o que recorre a menos operaes de um certo tipo, etc. Resulta daqui a vantagem em classicar os algoritmos de acordo com critrios objectivos que faam realar os aspectos em considerao, tema que o objecto da teoria da complexidade computacional. No caso que nos interessa particularmente, o dos algoritmos numricos, os parmetros mais relevantes so o tempo de clculo e a memria requeridos por um dado algoritmo, pelo que faz sentido falar em complexidade temporal Ct e em complexidade espacial Cs , respectivamente. habitual, para evitar dependncias relativamente aos computadores utilizados, referir a complexidade temporal, no ao tempo gasto em executar o algoritmo, mas ao nmero de operaes envolvidas e, especialmente, ao nmero de operaes aritmticas em ponto utuante, designadas na gria por ops oating point operations. Pela mesma razo, a complexidade espacial medida pelo nmero de variveis que traduzem a dimenso do problema e no pelo nmero de bytes que o programa e respectivos dados ocupam ma memria de um dado computador. A notao O(nk ) (no confundir O( ) com O( )), usada frequentemente para indicar a complexidade, temporal ou espacial, de um algoritmo cuja dimenso seja aferida pelo parmetro n, signica que O(nk ) = cnk + , em que designa termos de ordem inferior, e c > 0 uma constante, i.e., cnk o termo dominante para valores de n elevados. A inteno desta notao a de omitir informao irrelevante. Assim, o Algoritmo 1.4.1 tem uma complexidade temporal Ct = O(n) ops e uma complexidade espacial tambm de Cs = O(n), esta basicamente determinada pelos n nmeros xi . Por sua vez, o Algoritmo 1.4.3 tem uma complexidade temporal de Ct = O(2n) ops e a sua complexidade espacial tambm Cs = O(2n), resultante dos 2n nmeros xi e yi . A meno explcita da constante c opcional e tem a ver com o nvel de pormenor pretendido. Assim, um algoritmo pode ser referido como tendo Ct = O(n3 /3) ops ou Ct = O(n3 ) ops, consoante se deseje acentuar ou no que c = 1/3 neste caso. A meno da constante importante quando se comparam algoritmos da mesma ordem de complexidade, i.e., se dois algoritmos so ambos O(n3 ), preciso distinguir se um dele O(5n3 ) e o outro O(2n3 ), por exemplo. Um problema cujo melhor algoritmo tenha uma complexidade que cresce exponencialmente com a respectiva dimenso n, por exemplo, Ct = O(2n ), costuma ser considerado como computacionalmente intratvel, j que exige recursos tendencialmente muito para alm do que sicamente possvel fornecer. Pelo contrrio, se existir um algoritmo com complexidade polinomial, por exemplo, Ct = O(nk ) para um certo k > 0, ento o problema que este algoritmo resolve considerado computacionalmente tratvel. Esta preferncia pelos algoritmos de complexidade polinomial justicada no Problema 1.9.63 que sugere tambm alguma cautela interpretativa nos casos concretos. Estes indicadores do esforo computacional, pelo seu carcter assimpttico e por incidirem apenas sobre a memria e as operaes aritmticas em ponto utuante, ignoram outros aspectos que podem ser igualmente determinantes, como sejam a movimentao

46

Aritmtica computacional

dos operandos da memria para os registos aritmticos e vice-versa, as operaes com inteiros, nomeadamente as desencadeadas por indexaes, os eventuais acessos a memrias lentas (discos, bandas), as operaes lgicas, etc. So, sem dvida, indicadores muito importantes mas no exaustivos.

1.8

Notas e referncias

1. Um estudo minucioso e erudito da histria da representao de nmeros e da aritmtica consta de (CAJORI, 1928, 1929, Captulo II, Volume I). Tambm em MENNINGER (1969) e FLEGG (1989) e, sobretudo, na obra monumental IFRAH (1994), se pode encontrar uma descrio fascinante da evoluo dos nmeros, das suas designaes e smbolos ao longo dos tempos. Por seu lado, KNUTH (1998) apresenta um resumo da histria da aritmtica computacional. 2. Mohammed ibn Musa al-Khwarismi, um astrnomo do sculo IX que trabalhou em Bagdad, foi autor de dois textos fundamentais. O primeiro, escrito por volta de 820, explicava a utilizao do sistema hindu, i.e., o sistema posicional decimal com zero. O original deste livro perdeu-se, tendo cado conhecido apenas atravs de tradues do rabe para o latim, feitas no sculo XII: em Espanha, por Juan de Toledo (por volta de 1143) e por Robert of Chester (por volta de 1145) que se cr serem das primeiras abordagens do sistema hindu no Ocidente cristo e, em Itlia, por Gerardo de Cremona, talvez o mais clebre tradutor do rabe para o latim, por volta de 1170. O segundo livro, Hisab al-jabr wal-muqabala, (O livro da substituio e simplicao), trata do modo de manipular e simplicar expresses. desta obra que deriva a designao de lgebra (al-jabr) e, tambm, do apelido de Al-Khwarismi que derivam os termos algarismo e algoritmo, este ltimo como sinnimo de mtodo para efectuar clculos. 3. O grande defensor e divulgador, no Ocidente, do sistema de numerao hindu-rabe foi Leonardo de Pisa (11801250), conhecido por Fibonacci (lius Bonaccii ), atravs do clebre Liber Abaci (O Livro do baco) publicado em 1202 e onde so postas em evidncia as enormes vantagens deste sistema relativamente ao sistema romano utilizado na poca. Este texto permaneceu como referncia obrigatria durante os dois sculos seguintes sua publicao! Simon Stevin (15481620) foi o autor da primeira exposio sistemtica da representao decimal (1.3.1) em De Thiende, obra mais conhecida por La Disme (A Arte das Dcimas), datada de 1585 e de que existe uma traduo em ingls em SMITH (1959). 4. Uma anlise detalhada da aritmtica em ponto utuante e dos aspectos relativos sua realizao em computador efectuada em KOREN (1993), KULISH and MIRANKER (1981) (por via axiomtica) e em STERBENZ (1974). O artigo de GOLDBERG (1991) constitui uma excelente introduo. 5. A anlise dos erros de arredondamento em processos algbricos, incluindo no s as operaes elementares tratadas neste captulo mas tambm os polinmios e as operaes com matrizes, exposta na referncia fundamental WILKINSON (1964) cujo esprito foi continuado e

1.8 Notas e referncias

47

desenvolvido de modo notvel em HIGHAM (1996), CHATELIN and FRAYSS (1996) e TREFETHEN and BAU (1997). 6. Os aspectos ligados arquitectura e projecto de unidades aritmticas de computadores so tratados em HUANG (1979) e no Apndice A de PATTERSON and HENNESSY (1996) escrito por D. Goldberg. 7. IEEE o acrnimo de Institute of Electrical and Electronic Engineers, uma associao prossional dos Estados Unidos da Amrica. A norma IEEE 754 encontra-se reproduzida em IEEE (1987). Um texto que elucida os seus aspectos mais pertinentes do ponto de vista da computao numrica OVERTON (2001). 8. Sempre que se revelar conveniente, apresentaremos os algoritmos sob a forma de pseudo programas escritos numa linguagem ad hoc (ou pseudo cdigo, como por vezes se diz) cujas semelhanas com o FORTRAN, o Pascal, etc., so evidentes, mas que tem a vantagem de ignorar aspectos especcos destas linguagens que s obscureceriam o essencial. O leitor que eventualmente pretenda programar os algoritmos deve ter em ateno que estes pseudo programas no so necessariamente os melhores quanto a rapidez, memria ou preciso, j que o seu objectivo unicamente o de proporcionar apresentaes mais claras. Constituem um til instrumento situado entre a descrio matemtica dos mtodos, que naturalmente omite muitos detalhes, e os programas propriamente ditos, que forosamente se devem preocupar com todos os aspectos de implementao. A sintaxe utilizada intuitiva: os ciclos de do so terminados por od, os blocos condicionais if so terminados por , etc., e os comentrios explicativos so identicados como tal ou inscritos entre parntesis e encostados direita. No h qualquer preocupao quanto vericao da validade dos dados, a menos que esta seja imprescindvel execuo do algoritmo, como tambm no h instrues de leitura e escrita. Estes pseudo programas esto, como o prprio nome sugere, longe de ser programas. 9. A teoria dos algoritmos e da complexidade computacional abordada em DAVIS et al. (1994) e PAPADIMITRIOU (1994) a um nvel perfeitamente adequado a quem pretenda alargar as vistas para l do breve material oferecido no presente texto. 10. A ideia utilizada por Henry Briggs para construir a tabela de logaritmos na sua obra Arithmetica Logarithmica publicada em 1624 foi precisamente a relao log10 (1+ x) 0.4342945x que to mais verdadeira quanto mais pequeno for x. Para valores de x grandes Briggs k k k recorreu identidade log 2k (a1/2 ) = 2k log(a1/2 ) e ao facto de que limk a1/2 = 1. Portanto, tirando um nmero sucientemente elevado de razes quadradas, m digamos, podemos m obter um nmero a1/2 to prximo de 1 quanto quisermos o qual escrevemos na forma m 1 + x = a1/2 cujo logaritmo se pode obter pela frmula aproximada acima indicada; depois, s aplicar o factor 2m para obter o resultado pretendido. Com este processo, Briggs produziu uma tabela com cerca de 14 dgitos correctos, um feito notvel para a poca.

48

Aritmtica computacional

1.9

Problemas

1. Obtenha a representao do nmero (176)10 nas seguintes bases: 2, 3, 8 e 16. 2. Ache a representao decimal dos seguintes nmeros: a) (101101)2 ; b) (221)3 ; c) (427)8 ; d) (1A0F )16 3. Obtenha a representao octal (base 8) dos nmeros: a) (101001)2 ; b) (1000111)2 4. Ache a representao hexadecimal dos nmeros: a) (10010)2 ; b) (10101011)2 5. Determine a representao binria dos nmeros: a) (0.5)10 ; b) (0.72)10 ; c) (2.3)10 ; d) (3.7)10

6. Converta as seguintes fraces binrias a fraces decimais: a) (.110001)2 ; b) (.11111111)2 ; c) (.10101010 . . .)2 7. a) Mostre que so precisos 3.3n bits para representar um nmero com n decimais. b) Os clebres nmeros de Mersenne (Marin Mersenne, 15881648) so inteiros da forma Mp = 2p 1 com p primo, alguns dos quais so eles prprios primos, como acontece, por exemplo, quando p = 2, 3, 5, 7, 13, 17, 19, 31, 61, . . .. Sabe-se que M3021377 primo. Aproximadamente, quantos decimais possui? Nota: Foi no mbito do projecto GIMPS (Great Internet Mersenne Prime Search) que se apurou a primalidade de M3021377 . Os nmeros primos muito grandes encontram aplicaes (algo inesperadas) em criptograa. 8. Os Babilnios recorriam s seguintes aproximaes para 2: (1.30)60 , (1.25)60 e (1.24 51 10)60 . Converta estes valores base decimal e determine os erros (absolutos e relativos) cometidos. 9. Ptolomeu de Alexandria (sculo II) usou na sua obra de astronomia Almagest (ttulo rabe de O Grande Compndio), seguindo os Babilnios, o valor de = (3.830)60 . claro que a notao usada no foi esta, mas sim a notao grega corrente na poca = . a) Converta base decimal e determine os erros absoluto e relativo cometidos. Nota: Este foi o valor ainda usado por Cristvo Colombo (sculo XV ) nos seus clculos de navegao. b) Tente explicar a notao usada por Ptolomeu tendo em ateno que os gregos recorriam s letras do seu alfabeto para representar os nmeros. 10. Os Egpcios, 4 000 anos atrs, s utilizavam fraces com numerador unitrio (com a excepo notvel de 2/3 de que no nos ocuparemos neste problema). Assim, qualquer nmero fraccionrio x = p/q, com 0 < p < q, era representado por um desenvolvimento do tipo x= 1 1 p 1 = + + + q d1 d2 dm

com 2 d1 < d2 < < dm . O nmero m de termos era, geralmente, o menor possvel mas ocorriam muitas excepes.

1.9 Problemas

49

a) Obtenha a representao de x = 2/7. Nota: Para apreciar o extraordinrio valor prtico desta representao, pense no problema da repartio de 2 pes por 7 pessoas de modo a garantir iguais pores no s em peso mas, mais importante, em forma, de modo a tornar evidente que ningum foi enganado! b) Idem, de . Nota: O valor de utilizado pelos Egpcios baseava-se na observao de que a rea de um crculo era aproximadamente igual de um quadrado cujo lado fosse 8/9 do dimetro. 11. Faa os seguintes truques de magia: a) 1) Escolha um inteiro N cuja representao decimal seja (abc); 2) Forme um inteiro M por repetio dos dgitos de N , i.e., M = (abcabc); 3) Prove que M necessariamente divisvel por 7, 11, e 13. b) 1) Escolha um inteiro N ; 2) Forme um inteiro M por permutao dos dgitos de N ; 3) Calcule a diferena entre M e N ; 4) Esta diferena sempre divisvel por 9. Prove que tem de ser assim mesmo. Sugesto: Demonstre primeiro que um nmero divisvel por 9 sse a soma dos seus dgitos o for. 12. Demonstre que a representao de um nmero natural N numa base b nica, i.e., se N = n di bi = n d bi ento n = n e di = d para i = 0, . . . , n. i i=0 i=0 i 13. Considere a seguinte ideia para representao de nmeros naturais N numa base b: N = n i1 b) com 0 d < b como habitualmente. Mostre, atravs de um exemplo simples, i i=0 di (2 que no existe unicidade de representao excepto se b = 2. 14. Prove que 0 di < b uma condio necessria para haver unicidade na representao de nmeros naturais. Sugesto: Mostre que, se tal no acontecer, i.e., se dk b para algum k, ento existem duas representaes: [. . . dk+1 dk dk1 . . .] e [. . . (dk+1 + 1)(dk b)dk1 . . .]. 15. A base b no tem que ser necessariamente um nmero positivo. Considere a seguinte representao no convencional de inteiros na base 10 (representao nega-decimal ): N = dn (10)n + + d1 (10)1 + d0 (10)0 em que, como habitualmente, os dk satisfazem a relao 0 dk < 10. a) Obtenha a representao decimal de (234)10 e de (1325)10 . b) Obtenha a representao nega-decimal de 134 e de 305. c) Mostre que, consoante n for mpar ou par, assim so representveis muito mais nmeros positivos que negativos ou vice-versa. d) Verique que nesta representao no necessrio nenhum smbolo para o sinal. 16. Considere nmeros reais cuja parte fraccionria (.d1 d2 . . .) exibe uma estrutura peridica no sentido de que existem valores m 1 e p 1 (o perodo) tais que d(k+p) = dk , para k > m. Mostre que estes nmeros so racionais.

50

Aritmtica computacional

17. Mostre que todos os nmeros de F P (b, p, q) so racionais. 18. a) Liste todos os nmeros positivos de F P (2, 4, 2). b) Quais so os limites de underow e overow deste sistema? 19. a) Converta 0.1 a F P (2, 12, 3, T ). b) Converta o resultado novamente base dez. c) Qual o erro relativo cometido em cada converso e no nal? 20. Repita o Exemplo 1.4.4 em F P (10, 4, 2, T ). 21. Efectue os seguintes clculos em F P (10, 4, 2, A): a) (A + B) + C; b) A/C; c) A C; d) (AB)/C; e) A(B/C); f) B(A/C); com A = (0.3826)104 , B = (0.1246)103 e C = (0.7421)101 . Determine os erros absolutos e relativos cometidos. 22. semelhana de (1.4.8), prove que tambm se verica a relao x = ()(1 + ), x com || < u

23. a) Mostre que em aritmtica de ponto utuante a multiplicao ou a diviso por uma potncia da base, se no produzir overow ou underow, uma operao exacta. b) Seja x um nmero representvel em F P (10, p, q). Pode concluir-se que o seu dobro, i.e., 2x, tambm representvel neste sistema desde que no produza overow ? c) E em F P (2, p, q)? 24. Uma forma de obter o valor da unidade de arredondamento u de um computador, sem precisar de conhecer os pormenores da respectiva aritmtica de ponto utuante, determinar o maior valor de v para o qual (1 + v) = 1. a) Mostre que este mtodo produz, de facto, o valor de u e explique porqu; b) Aplique esta ideia determinao de valores v sucientemente aproximados da unidade de arredondamento u (em preciso simples e em preciso dupla) do seu computador; c) Compare-os com os valores tericos. 25. a) Pretende-se calcular a hipotenusa h de um tringulo rectngulo de catetos a e b, os quais assumem valores muito elevados mas abaixo do limite de overow. No entanto, existe a possibilidade de a2 e b2 produzirem overow. Mostre que, se a b, a expresso h = a 1 + (b/a)2 prefervel e explique porqu. b) Como que se generaliza este procedimento ao clculo da norma euclideana de um vector x Rn ?
1/2

1.9 Problemas

51

c) O Algoritmo 1.9.1 corresponde forma como a norma euclideana de um vector calculada na programateca BLAS. Explique as razes para esta programao aparentemente to complicada. 26. Diga se, para todos os nmeros reais x e y, so verdadeiras ou falsas as seguintes proposies: a) (x) = (x); b) x y (x) (y); c) x < y (x) < (y) ou seja, se a simetria e a ordem so preservadas em sistemas de ponto utuante. Considere separadamente os casos F P (. . . , T ) e F P (. . . , A). 27. a) Calcule em F P (10, 4, 2, T ) o valor de y= 4 15 4 + 15
3

b) Repita a alnea anterior usando as expresses analiticamente equivalentes y = (31 8 15)3 , y = 1/(31 + 8 15)3 , y = (4 15)6 , y = 1/(4 + 15)6 .

c) Diga qual a expresso que produz o melhor resultado e explique porqu. 28. O Rei Midas decretou o sistema F P (10, 6, 2, A) como o nico a usar no seu reino (e, sendo ele rei, ningum o contrariou) e pretende cobrir a superfcie da Terra (raio = 6378 km) com uma na camada de ouro (massa especca = (19.3)103 kg/m3 ) de espessura 106 m. Quantos kg de ouro precisa? Nota: O Rei Midas tem o hbito de mandar cortar a cabea a quem d respostas estpidas!

Algoritmo 1.9.1 Norma euclideana proc NORM2 (x, n) comment: x Rn s=1 t=0 for i = 1 to n do if |xi | > t then s = 1 + s(t/xi )2 t = |xi | else s = s + (xi /t)2 od x 2=t s end

(inicializao)

52

Aritmtica computacional

29. (A partir de uma ideia em PAULOS (1990)) Quando Julius Csar expirou, aps receber a ltima punhalada dos conspiradores que o assassinaram, exalou A molculas de ar. Considerando que j houve tempo suciente para uma difuso completa destas molculas na atmosfera terrestre, a probabilidade de um de ns inalar pelo menos uma delas dada por A p=1 1 N
B

em que B o nmero de molculas por inalao e N o nmero total de molculas na atmosfera terrestre, suposto constante desde os tempos de Roma Antiga. a) Tomando B = A = (2.2)1022 e N = 1044 , calcule p. b) Verique a inuncia do nmero de dgitos no resultado. Nota: Verses mais srias deste problema ocorrem frequentemente em Probabilidades. 30. Produza uma demonstrao alternativa do Teorema 1.4.1 baseada em induo no nmero n de termos. Sugesto: Considere separadamente os casos n = 1 e n = 1. 31. Mostre que o clculo em ponto utuante de y = a + bx produz y = (a + bx) = a(1 + 1 ) + bx(1 + 2 ), |1 | 2 , |2 | 4

O que conclui do facto de o erro relativo ser majorado por |e| 4 (|a| + |bx|)/(|a + bx|)? 32. Demonstre que, se os operandos no tiverem necessariamente representao exacta em ponto utuante, as estimativas do erro relativo (1.4.20) e (1.4.23) devero ser substitudas por |e| n = nu + O(u2 ), respectivamente. 33. Mostre que o clculo em ponto utuante do produto y = as hipteses do Teorema 1.4.1, a expresso
n n i=1 xi

|e| n+2 = (n + 2)u + O(u2 )

verica, se forem vlidas

y=
i=1

xi = y(1 + ),

|| 2n

34. Considere o produto y = Ax de uma matriz A Rnn por um vector x Rn , ambos com representao exacta em ponto utuante. Prove que y = (A + A)x, com |A| n |A|

35. Deduza a seguinte relao entre o erro relativo e e o nmero s de dgitos correctos b(s+1) |e| < b(s1)

1.9 Problemas

53

36. Prove o seguinte corolrio do Teorema 1.4.1: se q = 0 e nu 0.01 (uma hiptese satisfeita quase sempre na prtica), ento
n

(1 + ei ) = 1 + ,
i=1

com || n 1.01nu

Nota: A constante 1.01 que aparece neste teorema no tem nada de mgico. Resulta simplesmente de hipteses realistas sobre a unidade de arredondamento e sobre o nmero de termos com vista a obter um resultado de fcil leitura. 37. a) Determine o formato simples IEEE 754 dos seguintes nmeros: 21.0, 15.0, 104.6; b) Descodique os seguintes formatos simples IEEE 754: 1 10000001 01010 . . . 0; 0 0 . . . 0 0010 . . . 0

c) Quantos zeros que a norma IEEE 754 prev e quais as respectivas conguraes de bits? 38. a) Calcule as unidades de arredondamento nos formatos simples e duplo da norma IEEE 754. b) Mostre que 0.1 =
i=1

24i + 24i1 .

c) Deduza que o erro relativo de representao de 0.1 no formato simples da norma IEEE 754 u/4. d) Qual o resultado para o caso do formato duplo? 39. Sejam x e y, com 0 < x < y, dois nmeros representveis de acordo com a norma IEEE 754. Mostre que se tomarmos a representao destes nmeros nesta norma como a representao binria de dois nmeros inteiros, r em vez de x e s em vez de y, ento tambm r < s. Quer isto dizer que a ordenao de nmeros reais (como seria no caso x < y < 0?) pode ser efectuada como se fossem inteiros, no requerendo, portanto, nenhum hardware adicional. 40. Considere o clculo da resistncia equivalente R a duas resistncias R1 e R2 em paralelo efectuado pelas duas expresses alternativas R= 1 R1 R2 = 1/R1 + 1/R2 R1 + R2

Em aritmtica IEEE 754 e tendo em considerao os casos especiais de uma ou ambas as resistncias serem nulas, qual destas expresses prefervel? 41. Suponha que pretendia dividir o intervalo [a, b] em n subintervalos de igual comprimento h = (b a)/n, para o que dispe das seguintes frmulas, analiticamente equivalentes, para o clculo das abcissas dos extremos dos subintervalos: xi+1 = xi + h, xi = a + ih, xi = b (n i)h, xi = ((n i)a + ib), i = 0, . . . , n 1, x0 = a i = 0, . . . , n i = 0, . . . , n i = 0, . . . , n

54

Aritmtica computacional

a) Qual o nmero de operaes aritmticas envolvidas em cada uma destas frmulas? b) Determine em F P (10, 2, 2, A) os valores dos xi para [a, b] = [0, 1] e n = 6; c) Em face dos resultados qual das frmulas lhe parece a melhor do ponto de vista da preciso? d) Tente justicar teoricamente os resultados da alnea anterior. Sugesto: Supor que se comete um erro no clculo de h, e que as demais operaes aritmticas em ponto utuante contribuem com um erro cada uma. 42. Calcule a soma sn = o somatrio:
n 2 k=1 1/(k +k)

para os valores de n = 999, 9999, 99999, . . ., efectuando

a) pela ordem k = 1, 2, . . ., i.e., por valores decrescentes dos termos; b) pela ordem k = n, n 1, . . ., i.e., por valores crescentes dos termos; c) usando a tcnica de Kahan. Compare com os valores exactos e explique o sucedido. 43. Pretende-se calcular a funo f (x) = 1 cos x para valores de x muito pequenos, |x| 103 , por exemplo. a) Mostre que esta funo bem condicionada para valores de x desta ordem de grandeza. b) Verique, contudo, que o clculo da funo pela expresso dada conduz a uma perda aprecivel de dgitos signicativos. Apresente um algoritmo alternativo que evite esta diculdade. 44. Determine em F P (10, 4, 2, T ) as razes da equao x2 + 0.7341x + (0.6000)104 = 0: a) Usando a frmula resolvente habitual para ambas as razes; b) Usando a frmula resolvente habitual para a maior raiz (em valor absoluto) e outra frmula para a menor raiz (em valor absoluto) mas que d maior preciso que a anterior. 45. a) As expresses seguintes so numericamente instveis para x 1. Calcule os respectivos valores para x = 103 , 104 , 105 , . . . 1) f (x) = x (x2 1)1/2 ; 2) f (x) = x/(x + 1) exp(1/x); b) Manipule estas expresses de modo a obter expresses equivalentes mas numericamente estveis. Repita os clculos e tire concluses.

46. Mostre que f (x) = x(1 x2 )1/2 mal condicionada na proximidade de x = 1. Qual a importncia deste facto no clculo da funo para valores de x desta ordem? possvel representar a funo de forma a evitar esta diculdade? 47. a) Calcule o nmero de condio da funo f (x) = (1 cos x)/x2 ; b) Mostre que a funo bem condicionada para |x| 1;

1.9 Problemas

55

c) Verique que, no entanto, o seu clculo pela frmula dada susceptvel a erros de cancelamento subtractivo; d) Produza uma outra frmula de calcular a funo, praticamente equivalente para os valores de x em causa, mas que no sofra desta desvantagem. 48. a) Mostre que o somatrio y dado por (1.4.18) uma funo bem condicionada relativamente a qualquer das variveis xi se y no for prximo de zero. b) Idem, para o produto interno s dado por (1.4.20), se os vectores estiverem longe de ser ortogonais. 49. a) Determine o nmero de condio da funo, f (x) = sin x para x = 0 e para x = 2. b) No de estranhar o resultado, dado que esta funo peridica? 50. Aristarco de Samos (cerca de 310230 a.C.) calculou a relao r entre a distncia da Terra ao Sol e a distncia da Terra Lua recorrendo ao ngulo (ver a Figura 1.9.1) na fase de quarto crescente (ou quarto minguante). Nas condies de medio da poca, obteve-se = 87 enquanto nos dias de hoje = 89 51 . Calcule os valores de r para os dois casos e explique a razo de to grande discrepncia face a um erro relativo em de 3%. 51. Mostre que a Denio 1.6.2 contm a Denio 1.6.1 como caso particular. 52. Determine o nmero de condio da soluo x da equao ax + b = 0: a) Como funo de a; b) Como funo de b; c) Os resultados obtidos no parecem absurdos quando a 0? Explique. 53. Pretende-se avaliar a sensibilidade do valor z de uma grandeza fsica que obtido como a soluo positiva da equao ax3 + x 1 = 0, sendo a > 0 um coeciente determinado experimentalmente e, portanto, sujeito a erros. a) Mostre que a equao acima tem uma nica soluo real z e que esta se localiza no intervalo (0, 1).

Figura 1.9.1: O raciocnio de Aristarco de Samos

56

Aritmtica computacional

b) Diga que erros relativos se podem esperar em z sabendo que os erros experimentais de a foram estimados em 2%. 54. Uma forma de datar achados arqueolgicos baseia-se nas propriedades do istopo radioactivo carbono-14, mais raro que o carbono-13 e o carbono-12, este o mais vulgar e que entra na composio de toda a matria orgnica. Admitindo que a percentagem de carbono-14 em seres vivos se tem mantido constante ao longo dos tempos, a medio dos nveis deste istopo em restos mortais de animais ou plantas permite determinar a data da sua morte. O nvel de radioactividade A(t) do carbono-14 obedece lei A(t) = A0 exp(t), com = ln 2 5568

em que A0 e A(t) so os nveis de radioactividade no momento t = 0 e t, respectivamente (A0 e A(t) em unidades apropriadas, t em anos), e o nmero 5568 a semi-vida, em anos, do carbono-14 (o tempo necessrio para reduzir a radioactividade a metade). Analise este processo de datao, i.e., a determinao da data, com vista a avaliar o seu condicionamento relativamente a erros de medio nos dados A0 e A(t). 55. Seja y = f (x) e z = g(y) e considere a funo composta z = h(x) g(f (x)). Prove que cond h(x) cond f (x) cond g(y) o que permite concluir que, se h for mal condicionada, ento uma (pelo menos) das funes f e g mal condicionada. 56. Considere o desenvolvimento em srie de Maclaurin da funo exponencial exp x = 1 + x + x2 /2! + = a) Calcule exp(12) utilizando este desenvolvimento; b) Idem, mas usando agora o facto de que exp(12) = 1/ exp(+12); c) Compare os resultados e explique o sucedido. 57. Considere o desenvolvimento em srie de Maclaurin de ln(1 + x), vlido para 1 < x 1: ln(1 + x) = x x2 /2 + x3 /3 x4 /4 + a) Quantos termos necessrio reter neste desenvolvimento para obter logaritmos de nmeros no intervalo [1, 2] com um erro absoluto inferior a 107 usando aritmtica exacta? (Ver a nota a este respeito na Seco 1.8.) b) Deduza o seguinte desenvolvimento ln 1+x x3 x5 =2 x+ + + 1x 3 5 , |x| < 1
k=0

xk /k!

e repita a alnea anterior;

1.9 Problemas

57

c) Compare os resultados e tire concluses. 58. Calcule no seu computador favorito o valor da expresso z = (x + y)2 x2 2xy /y 2 com x = 100.0 e y = 10k , para k = 0, 1, 2, . . .. Explique o sucedido e perdoe-lhe. Nota: O resultado depende fortemente da aritmtica do computador utilizado. 59. A srie harmnica 1 1 1 + + + 2 3 n divergente. Calcule a sucesso sn no seu computador e explique o sucedido. Nota: O resultado depende fortemente da aritmtica do computador utilizado. sn = 1 +

60. O nmero e tem a seguinte denio e = lim 1+ 1 n


n

Tente obter este limite no seu computador usando valores de n sucessivamente mais elevados, por exemplo, n = 2, 4, 8, 16, . . . Compare os resultados com o valor exacto e explique o sucedido. 61. Tente obter no seu computador o valor de limn (100n /n!), tomando valores de n sucessivamente maiores. O que consegue concluir? 62. a) Escreva um algoritmo para calcular o produto de duas matrizes reais de ordem n seguindo a Denio 6.1.6. b) Calcule a respectiva complexidade temporal e espacial. c) Particularize para o caso do produto de matriz por vector. 63. a) Prove que a complexidade polinomial estritamente melhor que a complexidade exponencial, i.e., dado um polinmio p(x) qualquer e uma funo ax com a > 0, ambos denidos para x 0, existe um valor x0 tal que p(x) < ax , x > x0 .

b) Determine o valor de x0 para o caso p(x) = x3 e a = 2. Nota: O clculo dos zeros de ax = x3 ser abordado no Captulo 5. Contudo, para efeitos deste problema, qualquer mtodo expedito aceitvel. c) Idem, para o caso a = 1.01. d) O que consegue concluir em termos prticos?

58

Aritmtica computacional Ami lecteur, cet avertissement servira pour te faire savoir que jexpose au public une petite machine de mon invention, par le moyen de laquelle seul tu pourras, sans peine quelconque, faire toutes les oprations de larithmtique, et te soulager du travail qui ta souvent fatigu lesprit, lorsque tu as opr par le jeton ou par la plume: je puis, sans presomption, esprer quelle ne te dplaira pas, aprs que Monseigneur le Chancelier la honore de son estime, et que, dans Paris, ceux qui sont les mieux verss aux mathmatiques ne lont pas juge indigne de leur approbation. Nanmoins, [. . .] jai cru tre oblig de tclairer sur toutes les dicults que jai estimes capables de choquer ton sens lorsque tu prendras la peine de la considrer. B. Pascal (1623-1662)
Lettre dedicatoire a Monseigneur le Chancelier sur le sujet de la machine nouvellement invente par le sieur B.P. pour faire toutes sortes doperations darithmtique par un mouvement regl sans plume ni jetons avec un avis ncessaire ceux qui auront curiosit de voir la dite machine et sen servir (1645)

Captulo 2 Interpolao polinomial


Neste captulo vamos abordar o tema da interpolao, o qual consiste, na sua verso mais simples, em fazer passar uma certa curva por pontos dados.

2.1

Introduo

Dados os conjuntos de valores {x0 , x1 , . . . , xn } e {y0 , y1, . . . , yn } procura-se uma funo f , dita interpoladora, tal que f (xi ) = yi , i = 0, 1, . . . , n (2.1.1)

Em termos singelos, pretende-se fazer passar uma certa curva por pontos dados tal como se ilustra na Figura 2.1.1. Aos pontos x0 , x1 , . . . , xn costume dar o nome de ns de interpolao, e aos respectivos valores associados y0 , y1 , . . . , yn , o de valores nodais. Admitiremos em todo este captulo que os ns pertencem a um intervalo limitado [a, b] R e poremos = (a, b) e = [a, b]. Normalmente exige-se que a funo f possua certas qualidades emergentes do contexto em que o problema de interpolao surge e/ou da necessidade de tornar o problema matematicamente bem posto. Tendo em conta diversas propriedades vantajosas de que iremos falar dentro em pouco, so os polinmios excelentes candidatos a desempenharem o papel da funo interpoladora f .

2.1.1

Generalidades

Antes do advento dos modernos computadores digitais, o clculo de certas funes como ln x, sin x, tan x, etc., era feito atravs de consulta a tabelas. Estas tabelas, laboriosamente construdas e resultando por vezes do trabalho de uma vida inteira de matemticos, s podiam conter, como bvio, um nmero nito de dados. Tal facto levantava de imediato a questo de como determinar os valores da funo quando o argumento x no coincidia com nenhum dos valores tabelados. Utilizar o valor mais prximo? E, neste caso, qual 59

60

Interpolao polinomial

Figura 2.1.1: Interpolao

o erro cometido? Haver melhores tcnicas? Para responder a estas e outras questes similares foi desenvolvida uma teoria de interpolao muito completa. O aparecimento dos computadores veio retirar importncia ao clculo por meio de tabelas. Hoje qualquer calculadora de bolso oferece, ao simples toque de uma tecla, muitas das funes que at h bem pouco tempo exigiam a consulta de pginas e pginas de nmeros alinhados em colunas. No entanto, o interesse da interpolao no diminuiu, e isto essencialmente pelas duas razes seguintes. A primeira decorre do facto de que a interpolao um meio relativamente simples de aproximar certas funes. Por exemplo, suponhamos que os xi so valores da altitude, e os yi, os valores correspondentes da temperatura da atmosfera obtidos por medio. Pode haver interesse em associar a estes valores uma funo f que verique a relao (2.1.1) e que de certo modo represente a lei que rege a evoluo da temperatura da atmosfera com a altitude. A segunda razo radica no facto de que a interpolao constitui o fundamento de muitos outros mtodos numricos, pelo que o seu estudo no pode ser dispensado. conveniente introduzir neste momento alguma notao de que iremos fazer uso. Assim, indicaremos a derivada de ordem k de uma funo f por f (k) e convencionaremos que f (0) = f . O conjunto de funes denidas sobre o intervalo e k vezes continuamente diferenciveis ser designado por C k (). Em particular, o conjunto das funes contnuas denidas sobre ser designado por C 0 () C(). Uma funo f C k () diz-se que pertence a C k () se existir um conjunto aberto e um prolongamento f de f tais C k (). Se f C() poremos que f f

= max |f (x)|
x

(2.1.2)

e designaremos esta grandeza por norma (de mximo) da funo f .1 Problema geral da interpolao. A ideia de interpolar valores de uma funo extensvel tambm prpria interpolao de valores das derivadas, pelo que o problema
A noo de norma de funes apresentada no Apndice A. Contudo, o seu uso neste captulo pouco vai alm do aspecto notacional.
1

2.1 Introduo

61

geral da interpolao se pode formular da seguinte maneira: determinar a funo f que satisfaz as condies f (j) (xi ) = yij , j = 0, 1, . . . , mi , i = 0, 1, . . . , n (2.1.3)

em que mi o nmero de derivadas a interpolar no n xi , e os yij so os valores a interpolar e so considerados como dados. Quando o mi = 0, para i = 0, . . . , n, camos no caso anterior e diz-se que a interpolao do tipo de Lagrange. Se os mi forem todos iguais, mas diferentes de zero, diz-se que a interpolao do tipo de Hermite. Notemos que, na interpolao de Hermite, todas as derivadas at ordem mi devem ser interpoladas em cada n xi ; a situao mais corrente, que merecer um tratamento especco na Subseco 2.6.1, corresponde a ter mi = 1, para i = 0, . . . , n, caso em que a interpolao se diz osculatria. Se apenas interpolarmos algumas derivadas, a interpolao diz-se que do tipo de Birkho. Anlise e sntese de funes. oportuna neste momento a seguinte observao. Na Anlise Matemtica costuma proceder-se determinao de propriedades de curvas, por exemplo vericar se so contnuas, se possuem zeros, caracterizar os seus extremos, etc. o que se costuma designar por anlise. Neste captulo abordamos o problema inverso, ou seja, o de construir curvas que satisfaam determinadas condies especicadas. Trata-se, portanto, da sntese de funes, de que a interpolao polinomial apenas uma das vias possveis. Denio 2.1.1 Diz-se que uma funo p um polinmio na varivel x (real ou complexa) se puder ser escrita como uma combinao linear de monmios xi , i = 0, . . . , n, i.e., p(x) = a0 + a1 x + a2 x2 + + an xn

em que os ai so nmeros (reais ou complexos) designados por coecientes do polinmio. O grau do polinmio p, denotado por deg p, o nmero denido por deg p = max{i : ai = 0, i = 0, . . . , n}

Se ai = 0 para i = 0, . . . , n, ento o polinmio diz-se nulo. Se an = 1 o polinmio denomina-se mnico. O conjunto dos polinmios de grau n ser designado por Pn , e o conjunto de todos os polinmios, por P. Como esta denio implica, um polinmio pode ser calculado recorrendo apenas a operaes aritmticas em nmero nito. De facto, como os computadores so, do ponto de vista aritmtico, apenas capazes de efectuar as quatro operaes elementares (soma, subtraco, multiplicao e diviso), as nicas funes que permitem calcular so polinmios ou quocientes de polinmios (i.e., funes racionais). Todas as outras funes,

62

Interpolao polinomial

como o logaritmo, o seno, a tangente, etc., so obtidas por meio de aproximaes que envolvem polinmios. Esta uma das propriedades que, de entre outras, privilegia os polinmios. Grau do polinmio nulo. A atribuio de grau ao polinmio nulo cria uma diculdade j que a Denio 2.1.1 omissa a este respeito. costume optar por uma das seguintes solues: simplesmente no denir o grau para este caso ou convencionar tom-lo como igual a , o que, sendo estranho primeira vista, , no entanto, justicvel (ver o Problema 2.10.2). Sries de potncias Uma srie de potncias em x uma expresso da forma p(x) = a0 + a1 x + a2 x2 + + an xn + incorrecto, embora sugestivo, dizer que uma srie de potncias um polinmio com innitos termos j que as propriedades dos polinmios no se transferem automaticamente para as sries de potncias e certos problemas das sries, como a convergncia, nem sequer se colocam aos polinmios. Exemplo 2.1.1 Vericar se uma dada funo um polinmio.
a) A funo f (x) = x3 x + 1 obviamente um polinmio de grau 3. b) A funo f (x) = (x 1)(x 4)(x + 3)x um polinmio de grau 4, como facilmente se verica efectuando o desenvolvimento do segundo membro da respectiva expresso. c) A funo (x2 1)/(x 1) se x = 1 f (x) = 2 se x = 1 , em todo o seu domnio e aps simplicao, idntica a f (x) = x + 1 sendo, portanto, um polinmio de grau 1. d) A funo f (x) = 2 um polinmio de grau zero. e) A funo Tn (x) = cos(n arccos x), com x [1, 1] , um polinmio de grau n. Dos casos apresentados neste exemplo, este o nico que no evidente e explica o fraseado algo reservado ... se puder ser escrita na forma .. na Denio 2.1.1, o qual visa marcar bem a diferena entre uma funo e as suas possveis representaes. Para n = 0 e n = 1 vem imediatamente que T0 (x) = 1 e T1 (x) = x

Fazendo a mudana de varivel cos = x, obtemos Tn (cos ) = cos n, e pela frmula do co-seno de uma soma, podemos escrever que Tn+1 (cos ) = cos(n + 1) = cos n cos sin n sin

2.1 Introduo

63

Somando ambos os membros destas expresses, e rearranjando convenientemente os termos da expresso resultante, chegamos a cos(n + 1) = 2 cos n cos cos(n 1) Recuperando a varivel x = arccos , cos((n + 1) arccos x) = 2x cos(n arccos x) cos((n 1) arccos x) donde podemos extrair a frmula de recorrncia Tn+1 (x) = 2xTn (x) Tn1 (x), Aplicando esta frmula sucessivamente temos que T0 (x) = 1 T1 (x) = x T2 (x) = 2x2 1 T3 (x) = 4x3 3x n1

Tn1 (cos ) = cos(n 1) = cos n cos + sin n sin

T4 (x) = 8x4 8x2 + 1,

...

Por outro lado, imediato que, se Tn1 e Tn forem polinmios de grau n 1 e n, respectivamente, ento a frmula de recorrncia acima assegura que Tn+1 um polinmio de grau n + 1. Estes polinmios so conhecidos pela designao de polinmios de Chebyshev (de primeira espcie) os quais so clebres pelas suas propriedades, algumas das quais teremos oportunidade de referir no Captulo 11. A Tabela 11.2.2 e a Figura 11.2.1 mostram alguns destes polinmios.

Uma outra propriedade que nos leva a pensar que os polinmios devem ter boas propriedades para aproximar funes est contida no clebre teorema de Weierstrass, que recordamos. Teorema 2.1.1 (Weierstrass) Seja um intervalo nito, e , um nmero real positivo arbitrrio. Ento, para qualquer funo f C(), existe um polinmio p satisfazendo f p < .

Demonstrao Uma demonstrao construtiva recorrendo aos polinmios de Bernstein Bn associados funo f e denidos, para o intervalo [0, 1], por
n

Bn (f, x) =
k=0

f (k/n)

n k x (1 x)nk , k

n1

(2.1.4)

pode ser vista em DAVIS (1963) ou em CHENEY (1966). Por outras palavras, numa vizinhana qualquer de uma funo contnua existe sempre um polinmio. No entanto, os polinmios de Bernstein, apesar das garantias dadas por este teorema, convergem com demasiada lentido, o que lhes retira interesse prtico como forma geral de aproximao. O exemplo seguinte vai revelar isto mesmo.

64

Interpolao polinomial
sin(x)

0.8

B3

Figura 2.1.2: Polinmios de Bernstein B1 , B2 e B3 associados funo f (x) = sin(x)

0.6

0.4

B2

0.2

B1
00 0.2 0.4 0.6 0.8 1

Exemplo 2.1.2 Aproximao da funo sin(x) no intervalo [0, 1] por polinmios de Bernstein.
A aplicao directa da expresso (2.1.4) produz os seguintes resultados, B1 (x) = 0 B2 (x) = 2x(1 x) 3 3 B3 (x) = x(1 x) 2 em que se aligeirou a notao omitindo a referncia funo f , o que faremos sempre que da no resultar ambiguidade. Embora a denio pudesse induzir, numa leitura apressada, que Bn fosse um polinmio de grau n, de facto Bn pode ter grau < n, como se v. A Figura 2.1.2 permite ainda vericar que os polinmios de Bernstein no so interpoladores, excepto nos ns extremos do intervalo [0, 1]. Alguns clculos simples levam-nos aos seguintes valores f B1 f B2 f B3

= 1 = 1/2 = 0.5 = 1 3 3/8 0.350481

os quais no so entusiasmantes quanto rapidez da convergncia dos polinmios de Bernstein. O Problema 2.10.40, por seu lado, contribui tambm para reforar a ideia de que estes polinmios, embora valiosos para demonstrar construtivamente o teorema de Weierstrass, no podem ser considerados como uma panaceia para o problema de aproximao.

Um dos objectivos do presente captulo mostrar que, em muitas circunstncias (mas no em todas!), a interpolao polinomial produz com naturalidade polinmios aproximadores.

2.2 Formas polinomiais

65

2.1.2

Algoritmo de Horner

Como mencionmos atrs, a determinao do valor do polinmio requer apenas um nmero nito de operaes aritmticas, enquanto funes como ln x, sin x, etc., necessitam de um nmero innito destas operaes. Nem por isso deixa de ter interesse procurar as formas mais ecientes para o clculo de valores de polinmios dada a frequncia com que estes so utilizados nas aplicaes, nomeadamente como aproximaes s funes cujo clculo requer um nmero innito de operaes. A Denio 2.1.1 sugere que este clculo seja efectuado de acordo com o Algoritmo 2.1.1, no m do qual y conter o valor do polinmio no ponto x. Para um polinmio de grau n este algoritmo requer n somas ou subtraces e 2n multiplicaes, ou seja, tem complexidade temporal Ct = 3n. No entanto, e algo surpreendentemente, possvel fazer melhor se utilizarmos o algoritmo de Horner . Para capturar a essncia deste algoritmo basta vericar que um polinmio se pode escrever na seguinte forma alternativa, exemplicando com n = 3: p(x) = a3 x3 + a2 x2 + a1 x + a0 = ((a3 x + a2 )x + a1 )x + a0 O estratagema consistiu simplesmente em evidenciar x sucessivamente. O caso geral no oferece diculdades, vindo p(x) = (((an x + an1 )x + an2 )x + + a1 )x + a0 Tomando devida ateno ordem dos clculos, esta expresso fundamenta o Algoritmo 2.1.2. Como se v, este algoritmo requer n somas ou subtraces e n multiplicaes, i.e., tem complexidade temporal Ct = 2n, uma reduo aprecivel relativamente ao algoritmo anterior. Concomitantemente, de esperar que esta reduo do nmero de operaes produza um erro de arredondamento tambm inferior, o que ser uma vantagem acrescida.

2.2

Formas polinomiais

O facto de um polinmio ser denido pela expresso contida na Denio 2.1.1, designada por forma de potncias simples, no deve ser interpretado no sentido de que ela a nica Algoritmo 2.1.1 Clculo de polinmios y = a0 ; w = 1 for i = 1 to n do w = wx y = y + ai w od p(x) = y

(inicializao) (w xi )

66

Interpolao polinomial

ou sequer a melhor forma de representar um dado polinmio. Naquela denio, um polinmio visto como um elemento de Pn , para qualquer n deg p e, portanto, como uma combinao linear dos monmios {1, x, . . . , xn } que, sendo linearmente independentes (consultar o Apndice A para o conceito de independncia linear aplicado a funes) constituem uma base de Pn . Mudana de base A questo que se pode colocar saber o que acontece representao de p quando se tomam outras bases para Pn . Comecemos com um exemplo simples.

Exemplo 2.2.1 Obter a representao do polinmio p = 1 + 2x + 3x2 P2 quando se emprega a base {x 1, x 2, (x 1)(x 2)}.
Este um problema de mudana de base, pelo que se torna conveniente a notao da lgebra Linear. Assim, podemos escrever que 1 x p= 1 2 3 x2 Mas, como fcil vericar, x1 1 1 0 1 = 2 1 0 x x2 (x 1)(x 2) 2 3 1 x2

Ento,

Invertendo esta relao, obtemos 1 1 1 0 x1 x = 2 1 0 x2 2 x 4 1 1 (x 1)(x 2)

1 1 0 x1 x1 = 17 6 3 p = 1 2 3 2 1 0 x2 x2 4 1 1 (x 1)(x 2) (x 1)(x 2) que constitui a representao de p na nova base. = 17(x 1) 6(x 2) + 3(x 1)(x 2)

Algoritmo 2.1.2 Mtodo de Horner y = an for i = n 1 to 0 step 1 do y = ai + yx od p(x) = y

(inicializao)

2.2 Formas polinomiais

67

O procedimento esboado no Exemplo 2.2.1 pode ser generalizado. Assim, suponha mos que temos duas bases b(x) e b(x) de Pn . Um polinmio p Pn pode ser representado por a p(x) = bT a = bT (2.2.1) onde organizamos os coecientes e as bases em vectores coluna a0 a1 a = . , . .

an

b0 (x) b1 (x) . , b= . .

bn (x)

a0 a1 = . , a . .

an

Como as bases esto relacionadas por uma matriz T invertvel (a matriz de mudana de bases), bT = bT T, bT = bT T1 (2.2.2) entre os coecientes tambm se vericam as relaes a = T, a = T1 a a (2.2.3)

0 (x) b 1 (x) b b= . . . n (x) b


Estas expresses permitem passar de uma representao de um polinmio numa base a outra representao noutra base.

2.2.1

Forma de Newton

O exemplo seguinte ilustra a armao anterior de que a forma de potncias simples pode no ser a mais indicada. Exemplo 2.2.2 Construir, utilizando F P (10, 4, 2, A), o polinmio de grau 1 (uma recta!) que interpole os valores x0 = 5000, y0 = 0.1234 x1 = 5001, y1 = 0.8766
O polinmio pretendido obtm-se sem diculdade do seguinte modo: p(x) = y0 + y1 y0 (x x0 ) x1 x0 0.8766 0.1234 = 0.1234 + (x 5000) 5001 5000 = 0.1234 (x 5000) = 5000 x

(a) (b)

(em F P (10, 4, 2, A))

Esta frmula produz em F P (10, 4, 2, A) os valores p(5000) = 0.0000, p(5001) = 1.000

68

Interpolao polinomial

Um momento de ateno revela que a responsabilidade por este desastre computacional imputvel passagem de (a) para (b). Por outras palavras, se os clculos fossem efectuados directamente com a expresso (a) teramos p(5000) = 0.1234 e p(5001) = 0.8766, ou seja, os valores exactos. Neste caso, agura-se portanto mais aconselhvel manter o polinmio interpolador expresso pela frmula p(x) = a0 + a1 (x c) com a0 = 0.1234, a1 = 1 e c = 5000.

A generalizao deste resultado a polinmios de grau n conduz a expresses do tipo p(x) = a0 + a1 (x c) + + an (x c)n (2.2.4)

Ao parmetro c costuma dar-se o nome de centro do polinmio, e a esta representao, a designao de forma de potncias centradas. Quando c = 0, a forma de potncias simples recuperada. interessante notar que (2.2.4) no mais do que o desenvolvimento em srie de Taylor do polinmio p em torno do centro c, srie que possui, neste caso, um nmero nito de termos. Os respectivos coecientes ai podem obter-se por ai = p(i) (c)/i!, i = 0, 1, . . . , n (2.2.5)

Uma outra generalizao da expresso (2.2.4), muito importante no seguimento deste captulo, a forma de Newton, denida por p(x) = a0 + a1 (x c1 ) + + an (x c1 ) (x cn ) (2.2.6)

Os parmetros ci continuaro a ser designados por centros, e se os tomarmos todos iguais voltamos a obter a expresso (2.2.4). Em alternativa, podemos escrever a forma de Newton do seguinte modo: a0 a1 com a = . , . .

p(x) = b a,

b=

1 (x c1 ) . . .

an

(x c1 ) (x cn )

Esta expresso torna evidente que a forma de Newton emprega como base de Pn os polinmios {1, (x c1 ), . . . , (x c1 ) (x cn )}. O algoritmo de Horner , mediante uma ligeira alterao, aplicvel aos polinmios sob a forma de Newton (ver o Algoritmo 2.2.1). Este algoritmo permite ainda passar de uma forma de Newton com centros ci para outra, com centros ci mediante a modicao

2.2 Formas polinomiais

69

realizada no Algoritmo 2.2.2. Deste Algoritmo extramos que ai ai+1 (c ci+1 ) = ai . Em notao matricial temos que

Observemos que, neste caso,

1 (c c1 ) a a0 0 a a1 1 (c c2 ) 1 . . .. .. . = . . . . . 1 (c cn ) an1 an1 1 an an 1 (c c1 ) 1 (c c2 ) .. .. T= . . 1 (c cn ) 1

Esta matriz invertvel, pelo que os ai so necessariamente coecientes do polinmio rel ativos a uma outra base b (em correspondncia com os coecientes ai = ai , i = 0, . . . , n). Esta nova base pode ser obtida simplesmente pelas relaes (2.2.2). Efectuando os clculos, chegamos sem diculdade s expresses
0 (x) b 1 b1 (x) (x c) . . = . b= . . . (x c)(x c ) (x c bn1 (x) 1 n2 ) n (x) (x c)(x c1 ) (x cn1 ) b

Portanto, o polinmio tem a seguinte representao na nova base p(x) = a0 + a1 (x c) + a2 (x c)(x c1 ) + + an (x c)(x c1 ) (x cn1 ) A aplicao do Algoritmo 2.2.2 permitiu introduzir o centro c e retirar o centro cn . A sua aplicao repetida, fazendo sucessivamente c = cn , cn1 , . . . , c1 (ateno ordem de Algoritmo 2.2.1 Mtodo de Horner com centros y = an for i = n 1 to 0 step 1 do y = ai + y(x ci+1 ) od p(x) = y

(inicializao)

70

Interpolao polinomial

introduo dos centros), permite passar do polinmio na forma de Newton com centros c1 , c2 , . . . , cn para a forma de Newton com centros c1 , c2 , . . . , cn , por introduo de um novo centro de cada vez que o algoritmo aplicado. Exemplo 2.2.3 Passar o polinmio p(x) = x3 x2 + 2 forma de Newton com centros 1, 1 e 0.
O centro 0 j existe, pelo que no preciso introduzi-lo. Para introduzir os restantes dois centros, vamos aplicar o Algoritmo 2.2.2 duas vezes comeando com o centro c = 1. Temos, por conseguinte, que a = 1 3 a = 1 + 1(1 0) = 2 2 a = 0 2(1 0) = 2 1 a = 2 + 2(1 0) = 0 0 e, portanto, o polinmio pode escrever-se na forma p(x) = 0 + 2(x + 1) 2(x + 1)x + (x + 1)x2 = 2(x + 1) 2(x + 1)x + (x + 1)x2 Voltando a aplicar o algoritmo, agora forma acabada de obter com c = 1, vem que a = 1 3 a = 2 + 1(1 0) = 1 2 a = 2 1(1 0) = 1 1 O polinmio dado assume, pois, a forma p(x) = 2 + 1(x 1) 1(x 1)(x + 1) + 1(x 1)(x + 1)(x 0) = 2 + (x 1) (x 1)(x + 1) + (x 1)(x + 1)x o que completa a deduo. a = 0 + 1(1 + 1) = 2 0

Algoritmo 2.2.2 Mtodo de Horner (modicado) an = an for i = n 1 to 0 step 1 do ai = ai + ai+1 (c ci+1 ) od p(c) = a0

(inicializao)

2.2 Formas polinomiais

71

2.2.2

Factorizao de polinmios

Esta tcnica de introduzir centros permite obter uma outra forma de representao de polinmios bastante til quer do ponto de vista terico quer do ponto de vista das aplicaes. O clebre Teorema Fundamental da lgebra vai servir de ponto de partida para obter uma representao de polinmios baseada numa certa factorizao. Teorema 2.2.1 (Teorema Fundamental da lgebra) Um polinmio de grau n 1 tem pelo menos um zero. Demonstrao Ver FINE and ROSENBERGER (1997) ou HENRICI (1974). Notemos que este teorema aplicvel em geral, i.e., o polinmio pode ser complexo e o zero cuja existncia o teorema garante pode tambm ser complexo. Uma vez assegurada a existncia de um zero, torna-se fcil provar que um polinmio de grau n 1 tem n zeros (no necessariamente distintos). Teorema 2.2.2 Se z1 , z2 , . . . , zk forem zeros distintos do polinmio p de grau n 1, ento p(x) = (x z1 )(x z2 ) (x zk )r(x) em que r um polinmio. Demonstrao Partindo do polinmio escrito na forma de potncias simples, utilizemos o algoritmo de Horner para introduzir um centro c qualquer. Ento, p(x) = a0 + a1 (x c) + a2 (x c)x + + an (x c)xn1 ou, uma vez que p(c) = a0 , e em que q um polinmio de grau n 1. Pelo Teorema Fundamental da lgebra, p tem pelo menos um zero que designaremos por z1 . Fazendo c = z1 e tendo em ateno que p(z1 ) = 0, obtemos a igualdade p(x) = (x z1 )q(x) Se k = 1 a demonstrao est terminada. Se k > 1, ento z2 , . . . , zk so necessariamente zeros do polinmio q (porqu?). Repetindo o raciocnio anterior para os zeros c = z2 , . . . , zk do polinmio q conclumos que o teorema verdadeiro. Este teorema tem como corolrio imediato que o nmero de zeros distintos de um polinmio de grau n n e exactamente igual a n se contarmos multiplicidades (ver adiante). Est agora aberta a porta demonstrao da unicidade do polinmio interpolador. p(x) = p(c) + (x c)q(x)

72

Interpolao polinomial

Teorema 2.2.3 Se p e q forem dois polinmios de grau n que assumem os mesmos valores num conjunto de ns distintos x0 , x1 , . . . , xn , ento os dois polinmios so iguais, i.e., p = q. Demonstrao Construamos a diferena d dos polinmios p e q, denida por d(x) = p(x) q(x) a qual obviamente um polinmio de grau n que se anula nos ns x0 , x1 , . . . , xn . Ento, o Teorema 2.2.2 permite que d seja factorizado da seguinte maneira d(x) = (x x0 )(x x1 ) (x xn )r(x) (2.2.7)

em que r um polinmio. Suponhamos que o seu grau m 0. Da expresso (2.2.7) tiramos que o grau de d deve vericar as relaes n deg d = n + 1 + m o que manifestamente falso. Por conseguinte, a representao (2.2.7) no possvel a menos que r = 0, e, portanto, d = 0 e p = q. Quer isto dizer que o polinmio interpolador de grau n que interpola nos ns x0 , x1 , . . . , xn distintos, se existir, nico. Os Teoremas 2.2.2 e 2.2.3 podem generalizar-se ao caso em que os zeros do polinmio p no so distintos, para o que precisamos da denio seguinte. Denio 2.2.1 Diz-se que z um zero de multiplicidade m do polinmio p se p(z) = p (z) = = p(m1) (z) = 0 Se m = 1 o zero diz-se simples; se m = 2, duplo, etc. Com esta denio em mente, podemos proceder generalizao do Teorema 2.2.2. Teorema 2.2.4 Se z1 , z2 , . . . , zk forem respectivamente zeros de multiplicidade m1 , m2 , . . . , mk (com k mi n), ento i=1 p(x) = (x z1 )m1 (x z2 )m2 (x zk )mk r(x) em que r um polinmio. Demonstrao Resume-se a uma adaptao simples da demonstrao do Teorema 2.2.2, pelo que se deixa como exerccio. Identicamente, possvel uma generalizao imediata do Teorema 2.2.3. Teorema 2.2.5 Sejam p e q dois polinmios de grau n e d = p q a sua diferena. Se p e q coincidirem do seguinte modo nos ns x0 , x1 , . . . , xk , d(j) (xi ) = 0, com
k i=0

p(m) (z) = 0

j = 0, 1, . . . , mi 1

e i = 0, 1, . . . , k

mi = n + 1, ento p = q.

2.3 Interpolao de Lagrange

73

Demonstrao semelhante do Teorema 2.2.3 pelo que deixada como exerccio. No custa ver que, se os zi forem os zeros (no necessariamente distintos) do polinmio p de grau n, ento p pode escrever-se na forma factorizada Efectuando o desenvolvimento desta expresso, o polinmio p vem escrito na forma de potncias simples
n

p(x) = an (x z1 )(x z2 ) (x zn )

(2.2.8)

p(x) = an xn + em que
n

k=1

(1)k sk xnk = an xn s1 xn1 + + (1)n sn

(2.2.9)

s1 =
1

zi ,

s2 =
1i<jn

zi zj ,

s3 =
1i<j<kn

zi zj zk ,

sn = z1 z2 zn (2.2.10)

Dada a sua estrutura, estes coecientes sk so conhecidos por funes simtricas elementares de ordem k dos zeros do polinmio p. Os coecientes ak da forma de potncias simples do polinmio p exprimem-se, em termos destas funes, do seguinte modo ank /an = (1)k sk , 1kn (2.2.11)

2.3

Interpolao de Lagrange

Vimos que o polinmio interpolador, quando existe, nico. O objectivo da presente seco demonstrar a sua existncia, o que faremos de forma construtiva e recorrendo a diferentes mtodos.

2.3.1

Mtodo de Vandermonde

O primeiro mtodo, aparentemente o mais natural, baseia-se na formao de um sistema de equaes lineares cuja soluo fornecer os coecientes do polinmio interpolador. De facto, a exigncia de que o polinmio p de grau n interpole os valores nodais yi nos ns distintos xi , i = 0, 1, . . . , n, obriga a que os coecientes deste polinmio na forma de potncias satisfaam o sistema de equaes lineares de ordem n + 1
n

ak xk = yi , i
k=0

i = 0, 1, . . . , n

(2.3.1)

Como sabemos, para que este sistema tenha soluo nica necessrio e suciente que a respectiva matriz, conhecida por matriz de Vandermonde e denida por 1 x0 1 x1 V(x0 , . . . , xn ) = . . . . . . 1 xn

. . . xn 0 . . . xn 1 . .. . . . . . . xn n

(2.3.2)

74

Interpolao polinomial

possua um determinante diferente de zero, ou seja, v(x0 , . . . , xn ) det V(x0 , . . . , xn ) = 0 O prximo teorema vai permitir provar simultaneamente a existncia e a unicidade (esta j demonstrada atrs) do polinmio interpolador. Teorema 2.3.1 O determinante de Vandermonde tem o valor
n

v(x0 , . . . , xn ) =

i,j=0 j>i

(xj xi )

e, por conseguinte, o polinmio interpolador existe e nico sse os ns de interpolao forem distintos. Demonstrao Vamos efectuar a demonstrao por induo em n. O teorema trivialmente verdadeiro para n = 0 e n = 1, pois v(x0 ) = 1 e v(x0 , x1 ) = x1 x0 . Suponhamos que ele verdadeiro para o valor n 1. Ento, multiplicando a primeira coluna da matriz de Vandermonde por x0 e subtraindo o resultado segunda coluna, multiplicando a segunda coluna da matriz de Vandermonde por x0 e subtraindo o resultado terceira, etc., chegamos igualdade 1 0 0 1 x1 x0 x1 (x1 x0 ) v(x0 , . . . , xn ) = det . . . . . . . . . 1 xn x0 xn (xn x0 )

Desenvolvendo este determinante, temos que

... 0 n1 . . . (x1 ) (x1 x0 ) . . .

. . . (xn )n1 (xn x0 ) . . . (x1 )n1 . . . (x2 )n1 . .. . . . . . . (xn )n1

e, portanto,

1 x1 1 x2 v(x0 , . . . , xn ) = (x1 x0 ) (xn x0 ) det . . . . . . 1 xn


n

v(x0 , . . . , xn ) = (x1 x0 ) (xn x0 )v(x1 , . . . , xn ) =

j=1

(xj x0 ) v(x1 , . . . , xn )

Aplicando agora a v(x1 , . . . , xn ) esta mesma expresso e procedendo assim sucessivamente de modo recursivo obtemos o resultado pretendido. Embora do ponto de vista terico nada haja a objectar construo do polinmio por esta via, existem duas desvantagens que a tornam pouco recomendvel computacionalmente. A primeira a de que ela implica resolver um sistema de equaes lineares de

2.3 Interpolao de Lagrange

75

ordem n+1 o que, como veremos no Captulo 6, requer O(n3 ) ops (recordar o que se disse na Seco 1.7.1), bastante superior ao do mtodo que estudaremos a seguir. A segunda desvantagem fatal e decorre do facto de que o sistema de equaes (2.3.1) se torna tanto mais mal condicionado (esta noo ser desenvolvida no Captulo 6) quanto maior for o grau n do polinmio, vericando-se na prtica que este mtodo no permite ir alm de valores de n da ordem da dezena quando se trabalha em aritmtica com 6 ou 7 decimais de preciso, j que os coecientes ai podero nestas circunstncias no ter qualquer dgito signicativo. Pelo que acabamos de dizer resulta imperativo procurar outras formas de construir o polinmio interpolador. Em contrapartida, a tcnica acima desenvolvida torna mais fcil a generalizao da interpolao a outras famlias de funes que no polinmios e interpolao no plano e no espao (interpolao multidimensional).

2.3.2

Frmula de Lagrange

Uma via directa para construir o polinmio interpolador e que no sofre dos inconvenientes referidos baseia-se nos polinmios de Lagrange que passamos a construir. Introduzamos o polinmio nodal
k

Wk (x) =

i=0

(x xi ) = (x x0 )(x x1 ) (x xk )

(2.3.3)

cujo grau k + 1 e que, como evidente, se anula nos ns x0 , . . . , xk (da a designao). Por outro lado, o polinmio lk dado por lk (x) = =
i=0 i=k

Wn (x) x xk
n

(x xi ) = (x x0 ) (x xk1 )(x xk+1 ) (x xn )

(2.3.4)

anula-se em todos os ns excepto no n xk . Em alternativa, o seu valor neste n pode determinar-se pela regra de Cauchy, lk (xk ) = lim Ento, o polinmio Lk (x) = lk (x) Wn (x) = lk (xk ) Wn (xk )(x xk ) (2.3.5)
xxk

Wn (x) = Wn (xk ) x xk

anula-se em todos os ns excepto no n xk , no qual assume o valor 1. Como iremos ver no desenvolvimento, estes polinmios desempenham um papel de destaque na interpolao polinomial.

76

Interpolao polinomial

Denio 2.3.1 Os polinmios Lk (x) = x xi x xi i=0 k


n

(2.3.6)

i=k

designam-se por polinmios de Lagrange relativos aos ns x0 , x1 , . . . , xn . Vamos ver que, recorrendo aos polinmios de Lagrange, a construo do polinmio interpolador uma tarefa trivial. Teorema 2.3.2 (Frmula de Lagrange) O polinmio p de grau n que interpola os valores y0 , y1 , . . . , yn nos ns distintos x0 , x1 , . . . , xn dado por L0 (x) L1 (x) . . .

p(x) =
k=0

Lk (x)yk = y0 y1 yn

Ln (x)

Demonstrao Atendendo forma como foram construdos, resulta imediatamente que os polinmios Lk satisfazem a relao Lk (xj ) = kj em que kj o delta de Kronecker. Nestas condies
n n

(2.3.7)

p(xj ) =
k=0

Lk (xj )yk =
k=0

kj yk = yj ,

j = 0, 1, . . . , n

Este polinmio p, cujo grau evidente ser n, interpola os valores dados e , pelo Teorema 2.2.3, o nico polinmio interpolador nestes pontos. Exemplo 2.3.1 Construir o polinmio interpolador de grau 3 que interpola os valores seguintes: x 0 1 3 4 y 1 1 1 2

2.3 Interpolao de Lagrange


1

77

L0
0.8

L1

L2

L3

0.6

Figura 2.3.1: Polinmios de Lagrange do Exemplo 2.3.1

0.4

0.2

00

Os polinmios de Lagrange associados a estes ns obtm-se directamente da Denio 2.3.1, (x x1 )(x x2 )(x x3 ) (x0 x1 )(x0 x2 )(x0 x3 ) 1 = (x 1)(x 3)(x 4) 12 (x x0 )(x x2 )(x x3 ) L1 (x) = (x1 x0 )(x1 x2 )(x1 x3 ) 1 = x(x 3)(x 4) 6 (x x0 )(x x1 )(x x3 ) L2 (x) = (x2 x0 )(x2 x1 )(x2 x3 ) 1 = x(x 1)(x 4) 6 (x x0 )(x x1 )(x x2 ) L3 (x) = (x3 x0 )(x3 x1 )(x3 x2 ) 1 = x(x 1)(x 3) 12 L0 (x) = = (x 1)(x 3)(x 4) (0 1)(0 3)(0 4) (x 0)(x 3)(x 4) (1 0)(1 3)(1 4) (x 0)(x 1)(x 4) (3 0)(3 1)(3 4) (x 0)(x 1)(x 3) (4 0)(4 1)(4 3)

que constitui a representao de Lagrange do polinmio interpolador.

Estes polinmios esto representados na Figura 2.3.1. Portanto, pelo Teorema 2.3.2, 1 12 (x 1)(x 3)(x 4) 1 6 x(x 3)(x 4) p(x) = 1 1 1 2 1 x(x 1)(x 4) 6 1 12 x(x 1)(x 3)

Apesar da sua simplicidade, a frmula de Lagrange pode no ser a representao mais conveniente do polinmio interpolador. Uma das razes a de que possvel obter este polinmio com menos operaes aritmticas que as requeridas por esta frmula. A outra razo advm do facto de que os polinmios de Lagrange esto associados a um conjunto de

78

Interpolao polinomial

ns, e uma mudana da posio ou do seu nmero altera completamente estes polinmios. Ora, sucede frequentemente nas aplicaes que o nmero e a localizao dos ns no so xados a priori sendo estabelecidos por tentativas, comeando-se por utilizar poucos ns e aumentando-se progressivamente o seu nmero at se atingir a preciso desejada. O polinmio interpolador construdo por meio da frmula de Lagrange numa tentativa no aproveitado nas tentativas seguintes. Frmulas baricntricas Uma variante para a frmula de Lagrange do polinmio interpolador pode ser obtida do seguinte modo. Introduzindo os pesos baricntricos k = 1
Wn (xk )

1
n i=0 i=k

(2.3.8)

(x xi )

vem que Lk (x) = Wn (x)

Ento, a frmula de Lagrange para o polinmio interpolador pode escrever-se desta forma pn (x) = Wn (x) k yk k=0 x xk
n

k x xk

(2.3.9)

(2.3.10)

donde

a qual por vezes conhecida por primeira frmula baricntrica da interpolao polinomial. Esta expresso pode ainda ser simplicada se tivermos em ateno que a interpolao polinomial da funo y = f (x) = 1 sempre exacta. Aplicando (2.3.10) a esta situao, vem que n k 1 = Wn (x) 1 k=0 x xk Wn (x) = 1 k k=0 x xk
n n

Portanto,

a qual conhecida como segunda frmula baricntrica.

k yk k=0 x xk pn (x) = n k x xk k=0

(2.3.11)

2.3 Interpolao de Lagrange

79

Verica-se que esta frmula oferece maior robustez face aos erros de arredondamento do que a frmula de Lagrange e da o seu interesse para valores de n elevados. A razo da designao de frmula baricntrica tem a ver com o facto da expresso (2.3.11) ser formalmente anloga frmula que determina o centro de gravidade (barik centro) dum conjunto de massas xxk posicionadas nas abcissas yk .

2.3.3

Frmula de Newton

Vejamos como possvel tirar partido da forma de Newton (2.2.6) para evitar os inconvenientes apontados frmula de Lagrange. Para o efeito, tomemos os ns x0 , x1 , . . . , xn1 como centros do polinmio, pelo que este se pode escrever na forma pn (x) = a0 + a1 W0 (x) + + an1 Wn2 (x) + an Wn1 (x) em que, recordando (2.3.3),
k

(2.3.12)

Wk (x) =

i=0

(x xk )

so polinmios nodais. Os coecientes a0 , a1 , . . . , an vo ser determinados de modo a que pn dado por esta expresso seja o polinmio interpolador nos ns x0 , x1 , . . . , xn dos valores nodais y0 , y1, . . . , yn . Isto signica que devemos ter pn (x0 ) = y0 , pn (x1 ) = y1 , ..., pn (xn ) = yn

Assim, os coecientes do polinmio devem satisfazer o sistema de equaes lineares

Atendendo denio dos polinmios nodais Wk , este sistema assume a forma

1 0 0 1 W0 (x1 ) 0 1 W (x ) W (x ) 0 2 1 2 . . . . . . . . . 1 W0 (xn ) W1 (xn )

.. .

0 0 0 . . .

Wn1 (xn )

a0 y0 a1 y1 a 2 = y2 . . . . . . an yn 0 0 0 . . .

yn (2.3.13) Trata-se de um sistema de equaes lineares cuja matriz triangular inferior. Se os ns forem distintos, os coeciente da diagonal principal so todos diferentes de zero pelo que

1 0 0 1 (x1 x0 ) 0 1 (x x ) (x x )(x x ) 2 0 2 0 2 1 . . . . . . . . . 1 (xn x0 ) (xn x0 )(xn x1 )

.. .

(xn x0 ) (xn xn1 )

a0 y0 a1 y1 a 2 = y2 . . . . . . an

80

Interpolao polinomial

esta matriz invertvel. Logo o sistema possui soluo e esta nica (o que constitui uma outra demonstrao da existncia e unicidade do polinmio interpolador). O sistema (triangular inferior) (2.3.13) pode ser resolvido por substituies descendentes. Daqui decorre que o coeciente ak depende apenas dos valores x0 , . . . , xk e y0 , . . . , yk . Tal implica que, se pretendermos construir o polinmio pn+1 que interpola nos ns x0 , . . . , xn , xn+1 os valores nodais y0 , . . . , yn , yn+1, basta acrescentar ao polinmio pn , suposto calculado, um termo da forma an+1 Wn (x), ou seja, pn+1 (x) = pn (x) + an+1 Wn (x) (2.3.14)

a que corresponde adicionar mais uma equao ao sistema (2.3.13). Esta constatao sugere que o polinmio interpolador se pode construir indutivamente comeando com o n x0 , acrescentando depois o n x1 , e assim sucessivamente, aproveitando-se os coecientes ak obtidos numa etapa para a etapa seguinte. Vamos mostrar como estes coecientes se podem calcular de uma maneira muito prtica.

2.3.4

Diferenas divididas

Como ak o coeciente do termo de maior ordem do polinmio pk , o qual por construo interpola os valores y0 , y1, . . . , yk nos ns x0 , x1 , . . . , xk , depende, como vimos, exclusivamente destes parmetros, o que se costuma indicar pela notao ak y[x0 , x1 , . . . , xk ] Nestas condies, o polinmio interpolador na forma de Newton assume a seguinte expresso
n

pn (x) =
i=0

y[x0 , x1 , . . . , xk ]Wk1 (x)

(2.3.15)

Por razes que vo ser esclarecidas a seguir, o coeciente y[x0 , x1 , . . . , xk ] do polinmio interpolador na forma de Newton designado por diferena dividida de ordem k. Uma constatao imediata a seguinte: dado que o polinmio interpolador dos valores y0 , y1 , . . . , yk em ns distintos x0 , x1 , . . . , xk nico, a diferena dividida y[x0 , x1 , . . . , xk ] invariante relativamente a permutaes dos ns. Para exemplicar uma forma alternativa de resolver o sistema (2.3.13), tomemos o caso n = 3 e a matriz aumentada 1 0 0 0 1 (x x ) 0 0 1 0 1 (x2 x0 ) (x2 x0 )(x2 x1 ) 0 1 (x3 x0 ) (x3 x0 )(x3 x1 ) (x3 x0 )(x3 x1 )(x3 x2 )

Uma primeira concluso que

y0 y1 y2 y3

y[x0 ] = y0

2.3 Interpolao de Lagrange

81

Agora prosseguimos do seguinte modo: subtramos a linha 3 linha 4, a linha 2 linha 3 e a linha 1 linha 2: 1 0 0 0 0 (x x ) 0 0 1 0 0 (x2 x1 ) (x2 x0 )(x2 x1 ) 0 0 (x3 x2 ) (x3 x2 )(x2 x0 + x3 x1 ) (x3 x0 )(x3 x1 )(x3 x2 )

Em seguida, dividimos a linha 2 por (x1 x0 ), a linha 3 por (x2 x1 ) e a linha 4 por (x3 x2 ):

y[x0 ] y1 y0 y2 y1 y3 y2

1 0 1 1

0 0 (x2 x0 )

0 0 0

y1 y0 y[x1 ] y[x0 ] = x1 x0 x1 x0 Em seguida subtramos a linha 3 linha 4 e a linha 2 linha 3, vindo: y[x0 , x1 ] = 1 0 0 0

Daqui extramos que

0 0

0 1 (x2 x0 + x3 x1 ) (x3 x0 )(x3 x1 )

y[x0 ] y1 y0 x1 x0 y2 y1 x2 x1 y3 y2 x3 x2

0 0 0 1 0 0 0 (x2 x0 ) 0 0 (x3 x1 ) (x3 x0 )(x3 x1 )

Dividindo a linha 3 por (x2 x0 ) e a linha 4 por (x3 x1 ) obtemos 1 0 0 0 1 0


0

y[x0 ] y[x0 , x1 ] y[x1 , x2 ] y[x0 , x1 ] y[x2 , x3 ] y[x1 , x2 ]


0 0 0

0 1

0 0 1 (x3 x0 ) y[x0 , x1 , x2 ] =

Ento,

y[x0 ] y[x0 , x1 ] y[x1 , x2 ] y[x0 , x1 ] x2 x0 y[x2 , x3 ] y[x1 , x2 ] x3 x1 y[x1 , x2 ] y[x0 , x1 ] x2 x0 y[x0 ] y[x0 , x1 ] y[x0 , x1 , x2 ] y[x1 , x2 , x3 ] y[x0 , x1 , x2 ]

Subtraindo a linha 3 linha 4, vem que 1 0 0 0

0 1 0 0

0 0 0 0 1 0 0 (x3 x0 )

82

Interpolao polinomial

Dividindo a linha 4 por (x3 x0 ) resulta que


1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

donde

y[x0 ] y[x0 , x1 ] y[x0 , x1 , x2 ] y[x1 , x2 , x3 ] y[x0 , x1 , x2 ] (x3 x0 ) y[x1 , x2 , x3 ] y[x0 , x1 , x2 ] x3 x0 y[x0 ] y[x0 , x1 ] y[x0 , x1 , x2 ] y[x0 , x1 , x2 , x3 ]

y[x0 , x1 , x2 , x3 ] = Finalmente, chegamos a 1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

que nos d a soluo completa do sistema (2.3.13). O prximo teorema generaliza este resultado para um valor de n qualquer. Teorema 2.3.3 Os coecientes ak do polinmio p de grau n que interpola os valores y0 , y1 , . . . , yn nos ns distintos x0 , x1 , . . . , xn so dados indutivamente pela expresso y[x1 , . . . , xk ] y[x0 , . . . , xk1 ] (2.3.16) y[x0 , x1 , . . . , xk ] = xk x0 Demonstrao Vamos fazer duas demonstraes deste teorema. (i) O teorema trivialmente verdadeiro para n = 0 j que p0 (x) = y[x0 ] = y0 , o que prova que p0 interpola no n x0 o valor nodal y0 . Suponhamos que verdadeiro para um valor de n qualquer. Vamos ver que tambm vlido para o valor n + 1. Seja pn (x) = n y[x0 , x1 , . . . , xk ]Wk1 (x) o polinmio que interpola nos ns {x0 , . . . , xn } os i=0 valores nodais {y0 , . . . , yn } e pn+1 o polinmio
n+1 i=0

pn+1 (x) =

y[x0 , x1 , . . . , xk ]Wk1 (x)

Aplicando o mtodo de Horner modicado dado pelo Algoritmo 2.2.2 com c = xn+1 e ci+1 = xi , i = 0, . . . , n, obtemos an+1 = an+1 = y[x0 , . . . , xn+1 ] = y[xn+1 , x0 , . . . , xn ] an = an + an+1 (xn+1 xn ) = y[x0 , . . . , xn ] + y[xn+1, x0 , . . . , xn ](xn+1 xn ) y[x0 , . . . , xn ] y[xn+1 , x0 , . . . , xn1 ] = y[x0 , . . . , xn ] + (xn+1 xn ) xn xn+1 = y[xn+1 , x0 , . . . , xn1 ]

2.3 Interpolao de Lagrange

83

onde se recorreu a (2.3.16). Continuando com o mtodo de Horner modicado, deduzimos que an+1 = y[x0 , . . . , xn+1 ] an = y[xn+1 , x0 , . . . , xn1 ] an1 = y[xn+1 , x0 , . . . , xn2 ] a1 = y[xn+1 , x0 ] a0 = y[xn+1 ] = yn+1 Como a0 = pn+1 (xn+1 ) = yn+1 ca provado que pn+1 interpola no n xn+1 o valor yn+1 . (ii) Designemos por pm,k o polinmio de grau k que interpola os valores ym , ym+1 , . . . , ym+k nos ns distintos xm , xm+1 , . . . , xm+k . Ento, o polinmio p(x) = x x0 xk x p1,k1(x) + p0,k1 (x) xk x0 xk x0 (2.3.17)

um polinmio de grau k que interpola os valores nodais y0 , y1, . . . , yk nos ns distintos x0 , x1 , . . . , xk , como facilmente se pode vericar. Dado que este polinmio nico, p coincide necessariamente com pk . Igualando os coecientes dos termos de maior grau nos dois membros da expresso anterior, conclumos que y[x0 , x1 , . . . , xk ] = y[x1 , . . . , xk ] y[x0 , . . . , xk1 ] xk x0 xk x0

o que prova a validade de (2.3.16). A expresso (2.3.17) susceptvel de ser reescrita com maior generalidade mediante uma nova rotulao dos ns. De facto, como no difcil vericar, pm,k+1 (x) = (x xm )pm+1,k (x) + (xm+k+1 x)pm,k (x) xm+k+1 xm (x xm )(pm+1,k (x) pm,k (x)) = pm,k (x) + xm+k+1 xm

(2.3.18)

o polinmio de grau k + 1 que interpola nos ns distintos xm , xm+1 , . . ., xm+k+1 os valores ym , ym+1 , . . ., ym+k+1 . Esta a forma de Aitken-Neville de construo do polinmio interpolador a qual se distingue pelo facto de, para produzir o valor do polinmio num dado ponto x, no requerer o clculo explcito dos respectivos coecientes. O aspecto da expresso (2.3.16) torna conveniente dispor o clculo das diferenas divididas sob a forma de uma tabela de diferenas divididas conforme se mostra a seguir

84

Interpolao polinomial

para o caso de 4 ns: x y[ ] x0 y0 x1 x2 x3 y1 y[x1 , x2 ] y2 y[x2 , x3 ] y3 Esta tabela limita-se a reorganizar os clculos efectuados acima para obteno dos coecientes do polinmio interpolador na forma de Newton tirando partido do carcter recursivo da expresso (2.3.16). Exemplo 2.3.2 Determinar o polinmio interpolador do Exemplo 2.3.1 na forma de Newton.
A tabela de diferenas divididas para este caso a seguinte: x y[ ] y[ , ] y[ , , ] y[ , , , ] 0 1 2 1 1 1 1 1/4 3 1 0 1 2 4 Ento, o polinmio interpolador dado por 1 p(x) = 1 2(x 0) + 1(x 0)(x 1) (x 0)(x 1)(x 3) 4 1 = 1 2x + x(x 1) x(x 1)(x 3) 4 Uma vez que a ordem pela qual os ns so tomados arbitrria, poderamos obter tantas expresses quantas as permutaes dos ns, todas elas correspondendo obviamente ao mesmo polinmio. Se pretendssemos acrescentar mais algum n aos anteriores 4 ns, bastaria coloc-lo no fundo da tabela das diferenas divididas e calcular mais uma linha de valores. As diferenas divididas anteriormente obtidas no seriam afectadas por este novo clculo.

y[ , ] y[x0 , x1 ]

y[ , , ] y[x0 , x1 , x2 ]

y[ , , , ]

y[x0 , x1 , x2 , x3 ] y[x1 , x2 , x3 ]

Os valores nodais yi no tiveram at aqui qualquer conexo entre si. No entanto, se eles forem os valores nodais de uma funo f , possvel estabelecer uma ligao importante entre as diferenas divididas de ordem k e a derivada da mesma ordem de f .

2.3 Interpolao de Lagrange

85

Teorema 2.3.4 Sejam f C k () e x0 , x1 , . . . , xk ns distintos pertencentes ao intervalo Ento, existe um ponto tal que . f [x0 , x1 , . . . , xk ] = 1 (k) f () k!

Demonstrao O teorema verdadeiro para k = 1, pois neste caso reduz-se ao bem conhecido teorema do valor mdio. Para o caso geral, a funo ek (x) = f (x) pk (x) em que pk o polinmio de grau k que interpola a funo f nos ns distintos x0 , x1 , . . . , xk tem pelo menos k + 1 zeros no intervalo . Logo, a funo ek tem pelo menos k zeros neste intervalo, ek tem pelo menos k 1 zeros, e assim sucessivamente, de modo que a (k) funo ek tem pelo menos um zero, digamos, em . Ento, devemos ter que ek () = f (k) () pk () = 0 donde se tira que Mas, como facilmente se verica, pk (x) = k! ak = k! f [x0 , x1 , . . . , xk ] e, portanto, o teorema verdadeiro. O intervalo = [a, b] neste teorema pode ser simplesmente tomado de acordo com a = min xi
0ik (k) (k) (k)

f (k) () = pk ()

(k)

b = max xi
0ik

pelo que em que a notao inter (x0 , x1 , . . . , xk ) indica o menor intervalo que contm os ns x0 , x1 , . . . , xk . inter (x0 , x1 , . . . , xk )

2.3.5

Interpolao inversa

Sejam, como temos vindo a considerar, x0 , x1 , . . . , xn ns pertencentes ao intervalo , e y0 , y1 , . . . , yn valores nodais de uma funo f C(). Se esta funo possuir inversa, como o caso quando for estritamente montona, podemos escrever que x = g(y) em que se denotou a funo inversa por g. Nestas condies nada impede que os ns x0 , x1 , . . . , xn e os valores nodais y0 , y1 , . . . , yn troquem de papel. Por outras palavras,

86

Interpolao polinomial

Figura 2.3.2: lao inversa

Interpo-

lcito construir o polinmio interpolador que interpole os valores nodais x0 , x1 , . . . , xn nos ns y0 , y1 , . . . , yn , ou seja, construir o respectivo polinmio interpolador da funo g. Diz-se neste caso que se trata de uma interpolao inversa. Uma situao em que este ponto de vista frutuoso a seguinte. Suponhamos que pretendamos determinar o valor de x tal que f (x) = c em que c um valor dado, mas que no dispnhamos da expresso analtica da funo inversa g de f , possivelmente por f ser muito complicada. Uma sada possvel para esta diculdade ser a de tentar obter uma aproximao para g por via da interpolao polinomial. Assim, escolhendo um conjunto de ns adequado podemos determinar um polinmio interpolador p tal que p(yi ) = g(yi), i = 0, 1, . . . , n

de modo a que se verique com a preciso desejada p(y) g(y) Nestas condies, a soluo do problema f (x) = c x = g(c), e podemos obter a aproximao x p(c) A Figura 2.3.2 e o exemplo seguinte ajudam a compreender esta tcnica. Exemplo 2.3.3 Determinar aproximadamente o zero da funo f (x) = ln(1 + x2 ) exp(x) no intervalo [0, 1].
A funo f dada estritamente crescente no intervalo [0, 1]; logo, possui inversa neste intervalo. fcil ver que f muda de sinal, existindo, portanto, um nico zero neste intervalo.

2.4 Erros de interpolao

87

Assim, estamos em posio de aplicar a interpolao inversa. Para tal tomemos, a ttulo de exemplo, os seguintes ns e valores nodais x 0.0 0.4 0.6 1.0 y = f (x) 1.00000 0.52190 0.24133 0.32527 Para obter o polinmio interpolador da funo inversa g vamos formar a tabela de diferenas divididas (notar a posio relativa dos xi e dos yi ): y x 1.00000 0.0 0.52190 0.4 0.24133 0.6 0.32527 1.0

0.83665 0.71283 0.70597 0.16321 0.00810 0.11704

Nestas condies, o polinmio interpolador (de grau 3) de g p(y) = 0 + 0.83665(y + 1) 0.16321(y + 1)(y + 0.52190) +0.11704(y + 1)(y + 0.52190)(y + 0.24133) Portanto, um simples clculo fornece o valor x = g(0) p(0) = 0.76621 Podemos vericar que f (0.76621) = 0.00287 Se a preciso deste resultado ou no suciente uma questo que deixaremos em aberto, j que o objectivo do exemplo apenas o de ilustrar uma aplicao da interpolao inversa (o tema ser retomado com maior desenvolvimento no Captulo 5).

2.4

Erros de interpolao

Uma questo que necessrio resolver a de saber qual o erro cometido quando se interpola uma funo f por um polinmio pn de grau n utilizando os ns distintos x0 , x1 , . . . , xn . Por outras palavras, quanto que um polinmio interpolador se pode afastar da funo interpolada? Existir convergncia quando o nmero de ns tende para innito? Depender esta convergncia da forma como os ns se distribuem no intervalo de interpolao?

88

Interpolao polinomial

2.4.1

Anlise de erros

O teorema seguinte comea por responder a algumas das questes acabadas de colocar. Teorema 2.4.1 Seja f C n+1 () e pn o polinmio de grau n que interpola f nos ns distintos x0 , x1 , . . . , xn contidos no intervalo . Ento, para qualquer ponto x , existe um valor , dependente de x0 , x1 , . . . , xn , de x e de f , tal que en (x) f (x) pn (x) = 1 f (n+1) ()Wn (x) (n + 1)! (2.4.1)

Demonstrao Seja x um ponto qualquer pertencente ao intervalo e distinto de x0 , x1 , . . . , xn , e pn+1 , o polinmio que interpola a funo f nos pontos x0 , x1 , . . . , xn , x. Neste caso, recordando as expresses (2.3.14) e (2.3.15), podemos escrever que pn+1 (x) = pn (x) + f [x0 , x1 , . . . , xn , x]Wn (x) donde resulta que f () = pn+1 () = pn () + f [x0 , x1 , . . . , xn , x]Wn () x x x x Introduzindo esta expresso na denio de erro vem que en () = f () pn () = f [x0 , x1 , . . . , xn , x]Wn () x x x x (2.4.2)

Recorrendo agora ao Teorema 2.3.4 e substituindo a varivel x por x chega-se de imediato ao resultado pretendido. A expresso (2.4.1) envolve a varivel cujo valor , em geral, desconhecido, pelo que frequentemente temos de nos contentar com um majorante do erro. Assim, empregando a norma do mximo, fcil deduzir que en

1 f (n+1) (n + 1)!

Wn

(2.4.3)

Contudo, devemos estar conscientes de que apenas substitumos a diculdade relativamente ao desconhecimento de por outra diculdade que a da determinao da norma da derivada de ordem n + 1 da funo f e da norma do polinmio Wn . Uma estimativa do erro que por vezes til a seguinte en

1 f (n+1) 4(n + 1)

n+1 h

(2.4.4)

em que h o espaamento mximo entre ns consecutivos (ver o Problema 2.10.35). Para uma malha uniforme, a expresso anterior especializa-se para en

(b a)n+1 f (n+1) 4(n + 1)nn+1

(2.4.5)

2.4 Erros de interpolao

89

Exemplo 2.4.1 Pretende-se construir uma tabela para a funo f (x) = ln x no intervalo [1, 2] com ns equidistantes, de modo a que o erro cometido quando se interpola linearmente nesta tabela no exceda em valor absoluto (0.5)105 . Determinar o espaamento h dos ns.
O erro de interpolao linear (n = 1) majorado, de acordo com a expresso (2.4.3), por e1

1 f 2

W1

com W1 (x) = (x x0 )(x x1 ). Como se pode vericar, |W1 (x)| tem no intervalo = [1, 2] 2 /4 com h = x x , pelo que um mximo quando x = (x0 + x1 )/2, o qual igual a h 1 0 e1 No caso em estudo, f (x) = 1 x

h2 f 8

f (x) =

1 x2

sendo fcil vericar que, no intervalo em causa, f = 1 e portanto e1 h2 /8. Como se pretende que e1 (0.5)105 , este objectivo pode garantir-se exigindo que h2 /8 (0.5)105 , ou seja, h (0.632)102 .

Aproveitamos a oportunidade para referir que, nos casos mais complicados em que no fcil calcular f (n+1) ou um seu majorante aceitvel, usual recorrer a diferenas nitas (ver o Captulo 3) para estimar o seu valor. Rigidez dos polinmios Como j referimos, a interpolao apenas um processo relativamente simples de aproximar uma dada funo por polinmios. Uma interrogao que naturalmente se pe nesta altura a de saber se o erro tende para zero quando n , ou, por outras palavras, se o polinmio interpolador tende para a funo interpolada quando n . A resposta que nem sempre tal sucede, o que pode parecer estranho primeira vista. Pois no garante o teorema de Weierstrass que uma funo contnua pode ser aproximada por polinmios com a preciso que se quiser? De facto assim , s que este teorema no arma que estes polinmios possam ser obtidos por interpolao. Um exemplo clebre de no convergncia descoberto por Runge (1901) consiste em interpolar a funo 1 f (x) = , x [1, 1] (2.4.6) 1 + 25x2 por um polinmio de grau 2n usando os ns equidistantes xk = k/n, k = n, . . . , 1, 0, 1, . . . , n

90

Interpolao polinomial

Observa-se que, medida que n aumenta, o polinmio p2n desenvolve oscilaes cada vez mais acentuadas, pelo que e2n no tende para zero e, portanto, p2n no converge para a funo f que est a ser interpolada. Este comportamento por vezes referido como denunciando a rigidez dos polinmios para acompanhar a funo interpolada. Uma forma de explicar as oscilaes que se vericam ao interpolar com polinmios de grau elevado a seguinte: se o polinmio interpolador for pn = an xn + an1xn1 + + a0 , ento os coecientes das suas derivadas so nan , (n 1)an1 , . . ., em geral maiores (em valor absoluto) que os coecientes de pn , tornando assim possveis variaes e oscilaes importantes. O que acabamos de ver desfaz qualquer ideia que porventura pudssemos ter de que a interpolao polinomial produziria automaticamente polinmios que aproximassem to bem quanto fosse preciso qualquer funo contnua. Para que tal acontea necessrio que a funo f possua certas propriedades de regularidade traduzidas no comportamento de f (n+1) e que a localizao dos ns seja tal que Wn tenha tambm um comportamento adequado. Em palavras singelas, f (n+1) e Wn devem variar com n de tal modo que o segundo membro da expresso (2.4.3) tenda para zero quando n tende para innito. Um outro aspecto a ter em ateno nas aplicaes o de ser desejvel, por vezes, que a interpolante p reproduza certas propriedades globais da interpolada f , como sejam: a positividade se f for positiva, ento p tambm deve ser, a monotonicidade se f for montona, ento p tambm deve ser e a convexidade se f for convexa, ento p tambm deve ser. Fica claro do que se disse acima que nenhuma destas propriedade garantida a priori pela interpolao polinomial.

2.4.2

Ns de Chebyshev

A expresso (2.4.3) do majorante do erro mostra que este inuenciado por dois termos: um, f (n+1) , que depende da funo f mas no dos ns de interpolao, e o outro, Wn , que depende da localizao dos ns mas no da funo interpolada f . A representao de Wn na Figura 2.4.1 mostra que esta funo possui os seus maiores valores (absolutos) na proximidade dos extremos do intervalo de interpolao. Esta vericao leva-nos a concluir que os polinmios interpoladores devem ser usados, sempre que possvel, na zona central do respectivo intervalo de interpolao, evitando, portanto, o seu emprego junto aos extremos deste intervalo. Pela mesma razo, a utilizao de um polinmio interpolador fora do seu intervalo de interpolao, i.e., a utilizao como polinmio extrapolador deve ser rodeada da mxima cautela. Uma questo interessante a de saber qual a posio dos ns que tornam Wn mnimo. Como vamos ver em seguida, este objectivo conseguido quando os ns coincidem com os chamados pontos de Chebyshev. Embora j tenhamos encontrado estes polinmios no Exemplo 2.1.1, precisamos de deduzir mais algumas das suas propriedades. Para tal, e tendo como nalidade a simplicao do tratamento, vamos supor que o

2.4 Erros de interpolao

91

W4

0.1

W6

0.05

Figura 2.4.1: Os polinmios nodais W4 , W5 e W6 numa malha uniforme no intervalo [1, 1]

-1

-0.5

00

0.5

-0.05
W5

-0.1

intervalo de interpolao [1, 1]. Se tal no acontecer, podemos usar a transformao de coordenadas 1 1+ x=a +b , [1, 1] (2.4.7) 2 2 para transformar o intervalo [1, 1] no intervalo = [a, b] de forma biunvoca. Teorema 2.4.2 O polinmio de Chebyshev Tn tem os zeros localizados nos pontos xk = cos (2k 1) , 2n k = 1, . . . , n (2.4.8)

e os extremos localizados nos pontos xk = cos nos quais Tn (xk ) = (1)k ( Tn

k , n

k = 0, . . . , n

(2.4.9) (2.4.10)

= 1)

Demonstrao Tendo em ateno a denio dos polinmios de Chebyshev (ver o Exemplo 2.1.1), no custa vericar que Tn (xk ) = cos(n arccos xk ) = cos (2k 1) =0 2

Como Tn um polinmio de grau n, os xk so, portanto, os seus nicos zeros. Convm sublinhar que estes zeros so reais e pertencem ao intervalo [1, 1].

92

Interpolao polinomial

Quanto aos extremos, derivando Tn , obtemos


Tn (x) =

n sin(n arccos x) (1 x2 )1/2

Para os valores de xk interiores ao intervalo [1, 1], ou seja, excluindo os casos dos extremos coincidirem com os pontos 1 que requerem um tratamento especco mas trivial, imediato vericar que Tn se anula. Acresce ainda que, nestes pontos, Tn (xk ) = cos(n arccos xk ) = cos(n arccos cos k ) = cos k = (1)k n

Conforme o Problema 2.10.41 mostra, nos extremos do intervalo [1, 1] tambm se verica que |Tn (1)| = 1 e, portanto, estes pontos tambm so extremos de Tn . Assim, todos os extremos tm o mesmo valor absoluto e alternam em sinal. Fica por provar que os xk dados por (2.4.9) so os nicos pontos extremos de Tn , o que se deixa como exerccio. No entanto, como vamos ter oportunidade de descobrir, estes polinmios ainda se celebrizam por outras propriedades notveis. fcil provar que o coeciente an de Tn igual a 2n1 , pelo que o polinmio Tn = 1n 2 Tn mnico, ou seja, Tn (x) = xn + termos de menor grau Designemos por Pn [1, 1] a classe de polinmios mnicos de grau n no intervalo [1, 1].

Teorema 2.4.3 O polinmio Tn , de todos os polinmios em Pn [1, 1], o de menor norma, i.e., Tn p , p Pn [1, 1] Demonstrao Pelo Teorema 2.4.1, Tn assume nos pontos xk dados por (2.4.9) o seu valor extremo, pelo que os valores extremos de Tn so iguais a (1)k 21n , e, por conseguinte, Tn = 21n . Suponhamos, ao contrrio do que o teorema arma, que existe um polinmio p Pn [1, 1] tal que p

< 21n

(2.4.11)

e seja q a diferena q = Tn p. bvio que deg q n 1. Por outro lado, q(xk ) = Tn (xk ) p(xk ) = (1)k 21n p(xk ) (2.4.12) Como se admitiu que p satisfaz a relao (2.4.11), podemos sem diculdade concluir de (2.4.12) que o polinmio q assume alternadamente sinais diferentes. Ento, existem n pontos no intervalo [1, 1] em que o polinmio q de grau n 1 muda de sinal, ou, por outras palavras, q tem n zeros, o que implica que q = 0. Ento, 21n = Tn

= p

< 21n

2.4 Erros de interpolao

93

o que impossvel. Logo, p no pode ter norma inferior de Tn . Escolhendo os pontos de Chebyshev (2.4.8), ou seja, os zeros do polinmio Tn+1 , como ns de interpolao, pode sem diculdade concluir-se que Wn (xk ) = Tn+1 (xk ) = 2n donde Wn pelo que en (x) =

= 2n

(2.4.13)

2n (n

1 f n+1 ()Tn+1(x) + 1)!

com [1, 1]. Daqui decorre portanto que, quando se tomam os pontos de Chebyshev (2.4.8) como ns de interpolao, a expresso do majorante do erro (2.4.3) passa a ser en en

1 f (n+1) + 1)! (b a)n+1 f (n+1) 2n+1 2 (n + 1)! 2n (n

em [1, 1]

(2.4.14) (2.4.15)

em

que so mais favorveis que as correspondentes expresses para o caso de malhas uniformes, nomeadamente (2.4.5). Os extremos (2.4.9), conhecidos como pontos de Chebyshev-Lobatto, tambm podem ser utilizados como ns de interpolao com resultados semelhantes aos dos pontos de Chebyshev (2.4.8). A famlia de ns de Chebyshev-Lobatto tem a vantagem de incluir os extremos do intervalo de interpolao o que pode ser til nalgumas situaes.

2.4.3

Efeitos de perturbaes nos valores nodais

Vamos agora abordar um aspecto importante que o de saber qual a sensibilidade dos polinmios interpoladores relativamente a perturbaes dos valores nodais. Tomemos o polinmio interpolador na forma de Lagrange,
n

p(x) =
k=0

Lk (x)yk

Daqui podemos deduzir que


n

|p(x)| =

Lk (x)yk
k=0 n

max |yk |
0kn

k=0

|Lk (x)|

n (x) y

94

Interpolao polinomial

onde y

= max |yk |
0kn n

a norma de mximo do vector dos valores nodais e n (x) =


k=0

|Lk (x)|

(2.4.16)

designada por funo de Lebesgue associada interpolao a qual depende do nmero e da localizao dos ns de interpolao. fcil de ver que n (x) 1 (confrontar o Problema 2.15). Por outro lado, p

= max |p(x)|
x

max n (x) y
x

onde

n y n y n = n p

a constante de Lebesgue. Deste modo, conclumos que

Consideremos agora que os valores nodais yi que produziram o polinmio interpolador p so perturbados originando valores nodais yi que produzem um polinmio interpolador p. A diferena p p ela prpria um polinmio interpolador dos valores nodais yi yi pelo que a expresso (2.4.17) aplicvel vindo Esta relao mostra que quanto maior for a constante de Lebesgue n mais os erros nos valores nodais so ampliados no polinmio interpolador. Tal como a funo de Lebesgue, a constante de Lebesgue depende do nmero e da localizao dos ns de interpolao pelo que legtimo perguntar como que n varia com o nmero e a localizao dos ns de interpolao. possvel demonstrar que, para ns equidistantes, 2n+1 n quando n (2.4.19) e n ln n Este crescimento exponencial con n desaconselha a utilizao de polinmios de grau muito elevado em malhas uniformes. Em contrapartida, para ns de Chebyshev, sabe-se que 2 n ln(n + 1) + 1 quando n (2.4.20) um crescimento muito moderado com n, conrmando a boa qualidade desta distribuio de ns. pp

n y

(2.4.17)

n y y

(2.4.18)

2.5 Interpolao com ns equidistantes

95

2.5

Interpolao com ns equidistantes

Em muitas aplicaes os ns so equidistantes, pelo que h vantagem em especializar o formulrio deduzido nas seces anteriores para acolher este caso.

2.5.1

Frmulas de interpolao

Designando por h a distncia entre ns sucessivos, podemos escrever que h = (xn x0 )/n xk = x0 + kh, k = 0, 1, . . . , n Resulta conveniente introduzir a transformao linear de coordenadas s = s(x) = (x x0 )/h, x = x(s) = x0 + sh (2.5.2)

(2.5.1)

Uma funo f (x) transformada via (2.5.2) numa funo f (s) dada por f (x) = f (x0 + sh) (2.5.3)

e vice-versa, e em que, por economia de notao, se emprega o mesmo smbolo f para as duas funes. Por vezes usaremos a notao fs para indicar f (s) e fk para f (xk ). fcil vericar que, em virtude da sua linearidade, as transformaes (2.5.2) preservam o grau dos polinmios, i.e., um polinmio de grau n em x transformado num polinmio do mesmo grau em s, e vice-versa. O clculo das diferenas divididas de uma funo f pode simplicar-se mediante o conceito de diferenas conforme se explica na denio seguinte. Denio 2.5.1 A diferena progressiva de ordem k e passo h da funo f no ponto x, denotada por h f (x), dada por 0 f (x) = f (x) h h f (x) = f (x + h) f (x) k+1 f (x) = (k f (x)), k = 1, 2, . . . h h Analogamente, a diferena regressiva de ordem k e passo h da funo f no ponto x, denotada por h f (x), dada por 0 f (x) = f (x) h h f (x) = f (x) f (x h) k+1 h f (x) = (k f (x)), k = 1, 2, . . . h

96

Interpolao polinomial

Finalmente, a diferena central de ordem k e passo h da funo f no ponto x, denotada por h f (x), dada por
0 h f (x) = f (x)

h h h f (x) = f (x + ) f (x ) 2 2 k+1 k h f (x) = (h f (x)), k = 1, 2, . . . Sempre que no houver necessidade de explicitar o passo, omitiremos o ndice inferior h nas notaes das vrias diferenas. Como vamos ver, existe uma relao ntima entre diferenas divididas e diferenas. Teorema 2.5.1 A diferena dividida de ordem i da funo f nos ns equidistantes xk , xk+1 , . . . , xk+i dada por f [xk , xk+1 , . . . , xk+i ] = Demonstrao 1 i fk i!hi

Para i = 0 temos simplesmente que f [xk ] = f (xk ) = 0 f (xk )

e o teorema trivialmente verdadeiro. A demonstrao vai ser completada por induo em i, ou seja, admitir que ela verdadeira para um certo valor de i e provar que ela tambm verdadeira para i + 1. Recordando o Teorema 2.3.3, podemos escrever que f [xk , xk+1 , . . . , xk+i+1 ] = f [xk+1 , . . . , xk+i+1 ] f [xk , . . . , xk+i] xk+i+1 xk 1 i fk+1 i fk i+1 fk = = (i + 1)h i!hi i!hi (i + 1)!hi+1

como pretendamos demonstrar. Em face deste resultado, o polinmio de grau n que interpola os valores yk , yk+1, . . . , yk+n nos ns equidistantes xk , xk+1 , . . . , xk+n pode escrever-se agora na seguinte forma p(x) = 1 i i1 fk (x xk+j ) i i=0 i!h j=0
n

(2.5.4)

Se preferirmos a varivel s introduzida pela expresso (2.5.2) e uma vez que x xk+j = (x0 + sh) [x0 + (k + j)h] = (s k j)h podemos escrever o polinmio interpolador acima na forma alternativa
n

p(x) = p(x0 + sh) =


i=0

i fk

skj j+1 j=0

i1

(2.5.5)

2.5 Interpolao com ns equidistantes

97

O segundo membro desta expresso sugere que se introduza a seguinte funo x = i 1


i1 j=0 (x

se i = 0 j)/(j + 1) se i = 0

(2.5.6)

Para x inteiro os valores desta funo coincidem com os valores dos coecientes do desenvolvimento binomial, e da ser conhecida como funo binomial. Assim, a expresso (2.5.5) pode escrever-se mais sinteticamente do seguinte modo
n

p(x) =
i=0

sk i fk i

(2.5.7)

ou seja, p(x) = fk + (s k)fk + (s k)(s k 1) 2 fk + 2 (s k)(s k 1) (s k n + 1) n + fk n!

(2.5.8)

Esta expresso conhecida como frmula de Newton das diferenas progressivas. No caso vulgar associado a k = 0 temos que
n

p(x) =
i=0

s i f0 i

(2.5.9)

e, desenvolvendo esta expresso, resulta p(x) = f0 + sf0 + s(s 1) 2 s(s 1) (s n + 1) n f0 + + f0 2 n!


n

(2.5.10)

Como este polinmio interpola a funo f , para valores de s inteiros devemos ter que fs =
i=0

s i f0 = (I + )n fs = E n f0 i

(2.5.11)

em que, por simplicidade de notao, pusemos E =I + (2.5.12)

e onde I denota o operador identidade. Este operador E designado muito naturalmente por operador de translao progressiva, pois Ef (x) = (I + )f (x) = f (x) + f (x) = f (x) + f (x + h) f (x) = f (x + h) (2.5.13)

transformando o valor da funo f no ponto x no valor desta funo no ponto x + h. Pela mesma razo, deniremos operador de translao regressiva E 1 por E 1 f (x) = f (x h) (2.5.14)

98

Interpolao polinomial

fcil vericar que a notao E 1 apropriada, j que EE 1 f (x) = f (x) e E 1 Ef (x) = f (x)

e, portanto, EE 1 = E 1 E = I, ou seja, E 1 representa de facto o operador inverso de E. Uma utilizao imediata deste operador permite deduzir que, para s inteiro, = (E 1) =
s s s j=0

s j E (1)sj j

Por conseguinte, vlida a seguinte expresso explcita para as diferenas de ordem s s fi =


s

(1)sj

j=0

s fi+j j

(2.5.15)

Exemplo 2.5.1 Determinar o polinmio interpolador de menor grau que reproduz os valores seguintes com idntico nmero de dgitos exactos.
x y = f (x) 0.0 1.0000 0.1 1.0202 0.2 1.0408 0.3 1.0618 0.4 1.0833 0.5 1.1052 x y = f (x) 0.6 1.1275 0.7 1.1503 0.8 1.1735 0.9 1.1972 1.0 1.2214

Dado que temos 11 ns podemos tentar determinar o polinmio interpolador de grau 10 associado aos valores da tabela. A nalidade deste exemplo ajudar a dissipar esta ideia que, como veremos, ingnua. De facto, se tivermos em conta que os dados esto contaminados por um certo erro, pode acontecer que um polinmio de menor grau satisfaa perfeitamente o objectivo de reproduzir os dados com a preciso indicada. De acordo com o enunciado, o valor yi est afectado de um erro ei majorado por |ei | e com e = (0.5)104

As diferenas progressivas viro tambm contaminadas por um certo erro resultante da propagao dos erros dos dados. Tendo em ateno que as diferenas so operadores lineares, podemos escrever que (fi + ei ) = fi + ei Recorrendo expresso (2.5.15), tambm verdade que
s

ei =
j=0

(1)sj

s ei+j j

2.5 Interpolao com ns equidistantes

99

Usando a identidade 2s = (1 + 1)s =

s j=0

s j

que resulta da aplicao da frmula binomial, conclumos que


s

| ei |

j=0

s |ei+j | j

s j=0

s e = 2s e j

Esta desigualdade informa-nos que valores das diferenas divididas de ordem s menores ou iguais ao valor 2s e talvez possam ser atribudas a erros (qualquer que seja a sua origem) nos valores da funo f dados, no fazendo sentido, se tal se vericar, construir polinmios interpoladores que recorram a tais diferenas. Concretizemos o que acabamos de dizer construindo a tabela de diferenas associada aos valores dados. y f 2 f x 0.0 1.0000 202 0.1 1.0202 4 206 0.2 1.0408 4 210 0.3 1.0618 5 215 0.4 1.0833 4 219 0.5 1.1052 4 223 0.6 1.1275 5 228 0.7 1.1503 6 232 0.8 1.1735 5 237 0.9 1.1972 5 242 1.0 1.2214 3 f 4 f 5 f p2 (x) 1.0000 1.0202 0 1 1 1 0 1 1 0 1 1 0 1.1972 1.2214 2 1 1 2 3 1.1736 2 1 0 1.1052 1.1276 1.1504 3 3 1.0833 1.0408 1.0618

NOTA: Nesta tabela as diferenas esto multiplicadas por 104 . Vericamos ento que |f | > 2e = 104 e |2 f | > 22 e = 2 104 mas que |3 f | < 23 e = 4104 , e o mesmo para as diferenas seguintes. Portanto, as diferenas de ordem 3 talvez possam ser devidas apenas aos erros. Para conrmar se assim ou no, vamos construir um polinmio do segundo grau. A questo agora saber quais os ns a escolher, de entre os

100

Interpolao polinomial

ns dados, para construir este polinmio. falta de melhor critrio, natural tomar pontos equidistantes, o que nos conduz seguinte tabela de diferenas divididas: x f (x) f [ , ] f [ , , ] 0.0 1.0000 0.2104 0.5 1.1052 0.0220 0.2324 1.0 1.2214 O polinmio interpolador pretendido pode obter-se a partir da expresso (2.3.15), vindo p2 (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 ) = 1.000 + 0.2104x + 0.0220x(x 0.5) Calculando os valores deste polinmio nos ns, arredondados a cinco decimais, obtemos a coluna indicada por p2 (x) na tabela acima. Como vemos, este polinmio no reproduz todos os valores nodais, embora por pouco. Somos, deste modo, forados a tentar um polinmio de grau 3. Considerando os valores seguintes de entre outros possveis, obtemos a tabela de diferenas divididas x f (x) 0.0 1.0000 0.3 1.0618 0.22125 0.7 1.1503 0.2370 1.0 1.2214 O respectivo polinmio interpolador p3 (x) = 1.0000 + 0.2060x + 0.0217857x(x 0.3) + 0.0007143x(x 0.3)(x 0.7) Deixa-se como exerccio a vericao de que este polinmio reproduz de facto os valores dados. Conclumos assim que, em vez de um polinmio interpolador de grau 10 como pareceria ser necessrio primeira vista, um simples polinmio de grau 3 suciente. 0.0225 f[ , ] 0.2060 0.0217857 0.0007143 f[ , , ] f[ , , , ]

2.5.2

Algumas relaes entre operadores

Introduzimos na subseco anterior os operadores de diferenas , e , e o operador de translao progressiva E. Existem muitas e variadas relaes envolvendo estes operadores e tambm o operador de derivao D. Este operador denido naturalmente por D 0 f = f, Df = f , D k+1 f = D(D k f ), k = 0, 1, . . . (2.5.16)

2.5 Interpolao com ns equidistantes

101

Algumas destas relaes provam ser bastante teis nas aplicaes pelo que vamos proceder sua deduo. Tomemos como ponto de partida o seguinte desenvolvimento em srie de Taylor duma funo f h2 h3 f (x + h) = f (x) + Df (x)h + D 2 f (x) + D 3 f (x) + 2! 3! Esta expresso pode escrever-se simbolicamente da seguinte forma f (x + h) = I + (hD) + (hD)2 (hD)3 + + f (x) 2! 3!

Convm notar que no sendo hD um nmero, o parntesis recto no segundo membro desta expresso deve ser interpretado apenas como uma forma simblica e abreviada de indicar as sucessivas operaes sobre a funo f . Nesta acepo, tambm lcito dizer que, como f (x + h) = Ef (x), E = I + (hD) + (hD)2 (hD)3 + + = exp(hD) 2! 3! (2.5.17)

Desta relao e da expresso (2.5.16 ) resulta ainda que hD = ln E = ln(I + ) = 2 3 4 + + 2 3 4 h2 D 2 h3 D 3 h4 D 4 E = exp(hD) = 1 + hD + + + + 2! 3! 4!

(2.5.18)

em que se recorreu aos conhecidos desenvolvimentos em srie de Taylor do logaritmo e da exponencial. Estabelecemos deste modo relaes teis entre as derivadas e as diferenas progressivas duma funo. Uma outra aplicao do mtodo que estamos a expor a seguinte. Consideremos a sucesso de termos positivos y0 , y1 , y2 , . . ., e a srie alternante associada Sn = y 0 y 1 + y 2 y 3 + + y n que suporemos convergente. Recordando que y1 = Ey0 , y2 = Ey1 = E 2 y0 , ..., yn = E n y0 (2.5.19)

podemos escrever (2.5.19) na forma Sn = (I E + E 2 + E n )y0 Como se verica directamente, efectuando as operaes, (I E + E 2 + E n )(I + E) = I + E n+1 (I + E)(I E + E 2 + E n ) = I + E n+1 (2.5.20)

102

Interpolao polinomial

donde se extrai que (I E + E 2 + E n ) = (I + E)1 (I + E n+1 ) = (I + E n+1 )(I + E)1 Substituindo esta expresso em (2.5.20), vem que Sn = (I + E)1 (I + E n+1 )y0 = (I + E)1 (y0 + E n+1 y0 ) Como se admitiu que a sucesso era convergente, devemos ter que
n

lim yn = lim E n y0 = 0
n

Nestas condies, o limite S da srie pode exprimir-se assim S = lim Sn = (I + E)1 y0


n

Mas, recorrendo expresso (2.5.12), tambm verdade que S = (2I + )1 y0 = 1 I+ 2 2


1

y0

(2.5.21)

Desenvolvendo em srie de Taylor o segundo membro desta expresso, resulta que S= 1 2 3 I + + y0 = 2 2 4 8 (1)i i y0 i+1 i=0 2

(2.5.22)

A passagem da expresso original (2.5.19) da srie para esta ltima expresso (2.5.22) conhecida como transformao de Euler. A sua vantagem consiste em que, por vezes, produz uma acelerao da convergncia das sries, querendo dizer com isto que o clculo da srie por meio de (2.5.22) requer, para uma dada preciso, menos termos do que por meio de (2.5.19). O exemplo seguinte evidencia esta propriedade. Exemplo 2.5.2 Aplicar a transformao de Euler ao clculo de por meio do desenvolvimento do arctan.
Como x3 x5 x7 + + 3 5 7 o valor de /4 = arctan 1 pode calcular-se pela srie arctan x = x 1 1 1 = 1 + + 4 3 5 7 Suponhamos que pretendamos obter este valor com uma preciso de cinco decimais. Como a srie alternante, o erro ao desprezar os termos a partir do n-simo menor ou igual ao

2.6 Interpolao de Hermite

103

primeiro termo desprezado, tomando ambos em valor absoluto. Portanto, para garantir esta preciso devemos reter um nmero de termos tal que 1/(2n + 3) (0.5)105 n 105 Este um nmero demasiado elevado, sobretudo se tivermos presente que, com tantos termos, os erros de arredondamentos ir-se-o fazer sentir, contaminando seriamente o resultado. Tentemos resolver esta diculdade recorrendo transformao de Euler. A tabela de diferenas progressivas para n = 4 y 1.000000 0.333333 0.200000 0.142857 0.111111 0.666667 0.133333 0.057143 0.031746 2 3 4

0.533333 0.076190 0.025397 0.457143 0.050794 0.406349

Aplicando a frmula (2.5.22), obtemos /4 = 0.774603. No entanto, o termo associado quarta diferena (0.406349/25 ) ainda muito elevado, no garantindo a preciso desejada. Repetindo os clculos para vrios valores de n, obtemos a seguinte tabela de valores n 5 10 15 20 /4 0.774603 0.785145 0.785392 0.785398 O valor correspondente a n = 20 est dentro da tolerncia pedida. A aplicao da transformao de Euler redundou assim num ganho espectacular, que seria ainda mais agrante se tivssemos somado os 10, digamos, primeiros termos da srie original e aplicado a transformao apenas aos restantes (porqu?).

possvel demonstrar que, se uma srie for convergente, ento a srie resultante da aplicao da transformao de Euler tambm convergente, e que, se a srie original, alm de convergente, for tambm alternante, ento a srie transformada converge geralmente (embora nem sempre) com maior rapidez.

2.6

Interpolao de Hermite

Como adiantmos na Subseco 2.1.1, possvel exigir que um polinmio interpole no s valores da funo mas tambm das suas derivadas, caso em que se diz que a interpolao de Hermite.

104

Interpolao polinomial

2.6.1

Interpolao osculatria

Vamos comear por estudar a situao em que se interpolam valores da funo e da sua primeira derivada. Suponhamos ento que se pretende construir um polinmio p que interpole os valores da funo f e da respectiva derivada f nos ns distintos x0 , x1 , . . . , xn . Este polinmio deve, pois, satisfazer as condies p(xi ) = yi
e p (xi ) = yi,

i = 0, 1, . . . , n

(2.6.1)

em que pusemos yi = f (xi ) e yi = f (xi ), valores estes considerados como dados. Como a funo f e o polinmio interpolador p so tangentes nos ns, esta interpolao recebe por vezes a designao de osculatria. semelhana do que zemos para a interpolao de Lagrange, vamos escrever o polinmio interpolador na seguinte forma n

p(x) =

[Uk (x)yk + Vk (x)yk ] k=0

(2.6.2)

onde as funes Uk e Vk so polinmios a determinar. Para que o polinmio interpolador p verique as condies (2.6.1), quaisquer que sejam os valores dos yi e yi, os polinmios Uk e Vk devem vericar as seguintes propriedades interpolatrias: Uk (xi ) = ki , Vk (xi ) = 0 (2.6.3) Uk (xi ) = 0, Vk (xi ) = ki Como as expresses (2.6.1) consubstanciam 2(n + 1) condies, de esperar que o grau dos polinmios Uk e Vk seja igual a 2n + 1. Vamos tentar chegar s respectivas expresses ensaiando as seguintes formas Uk (x) = Rk (x)L2 (x) k Vk (x) = Sk (x)L2 (x) k (2.6.4)

onde Rk e Sk so polinmios de grau 1 e Lk so os polinmios de Lagrange de grau n associados aos ns x0 , x1 , . . . , xn . Introduzindo estas relaes nas expresses (2.6.3), obtemos Rk (xi )L2 (xi ) k 2 Rk (xi )Lk (xi ) + 2Rk (xi )Lk (xi )Lk (xi ) Sk (xi )L2 (xi ) k Sk (xi )L2 (xi ) + 2Sk (xi )Lk (xi )Lk (xi ) k = = = = ki 0 0 ki

fcil ver que estas relaes so identicamente verdadeiras para i = k. Para i = k devemos ter que Rk (xk ) = 1, Sk (xk ) = 0,
Rk (xk ) = 2Lk (xk ) Sk (xk ) = 1

2.6 Interpolao de Hermite

105

Os polinmios de grau 1 que satisfazem estas equaes so Rk (x) = 1 2Lk (xk )(x xk ) Sk (x) = x xk Estas concluses podem ser coligidas no teorema seguinte. Teorema 2.6.1 O polinmio de grau 2n + 1 que interpola os valores y0 , y1 , . . . , yn e as derivadas y0 , y1 , . . . , yn nos ns distintos x0 , x1 , . . . , xn
n

(2.6.5)

p(x) =
k=0

(1 2Lk (xk )(x xk ))L2 (x)yk + (x xk )L2 (x)yk k k

Demonstrao A deduo acabada de efectuar mostra que o polinmio dado pela expresso acima satisfaz as condies exigidas por (2.6.1). Por outro lado, o Teorema 2.2.5 garante que o polinmio de grau 2n + 1 que satisfaz estas condies nico. Exemplo 2.6.1 Determinar o polinmio interpolador de menor grau que satisfaz as seguintes condies: p(x0 ) = y0 , p (x0 ) = y0 p(x1 ) = y1 , p (x1 ) = y1 em que x0 = 1, y0 = 2, y0 = 1 x1 = 1, y1 = 3, y1 = 1
Como neste caso n = 1, o polinmio interpolador possui grau 3. Pondo, por simplicidade, h = x1 x0 , os polinmios de Lagrange e respectivas derivadas so para este caso L0 (x) = (x x1 )/h, L1 (x) = (x x0 )/h L (x) = 1/h, 0 ou seja, substituindo valores, L0 (x) = (x 1)/2, L1 (x) = (x + 1)/2 L (x) = 1/2, 0 As expresses (2.6.5) fornecem as relaes R0 (x) = 1 2L (x)(x x0 ) = 1 + 2(x x0 )/h 0 R1 (x) = 1 2L (x)(x x1 ) = 1 2(x x1 )/h 1 S0 (x) = x x0 S1 (x) = x x1 L (x) = 1/2 1 L (x) = 1/h 1

106

Interpolao polinomial

donde se deduz que, para o caso presente, R0 (x) = 1 + (x + 1) = 2 + x R1 (x) = 1 (x 1) = 2 x S0 (x) = x + 1 S1 (x) = x 1 As expresses (2.6.4) permitem nalmente escrever 2 (x x0 ) (x x1 )2 /h2 h 2 U1 (x) = R1 (x)L2 (x) = 1 (x x1 ) (x x0 )2 /h2 1 h V0 (x) = S0 (x)L2 (x) = (x x0 )(x x1 )2 /h2 0 U0 (x) = R0 (x)L2 (x) = 1 + 0 V1 (x) = S1 (x)L2 (x) = (x x1 )(x x0 )2 /h2 1 e, portanto,

Introduzindo estas relaes em (2.6.2), chegamos seguinte expresso p(x) =

U0 (x) = (2 + x)(x 1)2 /4, U1 (x) = (2 x)(x + 1)2 /4 V0 (x) = (x + 1)(x 1)2 /4, V1 (x) = (x 1)(x + 1)2 /4

3 1 1 1 (2 + x)(x 1)2 + (2 x)(x + 1)2 + (x + 1)(x 1)2 (x 1)(x + 1)2 2 4 4 4

para o polinmio interpolador pretendido.

Embora seja possvel deduzir frmulas para interpolao de f, f f , . . ., a anlise acabada de levar a cabo deixa antever uma certa complexidade. O recurso forma de Newton oferece uma via alternativa eventualmente mais atractiva. Para tal basta considerar que os ns x0 , x1 , . . . , xn so substitudos pelos ns x0 , x0 , x1 , x1 , . . . , xn , xn e que se faz tender xk para xk de tal modo que
xk xk

lim f [xk , xk ] = f [xk , xk ] = lim

xk xk

f (xk ) f (xk ) = f (xk ) xk xk

Quando, numa frmula de diferenas divididas como f [xk , xk ], se faz coincidir um ou mais ns, diz-se que se trata de diferenas divididas conuentes. O exemplo que apresentamos a seguir ilustra a aplicao desta outra tcnica. Exemplo 2.6.2 Obter na forma de Newton o polinmio de menor grau que interpola os seguintes valores x0 = 0, y0 = 1, y0 = 0 x1 = 1, y1 = 2 x2 = 2, y2 = 4, y2 = 1

2.6 Interpolao de Hermite

107

Para resolver este problema, vamos construir a tabela de diferenas divididas tendo em considerao que, conforme acabmos de ver, os ns em que a derivada imposta devem aparecer como ns duplos. x y 0 1 0 0 1 1 1 1/4 1/2 1/4 1 2 2 3/4 2 4 1 1 2 4 Logo, 1 p(x) = 1 + 0(x 0) + 1(x 0)(x 0) (x 0)(x 0)(x 1) 4 1 (x 0)(x 0)(x 1)(x 2) 4 1 1 = 1 + x2 x2 (x 1) x2 (x 1)(x 2) 4 4 Aconselhamos o leitor a conrmar que este polinmio satisfaz de facto as condies exigidas no enunciado.

Pode demonstrar-se, por um processo semelhante ao usado no Teorema 2.4.1 e recorrendo ideia de ns conuentes, que o erro cometido na interpolao de Hermite dado por f (2n+2) () en (x) = f (x) pn (x) = (Wn (x))2 , (2n + 2)!

2.6.2

Interpolao no plano complexo

Nesta subseco vamos abordar o problema da construo do polinmio interpolador de uma funo f : C C, i.e., uma funo complexa de varivel complexa2 . Como veremos adiante, esta viagem pelo plano complexo permite obter como subproduto o polinmio interpolador de Hermite. A funo f ser suposta analtica (hiptese essencial, como se ver) num domnio C simplesmente conexo. Os ns de interpolao so denotados por z0 , z1 , . . . , zn , e o polinmio nodal, por Wn = (z z0 )(z z1 ) (z zn ). A Figura 2.6.1 exemplica a situao contemplada.
Esta subseco pressupe alguma familiaridade com a teoria das funes analticas. Se tal no for o caso, ela pode ser omitida sem prejuzo para a compreenso do resto do captulo.
2

108

Interpolao polinomial

Figura 2.6.1: Notao para a interpolao no plano complexo

O primeiro resultado consiste numa nova e interessante expresso para as diferenas divididas.

Teorema 2.6.2 Seja f uma funo analtica num domnio simplesmente conexo C, e , um contorno de Jordan (uma curva simples fechada) de contendo os ns distintos z0 , z1 , . . . , zn no seu interior. Ento, f [z0 , z1 , . . . , zn ] = 1 2i f (t) dt Wn (t) (2.6.6)

Demonstrao

Vamos proceder por induo. A expresso f (z0 ) = 1 2i f (t) dt t z0

verdadeira pelo teorema de Cauchy, pelo que, tendo em ateno que W0 (t) = t z0 , f [z0 ] f (z0 ) = 1 2i f (t) dt W0 (t)

Fica assim provada a validade da expresso (2.6.6) para n = 0. Vamos supor que esta mesma expresso vlida para um dado valor de n. Ento, recorrendo expresso

2.6 Interpolao de Hermite

109

recursiva (2.3.16) para o clculo das diferenas divididas, vem que f [z0 , z1 , . . . , zn , zn+1 ] = f [z1 , . . . , zn , zn+1 ] f [z0 , z1 , . . . , zn ] = zn+1 z0 1 f (t) f (t) 1 = dt dt zn+1 z0 2i (z z1 ) (z zn+1 ) (z z0 ) (z zn ) 1 1 (z z0 ) (z zn+1 ) = f (t) dt zn+1 z0 2i (z z0 )(z z1 ) (z zn )(z zn+1 ) f (t) 1 = dt 2i Wn+1 (t) Fica assim demonstrado que, se (2.6.6) for vlida para um dado valor de n qualquer, tambm vlida para o valor n + 1. O erro de interpolao dado pela expresso (2.4.2) pode agora ser escrito na seguinte forma en (z) = f (z) pn (z) = f [z0 , z1 , . . . , zn , z]Wn (z) = Tendo presente que, sendo f uma funo analtica, f (z) = podemos, portanto, dizer que pn (z) = f (z) en (z) = 1 2i 1 = 2i 1 2i f (t) dt tz 1 2i

Wn (z) f (t) dt Wn (t) t z

(2.6.7)

f (t) 1 Wn (z) f (t) dt dt tz 2i Wn (t) t z Wn (t) Wn (z) f (t) dt Wn (t) tz

Posto isto, no difcil formular o seguinte teorema. Teorema 2.6.3 (Hermite) Nas condies do Teorema 2.6.1, pn dado por pn (z) = 1 2i Wn (t) Wn (z) f (t) dt Wn (t) tz (2.6.8)

o polinmio interpolador de f nos ns distintos z0 , z1 , . . . , zn . Demonstrao Para concluir que pn de facto interpolador basta ver que o erro de interpolao dado por (2.6.7) nulo nos ns z0 , z1 , . . . , zn , j que, por construo, o polinmio nodal tem estes pontos como zeros.

110

Interpolao polinomial

em (2.6.8), vem que

Falta provar que o segundo membro da expresso (2.6.8) dene um polinmio de grau n em z, precauo plenamente justicada pois este segundo membro no tem, pelo menos primeira vista, aspecto de ser um polinmio. Substituindo a identidade (ver o Problema 2.10.18) n 1 1 = Wn (t) k=0 Wn (zk )(t zk ) 1 1 (z ) k=0 2i Wn k
n

pn (z) =

(Wn (t) Wn (z))f (t) dt (t zk )(t z) (Wn (t) Wn (z))f (t) tz

Invocando o teorema dos resduos, obtemos pn (z) = = O termo Lk (z) = 1 (Wn (t) Wn (z))f (t) lim (z ) tz Wn k t zk k=0 n Wn (z) f (zk ) (z )(z z ) k k=0 Wn k Wn (z) (z )(z Wn k
n

+ lim

tzk

zk ) claramente um polinmio de grau n. De facto, ele no outro seno o polinmio de Lagrange associado aos ns z0 , z1 , . . . , zn , constituindo a generalizao da expresso (2.3.6) ao caso complexo. Como vimos, continua vlida no caso complexo a frmula de Lagrange do polinmio interpolador
n

pn (z) =
k=0

Lk (z)f (zk )

Exemplo 2.6.3 Determinar o polinmio que interpola a funo f (z) = exp(z) nos pontos z0 = 0, z1 = 1, z2 = i .
No oferece diculdade calcular os polinmios de Lagrange, vindo L0 = i (z 1)(z i ) 1 L1 = (1 + i )z(z i ) 2 1 L2 = (1 i )z(z 1) 2 pelo que 1 1 p(z) = i (z 1)(z i ) + (1 + i )z(z i )e (1 i )z(z 1)ei 2 2 Para obter uma estimativa do erro, consultar DAVIS (1963).

2.7 Splines

111

Caso de ns mltiplos Uma observao importante que vamos explorar a de que a expresso (2.6.6), ao contrrio do que tem vigorado at aqui, no obriga a que os ns z0 , z1 , . . . , zn sejam distintos. Assim, seja mk a multiplicidade do n zk e denamos o polinmio nodal Wn naturalmente pela expresso Wn (z) = (z z0 )m0 (z z1 )m1 (z zn )mn (2.6.9)

cujo grau deg Wn = n mk . Recorrendo ao teorema dos resduos para plos zk de k=0 ordem mk , o erro de interpolao dado por (2.6.7) pode agora exprimir-se da seguinte forma en (z) = 1 2i Wn (z) f (t) dt Wn (t) t z
n

= f (z) + Wn (z) = f (z) + Wn (z)


n

(t zk )mk f (t) 1 Wn (t)(t z) k=0 (mk 1)!


n mk 1

(mk 1) t=zk

k=0 j=0

1 f (t) (mk 1)! lk (t) f (t) lk (t)


(j) t=zk

(j)

t=zk

(z zk )(mk j) j!

= f (z) +
k=0

lk (z)

mk 1 j=0

(z zk )j j!

onde zemos, semelhana da expresso (2.3.4), lk (z) = Portanto,


n

Wn (z) (z zk )mk f (t) lk (t)


(j) t=zk

(2.6.10)

pn (z) =
k=0

lk (z)

mk 1 j=0

(z zk )j j!

(2.6.11)

o polinmio que resolve o seguinte problema de interpolao de Hermite, p(j) (zk ) = f (j) (zk ), j = 0, . . . , mk , k = 0, . . . , n

2.7

Splines

Mencionmos atrs, na Seco 2.4, as diculdades que podem surgir quando se empregam polinmios interpoladores de elevado grau e vimos um remdio possvel por recurso a uma escolha mais criteriosa da localizao dos ns. Uma outra direco de ataque a este problema consiste em prescindir de usar funes interpoladoras em C (). De facto, verica-se, talvez com alguma surpresa, que um excesso de regularidade das funes

112

Interpolao polinomial

interpoladoras pode ser prejudicial convergncia. Como, por outro lado, os polinmios continuam, pela sua simplicidade, a ser computacionalmente atraentes, pode tentar-se uma soluo de compromisso usando polinmios seccionalmente contnuos no intervalo . Estas funes tm vindo modernamente a ser conhecidas pela designao inglesa de splines , em virtude da sua origem. Os splines so rguas de madeira utilizadas pelos desenhadores para traar curvas suaves que passem por pontos dados. Esta tcnica muito utilizada nas salas do risco da indstria naval para apurar a forma dos cascos dos navios a partir de esboos relativamente grosseiros. Ao obrigar essas rguas a passar por certos pontos, o desenhador est na verdade a construir por meios mecnicos uma funo interpoladora com uma certa regularidade que depende da maior ou menor exibilidade das rguas. A anlise revelou que estas rguas produziam curvas cujas equaes eram polinmios do terceiro grau seccionalmente contnuos, concretamente com derivadas contnuas at segunda ordem, mas com derivadas descontnuas da terceira ordem em diante. Esta , alis, a principal diferena deste tipo de interpolao relativamente interpolao clssica por polinmios. Schoenberg apresentou em 1946 a primeira denio rigorosa deste tipo de funes tendo a generalizao da ideia levado ao seguinte conceito de splines. Denio 2.7.1 Uma funo S um spline polinomial de grau m (m 0) relativo aos ns a = x0 < x1 < < xn = b se vericar as seguintes propriedades:

1. S coincide em cada subintervalo i = [xi1 , xi ), i = 1, . . . , n com um polinmio de grau m. 2. S C m1 ().

Daqui em diante, e uma vez que s trataremos esporadicamente de outros splines que no sejam polinomiais, abandonaremos o qualicativo de polinomial. Empregamos ainda a seguinte notao hi = xi xi1 , h = max hi
1in

O conjunto dos splines polinomiais de grau m na malha i = [xi1 , xi ), i = 1, . . . , n ser denotado por Pm,n .

em que a h se costuma dar o nome de parmetro da malha. O seu valor d uma ideia do renamento da malha e, no estudo da convergncia, preocupamo-nos com o que se passa quando h 0.

2.7.1

Splines de grau zero

O spline mais simples corresponde ao caso m = 0. De acordo com a denio, o spline de grau m = 0 coincide em cada subintervalo i com uma constante e pertence a C 1 ().3
Interpretaremos esta classe de funes como constituda por funes seccionalmente contnuas cuja primitiva (anti-derivada) uma funo contnua.
3

2.7 Splines

113

Designemos por Si o polinmio de grau zero com o qual o spline S de grau zero coincide em cada subintervalo i = [xi1 , xi ). bvio que Si (x) = yi, xi1 x < xi , i = 1, 2, . . . , n (2.7.1)

e em que yi o valor do spline no subintervalo i . A forma destes splines esquematizada na Figura 2.7.1. Apesar do seu aspecto singelo, estes splines tm grande interesse terico (basta recordar que o conceito de integral Riemann recorre a este tipo de funes) e prtico (como teremos oportunidade de vericar). Para construir este spline preciso tomar uma opo relativamente escolha dos valores dos yi . Se o spline interpolar uma funo f C 1 () podemos escolher pontos ai i e fazer Si (x) = f (ai ), i = 1, 2, . . . , n. Os casos mais vulgares so tomar o extremo esquerdo do subintervalo, i.e., ai = xi1 , ou o extremo direito, i.e., ai = xi , ou o ponto mdio, i.e., ai = (xi1 + xi )/2. A escolha afecta naturalmente o erro de interpolao. Teorema 2.7.1 Seja f C 1 () e S P0,n . Ento, o erro de interpolao de f por S majorado por 1 e f h, ou e f h 2 no caso de os ns de interpolao coincidirem com os extremos dos subintervalos ou com os pontos mdios dos subintervalos, respectivamente. Demonstrao Basta aplicar o resultado do Teorema 2.4.1 a cada subintervalo. No subintervalo i temos que e(x) = f (i )(x ai ) Tomando valores absolutos e majorando, chega-se sem diculdade s expresses do enunciado do teorema. Como se v, existe convergncia quando h 0 e esta linear em h, havendo vantagem em considerar os pontos mdios dos subintervalos como ns de interpolao. Notemos que, se os ns puderem ser posicionados livremente, a ltima expresso acima sugere uma orientao: tentar concentr-los nas zonas em que a primeira derivada for maior em valor absoluto.

2.7.2

Splines de grau um

De acordo com a Denio 2.7.1, a funo S coincide em cada subintervalo i com um polinmio de grau 1 e S contnua em todo o intervalo . Este spline , portanto, constitudo por segmentos de recta contnuos nos ns, conforme a Figura 2.7.2 mostra esquematicamente.

114

Interpolao polinomial

Figura 2.7.1: Spline de grau 0

Figura 2.7.2: Spline de grau 1

Designemos por Si o polinmio de grau 1 com o qual o spline de grau um S coincide em cada subintervalo i . bvio que Si (x) = yi1 xi x x xi1 + yi , hi hi xi1 x xi (2.7.2)

em que os yi so os valores nodais do spline. Esta expresso assegura automaticamente a continuidade do spline, i.e., S C(). A estimativa do erro dada pelo teorema seguinte. Teorema 2.7.2 Seja f C 2 () e S P1,n . Ento, o erro de interpolao de f por S majorado por 1 e f h2 8 Demonstrao Basta aplicar os resultados do Teorema 2.4.1 e do Exemplo 2.4.1 a cada subintervalo.

2.7.3

Splines quadrticos

O spline seguinte obtido pondo m = 2 coincide com um polinmio de grau 2 em cada subintervalo i e S C 1 (), ou seja, uma funo continuamente diferencivel em . fcil visualizar este spline quadrtico como formado por troos de parbolas que se ligam de modo contnuo e com tangentes tambm contnuas. A construo deste spline , contudo, menos directa do que a do spline de grau 1. Como em cada subintervalo i o spline coincide com um polinmio de grau 2, so precisos 3 coecientes para denir este polinmio neste subintervalo e, por conseguinte, um total de 3n coecientes. A condio de que o spline interpola nos ns xi1 , xi os valores yi1, yi , fornece 2 equaes por cada subintervalo, logo 2n equaes no total, e

2.7 Splines

115

o requisito de continuidade da primeira derivada nos ns interiores x1 , . . . , xn1 d mais n1 equaes. Ficamos a dispor, no total, de 3n1 equaes lineares para 3n incgnitas, o que insuciente. Para especicar de forma nica este spline torna-se necessrio impor uma condio suplementar que pode ser, por exemplo, a de obrigar a primeira derivada num dos ns extremos, x0 digamos, a assumir um determinado valor. Designando por Si o polinmio de grau 2 com o qual o spline quadrtico S coincide em cada subintervalo i = [xi1 , xi ], podemos armar que a derivada Si varia linearmente neste intervalo, pelo que Si (x) = mi1 xi x x xi1 + mi hi hi (2.7.3)

em que os mi designam as primeiras derivadas nos ns, i.e., mi = Si (xi ) = S (xi ), i = 0, 1, . . . , n

A expresso (2.7.3) assegura desde logo que o spline quadrtico possui primeiras derivadas contnuas. Integrando esta expresso e impondo a condio de interpolao Si (xi1 ) = S(xi1 ) = yi1 obtemos, aps manipulaes simples, a expresso Si (x) = yi1 + mi1 (x xi1 ) 1 x xi1 (x xi1 )2 + mi 2hi 2hi (2.7.4)

Para que o spline interpole tambm o valor yi em xi , i.e., Si (xi ) = S(xi ) = yi devemos ter que Si (xi ) = yi1 + hi (mi1 + mi ) = yi 2

Figura 2.7.3: (m0 = tan 0 )

Spline quadrtico

116

Interpolao polinomial

yi yi1 mi1 , i = 1, . . . , n (2.7.5) hi Assim, se m0 for dado, podemos obter atravs de (2.7.5) os valores nodais das derivadas m1 , m2 , . . . , mn , cando deste modo completamente denida a expresso (2.7.4) de Si . O aspecto destes splines esquematizado na Figura 2.7.3. Contudo, certas diculdades relacionadas com um comportamento algo instvel levam a que os splines quadrticos sejam pouco utilizados, sobretudo havendo uma alternativa fcil, como vamos ver a seguir. mi = 2

donde resulta que

2.7.4

Splines cbicos

O spline correspondente a m = 3, conhecido como spline cbico coincide, em cada subintervalo i , com um polinmio de grau 3 e possui derivadas contnuas at segunda ordem em . Estas propriedades, aliadas facilidade de construo e relativa estabilidade de comportamento, justicam a sua maior divulgao e popularidade. Vejamos como se podem obter as expresses que denem este tipo de spline. Designemos por Si o polinmio de grau 3 com o qual o spline cbico S coincide em cada subintervalo i = [xi1 , xi ]. bvio que a segunda derivada Si (x) um polinmio de grau 1 em i pelo que pode ser escrita na forma (notar a semelhana com a expresso (2.7.3)) x xi1 xi x + Mi (2.7.6) Si (x) = Mi1 hi hi com Mi = Si (xi ) = S (xi ), i = 0, 1, . . . , n. Aos parmetros Mi costuma dar-se o nome de momentos. A vantagem de tomar (2.7.6) como ponto de partida para a construo do spline cbico a de que a continuidade das segundas derivadas ca automaticamente assegurada. Integrando esta expresso duas vezes obtemos (xi x)3 (x xi1 )3 xi x x xi1 + Mi + ci + di (2.7.7) 6hi 6hi hi hi onde os ci e os di so constantes de integrao. Estas determinam-se impondo as condies de interpolao Si (xi1 ) = yi1, Si (xi ) = yi (2.7.8) Si (x) = Mi1 Aps alguma lgebra simples, chegamos s seguintes relaes as quais, introduzidas em (2.7.7), do Si (x) = Mi1 ci = yi1 Mi1 h2 /6, i di = yi Mi h2 /6 i (2.7.9) x xi1 hi

(x xi1 )3 (xi x)3 + Mi 6hi 6hi 2 hi xi x h2 + yi1 Mi1 + yi Mi i 6 hi 6

2.7 Splines

117

Para concluir a construo do spline cbico falta determinar os valores dos momentos, o que se faz impondo a condio de continuidade das primeiras derivadas nos ns,
Si (xi ) = Si+1 (xi +),

i = 1, . . . , n 1

(2.7.10)

Derivando (2.7.9), temos que Si (x) = Mi1 e, por conseguinte, Si (xi ) = (yi yi1 )/hi + hi Mi1 /6 + hi Mi /3 Si+1 (xi +) = (yi+1 yi)/hi+1 hi+1 Mi /3 hi+1 Mi+1 /6 Introduzindo estas relaes em (2.7.10) e agrupando termos, vem que hi hi + hi+1 hi+1 yi+1 yi yi yi1 Mi1 + Mi + Mi+1 = , 6 3 6 hi+1 hi i = 1, . . . , n 1 (2.7.12) (xi x)2 (x xi1 )2 yi yi1 hi + Mi + (Mi Mi1 ) 2hi 2hi hi 6 (2.7.11)

Estas expresses formam um sistema de equaes lineares nos momentos. Como h n + 1 incgnitas, M0 , M1 , . . . , Mn , e n 1 equaes, temos de impor duas condies suplementares que so ditadas pelo contexto, sendo vulgares as que passamos a expor. Spline completo. Este caso corresponde situao em que as primeiras derivadas nos ns extremos so conhecidas,
S1 (x0 ) = y0 , Sn (xn ) = yn

(2.7.13)

com y0 e yn dados. Ento, as condies suplementares so facilmente extradas de (2.7.11), vindo (y1 y0 )/h1 h1 M1 /6 h1 M0 /3 = y0 (yn yn1 )/hn + hn Mn1 /6 + hn Mn /3 = yn

(2.7.14)

O spline assim obtido costuma ser designado por spline completo. Spline natural. Na ausncia de qualquer informao especca nos ns extremos frequente optar pelas condies
S1 (x0 ) = M0 = 0, Sn (xn ) = Mn = 0

(2.7.15)

dizendo-se neste caso que o spline natural. Contudo, a imposio destas condies articiais reduz a preciso do spline (a menos que f (x0 ) = f (xn ) = 0, como evidente) o que deve ser tido em considerao.

118

Interpolao polinomial

Spline peridico. Se a funo a interpolar for peridica no intervalo , ento, para assegurar a periodicidade do spline cbico, devemos exigir que y0 = yn S (x0 ) = S (xn ),

M0 = Mn

(2.7.16)

em que as duas ltimas equaes representam as condies suplementares. A imposio destas condies tem como consequncia nefasta a destruio da estrutura tridiagonal do sistema de equaes. No entanto, o Problema 6.11.50 aponta para um remdio possvel. Continuidade da terceira derivada em x1 e xn1 . As duas equaes que faltam podem ser obtidas impondo a continuidade da terceira derivada do spline nos ns x1 e xn1 , ou seja, fazendo S1 (x1 ) = S2 (x1 +),
(3) (3) (3) Sn1 (xn1 ) = Sn (xn1 +) (3)

(2.7.17)

Equaes resolventes. Em todos os casos acabamos por obter um sistema de n + 1 equaes lineares com n + 1 incgnitas como pretendamos. Se este sistema tem soluo nica, ou no, um problema que no abordaremos na sua generalidade, limitando-nos a estudar, a ttulo de exemplo, o caso do spline completo. Para este spline o sistema de equaes resultante das expresses (2.7.10) e (2.7.14) escrito na forma matricial

2 1 . . .
0

0 2 .. .

0 1 .. .

.. . 2 n

n1 0

em que pusemos, por economia de notao, 0 = 1, n = 1, e, para i = 1, . . . , n 1, i = i bi b0 =

M n1 n1

0 0 . . .

M0 M1 . . .

Mn

b n1

b0 b1 . . .

(2.7.18)

bn

6 y1 y0 y0 h1 h1 6 yn yn1 bn = yn hn hn

hi+1 hi + hi+1 hi = = 1 i hi + hi+1 6 yi+1 yi yi yi1 = hi + hi+1 hi+1 hi

2.7 Splines

119

Trata-se, como facilmente se verica, de um sistema cuja matriz de diagonal estritamente dominante por linhas, a qual, como se demonstrar no Captulo 6, sempre invertvel. Por conseguinte, o sistema (2.7.18) tem sempre soluo nica qualquer que seja o segundo membro. Acresce que a matriz deste sistema tridiagonal, circunstncia que, como veremos no referido captulo, torna a obteno dos momentos uma tarefa relativamente fcil e requerendo apenas O(n) ops. Uma vez conhecidos os momentos, estamos na posse de toda a informao necessria construo do spline cbico. As boas propriedades do spline cbico, nomeadamente a resistncia a oscilaes esprias, encontram justicao terica no teorema seguinte. Teorema 2.7.3 (Holladay) Sejam dados os ns a = x0 < x1 < < xn = b e os valores nodais y0 , y1, . . . , yn . Ento, de todas as funes f C 2 () que interpolam estes valores, o spline cbico natural a nica funo que torna mnimo o valor de J(f ) =
b a

[f (x)] dx

Demonstrao Antes de passar demonstrao conveniente interpretar o resultado acabado de anunciar. Tendo em conta que o valor de f (x) um indicador da curvatura da funo f , o valor de J(f ) representa uma espcie de curvatura mdia de f no intervalo . O enunciado diz-nos que o spline cbico natural , de todas as curvas interpoladoras com derivadas contnuas at segunda ordem, aquela que mais direita. Por outro lado, sendo J(f ) proporcional energia de deformao exo de uma viga elstica (a rgua exvel referida atrs), o teorema diz-nos que esta energia mnima quando a deformada for um spline cbico natural. Designando por e = f S o erro de interpolao de f por S, decorre de imediato das hipteses do teorema que J(f ) = Por outro lado,
b a b a

[S (x)] dx +

b a

[e (x)] dx + 2
n xi

b a

S (x)e (x) dx

S (x)e (x) dx =

i=1 xi1

S (x)e (x) dx

Recorrendo a integrao por partes, vem que


xi xi1

S (x)e (x) dx = S (x)e (x)

xi xi1

xi xi1

S (x)e (x) dx

Atendendo continuidade de S e ao facto de se tratar de um spline natural, i.e., de ser S (a) = S (b) = 0, podemos concluir que
n

S (x)e (x)
i=1

xi

=
xi1 i=1

S (xi )e (xi ) S (xi1 )e (xi1) = 0

120

Interpolao polinomial

Alm disso, como S uma funo constante no subintervalo i , e pondo S (x) = Si neste subintervalo, tambm verdade que
xi xi1

S (x)e (x) dx = Si

xi xi1

e (x) dx = Si [e(xi ) e(xi1 )] = 0


b a

Conclumos deste modo que J(f ) =


b a

[S (x)] dx +

[e (x)] dx

(2.7.19)

Ora, como o ltimo integral do segundo membro desta expresso nunca negativo, vem que J(S) =
b a

[S (x)] dx J(f ) =

[f (x)] dx

Para demonstrar a unicidade basta notar que o sinal de igualdade nesta relao s se verica se e = 0. Como e C 2 (), tal implica que a sua expresso seja da forma e(x) = A + Bx. Mas como e se anula em todos os ns, mormente nos ns extremos, foroso que e = 0. Fica assim provado que J(S) < J(f ) para f = S. A expresso (2.7.19), escrita na forma
b a

[f (x)] dx

b a

[S (x)] dx =

b a

[f (x) S (x)] dx

(2.7.20)

conhecida como primeira relao integral dos splines cbicos. Erros de interpolao A deduo de estimativas dos erros de interpolao com splines cbicos um tema que est fora do mbito deste texto. O leitor interessado poder consultar as referncias. No entanto, til conhecer os principais resultados, pelo menos para servir como termo de comparao com as interpolaes de Lagrange ou de Hermite. Teorema 2.7.4 Seja f C 4 () e S o spline cbico satisfazendo qualquer das condies suplementares referidas nesta subseco. Ento, f S D(f S) D 2 (f S) D 3 (f S) em que h = min hi
1in

5 D 4f h4 384 3 1 + D 4 f h3 216 24 1 1 + (h/h) D 4 f h2 12 3 1 1 + (h/h)2 D 4 f h 2

2.7 Splines

121

1.2 1 1 0.8 0.6 0.4 0.2 0.2 -1 -0.5 00 -0.2 -0.4 0.5 1 -1 -0.5 00 -0.2
(b) Malha com 11 ns

0.8 0.6 0.4

0.5

(a) Malha com 7 ns

Figura 2.7.4: Interpolao da funo de Runge por splines em malhas uniformes no intervalo [1, 1] Demonstrao Consultar as referncias indicadas. Com vista a ter uma ideia da qualidade da interpolao por splines vamos aplic-los ao caso da funo de Runge (2.4.6). Vamos comear por tomar 7 pontos de interpolao uniformemente distribudos no intervalo [1, 1]. Os resultados, mostrados na Figura 2.7.4(a), permitem extrair algumas concluses: O spline linear, apesar da sua modstia, acompanha o andamento geral de f . O spline quadrtico, obtido com m0 = 0, tem um comportamento razovel no intervalo [1, 0] mas desenvolve oscilaes violentas no intervalo [0, 1], conrmando a aluso feita atrs quanto sua propenso para a instabilidade. O spline cbico, construdo como spline natural, tem o melhor comportamento, como seria de esperar, embora exiba ainda ligeiras oscilaes. O aumento do nmero de pontos de interpolao para 11, considerado na Figura 2.7.4(b), conrma estas concluses. A escala do grco j no consegue agora fazer a distino entre o spline cbico e a funo f .

122

Interpolao polinomial

2.7.5

Splines com tenso


dk+1 S (x) = 0, dk+1 x

Os splines de grau k vericam, em cada subintervalo, a equao diferencial x i

Esta observao serve como ponto de partida para denir outras classes de splines baseadas em modicaes a esta equao diferencial com vista a obter certas propriedades desejveis. Vamos exemplicar esta ideia para o caso de splines cbicos com tenso. A equao diferencial que dene esta classe de splines d4 S d2 S (x) i2 2 (x) = 0, d4 x dx x i (2.7.21)

em que i designa, por analogia com o modelo fsico das rguas exveis, a tenso no subintervalo i e cujos valores esto nossa disposio para controlar a forma do spline. Se i = 0 para i = 1, . . . , n recuperamos o spline cbico normal e se i = para i = 1, . . . , n, obtemos o spline de grau um. Por conseguinte, valores elevados da tenso tendero a produzir splines com menor curvatura. A soluo de (2.7.21) no difcil, obtendo-se aps algumas manipulaes, a expresso seguinte Si (x) = 1 [Mi1 sinh(i (xi x)) + Mi sinh(i (x xi1 ))] sinh(i hi ) Mi1 xi x Mi x xi1 + yi 2 (2.7.22) + yi1 2 i hi i hi i2

que substitui (2.7.9). Como se v, o spline deixou de ser polinomial. Os valores nodais dos momentos Mi determinam-se estabelecendo as condies de continuidade das primeiras derivadas (2.7.10) e impondo as condies suplementares nos ns extremos. Omitimos os detalhes j que o procedimento em tudo semelhante ao seguido atrs para o spline cbico.

2.8

Representao de curvas

Nesta seco vamos aproveitar as ideias desenvolvidas para a interpolao polinomial para representar curvas e no apenas funes.

2.8.1

Representao paramtrica

Uma das formas mais utilizadas na construo de curvas consiste em partir das respectivas equaes paramtricas e proceder a uma interpolao apropriada. Consideremos o caso

2.8 Representao de curvas

123

de curvas planas (as curvas no espao tridimensional no oferecem diculdades adicionais) dadas pelas equaes paramtricas x = p(t) y = q(t) t [0, 1]

em que p e q so polinmios apropriados e t um parmetro descritivo da curva que, por simplicidade, se tomou no intervalo [0, 1]. Se interpretarmos t como um tempo, ento estas equaes representam a trajectria de uma partcula no plano. Esta curva passar pelos pontos de coordenadas cartesianas (xk , yk ), para k = 0, . . . , n, sse os polinmios p e q interpolarem estes valores, ou seja, se vericarem as condies p(tk ) = xk q(tk ) = yk k = 0, . . . , n

o que reduz o problema construo de dois polinmios interpoladores p e q de graus n. Um problema prtico que surge o de saber como xar os valores dos tk j que, do ponto de vista terico, quaisquer valores distintos no intervalo [0, 1] serviriam, nomeadamente os dados pela distribuio uniforme tk = k/n. Todavia, tal escolha corresponderia ao emprego de ns equidistantes para construir os polinmios p e q, o que sabemos no ser, em geral, a melhor opo. Uma alternativa aceitvel e simultaneamente mais de acordo com a ideia de que o parmetro natural para descrio de curvas o comprimento do arco, consiste na sua aproximao pelo comprimento da linha poligonal que une os pontos (xk , yk ), a saber j = sk =
j=1

(xj xj1 )2 + (yj yj1)2


k

1/2

j = 1, . . . , n

j ,

tk = sk /sn ,

k = 1, . . . , n

em que, como bvio, t0 = 0 e tn = 1.

2.8.2

Curvas de Bzier

As formas tradicionais de representao de curvas apelam a parmetros cujo signicado geomtrico nem sempre to directo quanto seria desejvel. Na sntese de curvas utilizando o computador em modo interactivo, como sucede frequentemente em Grca Computacional, h vantagem em adoptar representaes que permitam um controlo geometricamente intuitivo da curva. Um caso que se tem revelado com sucesso o das curvas de Bzier que recorrem a uma representao envolvendo os polinmios de Bernstein (2.1.4). Embora estes, como se sublinhou atrs, no exibam propriedades de aproximao particularmente atraentes,

124

Interpolao polinomial

permitem preservar certas propriedades globais como sejam a monotonicidade, a convexidade, etc., que so muito importantes na modelao geomtrica. Concretamente, estas curvas so representadas por x = y = em que os k,n so os polinmios k,n (t) = n k t (1 t)nk k (2.8.2)
n k=0 k,n (t)xk n k=0 k,n (t)yk

t [0, 1]

(2.8.1)

e os (xk , yk ) so as coordenadas cartesianas dos chamados pontos de controlo Pk da curva. Os k,n so, como se v de imediato, os termos do desenvolvimento de ((1 t) + t)n . Registamos ainda as seguintes propriedades destes polinmios. Teorema 2.8.1 Os polinmios k,n gozam das seguintes propriedades: 1. so positivos, i.e., k,n (t) 0, 2. 0,n (0) = n,n (1) = 1; 3. k,n e nk,n so simtricos um do outro relativamente ao centro t = 1/2 do intervalo [0, 1]; 4. k,n tem um nico mximo no intervalo [0, 1] situado no ponto t = k/n; 5.
n k=0

t [0, 1];

k,n (t) = 1;

6. os k,n podem ser calculados pela frmula recursiva k,n = (1 t)k,n1 + tk1,n1 em que se convenciona fazer k,n = 0, sempre que k < 0 ou k > n; 7. as primeiras derivadas de k,n podem ser calculados por
k,n = n (k1,n1 k,n1 )

Demonstrao fcil pelo que se deixa como exerccio. Recorrendo a esta ltima propriedade, deduz-se que as componentes do vector tangente curva de Bzier so
n1 dx = n k,n1 (t)(xk+1 xk ) dt k=0 n1 dy = n k,n1 (t)(yk+1 yk ) dt k=0

2.9 Notas e referncias

125

P2 P1 P3 P0 P0
Figura 2.8.1: Cbicas de Bzier Em particular, temos que dx (0) = n(x1 x0 ), dt dy (0) = n(y1 y0 ), dt dx (1) = n(xn xn1 ) dt dy (1) = n(yn yn1 ) dt

P1 P3 P2

pelo que no extremo t = 0 a curva de Bzier passa por P0 com uma tangente na direco de P0 para P1 e no extremo t = 1 passa por Pn com uma tangente na direco de Pn1 para Pn . A Figura 2.8.1 mostra o caso n = 3, as clebres cbicas de Bzier, cuja denio, obtida a partir de (2.8.1), dada por x = (1 t)3 x0 + 3t(1 t)2 x1 + 3t2 (1 t)x2 + t3 x3 y = (1 t)3 y0 + 3t(1 t)2 y1 + 3t2 (1 t)y2 + t3 y3

2.9

Notas e referncias

1. O material relativo a interpolao com polinmios de classe C clssico, constando de qualquer texto sobre mtodos numricos. Em DAVIS (1963) e em SENDOV and ANDREEV (1994) podem encontrar-se exposies mais avanadas. 2. Segundo KNUTH (1998), o mtodo de Horner para calcular polinmios foi publicado em 1819 por W. G. Horner, mas j era utilizado por Newton em 1699 e at conhecido na China no sculo XIII. Nesta referncia so desenvolvidas vrios mtodos para calcular polinmios, nomeadamente generalizaes do algoritmo de Horner e extenses ao caso de aritmtica complexa. 3. O artigo BERRUT and TREFETHEN (2004) apresenta uma defesa interessante das frmulas baricntricas bem como alguns resultados tericos teis e referncias adicionais.

126

Interpolao polinomial

4. Os splines so tratados com mais desenvolvimento em AHLBERG et al. (1967) e em SCHUMAKER (1981), onde so apresentadas denies mais gerais desta classe de funes. Tambm PRENTER (1975) e SCHULTZ (1973) so obras com interesse do ponto de vista das aplicaes de splines na construo de solues aproximadas de equaes diferenciais e integrais. de BOOR (1978) segue um tratamento mais prtico e inclui numerosos programas. 5. A aplicao da interpolao construo de curvas e superfcies um tema de grande importncia em Grca Computacional. Para um estudo mais desenvolvido podem consultar-se as referncias MORTENSON (1985), YAMAGUCHI (1988) e PIEGL and TILLER (1995).

2.10

Problemas

1. A demonstrao de que uma funo f no um polinmio no to trivial como parece primeira vista. De facto, como podemos assegurar que sin x, por exemplo, no pode ser expressa numa soma nita de monmios? A via geralmente adoptada a de que, se f violar alguma das propriedades que os polinmios possuem, ento no pode ser um polinmio. a) Determinar todos os polinmios peridicos, i.e., todos os p P tais que p(x + T ) = p(x), x e para um certo perodo T > 0 e provar que sin x, cos x, tan x, . . . , no so polinmios. b) Provar que x no um polinmio. 2. Sejam p e q polinmios no nulos. a) Demonstre que deg(p + q) max(deg p, deg q) deg(pq) = deg p + deg q b) D exemplos em que a desigualdade estrita se verica na primeira destas relaes. c) Mostre que a conveno deg 0 = a nica compatvel com a extenso das relaes acima ao caso de polinmios nulos. d) Sendo assim, prove que pq = 0 implica que p = 0 ou q = 0. 3. O Algoritmo de Horner pode no ser o mais indicado quando o polinmio p assume formas especiais. Considere o caso p = xn , i.e., p a potncia n de x. a) Com base na representao binria de n = k ni 2i deduza uma forma alternativa de i=0 calcular p e mostre que o nmero de multiplicaes 2k 2 log2 n, sendo portanto mais eciente. Exemplique para o caso x23 . b) Apresente um pseudo-programa que, dado n, calcula p = xn por este mtodo. Nota: Potncias elevadas de nmeros naturais surgem com frequncia em criptograa, por exemplo, clculos do tipo 15794732106 (mod 594161) onde qualquer ganho de ecincia bem vindo.

2.10 Problemas

127

4. Escreva o polinmio p(x) = 1 + x x2 + 2x4 na forma de Newton com centros em c1 = 1, c2 = 0, c3 = 1 e c4 = 2. 5. Determine o quociente e o resto da diviso do polinmio p(x) = x4 + x3 2x2 + 3 por x2 1, empregando o algoritmo de Horner. 6. Explique a seguinte disposio de clculos para o algoritmo de Horner aplicado obteno de p(2) com p(x) = 3x3 x2 + 6x + 5: 3 1 6 5 6 10 32 5 16 37 e, portanto, p(2) = 37. 7. a) Demonstre que se c for um centro duplo, i.e., se p(x) = a0 + a1 (x c1 ) + a2 (x c1 )(x c2 ) + com c1 = c2 = c, ento p (c) = a1 . Generalize este resultado do seguinte modo: se c1 = c2 = = ck+1 = c, ento p(j) (c) = j!aj , j = 0, 1, . . . , k

b) Calcule a derivada do polinmio p(x) = 2 x + x2 4x3 no ponto x = 2 recorrendo a este resultado. 8. Demonstre que um polinmio uma funo mal condicionada na vizinhana de um zero mltiplo. 9. Considere o clculo do valor de um polinmio pelo mtodo de Horner (Algoritmo 2.1.2) em aritmtica de preciso nita, nas condies admitidas na Subseco 1.4.2 e para argumento x e coecientes ak com representao exacta (para simplicar a anlise). a) Prove que o valor obtido y verica
n

y = (p(x)) =
k=0

ak xk (1 + k ),

com |k | 2k+1 ,

k = 0, . . . , n 1,

|n | 2n

ou seja, o valor obtido igual ao valor exacto de um polinmio cujos coecientes constituem ligeiras perturbaes dos coecientes originais. b) Mostre que o erro relativo majorado por yy |q(|x|)| 2n , y |p(x)|
n

com q(x) =
k=0

|ak |xk

c) Que majorante resulta se ak 0, k = 0, . . . , n e x 0?

128

Interpolao polinomial

e) O que conclui nos restantes casos?

d) E se (1)k ak 0, k = 0, . . . , n e x 0?

10. Sejam p = 2x4 4x3 + 5x + 1 e zi os seus zeros. a) Calcule, sem obter explicitamente os zeros, as seguintes quantidades: k = k = 1, . . . , 3; b) Determine o polinmio mnico cujos zeros so 2zi , i = 1, . . . , 4. 11. Mostre que o determinante de Vandermonde v(x0 , . . . , xn ) positivo para quaisquer ns x0 < < xn e nulo quando houver coincidncia de ns. 12. Determine o polinmio interpolador dos valores (0,1), (1,3) e (2,2): a) na forma de Lagrange; b) na forma de Newton com centros nos ns. 13. Sejam f, g C 1 () e considere a funo F (x) = g[a, b]h(x) h[a, b]g(x). a) Mostre que F [a, b] = 0; b) Demonstre a seguinte verso generalizada do teorema do valor mdio: existe um (a, b) tal que g[a, b]h () = h[a, b]g () e, se os denominadores forem diferentes de zero, h[a, b] h(b) h(a) h () = = g[a, b] g(b) g(a) g () c) Recupere o teorema usual do valor mdio de Lagrange. 14. Com f (x) = ln x, calcule f (1.2) por interpolao cbica, sendo dados os seguintes valores: x 0.5 1.0 1.5 2.0 f (x) 0.693147 0.0 0.405465 0.693147 Obtenha um majorante para o erro de interpolao e compare-o com o erro efectivamente cometido. 15. Sejam Lk os polinmios de Lagrange associados a um conjunto de ns x0 , . . . , xn distintos. a) Demonstre que os Lk satisfazem a seguinte relao
n 4 k i=1 zi ,

pk (xi )Li (x) = pk (x),


i=0

k = 0, 1, . . . , n

2.10 Problemas

129

b) e que, em particular,
n n

Li (x) = 1,
i=0 i=0

(xi )k Li (x) = xk

c) Prove que os Lk que no mudam de sinal no intervalo de interpolao so apenas os que possuem grau 1. 16. Particularize a segunda frmula baricntrica para o caso de ns equidistantes xk = x0 + kh com k = 0, 1, . . . , n e obtenha a seguinte expresso para o polinmio interpolador
n k k=0 (1)

pn (x) =

n k k=0 (1)

n yk k x xk n 1 k x xk

17. Deduza as seguintes expresses para as derivadas dos polinmios de Lagrange


n

L (x) i

= Li (x)
k=0 k=i n

1 xi xk 1 , xi xk
n

L (xj ) = Li (xj ) i
k=0 k=i n

i=j

L (xi ) i

=
k=0 k=i

1 = xi xk

L (xj ) i
j=0 j=i

Sugesto: Tomar logaritmos na expresso (2.3.1) e derivar. 18. Seja f uma funo racional da forma f (x) = P (x)/Q(x), em que P e Q so polinmios com as seguintes propriedades: deg P deg Q, deg Q = m 1 e Q possui m zeros distintos x0 , x1 , . . . , xm1 . a) Demonstre que
m1

f (x) =
i=0

P (xi ) 1 Q (xi ) x xi

b) Use esta expresso para deduzir que


m1

f (k) (x) = (1)k k!


i=0

P (xi ) 1 Q (xi ) (x xi )k+1

c) Aplique esta frmula para obter um majorante no intervalo [0, 1] de |f (4) (x)| quando f (x) = 1/(x2 4).

130

Interpolao polinomial

d) Demonstre que 1 = Wn (x)


n

1 xi )

Wn (xi )(x i=0

19. Considere funes (no necessariamente polinmios) Wn e vi tais que Wn (xi ) = 0,


Wn (xi ) = 0,

vi (xi ) = 0, vi (xj ) = 0,

vi (xi ) = 0;

i = 0, . . . , n

i=j

a) Mostre que a funo Li (x) =


vi (xi ) Wn (x) Wn (xi ) vi (x))

satisfaz a condio interpolatria (2.3.7) e que, portanto, a funo


n

n (x) =
i=0

Li (x)yi

interpola os valores yi nos ns xi , i = 0, . . . , n. b) Recupere o caso da interpolao polinomial tomando vi (x) = xxi e Wn (x) =
n i=0 vi (x).

Nota: Esta constitui uma via para generalizar a frmula de interpolao de Lagrange. 20. Construa a tabela de diferenas divididas relativa aos seguintes valores da funo y = sinh x: 0.4 0.8 1.2 1.6 x 0.0 y 0.0 0.41075 0.88811 1.50946 2.37557 Determine o respectivo polinmio interpolador, calcule o seu valor para x = 1.0 e compare-o com o valor da funo interpolada. 21. Mostre que o clculo do valor do polinmio interpolador pela frmula de Lagrange requer 2n2 + 3n somas ou subtraces, 2n2 + n 1 multiplicaes e n + 1 divises. 22. Mostre que o clculo da tabela de diferenas divididas requer n(n + 1) somas ou subtraces e n(n + 1)/2 divises. 23. Construa a tabela de diferenas divididas para os seguintes valores: x 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 y 0.076 0.086 0.094 0.100 0.106 0.111 0.115 0.119 Considerando que os valores de y foram obtidos por arredondamento de valores exactos, determine o grau do polinmio interpolador de grau mnimo que permite reproduzir os valores dados com idntico nmero de decimais correctos. Construa um desses polinmios e verique que assim sucede.

2.10 Problemas

131

24. Prove que


n

f [x0 , . . . , xn ] =
i=0

f (xi ) = Wn (xi )

n i=0

f (xi ) (xi x0 ) (xi xi1 )(xi xi+1 ) (xi xn )

e mostre que as diferenas divididas no dependem da ordem dos ns x0 , . . . , xn , i.e., todas as permutaes destes ns conduzem ao mesmo valor da diferena dividida de ordem n. 25. Produza uma demonstrao alternativa do Teorema 2.3.4 baseada no facto de a funo F (z) = f (z) pn (z) f [x0 , x1 , . . . , xn , x]Wn (z) possuir n + 2 zeros. 26. Mostre que a forma de Newton do polinmio que verica as seguintes condies de interpolao p(0) = y0 , p(1) = y1 ,
p (0) = y0 , p (1) = y1 ,

p (0) = 0 p (1) = 0

p(x) = a0 + a1 x + a2 x2 + a3 x3 + a4 x3 (x 1) + a5 x3 (x 1)2 , com a0 = y0


a1 = y0

a2 = 0
a3 = y1 y0 y0 a4 = 3(y0 y1 ) + 2y0 + y1

a5 = 6(y0 y1 ) 3(y0 + y1 )

27. a) Demonstre que as diferenas (progressivas, regressivas ou centrais) de ordem k n de um polinmio de grau n so, quando consideradas como funes de x, polinmios de grau n k.

b) Mostre, em particular, que as diferenas de ordem n so constantes, e as de ordem n+1 so nulas.

28. Empregando interpolao inversa, calcule o valor de x para o qual tan x = 0.4, sendo dados os valores x 0.1 0.2 0.3 0.4 0.5 tan x 0.10033 0.20271 0.30934 0.42279 0.54630 29. Mostre como se pode construir a parbola interpoladora nos ns distintos x0 , x1 , x2 a partir das rectas interpoladoras nos ns x0 , x1 e nos ns x1 , x2 . 30. Demonstre que se a funo f interpolar os valores (xi , yi ) para i = 0, 1, . . . , k 1, e a funo g interpolar os valores (xi , yi ) para i = 1, 2, . . . , k, ento a funo h dada por h(x) = xk x x x0 f (x) + g(x) xk x0 xk x0

interpola os valores (xi , yi ) para i = 0, 1, . . . , k. Mostre que este resultado uma generalizao da forma de Aitken-Neville.

132

Interpolao polinomial

31. a) A partir da forma de Aitken-Neville (2.3.18), prove que o valor no ponto x = 0 do polinmio interpolador se pode calcular pela frmula de recorrncia pm,k+1 (0) = xm+k+1 pm,k (0) xm pm+1,k (0) xm (pm,k (0) pm+1,k (0)) = pm,k (0) + xm+k+1 xm xm+k+1 xm

b) Mostre que os clculos so susceptveis de serem organizados de um modo anlogo ao da tabela de diferenas divididas. 32. Prove que a estimativa do erro (2.4.3) optimal, i.e., no pode ser melhorado dado que existe pelo menos uma funo para a qual esta expresso vericada como uma igualdade. 33. Considere a interpolao de uma funo f C 3 () por um polinmio do segundo grau que interpola a funo nos pontos equidistantes a, a + h e a + 2h = b. Demonstre que e2

h3 f (3) 9 3

34. Considere a interpolao de uma funo f C 4 () por um polinmio do terceiro grau que interpola a funo nos pontos equidistantes a, a + h, a + 2h e a + 3h = b. Demonstre que e3

h4 (4) f 24

35. a) Prove a seguinte estimativa para o polinmio nodal n! n+1 h , n1 4 em que h o espaamento mximo entre ns consecutivos. Sugesto: Considere, por simplicidade, os ns ordenados do seguinte modo x0 < x1 < < xn , suponha que x [xi , xi+1 ], deduza em seguida que (x xi )(x xi+1 ) h2 /4 e majore os restantes termos de forma bvia. Wn

b) Com base neste resultado deduza a expresso (2.4.4). 36. Considere a interpolao numa malha uniforme no intervalo = [1, 1], em que os ns so dados por xi = (2i n)/n, i = 0, . . . , n. a) Prove a seguinte estimativa Wn Sugesto: Ter em ateno que
n

3 n

2 e

Wn

= max
x i=0

2i n x n 3 2 n

i=0

1 2i n 1 = n n

n i=0

2i + 1 n

1 2 n

31 (2n)! = nn n!nn+1 2n

e empregar a frmula de Stirling de aproximao do factorial n! = nn exp(n) 2n exp(n /(12n)), 0 < n < 1

2.10 Problemas

133

b) Compare o resultado obtido acima para Wn n = 20, por exemplo, o que conclui? 37. Empregando a transformao de Euler, calcule S =1

com o caso de ns de Chebyshev. Para

1 1 1 + + 9 25 49

com seis decimais exactos (S 0.91596559). 38. Aplique a transformao de Euler s seguintes sries geomtricas: a) Sn = b) Sn = c) Sn =
k k=0 (1/2) k k=0 (1/3) k k=0 (1/4)

Sn = Sn = Sn =

1 2 1 2 1 2

k k=0 (1/4) k k=0 (1/3) k k=0 (3/8)

d) Concluia que a srie transformada converge melhor no caso a), na mesma no caso b) e pior no caso c). Nota: Ver a Denio 5.1.3 para um signicado rigoroso de melhor convergncia. 39. Sejam f, g C[0, 1]. a) Prove que Bn (f + g) = Bn (f ) + Bn (g). b) Prove que, se f > g, i.e., f (x) > g(x), x [0, 1], ento Bn (f ) > Bn (g). 40. Seja f C[0, 1] e Bn o polinmio de Bernstein que lhe est associado. Demonstre que a) Bn (f, x) interpolador nos ns x = 0 e x = 1, i.e., Bn (f, 0) = f (0), b) Idem, que Bn (f, x) =
k=0 n

Bn (f, 1) = f (1)

k f (0)

n k x k

c) Aplique o resultado da alnea anterior ao caso em que f (x) = x2 para chegar a Bn (x) = 1 n1 2 x+ x n n

Sugesto: Rever o que se disse na Seco 2.5 e recorrer ao binmio de Newton para desenvolver o termo (1 x)nk .

e concluir que limn Bn (x) = x2 , mas que Bn

1 4n

d) Qual o valor de n para garantir um erro de aproximao inferior a 105 ? O que conclui deste resultado? 41. Demonstre as seguintes propriedades dos polinmios de Chebyshev:

134

Interpolao polinomial

a) Tn contm s potncias pares ou s potncias mpares de x consoante n for par ou mpar, respectivamente. b) Tn (x) so funes pares se n for par, e funes mpares se n for mpar; c) Tn (1) = 1 para n = 0, 1, . . . e Tn (1) = +1 se n for par 1 se n for mpar

42. Determine o polinmio que interpola os seguintes valores x f (x) f (x) 1.0 1.0 1.0 0.0 2.0 0.0 1.0 3.0 1.0 43. Considere o seguinte problema de interpolao de Birkho: determinar um polinmio de grau 2 que satisfaa p(x0 ) = y0 ,
p (x1 ) = y1 p (x0 ) = y0

p(x2 ) = y2 Deduza as condies para que este problema tenha soluo nica. 44. Mostre que a interpolao de Hermite de uma funo f C 4 [x0 , x1 ] e da sua primeira derivada nos ns x0 e x1 conduz ao seguinte polinmio interpolador p(x) = f (x0 ) + (x x0 )f (x0 ) + (x x0 )2 f [x0 , x0 , x1 ] + (x x0 )2 (x x1 )f [x0 , x0 , x1 , x1 ] e deduza que o erro satisfaz a relao e

h4 f (4) 384

com

h = x1 x0

45. Qual o polinmio interpolador que interpola a funo f e as suas primeiras n derivadas no ponto x0 ? Que relao tem com a srie de Taylor de f ? 46. a) Deduza a seguinte frmula para o polinmio interpolador que interpola f e as suas M derivadas em dois ns a e b:
M

p2M +1 (x) = (x b)

M +1 j=0 M M +1

f (x) (x b)M +1

(j) x=a

(x a)j j! (x b)j j!

+ (x a)

j=0

f (x) (x a)M +1

(j) x=b

b) Repita o Exemplo 2.6.1 recorrendo expresso anterior.

2.10 Problemas

135

c) Faa M na expresso da alnea a) e obtenha aquilo que se costuma designar por desenvolvimento de Taylor em torno de dois pontos. 47. Diga se a funo seguinte um spline ou no, e, no x2 + 1, f (x) = 2x, 2 x 2x + 4, caso armativo, qual o seu grau. 0x1 1x2 2x3

48. Mostre que o spline de grau um satisfaz as propriedades de positividade, monotonicidade e convexidade. 49. O Teorema 2.7.2 pressupe que f C 2 . Deduza que o erro de interpolao da funo f (x) = x1/2 por splines lineares numa malha uniforme dado por e

h1/2 4

o que evidencia a inuncia da (falta de) regularidade na ordem de convergncia. 50. Diga se a funo seguinte pode ser um spline cbico valores que os parmetros a, b, c podem assumir. x2 , f (x) = ax3 + bx2 + cx, 2 x, ou no, e, no caso armativo, quais os 1 x 0 0x1 1x2

51. a) Construa o spline quadrtico S que interpola a funo f (x) = sin(x/2) nos ns 0, 1/4, 1/2, 3/4, 1. b) Calcule S, S e S nos pontos mdios dos subintervalos e compare-os com os valores exactos. 52. Prove que a derivada de um spline quadrtico um spline de grau um. 53. Os pers alares da srie NACA de quatro dgitos (esquematizados na Figura 2.10.1, onde se empregam coordenadas normalizadas, ver ABBOTT and von DOENHOFF (1959)) so denidos a partir de uma linha central que um spline quadrtico que interpola os pontos indicados e que possui um mximo de valor para x = p. a) Deduza que a linha mdia dada por y(x) =
x(2p x) p2 (1 2p (1p)2

+ x(2p x)) se p x 1

se 0 x p

b) Para que valor de p que no h descontinuidade na segunda derivada?

136

Interpolao polinomial

Figura 2.10.1: Geometria do perl NACA do Problema 2.10.53


(0, 0)

(p, ) (1, 0) x

54. Mostre que o segundo membro das equaes (2.7.12) se pode escrever, em alternativa, do seguinte modo yi+1 yi yi yi1 = (hi + hi+1 )y[xi1 , xi , xi+1 ] hi+1 hi 55. Forme o sistema de equaes (2.7.18) para o caso do spline cbico natural. 56. Em certos casos vantajoso construir o spline cbico em termos das primeiras derivadas mi = S (xi ) em vez dos momentos Mi = S (xi ). a) Mostre que a equao do spline no intervalo i = [xi1 , xi ], i = 1, . . . , n Si (x) = mi1 (x xi1 )(x xi )2 (x xi )(x xi1 )2 + mi h2 h2 i i 2 (x xi )2 + yi1 1 + (x xi1 ) hi h2 i 2 (x xi1 )2 + yi 1 (x xi ) hi h2 i

Sugesto: Recorra s expresses do Exemplo 2.6.1. b) Estabelea as condies de continuidade das segundas derivadas nos ns e obtenha as equaes que os mi devem satisfazer. c) Forme o sistema de equaes que determina os valores destes parmetros para o caso do spline natural. 57. Seja S P1,n o spline linear que interpola a funo f C(). Mostre que: a) b) c) S

= max0in |S(xi )| = max0in |f (xi )| f

f S

2 f s

s P1,n ;

f S 2 inf sP1,n f s , i.e., o erro de interpolao de f pelo spline linear no pior que o dobro do erro da melhor aproximao de f por splines lineares.

58. Demonstre que o segundo membro das equaes resolventes do spline cbico completo satis faz a relao bi = 3yi + O(h), no caso de malha no-uniforme, e bi = 3yi + O(h2 ), no caso de malha uniforme.

2.10 Problemas

137

59. Pretende-se interpolar a funo sin(x/2) no intervalo [0, 1/2] por um spline cbico numa malha uniforme. Calcule o nmero mnimo de ns a usar para garantir que os erros no excedam 0.5 104 nos valores da funo e 0.5 103 nos valores da primeira derivada. 60. Explicite as condies de continuidade (2.7.17). 61. Sejam dados os ns a = x0 < x1 < < xn = b e os valores nodais y0 , y1 , . . . , yn . Demonstre que, de todas as funes f C() que interpolam estes valores, o spline de grau um a nica funo que torna mnimo o valor de
b

J(f ) =
a

f (x)

dx

Nota: Este resultado o equivalente do Teorema de Holladay para os splines de grau um. 62. Obtenha as expresses das curvas de Bzier para n = 1 (segmentos de Bzier) e para n = 2 (quadrtica de Bzier). 63. a) Construa a cbica de Bzier para os pontos de controlo P0 = (x0 , y0 ) = (0, 0) P1 = (x1 , y1 ) = ( 3/2, 1/2) P2 = (x2 , y2 ) = (1/2, 3/2) P3 = (x3 , y3 ) = (x2 , y2 ) b) Diga, qualitativamente, qual a disposio dos pontos de controlo para gerar uma cbica de Bzier com a forma de . 64. a) Construa a cbica de Bzier que pretende aproximar o quarto de circunferncia de raio unitrio e centro na origem recorrendo aos pontos de controlo P0 = (x0 , y0 ) = (1, 0) P1 = (x1 , y1 ) = (1, 1) P2 = (x2 , y2 ) = (0, 1) b) Determine o mximo erro radial. 65. a) Determine a forma dos polinmios de Bzier de modo a que a curva passe pelos pontos P0 = (x0 , y0 ) e P1 = (x1 , y1 ) com tangentes t0 e t1 , respectivamente (curva de FergusonCoons). b) A especicao das tangentes atravs de dois pontos auxiliares revela-se mais prtica em Grca Computacional. Assim, sejam Q0 e Q1 dois pontos auxiliares tais que t0 = (Q0 P0 ) t1 = (Q1 P1 ) em que um factor de normalizao nossa disposio. Determine as expresses da curva de Ferguson-Coons.

138

Interpolao polinomial

c) Obtenha, com apropriado, o caso particular da cbica de Bzier. 66. Prove que se f (x) for uma funo convexa, ento tambm o polinmio de Bernstein Bk,n (f, x) uma funo convexa. 67. Prove que a curva de Bzier est contida no convexo envolvente dos pontos P0 , P1 , . . . Pn , uma propriedade muito til para o controlo da curva. Nota: O convexo envolvente de um conjunto de pontos {P0 , P1 , . . . , Pn } (no plano) o conjunto denido por {(x, y) = (0 x0 + 1 x1 + + n xn , 0 y0 + 1 y1 + + n yn )}, com os i 0 e n i = 1. i=0

Captulo 3 Derivao numrica


Neste captulo vo ser estudados mtodos para obter aproximaes s derivadas de funes recorrendo basicamente ideia de interpolao. O objectivo deduzir as chamadas frmulas de diferenas nitas e estimar os respectivos erros.

3.1

Introduo

Em muitas circunstncias torna-se necessrio obter valores das derivadas de uma funo sem recorrer respectiva expresso analtica por esta no ser conhecida ou por ser demasiado complicada. Um exemplo da primeira situao o da determinao da velocidade de um corpo a partir das suas posies medidas em instantes de tempo sucessivos ou o do clculo da derivada de uma funo cujos valores so dados por tabelas ou simplesmente por uma rotina de computador que fornece o valor da funo. Para se convencer da necessidade de evitar a derivao por via analtica, considere o leitor a seguinte funo f (x) = exp (x + ln(sin(x2 + arctan(1 + x3 )1/2 ) + 1))x (3.1.1)

e imagine (imagine apenas!) que era necessrio calcular, sem recurso a programao simblica, a segunda derivada! Situaes anlogas a esta surgem nomeadamente em problemas de optimizao em que necessrio determinar extremos de funes cujas expresses podem assumir formas bastante complexas. Por estas razes conveniente dispor de tcnicas alternativas derivao analtica que sejam simultaneamente fceis de usar e que permitam obter valores com a preciso necessria. Estas tcnicas so genericamente designadas por derivao numrica e constituem o tema deste captulo. possvel fundamentar a obteno de derivadas substituindo a funo a derivar por uma outra que de algum modo a aproxime mas cuja derivao seja mais simples. Como candidatos a funes aproximadoras surgem com toda a naturalidade os polinmios, no s pelas propriedades referidas no captulo anterior mas tambm porque a derivao deste tipo de funes uma tarefa sem diculdade. Assim, para determinar o valor das derivadas 139

140

Derivao numrica

de uma funo f num ponto x dado, sendo conhecidos os valores nodais yi = f (xi ) nos n + 1 ns distintos xi , i = 0, 1, . . . , n procede-se do seguinte modo: construir o respectivo polinmio interpolador pn ; tomar as derivadas deste como aproximaes s derivadas de f . Recordando o que dissemos na Seco 2.4, o erro de interpolao polinomial vem dado por en (x) = f (x) pn (x) e pode escrever-se, tendo presente a expresso (2.4.2), na forma en (x) = f [x0 , x1 , . . . , xn , x]Wn (x) em que Wn o polinmio nodal
n

(3.1.2)

(3.1.3)

Wn (x) = (x x0 ) (x xn ) =

i=0

(x xi )

(3.1.4)

Continuaremos a designar por = [a, b] o menor intervalo que contm os ns de interpolao.

3.2

Derivadas de primeira ordem

Consideremos ento o problema de determinar o valor da primeira derivada de uma funo f num ponto x dado. Como referimos, a tcnica mais usual consiste em construir um polinmio interpolador pn e calcular analiticamente a respectiva derivada, esperando deste modo obter uma aproximao sucientemente boa, ou seja, tomar f (x) pn (x). Por derivao de (3.1.2) e tendo em conta (3.1.3), vem que o erro envolvido en (x) = f (x) pn (x) = f [x0 , x1 , . . . , xn , x, x]Wn (x) + f [x0 , x1 , . . . , xn , x]Wn (x) (3.2.1)

Admitindo que f C n+2 (), o Teorema 2.3.4 permite-nos obter uma outra forma de exprimir en , talvez mais esclarecedora, en (x) = 1 1 f (n+2) ()Wn (x) + f (n+1) ()Wn (x), (n + 2)! (n + 1)! , (3.2.2)

Felizmente, em duas situaes especiais mas com interesse prtico corrente, esta expresso pode ser simplicada.

3.2 Derivadas de primeira ordem

141

O ponto x um dos ns. Suponhamos que o ponto em que se pretende obter o valor da derivada coincide com o n xi . Neste caso, tendo em ateno a denio de Wn dada pela expresso (3.1.4), o primeiro termo do segundo membro de (3.2.2) anula-se, vindo en (xi ) = 1 f (n+1) ()Wn (xi ) (n + 1)! n 1 = f (n+1) () (xi xj ) (n + 1)! j=0
j=i O ponto x um zero de Wn . Seja x um zero de Wn , i.e, Wn () = 0. Ento, resulta x de (3.2.2) que o erro se exprime por

(3.2.3)

en () = x

1 f (n+2) ()Wn () x (n + 2)!

(3.2.4)

Em certos casos, o ponto x est disposto simetricamente em relao aos ns, o que implica imediatamente que estes sejam em nmero par e que, portanto, n seja mpar. Assim, devido simetria, temos que xni x = x xi ,
n

i = 0, 1, . . . , (n 1)/2
(n1)/2

Wn (x) = Mas, por outro lado,

i=0

(x xi ) =

i=0

(x xi )(x xni )

x xi = (x x) + ( xi ) x x xni = (x x) + ( xni ) = (x x) ( xi ) x x daqui resultando que


(n1)/2

Wn (x) =
i=0

[(x x)2 ( xi )2 ] x

Ora, D (x x)2 ( xi )2 = 2(x x) x pelo que este termo se anula quando x = x. A expresso do erro simplica-se, obtendo-se ento (n1)/2 1 (n+2) en () = x f () (( xi )2 ) x (3.2.5) (n + 2)! i=0 Vejamos agora alguns casos particulares com maior aplicao.

142

Derivao numrica

3.2.1

Diferenas nitas de primeira ordem

Consideremos que n = 1. Neste caso a funo f substituda pelo polinmio p1 interpolador nos ns x0 e x1 , e a derivada f (x), pelo valor da derivada deste polinmio no ponto x. Assim, temos que p1 (x) = f (x0 ) + f [x0 , x1 ](x x0 ) p1 (x) = f [x0 , x1 ] Aplicando a expresso (3.2.2) para obter o erro cometido, vem para este caso que 1 1 e1 (x) = f (3) ()W1 (x) + f (2) ()W1 (x), 6 2 No ponto x = x0 , temos que f (x0 ) p1 (x0 ) = f [x0 , x1 ] = f (x1 ) f (x0 ) x1 x0 , [x0 , x1 ] (3.2.6)

Pondo h = x1 x0 (o parmetro h costuma ser conhecido por passo) e usando a notao Dh f (x) para indicar a derivada aproximada da funo f no ponto x, podemos escrever que f (x0 + h) f (x0 ) (3.2.7) Dh f (x0 ) = f [x0 + h, x0 ] = h Esta expresso conhecida pela designao de diferena nita progressiva de primeira ordem, a qual, neste caso particular, no outra coisa seno a diferena dividida de primeira ordem relativa aos pontos x0 e x0 + h. Decorre de (3.2.6) que o erro em x0 dado por 1 e1 (x0 ) = hf () 2 (3.2.8)

Se f C 2 [x0 , x1 ], o erro tende pois para zero com a primeira potncia de h, ou seja, de O(h). Outro caso com interesse corresponde a n = 1 e x = x1 . fcil concluir, permutando os papis de x0 e x1 , que Dh f (x1 ) = f [x1 , x1 h] = f (x1 ) f (x1 h) h (3.2.9)

Esta frmula conhecida pelo nome de diferena nita regressiva de primeira ordem e, tal como h pouco, coincide com a diferena dividida de primeira ordem relativa aos pontos x1 h e x1 . O erro vem agora dado por 1 e1 (x1 ) = hf () 2 (3.2.10)

3.2 Derivadas de primeira ordem

143

ou seja, de O(h) como para as diferenas nitas progressivas. Notemos que os que aparecem nas expresses (3.2.8) e (3.2.10) no assumem necessariamente o mesmo valor. Consideremos agora n = 1 e x = (x0 +x1 )/2, ou seja, o ponto x ocupa uma posio cen tral relativamente aos ns. Repetindo a mesma sequncia de clculos dos casos anteriores, chegamos sem diculdade expresso Dh f () = f [ + h/2, x h/2] = x x f ( + h/2) f ( h/2) x x h (3.2.11)

a qual conhecida como frmula de diferena nita central de primeira ordem. Agora, como W1 (x) = 2x (x0 + x1 ) temos que W1 () = 0 e a expresso (3.2.6) do erro permite x concluir que 1 (3.2.12) e1 () = h2 f (3) () x 24 Para funes f C 3 [x0 , x1 ], o erro tende agora para zero com h2 , ou seja, de O(h2 ) o que representa uma melhoria relativamente s frmulas anteriores. Exemplo 3.2.1 Calcular a primeira derivada da funo f (x) = exp(sin x) no ponto x = 0.5 utilizando as diferenas nitas de primeira ordem com h = 0.01.
a) Diferenas progressivas. Pela expresso (3.2.7) temos que Dh f (0.5) = f (0.5 + 0.01) f (0.5) 1.629344 1.6151460 = = 1.4198 0.01 0.01

O valor exacto f (0.5) = 1.417424 pelo que cometemos um erro e = (0.2376)102 . b) Diferenas regressivas. A aplicao da expresso (3.2.9) fornece Dh f (0.5) = f (0.5) f (0.5 0.01) 1.615146 1.600996 = = 1.4150 0.01 0.01

e o erro , portanto, e = (0.2124)102 . c) Diferenas centrais. A expresso (3.2.11) d Dh f (0.5) = f (0.5 + 0.005) f (0.5 0.005) 1.622239 1.608065 = = 1.4174 0.01 0.01

Agora, o erro cometido e = (0.24)104 , francamente melhor que os anteriores. Fica assim conrmado o que se disse relativamente superioridade das diferenas centrais. Nota: Este tipo de fenmeno, em que a convergncia possui uma ordem superior normal em certos pontos especiais, os zeros de Wn , costuma ser designado por superconvergncia. O Problema 3.9.16 revela outro caso.

144

Derivao numrica

3.2.2

Diferenas nitas de segunda ordem

Todas as frmulas deduzidas at aqui foram baseadas em interpolao linear. Vejamos o que se consegue quando se passa a usar polinmios interpoladores de segundo grau, i.e., n = 2. O polinmio p2 e a sua derivada p2 so dados por p2 (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 ) p2 (x) = f [x0 , x1 ] + f [x0 , x1 , x2 ](x x0 + x x1 ) e (3.2.2) produz a expresso para o erro e2 (x) = 1 (4) 1 f ()W2 (x) + f (3) ()W2 (x) 24 6 (3.2.15) (3.2.13) (3.2.14)

Consoante a posio do ponto x relativamente aos ns x0 , x1 e x2 , assim se conseguem obter diferentes frmulas. Se x = x0 vem que Dh f (x0 ) = f [x0 , x1 ] + f [x0 , x1 , x2 ](x0 x1 ) cujo erro deduzido de (3.2.15) dado por 1 e2 (x0 ) = f (3) ()(x0 x1 )(x0 x2 ) 6 (3.2.17) (3.2.16)

No caso especial de os ns serem equidistantes, com h = x1 x0 = x2 x1 , as expresses (3.2.16) e (3.2.17) particularizam-se, vindo Dh f (x0 ) = 3f (x0 ) + 4f (x0 + h) f (x0 + 2h) 2h 1 2 (3) e2 (x0 ) = h f () 3 (3.2.18) (3.2.19)

As expresses (3.2.16) e (3.2.18) so conhecidas por diferenas nitas progressivas de segunda ordem. Uma observao pertinente a de que, apesar de empregarem trs pontos de interpolao e, portanto, mais informao sobre a funo f , estas frmulas apresentam uma estimativa de erro menos favorvel que a da frmula da diferena nita central de primeira ordem. Este facto revela a inuncia benca decorrente da posio simtrica do ponto onde se calcula a derivada relativamente aos ns. Se zermos x = x2 chegamos frmula de diferenas nitas regressivas de segunda ordem e respectivo erro, anlogas a (3.2.16) e (3.2.17), Dh f (x2 ) = f [x0 , x1 ] + f [x0 , x1 , x2 ](2x2 x0 x1 ) 1 e2 (x2 ) = f (3) ()(x2 x1 )(x2 x0 ) 6 (3.2.20) (3.2.21)

3.3 Derivadas de segunda ordem

145

e a (3.2.18) e (3.2.19) Dh f (x2 ) = 3f (x2 ) 4f (x2 h) + f (x2 2h) 2h 1 2 (3) e2 (x2 ) = h f () 3 (3.2.22) (3.2.23)

Por outro lado, se x = x1 , um processo em tudo semelhante conduz-nos s seguintes relaes, Dh f (x1 ) = f [x0 , x1 ] + f [x0 , x1 , x2 ](x1 x0 ) 1 e2 (x1 ) = f (3) ()(x1 x0 )(x1 x2 ) 6 (3.2.24) (3.2.25)

Se os ns forem equidistantes, ento podemos concluir, aps algumas manipulaes simples, que f (x1 + h) f (x1 h) Dh f (x1 ) = (3.2.26) 2h expresso que no outra seno a da diferena central de primeira ordem j obtida atrs por (3.2.11) e cujo erro dado agora por 1 e2 (x1 ) = h2 f (3) () 6 (3.2.27)

3.3

Derivadas de segunda ordem

As tcnicas expostas na seco anterior generalizam-se facilmente ao clculo de derivadas de ordem superior. Vejamos como se deve proceder para o caso das segundas derivadas. claro que o primeiro polinmio a considerar dever ser de grau n = 2 interpolando nos ns x0 , x1 e x2 , donde p2 (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 ) p (x) = 2f [x0 , x1 , x2 ] 2 e, por conseguinte, para qualquer x inter (x0 , x1 , x2 ). Se os ns forem equidistantes, a expresso anterior conduz a esta outra f (x h) 2f (x) + f (x + h) 2 (3.3.1) Dh f (x) = h2 Passemos agora anlise dos erros. Retomando a expresso (3.2.1), temos para o presente caso que
e2 (x) = f [x0 , x1 , x2 , x, x]W2 (x) + f [x0 , x1 , x2 , x]W2 (x)

f (x) p (x) = 2f [x0 , x1 , x2 ] 2

146

Derivao numrica

Derivando novamente esta expresso, vem que


e (x) = f [x0 , x1 , x2 , x, x, x]W2 (x) + 2f [x0 , x1 , x2 , x, x]W2 (x) + f [x0 , x1 , x2 , x]W2 (x) 2 (3.3.2) Se x coincidir com algum dos ns resulta que W2 (x) = 0 e a expresso anterior pode escrever-se, substituindo as diferenas divididas por derivadas, do seguinte modo

1 (4) f ()W2(x) + 12 No caso de os ns serem equidistantes, no e (x) = 2 e (x0 ) = 2

1 (3) f ()W2 (x), , 6 oferece diculdade concluir que

(3.3.3)

1 2 (4) h f () hf (3) () 6 1 2 (4) e (x2 ) = h f () + hf (3) () 2 6

(3.3.4) (3.3.5)

ou seja, o erro de O(h). Quando x = x1 , i.e., quando a segunda derivada for calculada por diferenas nitas centrais, os termos envolvendo W2 (x) e W2 (x) em (3.3.2) anulam-se, vindo nesta circunstncia 1 e (x1 ) = h2 f (4) () (3.3.6) 2 12 e, ento, o erro de O(h2 ), mais uma vez se revelando a vantagem das diferenas nitas centrais. Na Tabela 3.3.1 compilamos as frmulas apresentadas neste captulo, bem como algumas outras que poderiam ter sido deduzidas utilizando os mesmos mtodos. Esta tabela inclui frmulas com variadas disposies de ns (equidistantes) para diferenas nitas progressivas, regressivas e centradas com as expresses dos respectivos erros. Em ABRAMOWITZ and STEGUN (1968) e em KOPAL (1961) so includas tabelas mais completas. Exemplo 3.3.1 Uma partcula move-se sobre o eixo dos x, tendo-se registado as seguintes posies ao longo do tempo t: t 0.0 0.2 0.4 0.6 0.8 1.0 x 0.0 0.1987 0.3894 0.5646 0.7174 0.8415 Pretende-se determinar a acelerao nos instantes t = 0.0 e t = 0.6.
Como se sabe, a acelerao a segunda derivada da posio em ordem ao tempo. O problema resume-se, pois, a obter x (0.0) e x (0.6) a partir dos valores medidos. Para calcular o primeiro valor vamos utilizar a frmula da Tabela 3.3.1 (com k = 2, n = 2)
2 Dh x(0.0) =

2! 1 (x(0) 2x(0.2) + x(0.4)) 2! 0.22 1 (0.0 2 0.1987 + 0.3894) = 0.2000 0.04

3.3 Derivadas de segunda ordem

147

Tabela 3.3.1: Coecientes das frmulas de diferenciao numrica com ns xi = x0 + ih f (k) (xj ) j a0 0 1 1 1 0 3 1 1 2 1 0 11 1 2 2 1 3 2 0 50 1 6 2 2 3 2 4 6 j 0 1 2 0 1 2 3 0 1 2 3 4 a0 1 1 1 6 3 0 3 35 11 1 1 11 k! 1 n! hk
n

ai f (xi )
i=0

Primeira derivada (k = 1) a1 a2 a3 a4 erro 1 1 hf (2) 2 1 1 hf (2) 2 1 2 (3) hf 4 1 3 1 2 (3) 0 1 6h f 1 2 (3) 4 3 hf 3 1 3 (4) 18 9 2 4h f 1 3 (4) 3 6 1 hf 12 1 6 3 2 12 h3 f (4) 1 3 (4) 9 18 11 hf 4 1 4 (5) 96 72 32 6 hf 5 1 20 36 12 2 20 h4 f (5) 1 4 (5) 16 0 16 2 hf 30 1 4 (5) 12 36 20 6 20 h f 1 4 (5) 32 72 96 50 hf 5 Segunda derivada (k = 2) a1 a2 a3 a4 erro 2 1 hf (3) 1 2 1 12 h2 f (4) 2 1 hf (3) 11 2 (4) 15 12 3 hf 12 1 6 3 0 12 h2 f (4) 1 3 6 3 12 h2 f (4) 11 2 (4) 12 15 6 hf 12 104 114 56 11 5 h3 f (5) 6 1 3 (5) 20 6 4 1 hf 12 1 4 (6) 16 30 16 1 hf 90 1 4 6 20 11 12 h3 f (5) 5 3 (5) 56 114 104 35 hf 6

NOTA: As derivadas na expresso do erro so calculadas num ponto [x0 , xn ]

148

Derivao numrica

Para o clculo do segundo valor usaremos duas frmulas do mesmo quadro para efeitos de comparao.
2 Dh x(0.6) =

=
2 Dh x(0.6) =

= =

2! 1 [x(0.4) 2x(0.6) + x(0.8)] 2! 0.22 0.3894 2 0.5646 + 0.7174 = 0.5600 0.04 2! 1 [x(0.2) + 16x(0.4) 30x(0.6) + 16x(0.8) x(1.0)] 4! 0.22 0.1987 + 16 0.3894 30 0.5646 + 16 0.7174 0.8415 0.48 0.5612

2 Os dois valores calculados para Dh x(0.6) so muito prximos. As estimativas de erro relativas a este exemplo so objecto do Problema 3.9.20.

3.4

Matrizes de derivao

At aqui a deduo das frmulas de diferenas nitas foi baseada na forma de Newton do polinmio interpolador. Nada impede, e por vezes at h vantagem, em escrever o polinmio interpolador na forma de Lagrange
n

p(x) =
i=0

Li (x)yi ,

com yi = f (xi )

(3.4.1)

Neste caso, podemos dizer que


n

f (x) p (x) =

Li (x)yi
i=0

(3.4.2)

Como se v, os valores nodais yi aparecem de forma explcita e no implicitamente atravs das diferenas divididas, como atrs. Os valores das derivadas nos ns podem obter-se agora como se segue:
f (xj ) yj = p (xj ) = n i=0

Li (xj )yi

(3.4.3)

Introduzindo a matriz de derivao D(1) denida por dij = Li (xj ), a expresso (3.4.2) transforma-se em y0 y1 com y = . , . .

y0 y1 y =. . . (1)

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

(3.4.4)

y = D(1) y,

(3.4.5)

yn

yn

3.4 Matrizes de derivao

149

O Problema 2.10.17 d expresses gerais para os coecientes da matriz D(1) . Exemplo 3.4.1 Deduzir a matriz D(1) para n = 1 e n = 2, com ns equidistantes no intervalo [1, 1].
No primeiro caso temos x0 = 1 e x1 = 1, W1 = (x + 1)(x 1). Efectuando os clculos necessrios obtemos D(1) = 1/2 1/2 , 1/2 1/2 pelo que
y0 y1

1/2 1/2 1/2 1/2

y0 y1

No segundo caso, x0 = 1, x1 = 0 e x2 = 1, W2 = (x + 1)x(x 1). Agora, temos que D(1) 3/2 2 1/2 = 1/2 0 1/2 , 1/2 2 3/2 pelo que 3/2 2 1/2 y0 y0 y1 = 1/2 0 1/2 y1 y2 1/2 2 3/2 y2

interessante observar que estes resultados constavam j da Tabela 3.3.1, agora simplesmente referidos ao intervalo [1, 1] e escritos de forma mais compacta.

Para as segundas derivadas poderamos repetir o processo acabado de desenvolver. No entanto, como a segunda derivada a derivada da primeira derivada, legtimo escrever y = D(1) y , y = D(2) y com D(2) = D(1)
2

Exemplo 3.4.2 Repetir o Exemplo 3.4.1 para as segundas derivadas.


No primeiro caso temos D(2) = (D(1) )2 = 0 0 0 0

o que no deve causar surpresa pois as derivadas de segunda ordem de um polinmio de grau 1 so nulas. Para o segundo caso temos que D(2) 1 2 1 = (D(1) )2 = 1 2 1 1 2 1

que precisamente a frmula das diferenas nitas centrais para as segundas derivadas.

150

Derivao numrica

3.5

Derivao com splines

possvel, atravs da utilizao de splines, obter frmulas de diferenciao numrica de elevada preciso. Consideremos, a ttulo de exemplo, o spline cbico cuja equao , como vimos na Subseco 2.7.4, Si (x) = Mi1 (xi x)3 (x xi1 )3 + Mi 6hi 6hi 2 h2 x xi1 h xi x + (yi1 Mi1 i ) + (yi Mi i ) 6 hi 6 hi

para x [xi1 , xi ]. As derivadas desta funo so dadas por (x xi1 )2 yi yi1 hi (xi x)2 + Mi + + (Mi1 Mi ) 2hi 2hi hi 6 xi x x xi1 Si (x) = Mi1 + Mi hi hi Si (x) = Mi1 Ento, fazendo Dh f (x) = S (x) e
2 Dh f (x) = S (x)

obtemos as desejadas frmulas de diferenciao numrica. Uma desvantagem que pode ser apontada a este mtodo a de que a construo do spline, envolvendo a soluo de um sistema de equaes lineares, pode torn-lo computacionalmente caro e, por ventura, coloc-lo em inferioridade face a outras alternativas. A opo ter pois que ter em conta necessariamente os vrios aspectos do problema, nomeadamente preciso pretendida versus custo computacional.

3.6

Inuncia de erros na funo f

Nesta seco vamos analisar o que se passa no clculo de derivadas por via numrica quando os valores da funo f no so conhecidos exactamente. Por exemplo: f calculada por uma expresso aproximada; os valores de f so obtidos experimentalmente e, como tal, contaminados por erros de medio; f calculada em aritmtica de preciso nita, etc.

3.6.1

Inuncia de perturbaes em f

conveniente perceber um aspecto essencial da derivao por mtodos numricos aproximados que rodeia esta operao de uma certa delicadeza. A essncia desta diculdade radica no seguinte: duas funes podem diferir entre si to pouco quanto se queira e, no entanto, as suas derivadas serem bastante diferentes. O exemplo que apresentamos a seguir vai ajudar a compreender este fenmeno perturbador.

3.6 Inuncia de erros na funo f

151

Exemplo 3.6.1 Mostrar que a convergncia das funes no implica necessariamente a das derivadas.
Consideremos a funo f (x) = 1 no intervalo [0, 1], cuja derivada obviamente f (x) = 0. A famlia de funes x g (x) = 1 + sin 2 aproxima a funo f quando 0 to bem quanto se queira. De facto, |f (x) g (x)| = || sin e, portanto, f g Contudo, como
g (x) =

x || 2

1 x cos 2 1 x cos 2 ||

temos que
|f (x) g (x)| =

Esta relao mostra que, quando 0, as derivadas de g e de f divergem, apesar de estas funes convergirem! Dito por palavras singelas: a derivada de uma funo com rudo, g , pode diferir bastante da derivada da respectiva funo limpa de rudo, f .

Este exemplo revela que a operao de derivao potencialmente instvel: pequenas perturbaes na funo podem acarretar grandes perturbaes nas derivadas.

3.6.2

Inuncia dos erros de arredondamento

As expresses do erro deduzidas nas seces anteriores mostram que, se as derivadas apropriadas da funo f forem limitadas, a derivada calculada pelas frmulas de diferenas nitas converge para o valor exacto com uma certa potncia do parmetro h. No entanto, se tivermos em conta os erros de arredondamento, esta situao altera-se radicalmente como vamos ver. Exemplo 3.6.2 Mostrar a inuncia dos erros de arredondamento.
Consideremos o clculo da derivada da funo f (x) = sin x no ponto x = 0.5 pelas frmulas das diferenas nitas progressivas, regressivas e centrais. Os resultados obtidos para diferentes valores de h utilizando F P (2, 24, 6, A) esto resumidos no quadro seguinte.

152

Derivao numrica

h (0.100) (0.200)101 (0.400)102 (0.800)103 (0.160)103 (0.320)104 (0.640)105 (0.128)105

Erro (em valor absoluto) Diferenas nitas progressivas regressivas centrais (0.2249)101 (0.2541)101 (0.1462)102 (0.4736)102 (0.4854)102 (0.5913)104 (0.9602)103 (0.9621)103 (0.9537)106 (0.2077)103 (0.2021)103 (0.2801)105 (0.9596)104 (0.2766)103 (0.9030)104 (0.6548)103 (0.2766)103 (0.1891)103 (0.2517)102 (0.6796)102 (0.2139)102 (0.7174)102 (0.3939)101 (0.1611)101

Como se v, o erro diminui numa primeira fase com h mas, abaixo de um certo valor deste parmetro, dependente da frmula utilizada, comea a crescer.

Analisemos do ponto de vista terico este efeito, considerando, para concretizar ideias, o caso das diferenas nitas centrais. De acordo com as expresses (3.2.11) e (3.2.12) podemos dizer que f (x + h) f (x h) 1 (3) f (x) = f ()h2 (3.6.1) 2h 6 Como admitimos que h erros de arredondamento, em vez dos valores exactos da funo f , o que efectivamente usamos na frmula das diferenas nitas so valores aproximados. Denotando estes por f , teremos que f(x) = f (x) + e(x) em que e(x) representa o erro de arredondamento cometido. Introduzindo esta relao em (3.6.1) obtemos f (x) = f(x + h) f (x h) e(x + h) e(x h) h2 (3) f () 2h 2h 6 + h) f (x h) f(x = +E 2h E=

(3.6.2)

e(x + h) e(x h) h2 (3) f () (3.6.3) 2h 6 O signicado deste E o do erro nal cometido no clculo da derivada, o qual, como se reconhece, composto de duas partes distintas: uma, proveniente da frmula de diferenas nitas e proporcional a h2 , e outra, resultante dos erros de arredondamento e proporcional a 1/h. Como os erros de arredondamento no tendem necessariamente para zero com h, acontece que este tipo de erros ser predominante quando h 0. A Figura 3.6.1 mostra qualitativamente o andamento de |E| com h.

em que pusemos

3.6 Inuncia de erros na funo f

153


Figura 3.6.1: Variao do erro |E| com h

Esta discusso e o aspecto da Figura 3.6.1 sugerem que deve haver um valor de h para o qual o erro total E mnimo e, portanto, deveria ser este o valor a usar. Infelizmente, como na expresso (3.6.3) no so conhecidos nem a funo e nem o valor de , torna-se invivel obter o valor de h ptimo por minimizao de E tomado como funo de h. No entanto, possvel empreender uma anlise que, embora aproximada, poder dar alguma indicao sobre a ordem de grandeza do valor ptimo de h, o que talvez seja suciente em termos prticos. Assim, admitamos as seguintes hipteses: f (3)

M3 ,

|(x + h) e(x h)| 2 e

em que M3 designa um majorante das terceiras derivadas e um parmetro que depende da forma como a funo f calculada. De um modo geral, o valor de ser, em termos relativos, da ordem de grandeza da unidade de arredondamento do computador utilizado. Ento, aceitando estas premissas, podemos dizer que |E| M3 2 + h h 6 (3.6.4)

O valor mnimo do segundo membro desta expresso obtido para o valor de h que anula a respectiva primeira derivada, ou seja, quando h= 3 M3
1/3

(3.6.5)

Este valor de h pode ser tomado como uma estimativa para o valor ptimo desde que as hipteses que aceitamos sejam razoavelmente vericadas. Nesta condies, substituindo este resultado em (3.6.4), vem que |E| 32/3 1/3 2/3 M3 2 (3.6.6)

expresso que mostra o efeito da impreciso no erro nal E.

154

Derivao numrica

Deixamos ao leitor o cuidado de vericar se os valores assim previstos so consistentes, pelo menos em termos de ordem de grandeza, com os dados do Exemplo 3.6.2. Chamamos ainda a ateno para o facto de que o valor do passo h no pode ser tal que (x h) = (x), i.e., que o computador seja incapaz de distinguir estas abcissas e fornea o valor zero para as derivadas. Acontece que o valor h ptimo est normalmente acima deste limite ltimo.

3.7

Extrapolao de Richardson

Mostrmos na seco anterior que os erros de arredondamento limitam seriamente a preciso que possvel obter com as frmulas de derivao numrica. Vamos ver que existe um processo de minorar, mas no eliminar totalmente, o efeito da aritmtica de preciso nita. Para concretizar ideias, consideremos a frmula de diferenas nitas progressivas de primeira ordem (3.2.7). Admitindo que f tem a regularidade necessria, o erro pode ser expresso, em alternativa a (3.2.8), por e(x) f (x) Dh f (x) = f (x) f (x + h) f (x) h (3.7.1)

1 1 ci hi = f (x)h f (x)h2 + = 2 3! i=1

ou seja, o erro dado por uma srie de potncias do passo h em que os coecientes ci envolvem as derivadas f (i) sendo, por isso, difceis de calcular em geral. Nestas condies, Dh f (x) = f (x) +
i=1

ci hi =

i=0

ci hi ,

com c0 = f (x)

(3.7.2)

O processo de extrapolao de Richardson consiste em considerar a derivada dada, no por (3.7.2), mas por uma srie truncada a partir de um certo termo,
k

Dh f (x)

ci hi

(3.7.3)

i=0

e ajustar um polinmio, em h e de grau k, aos valores obtidos para uma sucesso decrescente {hi }k . O valor deste polinmio no ponto h = 0 c0 o qual fornece nati=0 uralmente uma aproximao, em princpio melhor, para f (x). O facto de h = 0 no pertencer ao intervalo de interpolao justica a designao (de extrapolao) adoptada para o mtodo. Designemos por Dm,k o valor extrapolado usando os seguintes ns de interpolao, hm , hm+1 , . . . , hm+k . A frmula de Aitken-Neville (ver o Problema 2.10.31) permite obter

3.8 Notas e referncias

155

este valor sem necessidade de construir explicitamente o polinmio interpolador, vindo Dm,k+1 = hm+k+1 Dm,k hm Dm+1,k hm+k+1 hm (3.7.4)

Uma sucesso frequentemente utilizada hi = h0 /2i , i = 0, 1, 2, . . ., ou seja, procedendo por bisseces sucessivas de um intervalo original h0 . Exemplo 3.7.1 Aplicar o processo de extrapolao de Richardson ao clculo de f (0) com f (x) = exp x e empregando diferenas nitas centrais e bisseco dos passos.
Este exemplo difere do caso anteriormente tratado num pormenor interessante. O erro vem agora dado por e(x) f (x) Dh f (x) = f (x) f (x + h) f (x h) 2h

1 1 = f (3!) (x)h2 f (5) (x)h4 + = 3! 5!

ck h2k

k=1

ou seja, o erro envolve apenas potncias pares do passo h. Por razes de eccia faz, pois, todo o sentido considerar polinmios em h2 em vez de h. A frmula correspondente a (3.7.4) , portanto, Dm,k+1 =
2 h2 Dm+1,k Dm,k m+k+1 Dm,k hm Dm+1,k = Dm+1,k + 2 2 (hm /hm+k+1 )2 1 hm+k+1 hm

em que hi = h0 /2i . A tabela seguinte mostra os resultados obtidos com h0 = 0.4 e trabalhando com os 8 dgitos indicados. m 0 1 2 3 hm .40 .20 .10 .05 Dm,0 Dm,1 Dm,2 Dm,3 1.0268808 0.99994667 0.99999979 1.0000002 1.0066802 0.99999647 1.0000002 1.0016674 0.99999993 1.0004168

Como se v, D1,2 e D0,3 aparecem com valores idnticos, sinal de que no se consegue ir mais longe com os 8 dgitos de preciso utilizados. O leitor pode vericar que seria possvel atingir este valor com D9,0 , mas para tal seria necessrio trabalhar com cerca de 16 dgitos de preciso!

3.8

Notas e referncias

1. Convm ter em ateno a existncia de sistemas de computao simblica como sejam o Axiom (JENKS and SUTOR (1992)), o Maple (CHAR et al. (1991)) e o Mathematica (WOLFRAM (1988)), entre outros, capazes de produzir as expresses das derivadas de funes. O recurso a estes programas pode ser atractivo relativamente derivao numrica.

156

Derivao numrica

Como curiosidade, a derivada da funo (3.1.1) com que abrimos este captulo f (x) = cos(g(x)) 2x + 3x2 1+ 2 arctan(1 + x3 ) 1 + 1 + x3
2

sin((g(x)) + 1

+ x + ln(sin(g(x)) + 1) exp ((x + ln(sin(g(x)) + 1)) x) g(x) = x2 + arctan(1 + x3 )

expresso que apresentada tal qual foi produzida pelo Maple sem qualquer retoque! A ttulo de exemplo, temos que, a partir desta expresso, f (1) = 10.633215, enquanto uma simples aplicao de diferenas nitas centrais com h = 0.01 produz f (1) = 10.631255. A discrepncia entre os dois valores verica-se a partir do quarto dgito pelo que dicilmente se justicaria o recurso expresso exacta da derivada. 2. Tambm se deve ter presente como possvel alternativa a chamada derivao algortmica ou derivao automtica cujo objectivo consiste em partir do programa que calcula a funo a derivar para produzir automaticamente um programa que calcula as derivadas sem passar pelas expresses destas (consultar GRIEWANK (2000), por exemplo). 3. O processo de extrapolao de Richardson uma tcnica geral, utilizvel sempre que o erro possa ser expresso por uma srie envolvendo um dado parmetro do mtodo utilizado. Teremos oportunidade de voltar a encontrar esta tcnica noutras situaes, no connadas exclusivamente ao caso da diferenciao numrica, como seja o mtodo de integrao de Romberg (ver o Captulo 4).

3.9

Problemas

1. Explique em detalhe a deduo da expresso (3.2.1). 2. Considere a seguinte tabela de valores para a funo y = cosh x: x 0.1 0.2 0.3 0.4 y 1.0050 1.0201 1.0453 1.0811 Determine os valores de f (0.2) e f (0.2) pelas vrias frmulas de diferenas nitas e compare os resultados com os valores exactos. 3. Obtenha o valor de f (1.0) para a funo f (x) = exp(x) usando diferenas nitas progressivas e passo h = 0.001. Determine o erro efectivamente cometido e compare-o com o majorante terico. 4. a) Mostre que as frmulas das diferenas nitas progressivas de primeira ordem (3.2.7) e do respectivo erro (3.2.8) se podem obter a partir do desenvolvimento em srie de Taylor de f (x + h) em torno de x.

3.9 Problemas

157

b) Proceda de modo semelhante para o caso das diferenas nitas regressivas de primeira ordem. 5. Combinando de forma conveniente os desenvolvimentos em srie de Taylor de f (x + h) e f (x h) em torno de x, deduza as frmulas das diferenas nitas centrais (3.2.11) e do respectivo erro (3.2.12). 6. Pretende-se aproximar f (x) por uma frmula do tipo f (x) a1 f (x + h) + b1 f (x + h) + a2 f (x h) + b2 f (x h) a) Determine os coecientes desta frmula de modo a que ela seja exacta para polinmios do maior grau possvel. b) Deduza a expresso do erro. 7. Considere a seguinte tabela de valores para a funo y = sinh x: x 0.398 0.399 0.400 0.401 0.402 y 0.40859 0.40967 0.41075 0.41183 0.41292 a) Calcule o valor de f (0.4) utilizando a frmula de diferenas centrais e valores de h = 0.001 e h = 0.002. b) Compare os resultados com o valor exacto e explique por que que o resultado com h = 0.001 no muito melhor que o obtido com h = 0.002. 8. Repita os Exemplos 3.4.1 e 3.4.2 para o caso de ns equidistantes de h num intervalo [a, b] qualquer. Conrme com a Tabela 3.3.1. Sugesto: Recorra transformao de coordenadas (2.4.7). 9. So conhecidos os valores f (x0 ), f (x0 ) e f (x1 ) e pretende-se calcular f (x1 ). a) Determine a respectiva expresso, baseada em interpolao polinomial; b) Determine uma expresso para o o majorante do erro. c) Qual o valor do espaamento mximo para obter por esta via derivadas da funo f (x) = x sinh(x) no intervalo [0, 1] com um erro absoluto 102 . 10. Utilizando cinco pontos igualmente espaados, xi = x0 + ih, i = 0, . . . , 4 deduza as seguintes expresses de diferenas nitas centrais para o clculo aproximado da a) terceira derivada: f (3) (x2 ) b) quarta derivada: f (4) (x2 ) f (x4 ) 4f (x3 ) + 6f (x2 ) 4f (x1 ) + f (x0 ) h4 f (x4 ) 2f (x3 ) + 2f (x1 ) f (x0 ) 2h3

158

Derivao numrica

c) Prove que ambas as expresses produzem erros de O(h2 ). Sugesto: Empregue um processo anlogo ao que conduziu a (3.2.2) e (3.3.2). 11. a) Repita, para os casos das diferenas nitas progressivas e regressivas, a anlise efectuada na Seco 3.6 e obtenha as respectivas expresses equivalentes a (3.6.4), (3.6.5) e (3.6.6). b) Idem, para o caso das derivadas de segunda ordem com a frmula de diferenas nitas centrais (3.3.1). c) O que conclui em termos da preciso que possvel obter. 12. Considere a funo f (x) = exp(i x). Mostre que a derivao numrica com diferenas nitas de primeira ordem e passo h introduz no s um erro de amplitude mas tambm um erro de fase, ambos piorando com h. 13. Conhecem-se os valores da funo f nos ns xi = (i 3/2)h com i = 0, . . . , 3. a) Deduza a frmula de diferenas nitas que recorre a estes valores nodais para obter uma aproximao para f (0). b) Obtenha a respectiva expresso do erro. 14. Conhecem-se os valores f (0), f (h), f (2h). a) Deduza a frmula de diferenas nitas que recorre a estes valores nodais para obter uma aproximao para f (h/2); b) Obtenha a respectiva expresso do erro. 15. A partir do polinmio interpolador nos pontos x0 , x1 , x2 , em que x1 x0 = h e x2 x1 = h: a) Obtenha as frmulas de diferenas nitas para as primeiras derivadas nos ns; b) Deduza a seguinte frmula de aproximao da segunda derivada: f (x) 2 f (x0 ) f (x1 ) f (x2 ) + 2 1+ h (1 + )

c) Verique que, quando = 1, se recuperam as frmulas para ns equidistantes e, nomeadamente, as das diferenas nitas centrais. 16. Considere o polinmio interpolador com os ns de interpolao equidistantes x0 = h, x1 = 0 e x2 = h e o problema de obter a partir dele uma aproximao para f (x) (rever as expresses (3.2.13), (3.2.14) e (3.2.15)). a) Deduza a expresso para o erro nesta derivada e mostre que ele de O(h2 ), em geral; b) Evidencie, no entanto, que o erro pode ser de O(h3 ) em certos pontos especiais, i.e., pode haver superconvergncia nestes pontos, e calcule a respectiva posio. c) Tomando f (x) = sin(x) e h = 0.1, calcule f (x) nos ns x0 , x1 e x2 e nos pontos de superconvergncia.

3.9 Problemas

159

17. Um corpo desloca-se ao longo de uma recta (que podemos tomar como o eixo dos xx) e a respectiva velocidade v foi calculada por diferenas nitas regressivas de primeira ordem a partir das posies x em sucessivos instantes de tempo t, tendo-se obtido os seguintes valores: t (s) 0.1 0.2 0.3 0.4 0.5 v (m/s) 1.195 1.380 1.555 1.721 Sabendo que os erros experimentais nos valores de x no excedem 0.1%, estime o erro (em valor absoluto) cometido no valor da velocidade para t = 0.4. 18. Dispe-se de uma tabela de senos cujo intervalo de tabulao 0.001 graus e em que os valores so apresentados com seis decimais exactos. Pretende-se construir a partir desta tabela uma outra de co-senos por diferenciao numrica com diferenas centrais. Admitindo que os nicos erros envolvidos so os presentes nos dados, diga: a) Qual o intervalo de tabulao que se deve usar na tabela de co-senos? b) Aproximadamente quantos decimais exactos tm as entradas desta tabela? c) Em face dos resultados, acha que o mtodo sugerido para obter a tabela de co-senos aconselhvel? 19. Deduza as seguintes frmulas de Markov que permitem exprimir as derivadas da funo f em termos das diferenas progressivas hf (x0 ) = h2 f (x0 ) = 1 1 1 2 + 3 4 + f (x0 ) 2 3 4 11 5 2 3 + 4 5 + f (x0 ) 12 6

Sugesto: Talvez ajude recordar a expresso (2.5.18). 20. Deduza estimativas do erro para os casos tratados no Exemplo 3.3.1:
2 a) Dh x(0.0); 2 b) Dh x(0.6). Que diculdade surge neste caso?

21. Na soluo numrica de equaes diferenciais h necessidade de aproximar por diferenas nitas termos do tipo (a(x)u (x)) . a) Prove que, com um erro de O(h2 ), (au ) i 1 a ui+1 (ai+1/2 + ai1/2 )ui + ai1/2 ui1 h2 i+1/2

b) Diga se h ou no convergncia quando h 0 no caso (au ) i 1 ai+1 + ai ai + ai1 ui+1 2ai ui + ui1 h2 2 2

160

Derivao numrica

22. Calcule, pelo mtodo sugerido no Exemplo 3.4.2, as matrizes de derivao: a) das terceiras derivadas para o caso n = 3; b) das terceiras derivadas para o caso n = 4; c) das quartas derivadas para o caso n = 4. Sugesto: Talvez ajude tirar partido da Tabela 3.3.1. 23. a) Obtenha uma frmula de aproximao para f (x) com um erro O(h4 ) a partir da frmula das diferenas centrais melhorada por aplicao da extrapolao de Richardson usando passos h e rh. b) Aplique-a ao caso de f (0) com f (x) = ln(1+x), h = 0.01, r = 0.25 e compare o resultado com o valor exacto. c) Considere o caso particular r = 1/2. A frmula resultante coincide com alguma das listadas na Tabela 3.3.1? 24. Em muitas circunstncias til conhecer a taxa de convergncia das derivadas do polinmio interpolador pn para as derivadas da funo interpolada f quando o intervalo de interpolao = [a, b] diminui de comprimento. a) Seja ento pn o polinmio de grau n que interpola f C n+1 [a, b] em n+1 ns distintos. (m) Demonstre que pn interpola f (m) em n + 1 m pontos distintos. f (m) p(m) n cn,m (b a)n+1m f (n+1)

b) Obtenha a estimativa

em que cn,m > 0 uma constante que pode depender de n e m mas no de f .

Captulo 4 Integrao numrica


Este captulo vai tratar do clculo de valores aproximados de integrais de uma funo real de varivel real e, tal como o Captulo 3, far uso intensivo da interpolao polinomial.

4.1

Introduo

Designaremos de um modo geral por integrao numrica o processo de obter valores aproximados para o integral de uma funo f no intervalo = [a, b] da recta real R, ou seja, obter aproximaes para I(f ; ) =
b a

f (x) dx

Admitiremos naturalmente que a funo integranda f integrvel ( Riemann) no inter valo = [a, b]. No presente captulo, exceptuando a Seco 4.8, onde o caso de intervalos innitos merecer um tratamento especco, ser sempre suposto limitado. Se o intervalo de integrao for bvio ou se a integranda tambm no oferecer dvidas, usaremos as notaes mais aligeiradas I(f ) ou, simplesmente, I. A necessidade de se recorrer a mtodos aproximados para calcular I provm normalmente de uma das seguintes situaes: A expresso analtica de f no conhecida o que acontece quando esta funo dada por tabelas ou obtida por medies de grandezas fsicas; A expresso analtica de f dada, mas a primitiva desta funo ou no conhecida e, portanto, a forma usual de determinao do integral no vivel; ou conhecida mas demasiado complicada e, portanto, esta forma no se revela econmica; 161

162

Integrao numrica

ou, simplesmente, no tem expresso fechada. No presente captulo vamos estudar alguns dos mtodos mais correntes de integrao numrica que permitem resolver as diculdades acabadas de mencionar. Como sucede com a derivao numrica, a chave para a soluo do problema consiste essencialmente em aproximar a funo f por outra funo cujo integral seja fcil de calcular. Este objectivo conseguido recorrendo, por exemplo, a polinmios interpoladores de f . Assim, seja pn o polinmio interpolador de grau n da funo f nos ns distintos x0 < x1 < < xn , pertencentes ao intervalo . Denindo h por h = max |xi xi1 |
1in

razovel esperar que o valor Ih (f ) = I(pn ) seja, sob certas condies, um valor aproximado de I(f ). Nomeadamente, o erro cometido neste processo em que a ltima passagem se justica pela linearidade do operador de integrao. Como vemos, o erro depende da maior ou menor aproximao do polinmio pn a f e adiante apresentaremos estimativas desta importante grandeza. Mudana do intervalo de integrao Muitas vezes necessrio aplicar uma mudana de varivel no integral. Uma das nalidades deste procedimento no contexto da integrao numrica a de transformar o intervalo de integrao [a, b] num dos intervalos normalizados ou de referncia usuais [1, 1] ou [0, 1]. Assim, seja T uma transformao de variveis que permite transformar o intervalo [, ] no intervalo [a, b], o que se costuma indicar pela notao x = T ()
b a

Eh (f ) = I(f ) Ih (f ) = I(f ) I(pn ) = I(f pn )

e admitamos que esta transformao bijectiva. Ento, como sabemos do Clculo, I= f (x) dx =

com T : [, ] [a, b] f (T ())J() d

(4.1.1)

em que J() = T () o jacobiano da transformao. A menos que haja motivos que aconselhem a proceder diferentemente, em geral suciente tomar T como um isomorsmo, i.e., uma transformao linear invertvel. Registamos, para futuro uso, as frmulas de transformao aplicveis neste caso: se [, ] = [1, 1] se [, ] = [0, 1] T () = a(1 )/2 + b(1 + )/2 J() = (b a)/2 T () = a(1 ) + b J() = b a (4.1.2) (4.1.3)

4.2 Regras bsicas

163

4.2

Regras bsicas

Seja, como habitualmente, pn o polinmio de grau n que interpola a funo f nos ns distintos x0 , x1 , . . . , xn pertencentes a . Recordando o que dissemos na Subseco 2.3.1, este polinmio pode representar-se na seguinte forma
n

pn (x) =
i=0

f (xi )Li (x)

em que os Li so os polinmios de Lagrange associados a estes ns. Sendo assim, fcil ver que Ih (f ) = I(pn ) = Pondo Ai = podemos escrever que Ih (f ) =
i=0 b a n

pn (x) dx =
i=0 b a

f (xi )

b a

Li (x) dx

Li (x) dx
n

(4.2.1)

Ai f (xi )

(4.2.2)

Esta expresso costuma designar-se por regra de integrao ou frmula de quadratura, e os Ai por coecientes ou pesos dessa regra. Consoante o valor de n e a localizao dos ns no intervalo , assim se obtm diferentes regras de integrao. Como vemos, o clculo exacto do integral foi substitudo pelo clculo de uma soma ponderada de valores da funo integranda. O emprego de polinmios interpoladores para construir regras de integrao justica que se introduza o seguinte conceito. Denio 4.2.1 Uma regra de integrao diz-se de grau (de exactido) d se integrar exactamente todos os polinmios de grau d e existir pelo menos um polinmio de grau d + 1 que no por ela integrado exactamente. Como veremos oportunamente, o grau de uma regra de integrao est intimamente relacionado com a sua preciso. Uma concluso imediata a de que o grau de exactido da frmula (4.2.2) quando os pesos so calculados pela expresso (4.2.1) , por construo, n. Um majorante para o grau de exactido de uma regra do tipo (4.2.2) estabelecido pelo teorema seguinte. Teorema 4.2.1 O grau de exactido de uma regra de integrao Ih da forma (4.2.2) que utilize os n + 1 ns distintos x0 , x1 , . . . , xn no pode exceder 2n + 1. Demonstrao Consideremos o polinmio nodal Wn (x) = (x x0 )(x x1 ) (x xn )

164

Integrao numrica

Ento, evidente que


2 Ih (Wn ) = 0

mas, por outro lado,


2 I(Wn ) = b a

(Wn (x))2 dx > 0

2 2 Logo, a funo Wn no pode ser integrada exactamente por esta regra. Como Wn um polinmio de grau 2(n + 1) = 2n + 2, a concluso segue-se imediatamente. Uma questo que tem interesse a de saber se este valorlimite para o grau de exactido pode ser realizado por alguma regra. A resposta armativa, mas os pormenores s podero ser dados mais adiante, quando abordarmos o estudo das regras de Gauss.

4.2.1

Deduo das frmulas

Vamos deduzir alguns casos particulares de regras de integrao, correspondentes a diferentes escolhas de polinmios interpoladores. Regras do rectngulo Comecemos pelo caso mais simples, o do polinmio de grau n = 0 que interpola a funo f no ponto x0 . Ento, p0 (x) = f (x0 ) e, portanto, Ih (f ) = I(p0 ) =
b a

f (x0 ) dx = (b a)f (x0 )

O valor exacto do integral foi deste modo substitudo pelo valor da rea de um rectngulo de lado b a e altura f (x0 ). Por este motivo estas frmulas de integrao so conhecidas por regras do rectngulo. Se zermos coincidir x0 com o extremo esquerdo do intervalo, i.e., x0 = a, obtemos a regra do rectngulo esquerda Ih (f ) = (b a)f (a) Se tomarmos x0 = b teremos naturalmente a regra do rectngulo direita Ih (f ) = (b a)f (b) fcil vericar que ambas estas regras do rectngulo possuem grau zero. (4.2.4) (4.2.3)

4.2 Regras bsicas

165

f (x)

f (x)

y = f (x)

a+b

Figura 4.2.1: Interpretao geomtrica das regras do rectngulo esquerda, do rectngulo direita e do ponto mdio Regra do ponto mdio Uma outra escolha natural ser fazer x0 = (a + b)/2, obtendo-se a regra do ponto mdio Ih (f ) = (b a)f ( a+b ) 2 (4.2.5)

Conforme se pode vericar, esta regra de grau um. Esta ocorrncia serve tambm como alerta para o facto de que o grau de exactido de uma regra de integrao no tem de coincidir necessariamente com o grau do polinmio interpolador utilizado na sua construo, embora esteja com ele naturalmente relacionado. A Figura 4.2.1 mostra esquematicamente o signicado geomtrico das regras do rectngulo e do ponto mdio. Regra do trapzio Se passarmos aos polinmios interpoladores de grau n = 1 cuja forma de Newton p1 (x) = f (x0 ) + f [x0 , x1 ](x x0 ) teremos que Ih (f ) = I(p1 ) =
b a

1 = (b a) f (x0 ) + f [x0 , x1 ](b + a 2x0 ) 2 Escolhendo x0 = a e x1 = b, obtemos a regra do trapzio Ih (f ) = ba [f (a) + f (b)] 2

[f (x0 ) + f [x0 , x1 ](x x0 )] dx

(4.2.6)

A justicao desta designao encontra-se patente na Figura 4.2.2. Tambm no difcil concluir que o grau desta regra um.

166

Integrao numrica

y y
=

y f (x)

f (x)

a+b

Figura 4.2.2: Interpretao geomtrica das regras do trapzio e de Simpson Regra de Simpson Continuando a aumentar o grau do polinmio interpolador, passamos agora ao caso n = 2. O polinmio interpolador da funo f nos pontos x0 , x1 , x2 p2 (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 ) Tomando x0 = a, x1 = (a + b)/2, x2 = b e efectuando os clculos necessrios, alis, simples, chegamos expresso Ih (f ) = I(p2 ) = a+b ba f (a) + 4f ( ) + f (b) 6 2 (4.2.7)

Esta frmula constitui a clebre regra de integrao de Simpson, que explicada gracamente na Figura 4.2.2. A sua construo garante que o respectivo grau pelo menos dois mas possvel vericar que este de facto trs, como se ver adiante. O caso geral, i.e., com ns desigualmente espaados deixado para o Problema 4.11.5. Regras de Newton-Cotes Todas as regras apresentadas at aqui tm uma caracterstica comum, que a de recorrerem a polinmios interpoladores da funo integranda em ns equidistantes no intervalo de integrao. Estas regras de integrao podem ser deduzidas de forma sistemtica e constituem a famlia de regras de Newton-Cotes. A Tabela 4.2.1 rene algumas destas regras. Uma verso mais completa pode ser consultada nas referncias ABRAMOWITZ and STEGUN (1968) e KOPAL (1961). Como podemos observar, a partir das regras com n = 8 aparecem pesos com sinais positivos e negativos. Do ponto de vista do efeito dos erros de arredondamento, esta caracterstica nociva j que promove o aparecimento de cancelamento subtractivo. Por esta razo, as frmulas de Newton-Cotes de grau elevado no so muito aconselhveis.

4.2 Regras bsicas

167

Tabela 4.2.1: Frmulas de Newton-Cotes Ih (f ) = ba d


n

ai f (xi ) ,
i=0

xi = a + i(b a)/n

NOTA: Os coecientes ai so simtricos, i.e., ani = ai .

n d a0 a1 a2 a3 a4 1 2 1 2 6 1 4 3 8 1 3 90 7 32 12 4 5 288 19 75 50 6 840 41 216 27 272 7 17280 751 3577 1323 2989 8 28350 989 5888 928 10496 4540

4.2.2

Erros de integrao

Para poder escolher qual a regra de integrao a utilizar num dado caso concreto conveniente dispor de estimativas do erro cometido que possam orientar essa escolha. Como vimos em 2.4.1, o polinmio interpolador satisfaz a relao f (x) = pn (x) + f [x0 , x1 , . . . , xn , x]Wn (x) com Wn (x) = (x x0 )(x x1 ) (x xn ). Ento, o erro de integrao dado por Eh (f ) = I(f ) Ih (f ) =
b a

f [x0 , x1 , . . . , xn , x]Wn (x) dx

(4.2.8)

H duas situaes tpicas e com interesse prtico em que esta expresso pode sofrer uma simplicao notvel, as quais passamos a descrever. A primeira ocorre quando o polinmio Wn no muda de sinal no intervalo . Neste caso, invocando o teorema do valor mdio para integrais, podemos dizer que Eh (f ) = f [x0 , x1 , . . . , xn , ]
b a

Wn (x) dx,

eta

(4.2.9)

Admitindo que f C n+1 (), por fora do Teorema 2.4.1, vem que Eh (f ) = 1 f (n+1) () (n + 1)!
b a

Wn (x) dx

(4.2.10)

168

Integrao numrica

Uma concluso imediata que podemos extrair desta expresso a de que o grau de exactido das respectivas regras de integrao igual a n, coincidente, portanto, com o grau do polinmio interpolador utilizado na sua construo. A segunda situao a que aludimos acima verica-se quando
b a

Wn (x) dx = 0

(4.2.11)

Neste caso estamos impedidos de recorrer ao teorema do valor mdio para simplicar a expresso (4.2.8). Todavia, tendo em ateno a denio e a propriedade de simetria (ver o Problema 2.10.24) das diferenas divididas, podemos empregar a identidade facilmente vericvel f [x0 , x1 , . . . , xn , x] = f [x0 , x1 , . . . , xn , xn+1 ] + f [x0 , x1 , . . . , xn , xn+1 , x](x xn+1 ) em que xn+1 um ponto arbitrrio cuja especicao ser feita mais adiante. Introduzindo esta relao em (4.2.8), temos que Eh (f ) =
b a

f [x0 , x1 , . . . , xn , xn+1 ]Wn (x) dx


b a

f [x0 , x1 , . . . , xn , xn+1 , x](x xn+1 )Wn (x) dx

e, tendo em ateno a hiptese (4.2.11), Eh (f ) =


b a

f [x0 , x1 , . . . , xn , xn+1 , x]Wn+1 (x) dx

em que Wn+1 (x) = Wn (x)(x xn+1 ). Se for possvel escolher xn+1 de modo a que Wn+1 possua um nico sinal em , podemos novamente aplicar o teorema do valor mdio ao integral no segundo membro da expresso acima, vindo Eh (f ) = f [x0 , x1 , . . . , xn+1 , ] Se f C n+2 (), ento conclumos que Eh (f ) = 1 f (n+2) () (n + 2)!
b a b a

Wn+1 (x) dx

(4.2.12)

Wn+1 (x) dx

(4.2.13)

O grau de exactido da frmula agora igual a n + 1, uma unidade superior ao do grau do polinmio usado na construo da regra de integrao, o que pode ser considerado um bnus inesperado se a regularidade da integranda f assim o permitir. Apliquemos estas estimativas de erro s regras de integrao mais usuais.

4.2 Regras bsicas

169

Regras do rectngulo. Temos neste caso que n = 0 com W0 (x) = x a para a regra do rectngulo esquerda, e W0 (x) = xb para a regra do rectngulo direita. Em ambos os casos W0 no muda de sinal em , pelo que podemos aplicar a expresso (4.2.10), vindo para a regra do rectngulo esquerda Eh (f ) = f ()
b a

1 (x a) dx = f ()(b a)2 2

(4.2.14)

e para a regra do rectngulo direita, Eh (f ) = f ()


b a

1 (x b) dx = f ()(b a)2 2

(4.2.15)

Para a regra do ponto mdio vem que W0 (x) = x x0 em que x0 = (a + b)/2 e, portanto, esta funo muda de sinal no intervalo . Contudo,
b a

W0 (x) dx =

b a

(x x0 ) dx = 0

pelo que podemos tentar a segunda variante da anlise do erro apresentada atrs. Escolhendo x1 = x0 resulta que W1 (x) = (x x0 )2 pelo que esta funo de sinal nico (positivo) no intervalo . Logo, estamos em condies de aplicar a expresso (4.2.13), vindo Eh (f ) = 1 f ()(b a)3 24 (4.2.16)

A regra do ponto mdio tem, pois, grau de exactido igual a um. Regra do trapzio. Como neste caso W1 (x) = (x a)(x b) tem um nico sinal no intervalo e b b 1 W1 (x) dx = (x a)(x b) dx = (b a)3 12 a a resulta que 1 Eh (f ) = f ()(b a)3 (4.2.17) 12 Assim, a regra do trapzio de grau um, tal como a do ponto mdio. Por outro lado, uma comparao das expresses dos erros destas duas frmulas (4.2.16) e (4.2.17) no favorece a regra do trapzio, j que esta necessita de dois valores da integranda contra apenas um da regra do ponto mdio para uma estimativa de erro que at pior. Deste modo parece no haver qualquer vantagem da regra do trapzio quando comparada com a do ponto mdio. No entanto, h situaes em que tal concluso no verdadeira, nomeadamente no caso das regras compostas a considerar mais adiante.

170

Integrao numrica

Regra de Simpson. Temos agora que W2 muda de sinal em , mas


b a

W2 (x) dx =

b a

(x a)(x

a+b )(x b) dx = 0 2

Fazendo x3 = x1 = resulta que

a+b 2
2

a+b W3 (x) = (x x0 )(x x1 )(x x2 )(x x3 ) = (x a) x 2

(x b)

uma funo com sinal nico (negativo) no intervalo . Ento, efectuando os clculos necessrios,
b a

W3 (x) dx =

b a

(x a) x

a+b 2

(x b) dx =

1 (b a)5 120

e, por conseguinte,

1 (4) f ()(b a)5 (4.2.18) 2880 O grau de exactido da regra de Simpson , portanto, trs, uma unidade acima do grau do polinmio usado na sua construo. Eh (f ) = Exemplo 4.2.1 Calcular um valor aproximado do seguinte integral I=
1 0

exp(x2 ) dx

pelas regras: a) do rectngulo esquerda; b) do rectngulo direita; c) do ponto mdio; d) do trapzio; e) de Simpson. Determinar o erro cometido. (Nota: Em ABRAMOWITZ and STEGUN (1968) I = 0.74682413)
a) Regra do rectngulo esquerda. A expresso (4.2.3) fornece imediatamente Ih (f ) = (b a)f (a) = f (0) = 1.0 O erro, calculado directamente pela diferena entre o valor exacto e o valor aproximado, Eh (f ) = 0.7468243 1.0 = 0.2531759 b) Regra do rectngulo direita. Pela expresso (4.2.4) e de modo idntico temos que Ih (f ) = (b a)f (b) = f (1) = 0.3789447

Eh (f ) = 0.3789303

4.3 Regras com valores das derivadas

171

c) Regra do ponto mdio. A expresso (4.2.5) permite obter a+b ) = f (0.5) = 0.7788008 2 Eh (f ) = (0.3197667)101 Ih (f ) = (b a)f ( d) Regra do trapzio. Utilizando a expresso (4.2.6) obtemos ba [f (a) + f (b)] = 0.5[f (0) + f (1)] = 0.6839397 2 Eh (f ) = (0.6288441)101 Ih (f ) = e) Regra de Simpson. Pela expresso (4.2.7) vem que ba a+b [f (a) + 4f ( ) + f (b)] 6 2 1 [f (0) + 4f (0.5) + f (1)] = 0.7471806 = 6 Eh (f ) = (0.3562990)103 Ih (f ) = Como era de esperar, a regra de Simpson produz o melhor resultado. No deixa de ser interessante vericar que os erros das regras do ponto mdio e do trapzio esto sensivelmente na proporo indicada pelas respectivas expresses dos erros (4.2.16) e (4.2.17).

4.3

Regras com valores das derivadas

Todas as regras de integrao deduzidas at aqui foram construdas recorrendo a polinmios interpoladores da funo integranda. Porm, nada impede o emprego de polinmios que interpolem tambm as derivadas da funo integranda. Para exemplicar, consideremos o caso da interpolao de Hermite em que a integranda e a sua primeira derivada so interpoladas nos ns distintos x0 , x1 , . . . , xn . Recordando o que se disse na Seco 2.6.1, o polinmio interpolador para este caso escreve-se
n

p2n+1 (x) =
i=0

[Ui (x)f (xi ) + Vi (x)f (xi )]

Ento, I(p2n+1 ) =

n i=0

[Ai f (xi ) + Bi f (xi )]


b a

com Ai =

b a

Ui (x) dx e Bi =

Vi (x) dx

Vericamos, assim, que aparecem agora dois conjuntos de pesos Ai e Bi associados respectivamente aos valores da integranda e aos valores da sua derivada.

172

Integrao numrica

Para exemplicar a construo desta nova famlia de regras, consideremos o caso em que se tomam para ns os extremos do intervalo [1, 1]. Uma vez obtidas as expresses para este intervalo, podemos, atravs das transformaes (4.1.1) e (4.1.2), pass-las para um intervalo [a, b] qualquer. As expresses dos polinmios Ui e Vi foram obtidas no Exemplo 2.6.1, pelo que simples integraes fornecem os pesos 1 4 1 1 1 A1 = U1 (x) dx = 4 1 1 1 B0 = V0 (x) dx = 4 1 1 1 B1 = V1 (x) dx = 4 1 A0 =
1

U0 (x) dx =

1 1 1 1 1 1 1 1

(2 + x)(x 1)2 dx = 1 (2 x)(x + 1)2 dx = 1 (x + 1)(x 1)2 dx = 1 3 1 3

(x 1)(x + 1)2 dx =

Ento,

1 1 Ih (f ) = f (1) + f (1) + f (1) f (1) 3 3 No oferece diculdade vericar que, para o intervalo [a, b], esta frmula conduz expresso ba (b a)2 Ih (f ) = [f (a) + f (b)] + [f (a) f (b)] (4.3.1) 2 12 A leitura do segundo membro desta igualdade mostra-nos que esta regra pode ser considerada uma regra do trapzio a que se adicionou uma correco correspondente ao termo envolvendo as derivadas. Por este motivo, a regra (4.3.1) por vezes conhecida como regra do trapzio corrigida. O erro desta regra dado pela seguinte expresso, cuja demonstrao deixamos como exerccio, (b a)5 (4) Eh (f ) = f () (4.3.2) 720 Trata-se, como se v, de uma regra de grau trs. Atendendo s diculdades que o clculo de derivadas frequentemente apresenta, as regras de integrao que recorrem a valores das derivadas no so to utilizadas como as que envolvem apenas valores da funo integranda. Dito por outras palavras, s nos casos em que f (a) e f (b) forem de clculo fcil que a regra do trapzio corrigida se agura vantajosa (ver, no entanto, a Seco 4.5 onde se descreve uma situao interessante para esta regra).

4.4

Regras de Gauss

A construo das regras de integrao deduzidas at aqui envolvia as seguintes fases: xao do nmero e localizao dos ns, determinao do polinmio interpolador e clculo

4.4 Regras de Gauss

173

dos pesos. Foi possvel deste modo obter regras cujo grau de exactido era igual ou superior em uma unidade ao grau do polinmio interpolador utilizado na sua construo. No entanto, o Teorema 4.2.1 deixa aberta a possibilidade de conseguir graus de exactido iguais a 2n 1 com frmulas de n ns. O objectivo desta seco o de mostrar como que tais regras podem ser construdas.

4.4.1

Deduo das frmulas


n

Assim, procuraremos deduzir frmulas do tipo1 Ih (f ) =


i=1

Ai f (xi )

(4.4.1)

que possuam o maior grau possvel. A ideiachave para obter estas frmulas de mximo grau consiste em no xar a priori a localizao dos ns, mas jogar com esta localizao no sentido de obter o grau de exactido mximo. Ficamos assim com 2n parmetros nossa disposio, os n ns xi e os n pesos Ai da expresso (4.4.1), os quais podero ser determinados de modo a que esta regra integre exactamente todos os polinmios de grau 2n 1. As regras de integrao assim deduzidas so conhecidas genericamente por regras de Gauss. Este objectivo realizvel. Se recorrermos ao polinmio osculador para aproximar f temos que (recordar o que se disse na Seco 4.3),
n

Ih (f ) =
i=1

[Ai f (xi ) + Bi f (xi )]

(4.4.2)

com Ai = Bi =
b a b a

Ui (x) dx = Vi (x) dx =

b a b a

[1 2Li (xi )(x xi )] L2 (x) dx i

(4.4.3) (4.4.4)

(x xi )L2 (x) dx i

Pela prpria forma como foram estabelecidas, estas regras so de grau 2n1. Uma questo que se pode levantar a seguinte: ser possvel dispor os ns de integrao x1 , . . . , xn de modo a que os pesos Bi que afectam os valores das derivadas se anulem? Se assim for, teremos obtido uma regra de integrao com n pontos e de grau 2n 1, o qual , de acordo com o Teorema 4.2.1, o mximo possvel com frmulas do tipo (4.4.1). Ora, recorrendo expresso (2.3.5) e denotando por n o polinmio nodal n (x) = (x x1 ) (x xn )
1

Nesta seco os pontos de integrao sero x1 , . . . , xn e no x0 , x1 , . . . , xn , como nas seces anteriores.

174

Integrao numrica

resulta que o anulamento dos pesos Bi implica que Bi = 1 (x ) n i


b a

Li (x)n (x) dx = 0,

i = 1, . . . , n

(4.4.5)

Esta expresso mostra que o polinmio nodal n deve ser ortogonal a todos os polinmios de Lagrange Li . Como estes polinmios formam uma base de Pn1 (), conclui-se daqui que n deve ser ortogonal a todos os polinmios de grau n 1. Dito por outras palavras: os pontos de integrao xi das regras de Gauss so os zeros de certos polinmios ortogonais. Uma propriedade vantajosa das regras de Gauss, a juntar s j reveladas, e que contrasta com as regras de Newton-Cotes, a seguinte. Teorema 4.4.1 Os pesos das regras de Gauss so positivos, i.e., Ai > 0, i = 1, . . . , n

Demonstrao Tendo em ateno a condio (4.4.5) de anulamento dos pesos Bi , a expresso (4.4.3) simplica-se para Ai =
b a

L2 (x) dx i

(4.4.6)

o que implica de imediato que Ai > 0. A expresso (4.4.6) pode parecer estar em contradio com (4.2.1). Tal no o caso, conforme se pode demonstrar (ver o Problema 4.11.11). O resultado do Teorema 4.4.1 geral, i.e., no depende do facto de termos tomado como ponto de partida a expresso (4.4.2) para construir a regra de integrao. O teorema seguinte vai conrmar esta assero. Teorema 4.4.2 Para que a regra (4.4.1) possua um grau de exactido igual a 2n 1, necessrio e suciente que o polinmio nodal n satisfaa a relao
b a

n (x)q(x) dx = 0,

q Pn1 ()

i.e., seja ortogonal a todos os polinmios q de grau n 1. Demonstrao Comecemos pela condio de necessidade, ou seja, a de que, se a regra for de grau 2n 1, ento a expresso do enunciado tem de ser verdadeira. Seja ento q um polinmio de grau n 1. A funo n (x)q(x) um polinmio de grau 2n 1 e a regra (4.4.1) deve integr-la exactamente, pelo que
b a n

n (x)q(x) dx =
i=1

Ai n (xi )q(xi ) = 0

4.4 Regras de Gauss

175

pois, por construo, n (xi ) = 0 para todos os pontos de integrao. Passemos agora condio de sucincia. Seja p um polinmio qualquer de grau 2n 1 e escrevamo-lo na forma p(x) = n (x)q(x) + r(x) em que q o quociente da diviso de p por n , e r, o resto. claro que q e r so polinmios de grau n 1 e que p(xi ) = r(xi ) , i = 1, . . . , n. Por outro lado, atendendo ortogonalidade de n relativamente aos q, temos que
b a

p(x) dx =

b a

n (x)q(x) dx +

b a

r(x) dx =

b a

r(x) dx (4.4.7)

donde se conclui que I(p) = I(r) A regra (4.4.1), uma vez que obtida custa do polinmio interpolador nos ns x1 , . . . , xn , exacta para todos os polinmios de grau n 1, qualquer que seja a localizao destes ns no intervalo , desde que os pesos sejam apropriadamente calculados. Por isso
n n

I(r) = Ih (r) =
i=1

Ai r(xi ) =
i=1

Ai p(xi ) = Ih (p)

(4.4.8)

Mas, conjugando as expresses (4.4.7) e (4.4.8), vem que I(p) =


b a n

p(x) dx =
i=1

Ai p(xi ) = Ih (p)

o que prova que a regra (4.4.1) exacta para todos os polinmios de grau 2n 1. Podemos resumir o que acabmos de demonstrar dizendo que os ns de integrao das regras de Gauss devem ser os zeros do polinmio mnico de grau n, que ortogonal a Pn1 (). Estes polinmios ortogonais so os polinmios de Legendre, cujas propriedades sero estudadas no Captulo 11. De momento basta-nos referir que o polinmio de Legen dre de grau n associado ao intervalo possui n zeros reais e distintos situados no interior deste intervalo. Assim, o problema de determinar os n ns de integrao foi transferido para o clculo dos zeros do polinmio de Legendre de grau n. Uma vez na posse destes zeros, os pesos de integrao podem determinar-se pela expresso (4.2.1).

4.4.2

Erros de integrao
Hn (xi ) = f (xi ) Hn (xi ) = f (xi )

Consideremos o polinmio interpolador de Hermite Hn que satisfaz as seguintes condies i = 1, . . . , n

176

Integrao numrica

O erro de interpolao com este polinmio dado por eh (x) = f (x) Hn (x) = f [x1 , x1 , . . . , xn , xn , x](n (x))2 Com a regra de Gauss com n ns Ih (f ) = I(Hn ) e o erro de integrao , portanto, expresso por Eh (f ) = I(f ) Ih (f ) =
b a

f [x1 , x1 , . . . , xn , xn , x](n (x))2 dx

Uma vez que (n (x))2 0 podemos aplicar o teorema do valor mdio, vindo Eh (f ) = f [x1 , x1 , . . . , xn , xn , ]
b a

(n (x))2 dx

Relacionando diferenas divididas com derivadas (ver o Teorema 2.3.4), chegamos seguinte igualdade para o erro das regras de Gauss Eh (f ) = cn (b a)2n+1 f (2n) () (4.4.9)

b com cn = a (n (x))2 dx/ [(b a)2n+1 (2n)!] e [a, b]. possvel demonstrar que esta constante cn toma o valor (n!)4 (4.4.10) cn = (2n + 1)((2n)!)3 A expresso (4.4.9) conrma o facto j conhecido de que as regras de Gauss com n pontos possuem um grau de exactido igual a 2n1. Estas so, pois, as regras que possuem maior grau de exactido para um dado nmero de pontos de integrao e tendero por isso a ser as mais econmicas do ponto de vista computacional. O seu emprego foi inicialmente travado pelo facto de os ns de integrao e os pesos serem nmeros irracionais, pouco atraentes quando os clculos eram feitos manualmente. Como este aspecto irrelevante quando se usam computadores, para os quais todos os nmeros so tratados da mesma maneira, as regras de Gauss tm vindo a ganhar popularidade crescente.

4.4.3

Regras de Gauss com peso

Frequentemente o integral I(f ) aparece sob uma forma ligeiramente modicada, designadamente b I(f ) = w(x)f (x) dx (4.4.11)
a

em que w uma funo peso cujas propriedades nos levam a consider-la em separado da funo f . Como supomos que w uma funo dada e xa, conveniente que a sua
2

Uma funo w denida sobre o intervalo [a, b] diz-se que uma funo peso se vericar as seguintes condies:
2

w C(a, b);

w no muda de sinal;

0<

b a

w(x) dx < .

4.4 Regras de Gauss

177

inuncia nas regras de integrao se faa atravs dos pesos, mantendo a forma (4.4.1). A deduo das regras de Gauss para este caso no difere substancialmente do descrito atrs, pelo que nos limitamos a listar os casos mais vulgares. Regras de Gauss-Legendre. Estas regras correspondem ao caso em que (4.4.12)

w(x) = 1 e [a, b] = [1, 1]

Este precisamente o caso que estudamos em pormenor, notando apenas o emprego do intervalo normalizado [1, 1]. Os polinmios ortogonais associados a esta funo peso e a este intervalo so, como se disse, os polinmios de Legendre, razo pela qual estas regras so conhecidas como regras de Gauss-Legendre. Na Tabela 4.4.1 apresentamos os valores dos ns e dos pesos para algumas destas regras. As referncias STROUD (1971), ABRAMOWITZ and STEGUN (1968) e KRYLOV (1962) contm tabelas mais completas.

Regras de Gauss-Jacobi.

Estas regras correspondem ao caso , > 1, [a, b] = [1, 1] (4.4.13)

w(x) = (1 x) (1 + x) ,

Os polinmios ortogonais associados so os polinmios de Jacobi, pelo que estas regras so conhecidas pelo nome de regras de Gauss-Jacobi . Regras de Gauss-Chebyshev de primeira espcie. Quando se tomam na regra de Gauss-Jacobi = = 1/2, obtm-se a funo peso w(x) = (1 x2 )1/2 (4.4.14)

cujos polinmios ortogonais associados so os polinmios de Chebyshev de primeira espcie Tn . Os ns de integrao so, como vimos, os zeros destes polinmios que, conforme demonstrmos em 2.4.2, so dados por xi = cos 2i 1 , 2n i = 1, . . . , n

sendo os pesos da regra de integrao obtidos por Ai = Curiosamente, os pesos so todos iguais. n

178

Integrao numrica

Tabela 4.4.1: Abcissas e pesos das regras de Gauss-Legendre no intervalo [1, 1]


NOTA: Os pontos de integrao esto dispostos simetricamente em relao origem, pelo que s se apresentam as abcissas positivas.

n 1 2 3 4 5 6

10

xi 0 3/3 0 3/5 1/2 (3 4.8)/7 0 1/2 5 40/7 /3 0.2386191861 0.6612093865 0.9324695142 0 0.4058451514 0.7415311856 0.9491079123 0.1834346425 0.5255324099 0.7966664774 0.9602898565 0 0.3242534234 0.6133714327 0.8360311073 0.9881602395 0.1488743390 0.4333953941 0.6794095683 0.8650633667 0.9739065285

Ai 2 1 8/9 5/9 1 5/54 /2 128/225 3.22 1.3 0.7 /9 0.4679139346 0.3607615730 0.1713244924 0.4179591837 0.3818300505 0.2797053915 0.1294849662 0.3626837834 0.3137066459 0.2223810345 0.1012285363 0.3302393550 0.3123470770 0.2606106964 0.1806481607 0.0812743883 0.2955242247 0.2692667193 0.2190863625 0.1494513492 0.0666713443

4.4 Regras de Gauss

179

Regras de Gauss-Chebyshev de segunda espcie. Quando se tomam na regra de Gauss-Jacobi = = 1/2, obtm-se a funo peso cujos polinmios ortogonais associados so os polinmios de Chebyshev de segunda espcie. Os ns de integrao so, como vimos, os zeros destes polinmios que so dados por i+1 xi = cos , i = 1, . . . , n n+1 sendo os pesos da regra de integrao dados por Ai = Regras de Gauss-Laguerre. i+1 sin n+1 n+1
2

w(x) = (1 x2 )1/2

(4.4.15)

Neste caso, a funo peso e o intervalo de integrao so > 1, [a, b] = [0, +) (4.4.16)

w(x) = x exp(x),

Os polinmios ortogonais associados so os polinmios de Laguerre, e, portanto, estas regras so designadas por regras de Gauss-Laguerre. Regras de Gauss-Hermite. A funo peso e o intervalo so w(x) = exp(x2 ), [a, b] = (, +) (4.4.17) Os polinmios ortogonais associados so os polinmios de Hermite, pelo que estas regras so designadas por regras de Gauss-Hermite. Exemplo 4.4.1 Aplicar a regra de Gauss-Legendre com 3 pontos ao clculo de I(f ) =
1 0

cos x dx

Como as regras de Gauss-Legendre da Tabela 4.4.1 se referem ao intervalo [1, 1] h que proceder transformao de varivel estipulada em (4.1.2). Aps alguns clculos simples obtemos neste caso que x = (1 + )/2, e, por conseguinte, I(f ) = Os pontos e pesos de integrao so 1 2
1

cos
1

1+ d 2

1 = 3/3, A1 = 5/9 2 = 0, A2 = 8/9 3 = 3/3, A3 = 5/9

1 Ih (f ) = [A1 f (1 ) + A2 f (2 ) + A3 f (3 )] = 0.8414714 2 Como I(f ) = 0.8414710, o erro cometido Eh (f ) = (0.4)106 . A estimativa (4.4.9) permite obter |Eh (f )| (0.50)106 , que um valor bastante realista.

Portanto,

180

Integrao numrica

4.4.4

Regras de Gauss com ns nos extremos do intervalo

Em certas situaes, a integranda f assume valores conhecidos a priori num ou em ambos os extremos do intervalo de integrao = [a, b]. Geralmente tais valores so nulos, pelo que natural querer usar esses pontos como ns de integrao j que da no advm qualquer acrscimo de custo computacional. Regras de Gauss-Radau Comecemos por estudar o caso em que se utiliza o extremo esquerdo do intervalo = [a, b] como n de integrao predenido. Neste caso, faz sentido tomar uma regra de integrao do tipo
n

Ih (f ) = Af (a) +
i=1

Ai f (xi )

O grau de exactido desta regra 2n. Para conrmar este resultado, consideremos o polinmio p = (x a)(n (x))2 de grau 2n + 1. fcil ver que Ih (p) = 0 e I(p) > 0 e que, por conseguinte, a regra no exacta para este polinmio. Para que esta regra tenha o maior grau de exactido possvel, os ns de integrao devem ser os zeros do polinmio (x a)n (x) ortogonal a Pn1 () (ver o Teorema 4.4.2). O seguinte resultado mostra como fcil construir este polinmio. Teorema 4.4.3 Seja {pi }n uma famlia de polinmios ortogonais. Ento, i=0 i (x) = pi (x) + i pi1 (x), verica i (a) = 0, i = 1, . . . , n, i = pi (a)/pi1 (a)

i Pi2 ()

Demonstrao A primeira parte do teorema evidente, bastando chamar a ateno para o facto de que pi1 (a) = 0, pois os extremos do intervalo no podem ser zeros dos polinmios ortogonais. A segunda parte demonstra-se vericando que, p Pi2 (),
b a

w(x)i (x)p(x) dx =

b a

w(x)pi (x)p(x) dx + i

b a

w(x)pi1 (x)p(x) dx = 0

pois pi , pi1 Pi2 (). Seja p P2n (), o qual escreveremos da seguinte maneira, p = n+1 q + r, com q Pn1 (), r Pn2 () Um raciocnio semelhante ao utilizado na demonstrao do Teorema 4.4.2 (ver o Problema 4.11.12) permite concluir que a regra de integrao proposta tem grau de exactido igual a 2n.

4.4 Regras de Gauss

181

Estas regras de integrao so conhecidas pela designao de regras de Gauss-Radau. Consoante a funo peso w utilizada, assim teremos regras de Gauss-Legendre-Radau, regras de Gauss-Chebyshev-Radau, etc. Exemplo 4.4.2 Deduzir a frmula de Gauss-Legendre-Radau para o intervalo [1, 1] e n=2.
Trata-se de obter as abcissas e os pesos da frmula de integrao
b

I(f ) =
a

f (x)p(x) dx Ih (f ) = Af (1) + A1 f (x1 ) + A2 f (x2 )

Os ns de integrao so, como se disse acima, os zeros do polinmio de grau 3 ortogonal a P2 () que tem 1 como zero pois este ponto de integrao xado a priori neste tipo de regras. Pelo Teorema 4.4.3, podemos escrever que 3 (x) = P3 (x) + 3 P2 (x), 3 = P3 (1)/P2 (1)

em que os Pi so os polinmios de Legendre (ver a Tabela 11.2.1). Ento, 3 (x) = Os zeros deste polinmio so x1 = 1, 1 x2 = (1 6), 5 1 x3 = (1 + 6) 5 1 1 (5x3 3x) + (3x3 1) 2 2

A determinao dos pesos pode fazer-se estabelecendo o sistema de equaes Ih (xi ) = I(xi ), com i = 0, . . . , 2, ou seja, A + A1 + A2 = 2 A + A1 x1 + A2 x2 = 0 A + A1 x2 + A2 x2 = 2/3 1 2

Trata-se de um sistema de equaes algbricas lineares fcil de resolver. A sua soluo A= O grau desta regra 4. 2 , 9 A1 = 1 (16 + 6), 18 A2 = 1 (16 6) 18

Regras de Gauss-Lobatto Quando se tomam ambos os extremos do intervalo de integrao = [a, b] como ns de integrao predenidos, somos levados a considerar regras do tipo
n

Ih (f ) = Af (a) + Bf (b) +
i=1

Ai f (xi )

182

Integrao numrica

O grau de exactido desta regra 2n + 1. Para conrmar este resultado, e semelhana do que zemos atrs, consideremos o polinmio p = (x a)(x b)(n (x))2 de grau 2n + 2. fcil ver que Ih (p) = 0 e I(p) > 0, o que mostra que a regra no exacta para este polinmio. Para que esta regra tenha o maior grau de exactido possvel, os ns de integrao devem ser os zeros do polinmio (x a)(x b)n (x) ortogonal a Pn1 () (ver o Teorema 4.4.2). O seguinte resultado no deve constituir surpresa. Teorema 4.4.4 Seja {pi }n uma famlia de polinmios ortogonais. Ento, i=0 i (x) = pi (x) + i pi1 (x) + i pi2 (x), com i e i apropriados, verica i (a) = i (b) = 0, i Pi3 () i = 2, . . . , n

Demonstrao A demonstrao anloga do teorema anterior. Seja agora p P2n+1 (), o qual escreveremos da seguinte maneira, p = n+2 q + r, com q Pn1 (), r Pn2 ()

Um raciocnio semelhante ao utilizado na demonstrao do Teorema 4.4.2 (ver o Problema 4.11.12) permite chegar concluso de que a regra de integrao proposta tem grau de exactido igual a 2n + 1. Estas regras de integrao so conhecidas pela designao de regras de Gauss-Lobatto e, consoante a funo peso w utilizada, assim teremos regras de Gauss-Legendre-Lobatto, regras de Gauss-Chebyshev-Lobatto, etc.

4.5

Regras compostas

De acordo com o que vimos atrs, a busca de maior preciso passa pela utilizao de frmulas de grau cada vez maior. Este modo de proceder nem sempre ser o mais indicado, pois a integranda pode no possuir a regularidade necessria que permita usufruir da plena preciso das frmulas, ou podem aparecer pesos de sinal negativo, como sucede nas regras de Newton-Cotes de grau elevado. Uma alternativa s frmulas de alto grau de exactido reside no emprego das chamadas regras compostas, cujo princpio passamos a expor. Observando as expresses do erro das vrias frmulas, vericamos que em todas elas este depende de uma certa potncia do comprimento b a do intervalo de integrao = [a, b]. Ento, uma reduo do comprimento do intervalo tender a reduzir o erro tanto mais quanto maior for o expoente de b a na expresso do erro. A explorao desta ideia conduz s regras compostas que consistem basicamente em subdividir o intervalo

4.5 Regras compostas

183

em N subintervalos i = [ai1 , ai ], com i = 1, . . . , N, a0 = a, aN = b e aplicar em cada um destes subintervalos uma das regras de integrao deduzidas atrs, ou seja, partir da propriedade do integral I(f ; ) =
b a N

f (x) dx =

ai

i=1 ai1

f (x) dx =
i=1

I(f ; i )

e calcular cada um dos N integrais do segundo membro por integrao numrica. Vejamos alguns dos casos mais utilizados supondo, nesta seco, que os subintervalos so todos de igual comprimento h = (ba)/N, i.e., as malhas so uniformes. As malhas no-uniformes no oferecem diculdades de maior. Regras do rectngulo compostas. Consideremos a regra do rectngulo esquerda. Neste caso, a frmula resultante bvia, vindo Ih (f ; ) =
N i=1

Ih (f ; ) =

hf (ai1 ) = h
i=1 i=1

f (ai1 )

(4.5.1)

O erro cometido a soma dos erros cometidos em cada subintervalo, pelo que, tendo em conta a expresso (4.2.14), podemos dizer que Eh (f ; ) =
N i=1

Eh (f ; i ) =

1 h2 f (i )h2 = 2 i=1 2

f (i )
i=1

(4.5.2)

Mas, admitindo que f C 1 () e invocando o teorema do valor mdio para somatrios de valores duma funo, podemos escrever que
N

f (i) = Nf () = f ()
i=1

ba , h

pelo que a expresso (4.5.2) se reduz a ba f ()h (4.5.3) 2 Um raciocnio totalmente semelhante leva-nos a obter as expresses equivalentes para a regra do rectngulo direita composta, as quais so Eh (f ) =
N N

Ih (f ) =
i=1

hf (ai ) = h
i=1

f (ai )

(4.5.4)

ba f ()h (4.5.5) 2 Das expresses (4.5.3) e (4.5.5) podemos concluir que, se f C 1 (), ento estas regras de integrao produzem um erro que tende para zero com h. Notemos que, ao passar da expresso do erro da frmula bsica para a frmula composta, houve um decrscimo de uma unidade no expoente de h, facto que tambm se ir vericar para as outras regras que iremos deduzir em seguida. Eh (f ) =

184

Integrao numrica

Regra do ponto mdio composta. A regra do ponto mdio composta tambm no oferece diculdade, pelo que nos limitamos a apresentar as frmulas nais,
N

Ih (f ) = h
i=1

f (ai1 + h/2)

(4.5.6) (4.5.7)

Eh (f ) =

b a f ()h2 24

A convergncia desta regra quadrtica em h para funes f C 2 (). Regra do trapzio composta. Neste caso, temos que Ih (f ) = h [f (ai1 ) + f (ai )] i=1 2
N 1 1 1 f (ai ) + f (b) f (a) + 2 2 i=1 N

=h

(4.5.8)

A circunstncia de esta regra utilizar valores da integranda nos extremos dos subintervalos faz com que o valor direita dum subintervalo coincida com o valor esquerda do subintervalo seguinte, daqui resultando uma importante economia computacional. O erro vem agora dado por b a Eh (f ) = f ()h2 (4.5.9) 12 Esta expresso, quando comparada com a equivalente (4.5.7), mostra que a regra do trapzio composta no se apresenta numa posio to desfavorvel relativamente regra do ponto mdio composta, como acontecia com as respectivas regras bsicas. Regra de Simpson composta. fcil, e deixa-se como exerccio, obter as expresses Ih (f ) = Eh (f ) = b a (4) f ()h4 2880
N 1 N h f (a) + f (b) + 2 f (ai ) + 4 f (ai1 + h/2) 6 i=1 i=1

(4.5.10) (4.5.11)

Agora, se a funo f C 4 (), o erro tende para zero com h4 , uma convergncia bastante rpida, portanto. Regra do trapzio corrigida composta. A terminar esta srie de regras compostas vamos deduzir as expresses correspondentes regra do trapzio corrigida. Atendendo a (4.3.1) vem que Ih (f ) = h N h2 N [f (ai1 ) + f (ai )] + [f (ai1 ) f (ai )] 2 i=1 12 i=1

4.5 Regras compostas

185

e, portanto, admitindo que f C 1 (), os valores de f e f no extremo direito de um subintervalo coincidem com os valores correspondentes no extremo esquerdo do intervalo seguinte, pelo que Ih (f ) = h
N 1 1 h2 1 f (a) + f (ai ) + f (b) + [f (a) f (b)] 2 2 12 i=1

(4.5.12)

A desvantagem da necessidade do clculo de derivadas da funo f ca agora reduzida aos extremos do intervalo = [a, b], e a correco introduzida permite ter uma expresso do erro mais favorvel do que a da regra do trapzio composta, conforme vamos ver. De facto, seguindo o processo adoptado para as outras regras compostas, podemos concluir que b a (4) Eh (f ) = f ()h4 (4.5.13) 720 Para funes f C 4 () a convergncia de quarta ordem. Uma aplicao sagaz desta regra s funes f peridicas neste intervalo conduz seguinte regra de integrao
N

Ih (f ) = h
i=1

f (ai )

que no outra seno a regra do trapzio composta aplicada a este tipo de funes. A expresso (4.5.13) evidencia que, nestas condies, i.e., se f C 4 () e f for peridica neste intervalo, a regra do trapzio mais precisa do que habitualmente. Exemplo 4.5.1 a) Aplicar a regra do trapzio composta com 5 subintervalos iguais ao integral I(f ) =
1 0

ln(1 + sin x) dx

e determinar um majorante para o erro cometido. b) Repetir a alnea anterior para o caso da regra do trapzio corrigida.
a) A expresso (4.5.8) d imediatamente, com h = 1/5 = 0.2, Ih (f ) = 0.2[0.5f (0) + f (0.2) + f (0.4) + f (0.6) + f (0.8) + 0.5f (1.0)] = 0.360776446 Estimando o erro por (4.5.9), e tendo em ateno que f (x) = e, por conseguinte f

cos x , 1 + sin x

f (x) =

1 1 + sin x

< 1, vem logo que |Eh (f )| 0.22 = (0.33)102 12

186

Integrao numrica

Conclumos assim que o valor do integral calculado tem pelo menos dois decimais exactos. b) Como f (0) = 1 e f (1) = 0.293408 temos que a correco a fazer , pela expresso (4.5.12), h2 [f (0) f (1)] = (0.2355307)102 12 vindo agora o valor do integral dado por Ih (f ) = 0.36077646 + (0.2355307)102 = 0.3631317 Para a estimativa do erro precisamos das derivadas cos x (1 + sin x)2 cos2 x + sin x + 1 f (4) (x) = (1 + sin x)3 f (3) (x) = No difcil obter o majorante f (4) vem agora majorado por

3, pelo que o erro, estimado via expresso (4.5.13),

0.24 = (0.67)105 720 Esta estimativa garante que o resultado obtido com a regra do trapzio corrigida tem pelo menos cinco decimais exactos, uma melhoria signicativa sobretudo se tivermos em conta que foi conseguida apenas com dois valores adicionais (as derivadas nos extremos do intervalo). |Eh (f )| 3

Terminamos esta seco com uma observao a propsito do clculo dos pontos de integrao das regras compostas que, alis, aplicvel tambm noutras situaes. A frmula que intuitivamente ocorre ai = ai1 + h para i = 1, . . . , N, a qual no poderia ser mais econmica do ponto de vista do nmero de operaes aritmticas requeridas. Todavia, ela no a melhor em termos de preciso, sendo prefervel usar a expresso, analiticamente equivalente, ai = a + (i(b a))/N. O Problema 1.9.41 ajuda a perceber porqu.

4.5.1

Integrao com splines

Um processo de obter frmulas de integrao com aspecto semelhante ao das frmulas compostas consiste em recorrer a splines em vez de polinmios de classe C (). De facto, a utilizao do spline de grau zero, consoante a posio escolhida para os ns de interpolao, permite obter as vrias frmulas do rectngulo, e o spline de grau um reproduz a regra do trapzio composta. No entanto, os splines de ordem superior do origem a regras diferentes.

4.6 Convergncia da integrao numrica

187

Tomemos, para exemplicar, o spline cbico. Esta funo , como deduzimos na Subseco 2.7.4, dada por Si (x) = Mi1 (xi x)3 (x xi1 )3 + Mi 6hi 6hi 2 h2 h xi x + yi1 Mi1 i + yi Mi i 6 hi 6

x xi1 hi

Sendo assim, podemos determinar que


xi xi1

Si (x) dx =

h3 hi (yi1 + yi) i (Mi1 + Mi ) 2 24

Somando as contribuies de cada subintervalo [xi1 , xi ] chega-se a I(S) =


b a n

S(x) dx =
i=1

hi h3 (yi1 + yi ) i (Mi1 + Mi ) 2 24

Ento, se interpolarmos a funo f por um spline e aplicarmos esta expresso, obtemos um valor aproximado para I(f ), fazendo Ih (f ) = I(S).

4.6

Convergncia da integrao numrica

Embora seja possvel extrair das expresses dos erros de integrao alguma informao sobre a convergncia da integrao numrica, i.e., saber se Ih (f ) tende ou no para I(f ) quando h 0, conveniente analisar este aspecto com mais cuidado. O teorema seguinte estabelece condies sucientes de convergncia para uma vasta classe de regras de integrao. Teorema 4.6.1 Se f C() e se
n

Ih (f ) =
i=0

Ai f (xi ) com

Ai 0,

i = 0, 1, . . . , n

e o grau de Ih for uma funo positiva e crescente com n, ento o processo de integrao numrica convergente, i.e., limh0 Ih (f ) = I(f ). Demonstrao Seja p um polinmio que integrado exactamente pela regra de integrao Ih , i.e., Ih (p) = I(p). Neste caso, verdadeira a seguinte sequncia de expresses Eh (f ) = I(f ) Ih (f ) = I(f ) I(p) + Ih (p) Ih (f ) =
b n a

(f (x) p(x)) dx +

i=0

Ai (p(xi ) f (xi ))

188

Integrao numrica

Tomando valores absolutos e majorando o segundo membro da expresso resultante, vem que
n

|Eh (f )| (b a) +

i=0

|Ai |

f p

Mas, como o grau da regra Ih pelo menos igual a zero, tal implica que esta regra integra exactamente a constante 1, e da que
b a n n

1 dx = b a =

Ai =
i=0 i=0

|Ai |

tendo-se usado na ltima passagem a hiptese de os pesos no serem negativos. Ento |Eh (f )| 2(b a) f p

Dado um > 0 qualquer, o teorema de Weierstrass garante que possvel escolher p de tal modo que f p e, portanto, |Eh (f )| 2(b a). Como o grau de exactido da regra de integrao Ih (f ) cresce com o nmero de pontos de integrao, sempre possvel encontrar uma regra de integrao de grau sucientemente elevado que integre p exactamente, conforme exigido na demonstrao. Por conseguinte, o erro de integrao |Eh (f )| tender para zero com h. A positividade dos pesos de integrao uma propriedade importante, da que uma regra de integrao com pesos no-negativos seja, por vezes, designada como uma regra positiva. Por outro lado, possvel demonstrar, o que no faremos por exceder o mbito deste texto, que a positividade dos pesos uma condio necessria para assegurar a convergncia de regras de integrao para funes contnuas. Recordamos que as regras de Gauss gozam desta propriedade, mas as de Newton-Cotes no.

4.7

Integrao adaptativa

Nesta seco vamos estudar mtodos que garantem que a integrao numrica produz um erro inferior a uma tolerncia dada, ou seja, que se verique a condio |Eh (f )| = |I(f ) Ih (f )| < em que o erro aceitvel tendo em conta os objectivos do problema especco em anlise. Para concretizar, consideremos o caso da regra do ponto mdio composta, j que a generalizao a outras regras no oferece diculdades adicionais. O erro de integrao Ei no subintervalo i = [ai1 , ai ] , como vimos na Seco 4.5, Ei = 1 f (i)h3 i 24 (4.7.1)

4.7 Integrao adaptativa

189

com i i e hi = ai ai1 . Como o erro depende do valor da segunda derivada de f , natural que se devam escolher subintervalos mais pequenos nas zonas em que esta segunda derivada for maior. O problema est em que o ponto i em que a segunda derivada deve ser calculada desconhecido. Esta diculdade poderia ser torneada apelando a majorantes de f no intervalo i , i.e., substituir (4.7.1) por uma condio mais fraca |Ei | 1 Mi h3 , i 24 com |f (i )| Mi (4.7.2)

Ora, a obteno a priori de majorantes realistas de derivadas no , em geral, uma tarefa fcil. Torna-se, deste modo, necessrio desenvolver algoritmos que seleccionem automaticamente os comprimentos hi dos subintervalos sem que o utilizador tenha de se preocupar com os valores das derivadas da funo f , encarregando-se o prprio algoritmo de descobrir com maior ou menor aproximao o respectivo andamento.

4.7.1

Mtodos adaptativos

Os algoritmos desenvolvidos com base na ideia acabada de expor so designados por adaptativos. de que apresentaremos algumas variantes. Mtodo adaptativo no-iterativo Suponhamos que o intervalo = [a, b] foi dividido em N subintervalos i = [ai1 , ai ], i = 1, . . . , N. A aplicao da regra do ponto mdio ao subintervalo genrico i envolve a estimativa de erro (4.7.1) em que apenas no conhecido o valor da segunda derivada. Para calcular uma aproximao desta grandeza lcito recorrer a uma frmula apropriada de diferenas nitas das que foram apresentadas no Captulo 3. Na posse deste valor podemos ento comparar o erro estimado para este subintervalo, |Ei | digamos, com o erro admissvel neste subintervalo. usual estabelecer o erro admissvel no subintervalo i de acordo com a seguinte expresso |Ei | < i hi ba (4.7.3)

cujo signicado corresponde a atribuir a cada subintervalo um erro proporcional ao respectivo comprimento (o Problema 4.11.28 d algum suporte a este critrio). Ento, se a condio (4.7.3) for vericada, o valor do integral no respectivo subintervalo aceite. Se, pelo contrrio, esta condio for violada, i.e., se nalgum subintervalo o erro exceder o valor tolerado, este subintervalo subdividido em mi subintervalos de comprimento hi , de tal maneira que a soma dos erros cometidos em cada um dos novos subintervalos no ultrapasse o valor i , i.e., 1 mi |Di |h3 < i (4.7.4) i 24

190

Integrao numrica

em que Di representa o valor da segunda derivada estimada por uma frmula apropriada de diferenas nitas e suposto no variar apreciavelmente no subintervalo i . Como hi = hi /mi , a expresso (4.7.4) d origem seguinte relao para o clculo de mi : mi > (b a)|Di | 24
1/2

hi

Aps se ter determinado o nmero de subintervalos, aplica-se a cada um deles a regra do ponto mdio aceitando como bom o valor do integral da resultante. Deste modo, o algoritmo colocar subintervalos mais pequenos nas zonas em que a segunda derivada for maior. Dado que no se volta a vericar se o novo valor satisfaz o critrio do erro, este mtodo adaptativo diz-se no-iterativo. Apresentamos no Algoritmo 4.7.1 uma verso completa do mtodo adaptativo noiterativo, chamando a ateno para uma utilizao mais cuidadosa da tolerncia do erro do que aquela que descrevemos atrs tendo em vista uma maior economia no nmero de subdivises e, consequentemente, do nmero de clculos da integranda. Basicamente, o erro que no gasto num subintervalo ca disponvel para ser usado nos restantes subintervalos. Mtodo adaptativo iterativo O algoritmo que vamos descrever no limita o nmero de nveis das subdivises a efectuar nem recorre a diferenas nitas para estimar as derivadas. Assim, seja Ei o erro de integrao no subintervalo i = [ai1 , ai ] de comprimento hi . Temos, portanto, que 1 Di h3 (4.7.5) i 24 A estimativa de Di faz-se agora procedendo do seguinte modo: subdivide-se o intervalo i em dois subintervalos de comprimento igual, aplica-se a cada um deles a regra de integrao e somam-se os valores obtidos para cada subintervalo. Seja Ei o novo erro dado por 1 2 Ei Di (hi /2)3 = Di h3 (4.7.6) i 24 96 em que se admitiu que o valor de Di aproximadamente o mesmo em cada um dos novos subintervalos e da o simples aparecimento do factor 2 na expresso acima. Aceitaremos tambm, e esta hiptese crucial para a validade do mtodo, que Di Di , ou seja, que as segundas derivadas no variam apreciavelmente no subintervalo i . Denotando por Ii o i , por Ii o valor aproximado neste subintervalo, valor exacto do integral no subintervalo e por Ii o valor aproximado aps a respectiva subdiviso, podemos escrever que 1 Ii Ii Di h3 (4.7.7) i 24 1 Ii Ii Di h3 (4.7.8) i 96 Ei =

4.7 Integrao adaptativa

191

Subtraindo membro a membro estas relaes, vem que 1 Ii Ii Di h3 i 32 Se extrairmos Di desta expresso e substituirmos em (4.7.6), obtemos 1 Ei = Ii Ii (Ii Ii ) 3 Algoritmo 4.7.1 Mtodo adaptativo no-iterativo comment: S = Ih (f ; ) Escolher o valor de N Fixar a tolerncia do erro h = (b a)/N a0 = a S=0 for i = 1 to N do i = [ai1 , ai ] ai = a + ih i = h/(b ai1 ) Calcular Si = Ih (f ; i ) Obter a estimativa do erro Ei if |Ei | < i then S = S + Si = |Ei | else Calcular mi hi = h/mi a0 = ai1 for j = 1 to mi do aj = a0 + j hi , i,j = [j1 , aj ] a j = Ih (f ; i,j ) Calcular S S = S + Sj od Obter a estimativa do erro Ei = |Ei | od (4.7.9)

(subintervalos iguais)

(acumulador para Ih (f ; ))

(saldo da tolerncia do erro)

(subdividir i )

(saldo da tolerncia do erro)

192

Integrao numrica

Ficamos assim na posse de uma estimativa para o erro de integrao no subintervalo i . Se o valor do erro no ultrapassar o erro tolerado para este subintervalo, o qual, seguindo o mesmo princpio adoptado atrs, dado por i = hi ba

aceitamos o valor do integral para este subintervalo. Se tal no suceder, efectuamos nova subdiviso a metade, e assim sucessivamente. Este algoritmo um algoritmo adaptativo iterativo que tender a situar mais pontos de integrao nos locais em que a segunda derivada for maior. Como se v, permite mais exibilidade que o algoritmo anterior, embora naturalmente custa de uma programao mais elaborada. Embora tenhamos recorrido regra do ponto mdio para efeitos de exposio deste mtodo, verica-se que as regras do trapzio e de Simpson so mais vantajosas neste contexto, pois aproveitam os valores da integranda calculados em subdivises anteriores para as subdivises subsequentes, conduzindo a um menor nmero global de clculos da integranda para uma dada preciso.

4.7.2

A frmula de Euler-Maclaurin

A frmula da soma de Euler-Maclaurin que vamos apresentar nesta seco estabelece uma ligao importante entre o integral de uma funo num intervalo e um somatrio de valores da mesma funo em pontos equidistantes desse intervalo. Mais adiante apresentaremos exemplos que elucidam a utilidade de uma tal relao. Consideremos o seguinte integral I(f ) =
b a

0 (x)f (x) dx

(4.7.10)

com 0 uma funo dada e f uma funo com derivadas contnuas at ordem que o contexto tornar necessria. Efectuando uma integrao por partes em (4.7.10), obtemos I(f ) =
b a

0 (x)f (x) dx = 1 (x)f (x)

b a

b a

1 (x)f (x) dx

(4.7.11)

em que 1 uma funo que deve satisfazer a equao diferencial 1 = 0 . Repetindo o processo de integrao por partes no integral do segundo membro de (4.7.11), temos que
b a

1 (x)f (x) dx = 2 (x)f (x)

b a

b a

2 (x)f (x) dx

(4.7.12)

em que tambm se deve ter 2 = 1 . Introduzindo (4.7.12) em (4.7.11) podemos escrever que I(f ) =
b a

0 (x)f (x) dx = 1 (x)f (x)

b a

2 (x)f (x)

b a

b a

2 (x)f (x) dx

(4.7.13)

4.7 Integrao adaptativa

193

Prosseguindo nesta via no difcil obter a expresso geral seguinte I(f ) = =


k=1 b a n

0 (x)f (x) dx (1)k1 k (x)f (k1) (x)


b a

(4.7.14) + (1)n
b a

n (x)f (n) (x) dx

em que as funes k devem satisfazer as condies k = k1, k = 1, 2, . . . (4.7.15)

A expresso (4.7.14) tem a estrutura de uma frmula de integrao envolvendo apenas os valores da integranda e das suas derivadas nos extremos do intervalo de integrao. De facto, legtimo estabelecer a seguinte famlia de regras de integrao
n

Ih (f ) =
k=1

(1)k1 k (x)f (k1) (x)


b a

b a

(4.7.16) (4.7.17)

Eh (f ) = (1)n

n (x)f (n) (x) dx

As relaes (4.7.15) no xam de modo nico as funes k , pelo que h alguma liberdade de escolha com vista a obter um resultado nal com uma determinada forma considerada vantajosa. A frmula de Euler-Maclaurin resulta da escolha especial que vamos passar a descrever. O intervalo = [a, b] = [0, 1] e 0 = 1, donde decorre de imediato que 1 (x) = x + c1 A expresso (4.7.14) sugere, e o resultado nal ir conrmar, que se proceda do seguinte modo. A constante c1 ser determinada impondo que 1 (1) = 1 (0), o que d c1 = 1/2 e, portanto, 1 1 1 (x) = x , 1 (1) = 1 (0) = 2 2 Atendendo s condies (4.7.15), deduzimos que 2 (x) = 1 1 x 2 2
2

+ c2

donde resulta que 2 (1) = 2 (0). Por razes que se tornaro claras imediatamente, a b constante c2 ser determinada impondo que a 2 (x) dx = 0. Ento, c2 = 1/24, e, por conseguinte, temos que 2 (x) = 1 1 x 2 2
2

1 , 24

2 (1) = 2 (0) =

1 12

194

Integrao numrica

Assim sendo, os valores de 3 nos extremos do intervalo tm de ser iguais, pois 3 (1) 3 (0) =
b a

3 (x) dx =

b a

2 (x) dx = 0

pelo que lcito impor 3 (1) = 3 (0) = 0 para determinar a constante de integrao. Continuando deste modo, podemos concluir que, em geral, 2k (1) = 2k (0) 2k+1 (1) = 2k+1 (0) = 0
1 0

k = 1, 2, . . . , n

(4.7.18)

Alguns clculos laboriosos mas sem diculdade especial fornecem a relao I(f ) = = f (x) dx (4.7.19)

n B2k 1 [f (1) + f (0)] f (2k1) (1) f (2k1) (0) Rn 2 (2k)! k=1

Os B2k so os chamados nmeros de Bernoulli, cujos valores so 1 1 B2 = , B4 = , 6 30 e Rn o resto, cuja expresso Rn =


1 0

B6 =

1 , 42

B8 =

1 , 30

...

p2n+1 (x)f (2n+1) (x) dx

(4.7.20)

de salientar a ausncia, em (4.7.19), dos termos envolvendo derivadas de ordem par. Apliquemos agora a expresso (4.7.19) a um intervalo genrico [xi , xi+1 ] com xi+1 xi = h. Neste caso, recorrendo transformao de variveis (4.1.3), que d x = xi + h, chegamos expresso Ii (f ) = = onde Rn = h2n+1
xi+1 xi

f (x) dx = h

1 0

f () d

(4.7.21)

n h B2k 2k (2k1) f (xi ) + f (xi+1 ) h f (xi+1 ) f (2k1) (xi ) Rn 2 (2k)! k=1 xi+1 xi

p2n+1 (x)f (2n+1) (x) dx

(4.7.22)

Tomando esta expresso para i = 0, 1, . . . , n 1, somando as respectivas contribuies e tendo em ateno a hiptese de continuidade das derivadas, obtemos a expresso da frmula de Euler-Maclaurin pretendida: I(f ) =
xn x0

f (x) dx = h

n1 1 1 f (x0 ) + f (xk ) + f (xn ) 2 2 k=1

n1

B2k 2k (2k1) h f (xn ) f (2k1) (x0 ) Rn (2k)! k=1

(4.7.23)

4.7 Integrao adaptativa

195

onde o resto Rn dado por Rn = h2n+1


xn x0

p2n+1 (x)f (2n+1) (x) dx

(4.7.24)

Notemos que esta frmula assimpttica, i.e., limh0 Rn = 0 (com n xo), mas no convergente em n pois limn Rn = 0 (com h xo) no necessariamente verdadeira. O primeiro termo do segundo membro de (4.7.23) no mais do que a regra do trapzio composta aplicada ao intervalo [x0 , xn ] com subintervalos de igual comprimento h. Os restantes termos englobam, por esta razo, o erro cometido quando se utiliza esta regra para calcular o integral do primeiro membro. Se representarmos o valor aproximado do integral por Ih (f ), como temos vindo a fazer, podemos dizer que Eh (f ) = I(f ) Ih (f ) = c2 h2 + c4 h4 + (4.7.25)

em que c2 , c4 , . . . so parmetros que dependem das derivadas de ordem mpar de f nos extremos do intervalo, mas no de h. Esta expresso vai servir como ponto de partida para o mtodo de Romberg a estudar na subseco seguinte. Entretanto vamos exemplicar a utilizao da frmula de Euler-Maclaurin um pouco ao invs do que habitual, j que a empregaremos para deduzir uma expresso analtica (exacta) e no para obter uma aproximao numrica. Exemplo 4.7.1 Calcular a soma dos quadrados dos primeiros n nmeros naturais.
O valor pretendido Sn = 1 + 2 + 3 + =
2 2 2 n

k2
k=1

Facilmente se reconhece a semelhana desta expresso com a que gura no segundo membro da frmula de Euler-Maclaurin quando nesta se faz h = 1. De facto, efectuando uma simples alterao de limites de integrao, podemos escrever neste caso que
xn+1

f (x) dx =
x0

1 f (x0 ) + 2

n k=1

1 f (xk ) + f (xn+1 ) 2

1 1 f (1) (xn+1 ) f (1) (x0 ) + f (3) (xn+1 ) f (3) (x0 ) 12 720 1 f (5) (xn+1 ) f (5) (x0 ) + 30240 Escolhendo a funo f do seguinte modo f (x) = x2 , f (x) = 2x, f (x) = 2, f (3) (x) = f (4) (x) = = 0

e introduzindo estes resultados na frmula acima, chegamos a (n + 1)3 1 = 0+ 3 2


n k=1

1 1 k2 + (n + 1)2 [2(n + 1) 0] 2 12

196

Integrao numrica

Aps algumas simplicaes obtemos a expresso


n

Sn =
k=1

k2 =

n(n + 1)(2n + 1) 6

que nos d a soma dos quadrados dos primeiros n nmeros naturais.

4.7.3

Mtodo de Romberg

O mtodo de integrao de Romberg um mtodo iterativo que, embora no estritamente adaptativo, permite controlar o erro e por isso se inclui nesta seco. Baseia-se essencialmente na utilizao da regra do trapzio composta juntamente com a estimativa do erro atravs da frmula de Euler-Maclaurin. (Um processo alternativo de deduzir este mtodo, baseado no processo de Richardson, apresentado no Problema 4.11.30.) Assim, consideremos uma sucesso de aplicaes da regra do trapzio composta em que o nmero de intervalos sucessivamente aumentado para o dobro em cada aplicao. Concretamente ponhamos h = h0 = b a, hk = hk1 ba = k , 2 2 k = 1, 2, . . . (4.7.26)

e seja Tk,0 o valor obtido pela aplicao da regra do trapzio composta com 2k subintervalos de comprimento hk . De acordo com (4.7.25), o erro tem a seguinte expresso Ek = I Tk,0 = c2 h2 + c4 h4 + k k (4.7.27)

onde as constantes c2 , c4 , . . . dependem das derivadas da integranda mas no do parmetro hk . Notemos que nesta expresso apenas guram potncias pares de hk . Em face do que dissemos, podemos escrever que Ek+1 = I Tk+1,0 = c2 hk 2
2

+ c4

hk 2

(4.7.28)

Eliminando a constante c2 entre (4.7.27) e (4.7.28), facilmente se chega seguinte igualdade 4Tk+1,0 Tk,0 I= + O(h4 ) k 41 Esta relao mostra que o valor Tk,1 = 4Tk+1,0 Tk,0 41

difere do valor exacto do integral a menos de um termo de ordem h4 , donde se conclui que k Tk,1 proporciona em princpio uma melhor aproximao. Obtemos deste modo uma nova

4.8 Integrais imprprios

197

sucesso {Tk,1 } que converge para o valor exacto I(f ) com maior rapidez. Se repetirmos este processo com os novos valores Tk,1 acabados de achar, chegaremos a uma nova sucesso {Tk,2 } cujo erro ser O(h6 ). No difcil concluir que vlida a seguinte expresso geral k Tk,m ou, ainda, Tk,m = Tk+1,m1 + Tk+1,m1 Tk,m1 , 4m 1 m = 1, 2, . . . (4.7.30) 4m Tk+1,m1 Tk,m1 = , 4m 1 m = 1, 2, . . . (4.7.29)

Por cada incremento do valor de m ganhamos uma potncia de h2 na expresso do k erro, ou seja, I = Tk,m + O(h2m+2 ) k A preciso do algoritmo de Romberg , assim, limitada apenas pela regularidade da funo integranda e pelos erros de arredondamento. Os clculos que realizam este processo podem dispor-se num quadro triangular sugestivo, conforme a Figura 4.7.1 mostra. As entradas neste quadro podem calcular-se, como se pode depreender da expresso (4.7.29), quer por colunas quer por linhas. T0,0 T1,0 Figura 4.7.1: Romberg Quadro de T2,0 T0,1 T1,1 T0,2

T3,0 T2,1 T1,2 T0,3 . . . . .. . . . . . . . . . Tk,0 Tk1,1 Tk2,2 T0,m

A anlise que levmos a cabo mostra que as colunas e as diagonais deste quadro convergem para o valor exacto do integral.

4.8

Integrais imprprios

A aplicao das regras de integrao que desenvolvemos neste captulo no imediata quando a integranda for singular ou o intervalo de integrao for innito, sendo por isso conveniente um tratamento especco destes casos. o que faremos de modo muito breve nesta seco.

198

Integrao numrica

4.8.1

Integrandas com singularidades

Todas as expresses do erro que apresentmos anteriormente para as vrias regras de integrao mostram que este depende da regularidade da integranda, traduzida na existncia de derivadas nitas de uma certa ordem. Quando a integranda for singular, esta condio violada e de esperar que uma aplicao imediatista das regras de integrao conduza a erros comparativamente mais elevados que podero no ser aceitveis. Vamos, ento, apresentar algumas tcnicas que permitem manter ou pelo menos no deixar degradar a preciso das integraes numricas com integrandas singulares. Para facilitar a exposio e uma vez que tal no acarreta na prtica qualquer perda de generalidade, consideraremos que o integral a calcular est escrito na forma I(f ) =
b a

w(x)f (x) dx

e que a singularidade da integranda transportada pela funo w e se localiza exclusivamente nos extremos do intervalo de integrao. A funo f ser suposta to regular quanto o necessrio. Se a funo w for daquelas para as quais j existam regras de integrao deduzidas, a diculdade est por natureza resolvida. o que acontece, por exemplo, com certas regras de Gauss, quando w(x) = ln x (ver ABRAMOWITZ and STEGUN (1968)), w(x) = x (ver KRYLOV (1962)) e outras funes peso simples. Integrao por partes Para exemplicar o modo como a integrao por partes pode ser til no presente contexto, consideremos o seguinte integral I(f ) =
1 0

x1/2 cos x dx

em que naturalmente w(x) = x1/2 e f (x) = cos x. A integrao por partes permite escrever que I(f ) = 2x1/2 cos x
1 0 1 0

1 0

2x1/2 sin x dx

= 2 cos 1 +

2x

1/2

sin x dx

O integral no segundo membro desta expresso j no singular e podemos, por conseguinte, recorrer s regras de integrao usuais. A integranda possui primeira derivada nita, mas a segunda derivada ainda innita para x = 0, o que degradar a preciso.

4.8 Integrais imprprios

199

Um remdio para este problema voltar a efectuar uma nova integrao por partes, vindo I(f ) = 2 cos 1 + = 2 cos 1 +
1 0

2x1/2 sin x dx
1 0 1 0

4 3/2 x sin x 3 4 4 = 2 cos 1 + sin 1 3 3

1 0

4 3/2 x cos x dx 3

x3/2 cos x dx

e assim sucessivamente, tantas vezes quantas as necessrias. Mudana de varivel Por vezes uma simples mudana da varivel de integrao permite eliminar a singularidade. Para analisarmos esta tcnica consideremos o integral I(f ) =
1 0

w(x)f (x) dx

em que w apresenta uma singularidade situada no extremo esquerdo do intervalo de integrao e f suposta to regular quanto o necessrio. Aplicando uma transformao de varivel biunvoca x = T () obtemos, de acordo com as expresses (4.1.1) e tomando por simplicidade T (0) = 0, I(f ) = =
T 1 (1) 0 T 1 (1) 0

w(T ())f (T ())J() d g() d, com g() = w(T ())f (T ())J()

A ideia construir uma transformao x = T () cujo jacobiano se anule no extremo esquerdo do intervalo, de modo a compensar a singularidade de w, i.e., tal que J() > 0, (0, 1] e lim0 g() seja nito. Vejamos alguns exemplos de aplicao desta tcnica. Exemplo 4.8.1 Regularizar o integral I(f ) = varivel.
1 0

x1/2 cos(x) dx por transformao de

A mudana de varivel x = T () = 2 permite transformar este integral no seguinte


1

I(f ) =
0

2 2 cos( 2 ) d

Assim, este ltimo integral agora regular e est em condies de ser determinado pelas regras usuais. A aplicao da regra do trapzio composta com uma malha uniforme de N

200

Integrao numrica

subintervalos produz os seguintes resultados, em que a linha (a) corresponde integrao com a integranda original e a linha (b) com a integranda regularizada. N =4 N =8 N = 16 N = 32 (a) 0.502203 0.521268 0.527768 0.530008 (b) 0.525295 0.529657 0.530812 0.531105 (c) 0.528558 0.531031 0.531192 0.531120 O resultado exacto I(f ) = 0.5312026831 . . .. O erro evolui do seguinte modo: no caso (a) |Eh/2 (f )/Eh (f ) 2 2 e no caso (b) |Eh/2 (f )/Eh (f ) 4. Enquanto este ltimo valor explicado pela expresso (4.7.25), o valor correspondente ao caso (a) carece de alguma elaborao. Como se v, a integranda 1/2 cos() C 1 [a, b] pelo que aquela expresso do erro no aplicvel. Para integrandas com singularidade do tipo 1/2 f () com f C [a, b] possvel demonstrar que Eh (f ) = O(h3/2 ) (ver FOX (1967) ou LYNESS and NINHAM (1967)), ou seja, a taxa de convergncia vem prejudicada relativamente ao caso normal. interessante vericar que os resultados numricos acima esto muito prximos das previses tericas. Tirando partido da vantagem em regularizar a integranda, podemos imaginar que, quanto mais regularizadora for a transformao, melhores sero os resultados. Neste sentido, tentemos a transformao x = T () = (1 )2 , a qual foi escolhida para produzir uma integranda g com primeiras derivadas nulas nos extremos do intervalo de integrao, como fcil conrmar. Os resultados obtidos constam da linha (c) da tabela acima e no difcil constatar que, agora, |Eh/2 (f )/Eh (f )| 16 de acordo com (4.7.25) aplicada a funes com primeiras derivadas nulas nos extremos do intervalo de integrao. A regularizao da integranda melhorou, assim, a taxa de convergncia.

Exemplo 4.8.2 Regularizar uma singularidade logartmica I(f ) =

1 0

ln x f (x) dx.

Neste caso, uma singularidade logartmica pode ser regularizada mediante a mudana de varivel x = T () = 2 a qual conduz a
1

I(f ) = 4
0

ln f ( 2 ) d

Como ln 0 quando 0, este ltimo integral regular com a integranda ln f () C[0, 1] mas ln f () C 1 [0, 1] o que talvez justique uma transformao ainda mais regularizadora, como, por exemplo, x = T () = 3 . Deixam-se os detalhes como exerccio.

Como se adivinha, a tcnica de mudana de varivel pode requerer alguma engenhosidade para descobrir a transformao que permite passar de um integral singular para outro que seja regular. As transformaes que descrevemos a seguir so das mais frequentes nas aplicaes.

4.8 Integrais imprprios

201

Transformao polinomial. Consiste na generalizao das transformaes empregues nos Exemplos 4.8.1 e 4.8.2. Introduzamos a funo c() =
0

l (1 )m dx,

com l, m inteiros no-negativos

Ento, a transformao de coordenadas dada por x = T () = c()/c(1), c(1) = (l + 1) l+m+1 , m J() = l (1 )m /c(1)

em que c(1) foi obtido recorrendo ao integral de Euler de primeira espcie (ver GRADSHTEYN and RYZHIK (1980)). fcil vericar que, quanto maior for l mais regularizadora esta transformao junto ao extremo esquerdo do intervalo de integrao e quanto maior for m mais regularizadora junto ao extremo direito. De facto, l e m podem ser escolhidos de modo a ter valores da integranda e das suas sucessivas derivadas nulos em qualquer dos extremos do intervalo de integrao. Transformao IMT. A transformao IMT (das iniciais dos respectivos autores IRI et al. (1987)) leva a regularizao to longe quanto possvel, anulando a funo integranda e todas as suas derivadas nos extremos do intervalo de aplicao. A transformao de coordenadas determinada recorrendo funo c() = e tomando x = T () = c()/c(1), A funo transformada g() = w(T ())f (T ())J() verica, se w for sucientemente regular, g (k) (0) = g (k) (1) = 0, k = 0, 1, 2, . . . A regularizao permite, nas presentes circunstncias, que w exiba singularidades algbricas do tipo ou (1 ) com , > 1. Dado o facto de todas as derivadas se anularem nos extremos do intervalo de integrao, a regra do trapzio corrigida composta numa malha uniforme torna-se particularmente vantajosa pelo que esta a utilizada conjuntamente com a transformao IMT. Subtraco da singularidade Se a primitiva de w for conhecida possvel usar o seguinte estratagema, que consiste essencialmente em somar e subtrair a mesma quantidade ao integral. Concretamente, se a singularidade estiver situada no extremo esquerdo do intervalo [a, b], I(f ) =
b a 0

exp(1/(t(1 t)) dt J() = exp(1/((1 ))/c(1)

w(x)f (x) dx =

b a

w(x)[f (x) f (a)] dx + f (a)

b a

w(x) dx

202

Integrao numrica

O primeiro integral do segundo membro, uma vez que f suposta contnua, regular, podendo ser calculado pelas regras usuais. O segundo integral pode ser determinado analiticamente. Consideremos um exemplo para ilustrar esta tcnica. Seja I(f ) = Ento, de acordo com o que dissemos, I(f ) = =
1 0 1 0 1 0

x1/2 exp x dx

x1/2 (exp x 1) dx +

1 0

x1/2 dx

x1/2 (exp x 1) dx + 2

A regra de Cauchy permite conrmar que a integranda do integral que resta pertence a C[0, 1] mas no a C 1 [0, 1]. Um renamento desta tcnica consiste em subtrair no f (a), mas uma funo g que tenda para f (a) quando x a e que reforce mais a regularidade do integral resultante. Por exemplo, o desenvolvimento em srie de Taylor g(x) = f (a) + f (a)x + f (a) x2 + 2

truncado a partir de uma ordem conveniente satisfaz este critrio.

4.8.2

Intervalos innitos

Exceptuando alguns casos evidentes, como as regras de Gauss-Hermite, as frmulas de integrao deduzidas neste captulo no so estritamente vlidas para intervalos innitos. Tem, pois, interesse, tal como acontece com os integrais singulares, desenvolver tcnicas especialmente adaptadas a esta situao. Para efeito do que vamos dizer, consideraremos que o intervalo de integrao [a, +) e que a integranda f regular. Mudana de varivel A transformao x = ln(1/) permite transformar o integral I(f ) = neste outro I(f ) =
0 1 0

f (x) dx

f ( ln ) d

Se a funo f ( ln )/ for regular, ento a diculdade original est vencida. Caso contrrio apenas trocamos a diculdade do intervalo innito pela de uma integranda singular.

4.9 Inuncia de erros na integranda

203

Uma outra transformao que transforma o intervalo [0, +) no intervalo nito [a, b] e que por vezes til a seguinte = a + bx a x = 1+x b

Notemos, no entanto, que o jacobiano innito quando = b, o que tem de ser devidamente ponderado. Truncatura do intervalo Uma tcnica expedita, mas que frequentemente proporciona bons resultados, fazer I(f ) =
0

f (x) dx =

c 0

f (x) dx +

f (x) dx

e desprezar simplesmente o segundo integral no segundo membro desta expresso. claro que este processo deve ser legitimado atravs de uma estimativa do valor do integral desprezado. Exemplo 4.8.3 (DAVIS and RABINOWITZ (1984)) Calcular com um erro inferior a (0.5)106 o integral I(f ) =
0

exp(x2 ) dx

Como para x c > 0 se tem x2 cx, podemos escrever que


c

exp(x2 ) dx =

exp(cx) dx
c

1 exp(cx) c

1 exp(c2 ) c

Se c = 4, este integral inferior a (2.8)108 , abaixo, portanto, da preciso pretendida. Ento basta agora calcular o integral
4

I(f ) =
0

exp(x2 ) dx

com um erro inferior a (0.5)106 (2.8)108 , para o que podemos recorrer s tcnicas de integrao adaptativa estudadas na Seco 4.7.

4.9

Inuncia de erros na integranda

Em muitas circunstncias os valores da integranda esto contaminados por erros por terem sido obtidos por medio ou por terem sido calculados em aritmtica de preciso nita.

204

Integrao numrica

Tal implica, neste ltimo caso, que, em vez do valor Ih (f ), o que na realidade obtemos o valor n h (f ) = I Ai f (xi )
i=0

Admitindo que os valores da funo com que efectivamente trabalhamos so f (xi ) = f (xi )(1 + i ), em que os i so os erros relativos cometidos qualquer que seja a sua origem (experimental ou aritmtica nita), portanto quantidades geralmente muito pequenas, podemos escrever que Ih (f ) = Ih (f ) Quer isto dizer que tudo se passa como se, em vez de f se empregasse efectivamente uma funo perturbada f na frmula de integrao numrica. Sendo assim, no oferece diculdade obter |Ih (f ) Ih (f )| = |Ih (f) Ih (f )|
n i=0

Ai f f

Se admitirmos que a regra de integrao positiva e de grau de exactido 0, i.e., integra constantes exactamente, podemos deduzir que
n n

Ai =
i=0 i=0

|Ai | = b a (4.9.1)

e, por conseguinte,

No caso dos erros de arredondamento e uma vez que, na pior das hipteses, os i crescem linearmente com n, esta relao mostra que a sua inuncia no ser catastrca para os valores correntes de n, sendo apenas de esperar alguma degradao quando se empregam muitos pontos de integrao. A situao , pois, bastante diversa daquela que se verica com a derivao numrica, onde os erros de arredondamento podem ser determinantes abaixo de certos valores do parmetro h. Notemos, todavia, que, se as regras de integrao no forem positivas, os valores dos pesos Ai podem crescer com o nmero n de pontos de integrao e neste caso j no vlida a concluso que acabamos de extrair. o que se passa com as regras de NewtonCotes, razo pela qual estas regras no so muito indicadas para graus elevados. Como vimos atrs na Seco 4.2, alguns dos coecientes j so negativos a partir da regra de 9 pontos. O efeito da presena de pesos negativos pode ser melhor entendido se analisarmos o que se passa em termos de erros relativos. Da relao (4.9.1) decorre que, se Ih (f ) = 0,
n |Ih (f ) Ih (f )| f f i=0 |Ai | |Ih (f )| |Ih (f )|/ f f

|Ih (f ) Ih (f )| (b a) f f

4.10 Notas e referncias

205

pois natural, designar a quantidade cond Ih (f ) = |Ai | inf f C() |Ih (f )|/ f
n i=0

por nmero de condio da regra de integrao. Em geral esta grandeza, tal como est denida, pode assumir valores ilimitados conforme se pode ver tomando, por exemplo, f = Wn com Wn o polinmio nodal, que produz f > 0 mas Ih (f ) = 0. Um indicador mais interessante o minorante que se obtm considerando funes f constantes, ou seja, cond Ih (f ) |
n i=0 |Ai | n i=0 Ai |

Para regras positivas tem-se que cond Ih (f ) 1. Para regras no positivas, este minorante pode assumir valores apreciveis revelando grande sensibilidade da regra de integrao a perturbaes na integranda.

4.10

Notas e referncias

1. A referncia DAVIS and RABINOWITZ (1984) talvez a mais completa relativamente integrao numrica unidimensional. Esta obra inclui em apndice o artigo de M. Abramowitz On the Practical Evaluation of Integrals (1952), cuja leitura recomendamos. 2. Os volumes STROUD and SECREST (1966) e ? contm muita informao de natureza prtica, nomeadamente tabelas completas de coordenadas e pesos de numerosas regras de integrao. 3. Para o clculo de integrais mltiplos, assunto que no abordamos mas que tem enorme interesse nas aplicaes, aconselha-se ENGELS (1980), KROMMER and UEBERHUBER (1998) e STROUD (1971). Esta ltima referncia contm uma enorme variedade de regras de integrao para os domnios mais correntes.

4.11

Problemas

1. a) Prove que o grau de exactido invariante relativamente s transformaes de coordenadas (4.1.2) e (4.1.3). b) Mostre que tal no acontece com outras transformaes, tomando, por exemplo, T () = 2 com [0, 1]. 2. Determine o valor aproximado do integral I = 0 x sin x dx empregando as regras do rectngulo, do ponto mdio, do trapzio e de Simpson. Compare os resultados com o valor exacto (arredondado a seis decimais) I = 0.301169. 3. a) Empregue a regra do trapzio para calcular o integral I =
1 2 0 x exp(x ) 1

dx.

206

Integrao numrica

b) Obtenha um majorante para o erro e o erro efectivamente cometido. 4. Repita o problema anterior a) com a regra de Simpson; b) com a regra de Gauss de dois pontos. c) Compare os resultados calculando os erros relativos em cada caso. 5. a) Deduza a seguinte expresso para a regra de Simpson com ns genericamente espaados Ih (f ) = 1 6 + 2h0 + h1 (1 2h1 + h0 1 h1 h0 f (x0 ) + h0 3 + f (x2 ) , h0 h1 + h1 3 + h1 h0 f (x1 )

h0 h1

com h0 = x1 x0 ,

h1 = x2 x1

b) Qual a expresso do erro? c) Tomando o limite h0 0+, obtenha a regra de integrao seguinte que emprega f (x0 ), f (x0 ) e f (x2 ): h1 Ih (f ) = (f (x0 ) + h1 f (x0 ) + 2f (x2 )) 6 6. Considere o caso em que Wn possui um nico sinal no intervalo [a, b]. a) Demonstre ento que Eh (xn+1 ) =
a b

Wn (x) dx

e que, portanto, o erro de integrao vem dado pela expresso Eh (f ) = 1 f (n+1) ()Eh (xn+1 ) (n + 1)!

b) Conrme que este resultado conduz expresso (4.2.17) para a regra do trapzio. 7. Considere a seguinte frmula de integrao
1

I(f ) =
1

f (x) dx Ih (f ) = f (a) + f (+a)

Determine o valor da abcissa a de modo a facultar a esta regra o maior grau possvel. Neste caso, qual o grau da frmula? Que regra esta? 8. Pretende-se construir uma regra de integrao para integrais do tipo
1

I(f ) =
0

xf (x) dx,

f C [0, 1]

com a seguinte forma Ih (f ) = A0 f (0) + A1 f (1/2) + A2 f (1) Determine os pesos A0 , A1 e A2 de modo a que esta regra tenha o maior grau possvel, e indique o respectivo valor.

4.11 Problemas

207

9. Determine os pesos da regra


1

I(f ) =
0

f (x) dx Ih (f ) = A0 f (0) + A1 f (1) + B0 f (0) + B1 f (1)

de modo a possuir o maior grau possvel. Verique que a regra assim obtida no outra seno a regra do trapzio corrigida. 10. a) Deduza os valores que os pesos A0 e A1 e a abcissa a da regra de integrao seguinte devem ter de modo a tornar o respectivo grau o maior possvel.
1

I(f ) =
1

f (x) dx Ih (f ) = A0 [f (1) + f (1)] + A1 [f (a) + f (a)]

b) Calcule o grau desta frmula e identique-a como uma regra de Gauss-Legendre-Lobatto. c) Deduza os resultados das alneas anteriores seguindo o mtodo do Exemplo 4.4.2. 11. Mostre que, para as regras de Gauss,
b b

Ai =
a

Li (x) dx =
a

L2 (x) dx i

e que, portanto, no h incompatibilidade entre as frmulas (4.2.1) e (4.4.6). Sugesto: Li um polinmio de grau n 1; logo, integrado exactamente pela regra de Gauss com n pontos. 12. Prove a seguinte generalizao do Teorema 4.4.2: condio necessria e suciente para a regra (4.4.1) com os pesos dados por (4.2.1) ter grau de exactido n + k com k n 1 que n seja ortogonal a Pk (). 13. Mostre que a regra de Simpson uma regra de Gauss-Lobatto. 14. Considere integrais do tipo
1

I(f ) =
0

w(x)f (x) dx

com w(x) = ln(1/x)

a) Recorrendo aos polinmios ortogonais relevantes, deduza as seguintes regras de Gauss n 1 2 2


1 14 1 14

xi 1/4 5 5+

106 3 106 3

343 4 / 343 4 /

212 + 9 106 212 9 106

Ai 1

b) Mostre que, para n = 1, o erro dado por Eh (f ) = 7 f () 288 com [0, 1]

208

Integrao numrica

15. Seja f C , e Ih a regra do ponto mdio. a) Desenvolvendo f em srie de Maclaurin, mostre que o erro de integrao no intervalo [1, 1] dado por 1 1 Eh (f ) = I(f ) 2f (0) = f (2) (0) + f (4) (0) + 3 60 b) Deduza a expresso correspondente para o caso de um intervalo [a, b] qualquer. 16. Pretende-se calcular pela regra do trapzio composta o integral I = com quatro decimais exactos. Quantos pontos se devem usar?
1 0 exp(exp(x))

dx

17. a) Demonstre que se a funo f C 2 (), e f (x) > 0 no intervalo e Mh (f ) for o valor aproximado de I(f ) obtido pela regra do ponto mdio, e Th (f ), o obtido pela regra do trapzio (ambas simples ou compostas), ento Mh (f ) I(f ) Th (f ) b) Que sucede se f (x) < 0 no intervalo ? c) Que hipteses devem ser vericadas para que seja vlida a armao: o erro cometido na aplicao de Th (f ) pode ser estimado por Mh (f ) Th (f ), sendo o erro associado a Mh (f ) metade deste valor e de sinal contrrio? 18. Deduza, semelhana de (4.7.9), a seguinte frmula para o caso da regra de Simpson: 1 Ei = Ii Ii (Ii Ii ) 15 19. O comprimento L de uma curva de equao y = f (x) entre as abcissas x = a e x = b dado por
b

L=
a

1 + (f (x))2

1/2

dx

a) Determine o comprimento da curva y = exp x entre x = 0 e x = 1 usando a regra de Simpson composta com 2 e com 4 subintervalos. b) Apresente uma estimativa do erro cometido recorrendo ao resultado do problema anterior. 20. Seja S = 1/k a srie harmnica, e Sn = n 1/k a respectiva soma parcial. Aplicando k=1 k=1 a regra do rectngulo esquerda composta com h = 1 funo f (x) = 1/x, mostre que Sn ln(n + 1) e que, portanto, a srie harmnica divergente. 21. a) Calcule pela regra do trapzio composta com 4 subintervalos o integral
1

I=
0

exp

1 x(1 x)

dx

b) Esta classe de regras particularmente interessante para este caso. Porqu?

4.11 Problemas

209

22. Demonstre que a soma dos cubos dos primeiros n inteiros Sn = (n(n + 1)/2)2 . 23. A regra de Newton-Cotes de 4 pontos tambm conhecida por regra de Simpson dos 3/8. Mostre que esta regra se pode deduzir da seguinte maneira: 1) aplicar ao intervalo [a, b] a regra do trapzio simples obtendo o valor Th ; 2) subdividir o intervalo em trs subintervalos iguais de comprimento (b a)/3 e aplicar a regra do trapzio composta obtendo Th/3 ; 3) eliminar o termo principal do erro entre estas duas frmulas, semelhana do que foi feito na Subseco 4.7.1. 24. a) Usando splines quadrticos, deduza a seguinte regra de integrao para malhas uniformes:
2h

I(f ) =
0

f (x) dx

h [f (0) + 4f (h) + f (2h)] 3

b) Qual o grau desta regra? c) Generalize ao caso de n subintervalos, obtendo


nh

I(f ) =
0

f (x) dx h

f (0) f (nh) h2 + f (h) + + f ((n 1)h) + + (m0 mn ) 2 2 12

d) Esta expresso assemelha-se da regra do trapzio composta corrigida. Podemos concluir que se trata da mesma regra? 25. Conhecem-se os seguintes valores de uma funo f C [0, 1] x 0.2 0.4 0.6 0.8 1.0 f (x) 0.19867 0.38942 0.56464 0.71736 0.84147 a) Calcule, pela regra de Newton-Cotes com 5 pontos, uma aproximao para o respectivo integral no intervalo [0.2, 1.0] sabendo que o erro desta regra Eh = (b a)7 (6) f () 1935360 3k ,

b) Repita a alnea anterior usando a regra de Simpson composta com 2 subintervalos. c) Ser possvel concluir qual dos resultados melhor, sendo conhecido que f (k) k = 0, 1, . . .?

26. Seguindo a metodologia utilizada na deduo da expresso (4.7.14) e da expresso (4.7.23) (frmula de Euler-Maclaurin), a) redescubra a regra do trapzio simples e o respectivo erro; b) idem, a regra do trapzio corrigida. 27. Considere o integral I(f ) =
0 1

ln(1/x)f (x) dx

210

Integrao numrica

a) Deduza, recorrendo expresso (4.7.14), a seguinte regra de integrao 1 Ih (f ) = [3f (0) + f (1)], 4 em que 2 = 1 x2 ln x 3 x2 + 3 x; 2 4 4
1

Eh (f ) =
0

2 (x)f (2) (x) dx

b) Mostre que a regra de grau 1 e deduza a expresso para o erro Eh (f ) = 5 f (), 72 [0, 1]

c) Aplique os resultados obtidos ao caso em que f (x) = exp(x/2), comparando o erro efectivamente cometido com a estimativa deduzida. 28. a) Verique que o erro das regras de integrao compostas pode ser majorado por
N

|Eh |

ci hp , i
i=1

com ci 0 e p 1

b) Demonstre que a minimizao do segundo membro desta expresso conduz a um erro em cada subintervalo proporcional ao respectivo comprimento e, portanto, em concordncia com o critrio adoptado na integrao adaptativa. 29. Demonstre que a coluna Tk,1 da tabela de Romberg corresponde utilizao da regra de Simpson composta, i.e., Tk,1 o resultado da aplicao desta regra com subintervalos de comprimento hk . 30. Considere os valores T0,0 , T1,0 , . . . , Tk,0 obtidos pelo mtodo de Romberg e proceda como se indica: ajuste um polinmio interpolador de grau k a estes valores tomando como ns de interpolao os valores dados pela expresso (4.7.26) e extrapole para zero este polinmio recorrendo frmula de Aitken-Neville (ver o Problema 2.10.31) o que no seno uma aplicao do processo de Richardson. Prove que se chega deste modo expresso (4.7.29). 1 31. Considere o clculo do integral I = 0 sin x dx pela regra de Simpson aplicada a) directamente ao integral tal como dado; b) efectuando primeiro a transformao de varivel = c) Qual a vantagem deste ltimo procedimento? 32. a) Calcule aproximadamente o integral I = 0 (ln x) cos x dx recorrendo tcnica da subtraco da singularidade e a uma regra de Gauss para a parte regular; b) Idem, para I =
/2 ln(sin x) 0 /2 1

x;

dx.

33. Calcule o integral I = 0 sin(x2 )/x7/3 dx com um erro inferior a 103 , recorrendo integrao por partes para obter uma integranda sucientemente regular e regra do ponto mdio composta.

4.11 Problemas
0 exp(x)/ x
0 sin(x)/(1

211

34. Calcule o integral I = 35. Calcule o integral I =

dx com um erro inferior a 105 . Nota: I =

+ x2 ) dx com um erro inferior a 103 .

36. Considere regras de integrao cujo erro tem a forma seguinte


1

I(f ) =
1

f (x) dx = Ih (f ) + cn f (n) (),

[1, 1]

Para obter uma estimativa do respectivo erro, Lanczos advogou o seguinte mtodo: admitir que f (n) aproximadamente constante no intervalo em questo, ou seja, supor que f (n+1) (x) 0 (hiptese essencial, como se ver) e empregar a funo auxiliar g = (xf ) . Assim: a) Mostre que I(g) = f (1) + f (1), Ih (g) = Ih (f ) + Ih (xf ) Eh (g) = I(g) Ih (g) = f (1) + f (1) Ih (f ) Ih (xf ) e, portanto, o erro de integrao da funo g pode ser calculado. b) Prove que, de acordo com a hiptese feita sobre f (n) (x), Eh (f ) 1 Eh (g) n+1
1

c) Aplique esta estimativa de Lanczos ao clculo de I(f ) = 0 (1 + x2 )1/2 dx pela regra de Gauss-Legendre com 3 pontos e compare-a com o erro efectivamente cometido. d) Indique uma funo para a qual este processo no vlido. 37. Nos casos em que a integranda f obtida por medies experimentais, os valores de f (xi ) usados para obter Ih (f ) podem conter erros aleatrios apreciveis, muito superiores aos erros resultantes da integrao numrica ou dos erros de arredondamento. Denotando por i o erro experimental que contamina o valor f (xi ), verique que o erro de integrao produzido pelos erros experimentais dado por
N

e=
i=0

Ai i

Neste caso faz sentido inquirir se h alguma combinao de pesos que, de alguma forma, minimize |e|. Um processo que pode ser adoptado o seguinte: aplicar a desigualdade de Schwarz (ver o Apndice A) para chegar a
N N

A2 i
i=0 i=0

2 i

Mostre que a minimizao do segundo membro desta desigualdade conduz a pesos todos iguais. Quais as regras de integrao aconselhveis neste caso?

Captulo 5 Equaes no-lineares


Neste captulo iremos estudar alguns dos mtodos mais utilizados para obter, por via aproximada, as solues de equaes no-lineares.

5.1

Introduo

O problema a resolver pode resumir-se deste modo: determinar os valores z que tornam nulo o valor da funo f , ou seja, resolver a equao f (x) = 0 Embora alguns dos mtodos que vamos apresentar se generalizem sem diculdade ao caso complexo, a exposio ser centrada exclusivamente sobre funes reais de varivel real, i.e., f : R R. Exigiremos ainda que f possua regularidade suciente, variando esta consoante os mtodos. Vejamos alguns casos tpicos de equaes no-lineares. Exemplo 5.1.1 Equaes no-lineares.
As funes seguintes, com domnios e regularidades diversos, so representativas do tipo de funes no-lineares cujos zeros podem ser calculados pelos mtodos a desenvolver neste captulo: f (x) = x4 x2 2(1 + x)1/2 , f C (R+ ) f (x) = exp x |x|3/2 2, f C 1 (R) Ao contrrio do que sucede, por exemplo, com as equaes algbricas lineares, quadrticas e cbicas, no se conhecem frmulas explcitas para as solues destas equaes, pelo que h necessidade de recorrer a mtodos para obter aproximaes. f (x) = sin x x2 , f C (R)

No nos devemos esquecer que, dada uma equao no-linear, nada est garantido a priori sobre a existncia de zeros, o seu nmero, a sua localizao, etc., pelo que o estudo destes aspectos faz geralmente parte do problema. 212

5.1 Introduo

213

y y
=

y f (x)

f (x)

f (x)

Figura 5.1.1: Multiplicidade de zeros: a) zero simples; b) zero duplo; c) zero triplo
a) b) c)

5.1.1

Razes e zeros

As denies seguintes consolidam alguma nomenclatura. Denio 5.1.1 Se f (z) = 0, ento diz-se que z uma raiz da equao f (x) = 0 ou que z um zero da funo f . De acordo com esta denio, um zero de f um ponto em que esta funo assume o valor zero. No entanto, conforme a Figura 5.1.1 mostra, uma funo pode aproximar-se de zero de modos bem diferentes. No caso a) a funo cruza o eixo dos xx, mudando de sinal. No caso b) a funo toca o eixo dos xx mas no muda de sinal. Finalmente, no caso c) a funo cruza o eixo dos xx e muda de sinal, mas f-lo de modo a que o zero seja um seu ponto de tangncia com o eixo dos xx. Para distinguir estas vrias situaes conveniente introduzir o conceito de multiplicidade de um zero. Denio 5.1.2 A multiplicidade de um zero z da funo f o supremo m dos valores k tais que |f (x)| lim =c< xz |x z|k Se m = 1, o zero diz-se simples, se m = 2 o zero diz-se duplo, etc. Contudo, a multiplicidade de um zero no necessariamente um nmero inteiro, conforme o exemplo seguinte ir mostrar. Exemplo 5.1.2 Determinar a multiplicidade de zeros.
a) O ponto z = 1 um zero simples de f (x) = x2 1, pois como f (x) = x2 1 = (x + 1)(x 1)

214

Equaes no-lineares

temos que 1| |x + 1| = lim lim k x1 |x 1| x1 |x 1|k1 |x2 2 = 0 se se se k=1 k<1 k>1

b) O ponto z = 1 um zero duplo de f (x) = x2 2x + 1, j que f (x) = x2 2x + 1 = (x 1)2 |x2 2x + 1| lim = lim |x 1|2k x1 x1 |x 1|k 1 = 0 se se se se se se k=2 k<2 k>2

c) O ponto z = 0 um zero de multiplicidade m = 1/2 de f (x) = x1/2 . De facto, 1 1/2k lim = lim |x |= 0 x0 |xk | x0 |x1/2 | k = 1/2 k < 1/2 k > 1/2

d) O ponto z = 1 um zero simples de f (x) = x1/2 1, pois 1| lim = lim k 1/2 + 1| x1 |x 1| x1 |x |x1/2 |x1/2 1|1k 1/2 = 0 se se se k=1 k<1 k>1

e) O ponto z = 0 um zero de multiplicidade m = 1/2 da funo f (x) = |x|1/2 ln |x|. De facto, pondo k = 1/2 , tem-se que |x|1/2 ln |x| = lim |x| ln |x| = x0 |x|1/2 x0 lim 0 se se >0 0

Como o supremo dos valores k = 1/2 para > 0 1/2, ca provada a armao feita.

Agora podemos compreender melhor a armao coloquial de que na vizinhana de um zero z de multiplicidade m a funo f se comporta como (x z)m . Por outro lado, se f tiver regularidade suciente, possvel relacionar a multiplicidade dos zeros com as derivadas desta funo. Teorema 5.1.1 Se z for um zero da funo f , e se f for m vezes continuamente diferencivel no ponto z, ento a multiplicidade de z m sse f (z) = f (z) = = f (m1) (z) = 0 e f (m) (z) = 0

5.1 Introduo

215

Demonstrao Suponhamos que f m vezes continuamente diferencivel em z. Pelo desenvolvimento em srie de Taylor em torno deste ponto temos que f (x) = f (z) + f (z)(x z) + + f (m) () f (m1) (z) (x z)m1 + (x z)m (m 1)! m!

para inter (x, z). Ento, se as condies do teorema se vericarem, resulta que f (x) = 1 (m) f ()(x z)m m!

Pela continuidade de f (m) na vizinhana de z podemos dizer que f (x) f (m) () f (m) (z) = lim = xz (x z)m xz m! m! lim Daqui inferimos que a multiplicidade de z pelo menos m. Vamos agora demonstrar que, se as hipteses do teorema forem verdadeiras, ento a multiplicidade de z no pode ser superior a m. Para qualquer > 0 temos que lim xz |f (x)| |f (m) ()| = xz lim = |x z|m+ m!|x z|

o que viola a Denio 5.1.2. Est assim demonstrado que as condies do teorema so sucientes para que z seja um zero de multiplicidade m. Passemos agora demonstrao da necessidade. Se a multiplicidade do zero z for m, ento, recorrendo novamente frmula de Taylor, f (x) f (z) f (m) () = ++ (x z)m (x z)m1 m! com inter (x, z)

Passando ao limite x z ambos os membros desta igualdade, temos que f (x) f (z) f (m) () = lim + + lim xz (x z)m xz (x z)m1 xz m! lim Por denio, este limite deve ser nito e diferente de zero, o que nos leva, portanto, a concluir que f (z) = = f (m1) (z) = 0, A demonstrao ca assim completa. f (m) (z) = 0

216

Equaes no-lineares

5.1.2

Iteraes e convergncia

Uma vez que est posta de lado a possibilidade de existncia de frmulas resolventes para a generalidade das equaes no-lineares, h que recorrer a outros mtodos, os quais assumem em geral um carcter iterativo. Concretamente, estes mtodos partem do conhecimento de s valores aproximados x0 , x1 , . . . , xs1 da raiz z e com estes constroem uma nova aproximao xs desejavelmente melhor. Este processo ou esquema iterativo pode representar-se pela frmula de iterao xk = gk (xk1 , . . . , xks ), com k = s, s + 1, . . . (5.1.1)

em que gk uma funo apropriada especca do mtodo em questo conhecida por funo de iterao. Se esta funo gk no depender de k, ou seja, se a forma da funo se mantiver de iterao para iterao, o mtodo iterativo diz-se estacionrio. No caso contrrio, o mtodo diz-se no-estacionrio. Adiante apresentaremos exemplos de um e outro tipos. O esquema iterativo (5.1.1) gera, quando aplicado repetidamente, uma sucesso de valores xk aos quais correspondem os erros ek = z xk (5.1.2)

Obviamente, de interesse que os mtodos iterativos sejam convergentes, signicando com isto que se deve vericar
k

lim xk = z,

ou seja

lim ek = 0

Por outro lado, til qualicar a rapidez com que uma sucesso converge para o seu limite. As denies seguintes vo nesse sentido. Denio 5.1.3 Sejam {xk } e {xk } duas sucesses que convergem para os limites z e z , respectivamente, de tal modo que |ek | =c< k |ek | lim Ento, se: c > 1, diz-se que {xk } converge pior que {xk }; c = 1 diz-se que {xk } converge como {xk }; 0 < c < 1, diz-se que {xk } converge melhor que {xk }; c = 0, diz-se que {xk } converge mais rapidamente que {xk }.

5.1 Introduo

217

Por vezes emprega-se a notao xk = o(xk ) para indicar que {xk } converge mais rapidamente que {xk }, i.e., c = 0, e a notao xk = O(xk ) caso {xk } converja como {xk } ou melhor, i.e., c > 0. Para caracterizar a rapidez da convergncia costuma usar-se as noes de convergnciaQ, convergncia-R e ordem de convergncia cujas denies passamos a apresentar. Denio 5.1.4 Diz-se que uma sucesso {xk } converge para z: a) Q-linearmente, se existir um nmero real M (0, 1) e um nmero natural N tais que |ek+1 | M, |ek | k N (5.1.3)

b) Q-supralinearmente, se existir uma sucesso {Mk }, com Mk > 0 e limk Mk = 0, tal que |ek+1 | Mk , k (5.1.4) |ek | c) com ordem de convergncia-Q igual a p > 1, se existirem nmeros reais 0 < m M < e um nmero natural N tais que m Se, alm disso, |ek+1| M, |ek |p lim k N (5.1.5)

diz-se que c a constante de erro assimpttico .

|ek+1 | =c k |ek |p

(5.1.6)

A designao de convergncia-Q decorre do facto de se empregarem quocientes dos erros na respectiva denio. Por outro lado, o caso a) pode ser visto como uma particularizao do caso c) e o valor de p assim denido nico, como se pode facilmente demonstrar (ver BREZINSKI (1977)). Se p = 1, a convergncia diz-se de primeira ordem ou linear ; se p = 2, de segunda ordem ou quadrtica, e assim por diante. Deve, todavia, ter-se presente que a Denio 5.1.4 no esgota todas as possibilidades, i.e., h sucesses cujo comportamento escapa ao gurino desta denio (ver a este propsito o Problema 5.13.3 e a Denio 5.1.5 mais adiante). A expresso (5.1.6) na denio acima costuma por vezes escrever-se na forma assimpttica |ek+1 | c|ek |p que nos indica o modo como o erro evolui quando o nmero de iteraes for sucientemente grande.

218

Equaes no-lineares

Quanto maior for a ordem de convergncia de um mtodo iterativo menor ser, em princpio, o nmero de iteraes necessrias para atingir uma dada preciso. Contudo, no se deve daqui inferir precipitadamente que uma maior ordem de convergncia conduz automaticamente a tempos de clculo menores, j que estes tempos dependem ainda de outro parmetro determinante, que o esforo computacional requerido em cada iterao. Chamamos a ateno para o facto de que os parmetros m, M, N e p na denio acima podem depender da funo f e do zero z em causa, i.e., um mesmo mtodo pode exibir diferentes ordens de convergncia e constantes de erro em diferentes zeros duma mesma funo. As designaes acabadas de introduzir recebem do teorema seguinte uma justicao rigorosa. Teorema 5.1.2 Seja {ek } uma sucesso que satisfaz alguma das condies da Denio 5.1.4. a) Se {ek } convergir Q-linearmente, ento {ek } converge para zero qualquer que seja o valor de eN . b) Se {ek } convergir Q-supralinearmente, ento converge para zero qualquer que seja o valor de e0 . c) Se p > 1, {ek } converge para zero desde que o valor eN seja sucientemente pequeno. Demonstrao Para simplicar a notao e sem perda de generalidade consideremos que N = 0, o que sempre possvel mediante uma renumerao adequada dos termos da sucesso {ek }. Caso a). Tendo em conta que |ek | = obtemos a seguinte estimativa |ek | |ek1 | |e1 | |e0 | |ek1 | |ek2 | |e0 | |ek | M k |e0 | (5.1.7)

Como 0 < M < 1, conclumos que limk |ek+1 | limk M k |e0 | = 0. Est assim provada a convergncia para esta situao. Caso b). Denotando por K o primeiro valor do ndice para o qual se verica MK < 1, podemos escrever que
k1 |eK1| |ek | |ek1| |ek | = |eK | Mj |eK |, |ek1 | |ek | |eK | j=K

k>K

(5.1.8)

donde resulta que limk ek = 0 qualquer que seja eK . Caso c). Temos agora que |ek+1| M|ek |p

5.1 Introduo

219

Pondo, para obter uma expresso mais simples, k = M 1/(p1) |ek | ou seja, |ek | = M 1/(p1) k vem que
p k+1 k

Aplicando esta relao sucessivamente com k = 0, 1, . . ., chegamos a


p 1 0 , p 2 0 ,
2

...,

p k 0 pk

(5.1.9)

ou seja, Ento, se |ek | M 1/(1p) |e0 |M 1/(p1) 0 < 1, i.e., (5.1.10) (5.1.11)

a sucesso {ek } converge para zero. Alm disso, esta ltima relao d signicado rigoroso expresso |e0 | sucientemente pequeno. Por outro lado, no oferece diculdade ver que |ek+1 | |ek |k Esta expresso mostra que, se a condio (5.1.11) for vericada, todas as sucessivas iteraes xk se situam no intervalo denido por {x : |x z| |e0 | |x0 z|}. A necessidade de ter ou no estimativas iniciais sucientemente prximas do zero pretendido leva-nos a distinguir entre os mtodos de convergncia local em que esta exigncia requerida e os mtodos de convergncia global em que a convergncia no est dependente da qualidade das estimativas iniciais. A noo de convergncia-Q , por vezes, demasiado forte. Em particular, este tipo de convergncia tende a ter um erro assimptoticamente monotnico (em valor absoluto), como se depreende do Teorema 5.1.2, o que nem sempre verdade para as sucesses geradas por mtodos iterativos. Da o interesse da denio que se segue, mais fraca, como veremos. Denio 5.1.5 Diz-se que uma sucesso {xk } converge para z: a) R-linearmente, se existirem nmeros reais c (0, ) e M (0, 1) e um nmero natural N tais que |ek | cM k , k N (5.1.12) b) R-supralinearmente, se existir um nmero real c (0, ) e uma sucesso {Mk }, com Mk > 0 e limk Mk = 0, tais que
k

|e0 | < M 1/(1p)

|ek | c

Mj ,
j=0

(5.1.13)

220

Equaes no-lineares

c) com ordem de convergncia-R igual a p > 1, se existirem nmeros reais c (0, ) e M (0, 1) e um nmero natural N tais que |ek | cM p ,
k

k N

(5.1.14)

A designao de convergncia-R decorre do seguinte facto. Da expresso (5.1.12) deduz-se que lim |ek |1/k M
k

ou seja, M constitui assimptoticamente um majorante para |ek |1/k . De (5.1.14) tambm resulta que k lim |ek |1/p M
k

cuja interpretao semelhante. A armao feita atrs de que a convergncia-Q mais forte que a convergncia-R justicada pelo seguinte teorema. Teorema 5.1.3 A convergncia-Q implica a convergncia-R. Demonstrao Continuemos a tomar N = 0 por comodidade. Caso a). Vericamos imediatamente que a expresso (5.1.7) idntica expresso (5.1.12) com c = |e0 |. Caso b). A relao (5.1.4) permite escrever que |ek+1 | Mk |ek |, Por induo, obtemos
k1

k k

|ek | |e0 |

Mj ,
j=0

pelo que, tomando c = |e0 |, obtemos precisamente (5.1.13). Caso c). De (5.1.5) deduzimos que |ek+1| M|ek |p e, por um processo em tudo semelhante ao usado no Teorema 5.1.2, concluimos a validade de (5.1.14). Em geral, o contexto indica de que tipo de convergncia se est a falar; sempre que nada se disser, subentenderemos que se trata de convergncia-Q. Os mtodos iterativos que vamos estudar produzem uma sucesso {xk } que, desejavelmente, converge para a raiz exacta z. No entanto, esta desconhecida pelo que h interesse em avaliar o tipo de convergncia sem ter que recorrer ao valor de z. O prximo teorema d uma achega a este problema.

5.1 Introduo

221

Teorema 5.1.4 Seja {xk } uma sucesso. a) Se existir um nmero M (0, 1) e um nmero natural N tais que |xk+1 xk | M|xk xk1 |, ento {xk } converge R-linearmente. b) Se existir um nmero A (0, ), um nmero p > 1 e um nmero natural N tais que |xk+1 xk | A|xk xk1 |p , k > N ento {xk } possui convergncia-R com ordem de convergncia igual a p. Demonstrao Caso a). Para abreviar a notao, ponhamos k = |xk+1 xk | Ento, deduzimos sem diculdade que
k1 i=j

k > N

|xk xj | |xk xk1 | + + |xj+1 xj | = Mas, pela hiptese do teorema, pelo que, por induo, Sendo assim, k+1 Mk k N M kN , |xk xj | N M N
i=j

i=j

i ,

k > j

k>N M i = N M jN 1M (5.1.15)

Daqui decorre que limj |xk xj | = 0, (k > j), uniformemente em k. Logo {xk } uma sucesso de Cauchy, por conseguinte, convergente em R. Denotemos por z o seu limite. Fazendo k em (5.1.15), podemos escrever que |ej | = |xj z| N M N Mj 1M

Confrontando esta expresso com (5.1.12), vemos que basta tomar c = N M N /(1 M) para concluir que {xk } converge R-linearmente. Caso b). Agora temos que k+1 Ap k pelo que, por induo, N +j A1/(1p) N A1/(p1)
pj

222

Equaes no-lineares

Aps manipulaes simples, podemos deduzir que i A1/(1p) M p , Ento, tal como atrs, |xk xj |
i=j
i

com M = N A1/(p1)

pN

<1

i A

1/(1p)

i=j

pi

1/(1p)

pj

i=j

M p p

Mas, para i > j > k sucientemente grandes, pi pj i j, pelo que M p p M ij , o que permite escrever A1/(1p) pj |xk xj | M (5.1.16) 1M Daqui decorre que limj |xk xj | = 0, (k > j), uniformemente em k. Logo {xk } uma sucesso de Cauchy, por conseguinte, convergente em R. Denotemos por z o seu limite. Fazendo k em (5.1.16), podemos escrever que |ej | = |xj z| cM p
j

em que zemos c = A1/(1p) /(1 M). Confrontando esta expresso com (5.1.14) conclumos que {xk } tem convergncia-R com ordem igual a p. Este teorema tem um grande valor prtico: ele mostra que se pode obter informao sobre o tipo de convergncia atravs das quantidades xk+1 xk calculadas ao longo das iteraes.

5.2
5.2.1

Mtodo da bisseco
Descrio do mtodo

Seja f uma funo contnua no intervalo nito I = [a, b] e tal que f (a) e f (b) possuam sinais diferentes. Ento, esta funo possui pelo menos um zero neste intervalo. O mtodo da bisseco consiste em construir subintervalos Ik = [ak , bk ] I = [a, b] por divises sucessivas a meio e relativamente aos quais tambm se verique que f (ak ) e f (bk ) tenham sinais diferentes. Deste modo vamos connando um zero da funo f a intervalos to pequenos quanto desejarmos. O algoritmo que concretiza este mtodo o seguinte. Ponhamos I0 = [a0 , b0 ] = I = [a, b], Ik = [ak , bk ], k = 1, 2, . . .

e seja xk+1 o ponto mdio do intervalo Ik , i.e., xk+1 = ak + bk 2

5.2 Mtodo da bisseco

223

y = f (x)

Figura 5.2.1: bisseco

Mtodo da

ak

xk+1 ak+1 bk+1 bk x

Consideremos as seguintes trs situaes. Se f (xk+1 ) = 0, ento xk+1 um zero e o algoritmo termina aqui. Se f (ak ) e f (xk+1 ) tiverem sinais diferentes, faa-se ak+1 = ak e bk+1 = xk+1

de modo a que o novo subintervalo Ik+1 = [ak+1 , bk+1 ] contenha um zero de f . Se, pelo contrrio, forem f (bk ) e f (xk+1 ) a ter sinais diferentes, ento ponha-se ak+1 = xk+1 , bk+1 = bk

Deste modo garante-se que, em qualquer das duas ltimas situaes, o novo subintervalo Ik+1 = [ak+1 , bk+1 ] contm pelo menos um zero de f . Pela forma como foi construdo, este subintervalo tem um comprimento que metade do comprimento do subintervalo que o precedeu. Portanto, 1 |ak+1 bk+1 | = |ak bk | (5.2.1) 2 A Figura 5.2.1 ilustra esquematicamente a aplicao do mtodo o qual se encontra tambm desenvolvido no Algoritmo 5.2.1.

5.2.2

Erros e convergncia

A simplicidade do mtodo da bisseco torna intuitiva a anlise da respectiva convergncia. Todavia, til proceder a uma anlise rigorosa que apresentamos no teorema seguinte. Teorema 5.2.1 Seja f C[a, b] e tal que f (a) e f (b) tenham sinais diferentes. Ento, a sucesso {xk } determinada pelo mtodo da bisseco converge para um zero de f neste intervalo, e o erro satisfaz a relao |ek | ba 2k (5.2.2)

224

Equaes no-lineares

Demonstrao A sucesso {ak }, k = 0, 1, . . . no-decrescente e limitada superiormente por b, e a sucesso {bk }, k = 0, 1, . . . no-crescente e limitada inferiormente por a. Ento, ambas as sucesses convergem e denotemos por a e os respectivos limites. b Pela forma como o mtodo foi elaborado podemos dizer que ak < xk+1 < bk e, portanto, a = lim ak = = lim bk = lim xk+1 b
k k k

lim |ak bk | = 0 (5.2.3)

Por outro lado, atendendo ao modo de construo dos intervalos, f (ak )f (bk ) < 0, Como f contnua, temos que 0 lim [f (ak )f (bk )] = lim f (ak )
k k k

k = 0, 1, . . .

lim f (bk ) = f ()f ( = [f ()]2 = [f ( 2 0 a b) a b)]

Destas desigualdades conclumos que f () = f ( = 0 e que, por conseguinte, a = um a b) b zero da funo f . Algoritmo 5.2.1 Mtodo da bisseco Estipular um intervalo [a, b] tal que f (a)f (b) < 0 Fixar as tolerncias e (ver a Seco 5.11) Fixar um limite kmax para o contador k das iteraes a0 = a; b0 = b (inicializao) fa = f (a); fb = f (b) for k = 0 to kmax do hk = (bk ak )/2 xk+1 = ak + hk fm = f (xk+1 ) if fm = 0 then exit if fa fm < 0 then ak+1 = ak ; bk+1 = xk+1 ; fb = fm else ak+1 = xk+1 ; bk+1 = bk ; fa = fm if hk < + |xk+1 | then exit od Aviso: teste de convergncia no satisfeito

5.2 Mtodo da bisseco

225

Recordando a expresso (5.1.2), o erro cometido vem majorado por 1 |ek+1 | |ak bk | 2 Aplicando sucessivamente a relao (5.2.1), chegamos a (5.2.2), como queramos demonstrar. Exemplo 5.2.1 Determinar a raiz positiva da equao f (x) = x2 2 = 0 com um erro inferior a 104 .
Este exemplo escolhido pela sua simplicidade e por se conhecer a soluo exacta, que z = 2 1.4142. Tomando I = [a, b] = [0, 2], vericamos que f (0) = 2 e f (2) = 2 pelo que estamos dentro das condies exigidas pelo Teorema 5.2.1. O nmero n de iteraes a efectuar para garantir um erro |en | pode ser estimado por intermdio da expresso (5.2.2), vindo ln(2 104 ) ln(|a b|/) = = 14.3 n ln 2 ln 2 Logo n = 15 suciente. O desenvolvimento do clculo do zero apresentado no quadro seguinte. k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ak 0.0 1.0 1.0 1.25 1.375 1.375 1.4063 1.4063 1.4141 1.4141 1.4141 1.4141 1.4141 1.4141 1.4142 f (ak ) 2.0 1.0 1.0 0.4375 0.1094 0.1094 (0.2246)101 (0.2246)101 (0.3836)104 (0.3836)104 (0.3836)104 (0.3836)104 (0.3836)104 (0.3836)104 (0.3836)104 bk 2.0 2.0 1.5 1.5 1.5 1.4375 1.4375 1.4219 1.4219 1.4180 1.4161 1.4151 1.4146 1.4143 1.4143 f (bk ) 2.0 2.0 0.25 0.25 0.25 (0.6641)101 (0.6641)101 (0.2180)101 (0.2180)101 (0.1072)101 (0.5198)102 (0.2508)102 (0.1093)102 (0.2445)103 (0.2445)103 xk+1 1.0 1.5 1.25 1.375 1.4375 1.4063 1.4219 1.4141 1.4180 1.4161 1.4151 1.4146 1.4143 1.4142 |ek+1 | 0.4142 (0.8579)101 0.1642 (0.3921)101 (0.2329)101 (0.7914)102 (0.7686)102 (0.1136)103 (0.3786)102 (0.1886)102 (0.8864)103 (0.3864)103 (0.8644)104 (0.1356)104

Como se v, o critrio do erro satisfeito logo a partir da iterao 13, em boa concordncia com o valor estimado acima. Convm reparar que a convergncia no montona.

Este exemplo permite realar duas caractersticas importantes do mtodo da bisseco. A primeira a de que a convergncia certa para uma vasta classe de funes, as funes contnuas (desde que calculadas sem erros de arredondamento!). Neste sentido, o mtodo da bisseco um mtodo global. A segunda a de que a convergncia poder ser bastante

226

Equaes no-lineares

y = f (x)

Figura 5.3.1: Mtodo da falsa posio

ak

xk+1 ak+1 bk+1 bk x

lenta. Por esta razo, o mtodo da bisseco utilizado frequentemente apenas como fase preparatria de localizao de zeros num intervalo sucientemente pequeno onde seja possvel o arranque de outros mtodos mais rpidos mas cuja convergncia dependa de uma boa aproximao inicial. Apesar de ser convergente, o mtodo da bisseco tem um comportamento que, em geral, no enquadrvel pela Denio 5.1.4. De facto, como fcil ver por simples inspeco de (5.2.2), este mtodo possui apenas convergncia-R linear.

5.3
5.3.1

Mtodo da falsa posio


Descrio do mtodo

A nica informao sobre a funo f que o mtodo da bisseco utiliza o seu sinal, o que muito pouco. de esperar que se recorrermos a mais informao sobre o andamento de f possamos conceber mtodos mais rpidos. No mtodo da falsa posio (tambm conhecido pela designao latina de regula falsi ) procede-se do mesmo modo que no mtodo da bisseco excepto que o ponto xk+1 se determina no como o ponto mdio do intervalo, mas como a interseco da secante que passa pelos pontos (ak , f (ak )) e (bk , f (bk )) com o eixo dos xx, conforme se mostra na Figura 5.3.1. A equao desta secante pode escrever-se nas seguintes formas alternativas y = f (ak ) + f [ak , bk ](x ak ) y = f (bk ) + f [ak , bk ](x bk ) (5.3.1) (5.3.2)

pelo que a sua interseco com o eixo dos xx ocorre no ponto xk+1 dado por qualquer das

5.3 Mtodo da falsa posio

227

seguintes expresses xk+1 = ak xk+1 xk+1 f (ak ) f [ak , bk ] f (bk ) = bk f [ak , bk ] ak f (bk ) bk f (ak ) = f (bk ) f (ak ) (5.3.3) (5.3.4) (5.3.5)

Como se adopta o mesmo princpio na escolha dos subintervalos, f (ak ) e f (bk ) possuem sinais diferentes, e, por conseguinte, o denominador da expresso (5.3.5) constitudo por duas parcelas com o mesmo sinal. Este facto implica que no so de recear efeitos nefastos resultantes dos erros de arredondamento numa subtraco de dois nmeros tendencialmente muito pequenos e semelhantes em valor absoluto. Ou seja, est evitado o aparecimento de cancelamento subtractivo. Variantes do mtodo da falsa posio O mtodo da falsa posio tende a desenvolver uma convergncia lenta quando um dos extremos, ak ou bk , se imobiliza. Suponhamos, para exemplicar, que bk = bk1 = bk2 , i.e., o extremo direito que se imobiliza. Para evitar este inconveniente pode usar-se a seguinte modicao: empregar os pontos (ak+1, f (ak+1 )) e (bk , f (bk )/2) para traar a nova secante em vez dos pontos (ak+1 , f (ak+1)) e (bk , f (bk )). A Figura 5.3.2 mostra qualitativamente o efeito assim produzido. Convm realar que a secante continua a ser denida por pontos acima e abaixo do eixo dos xx tal como na verso original, garantindo a existncia de um zero no intervalo seleccionado. Esta variante por vezes conhecida pela designao de mtodo de Illinois, pois, segundo consta, foi originado no centro de computao da Universidade de Illinois. Uma outra variante, conhecida como mtodo de Pegasus, em tudo semelhante ao mtodo de Illinois excepto que a nova secante construda com os pontos (ak+1 , f (ak+1 )) e (bk , ck f (bk )) com ck = f (ak )/(f (ak ) + f (ak+1)). Como ck tende para o valor 1/2, as eccias destas duas variantes so praticamente idnticas.

5.3.2

Erros e convergncia

O teorema seguinte fornece condies sucientes para a convergncia do mtodo da falsa posio e uma estimativa do erro. Teorema 5.3.1 Seja f uma funo convexa ou cncava no intervalo I = [a, b] com f (a) e f (b) de sinais diferentes. Ento, o mtodo da falsa posio possui convergncia-Q linear para o zero de f neste intervalo.

228

Equaes no-lineares
y
=

f (x)

f (b k )

f (b k )= 2

Figura 5.3.2: Mtodo de Illinois


ak

xk+1 ak+1

xk+2 ak+2 bk+1 bk+2 bk x

Demonstrao Vamos desenvolver a demonstrao para o caso de f ser convexa, j que para funes cncavas o tratamento inteiramente anlogo. A sucesso {xk } determinada pelo algoritmo no-decrescente e limitada direita por b. Logo, converge para um limite x e, se este valor vericar f () = 0, o mtodo da falsa posio converge x para o nico (porqu nico?) zero de f no intervalo [a, b]. Vejamos se assim acontece ou no. Suponhamos que o limite x no verica f () = 0. Ento, existem valores de N e x > 0 tais que |f (xn )| para n > N Por outro lado, de (5.3.4) tira-se que xn+1 b = f (b) f (b) = (b xn ) f [b, xn ] f (b) f (xn ) M |xn b| M +
k

Se M for um majorante de |f | no intervalo [a, b], ento |xn+1 b|

Por aplicao repetida desta expresso, deduzimos que |xn+k b| pelo que somos levados a concluir que x = lim xk = b
k

M M +

|xn b|

Mas as hipteses do teorema e a prpria construo do algoritmo garantem que se verica f (xk )f (b) 0 e, por conseguinte, 0 lim f (xk )f (b) = [f (b)]2 > 0
k

5.4 Mtodo da secante

229

o que uma contradio. Portanto, a sucesso {xk } tem de convergir para o zero da funo f no intervalo [a, b]. Passemos agora ao estudo do erro. Recordando o que se disse na Subseco 2.4.1, podemos escrever que f (z) = 0 = f (b) + f [b, xk ](z b) + f [b, xk , z](z b)(z xk ) Por outro lado, a expresso (5.3.2) fornece a relao f (xk+1 ) = 0 = f (bk ) + f [xk , bk ](xk+1 bk ) (5.3.7) (5.3.6)

Subtraindo (5.3.6) e (5.3.7) membro a membro e tendo em ateno que b = bk , facilmente obtemos f [b, xk , z] (b z)ek ek+1 = f [b, xk ] Passando ao limite, |ek+1| f [b, xk , z] |f [b, z, z]| = lim (b z) = |(b z)| = M k |ek | k f [b, xk ] |f [b, z]| lim (5.3.8)

A constante de erro assimpttico M , como vamos provar, inferior a um. Desenvolvendo as diferenas divididas, obtemos as expresses f [b, z] = f (z) f (b) , zb f [b, z, z] = f [z, z] f [b, z] zb

que, substitudas em (5.3.8), do M =1 f [z, z] f (z) =1 f [b, z] f ()

com (z, b). Como, por hiptese, f convexa, podemos armar que 0 = f (z) < f (), o que implica imediatamente que M < 1.

5.4
5.4.1

Mtodo da secante
Descrio do mtodo

Basicamente, o mtodo da secante consiste em, partindo de duas iteraes quaisquer (xk1 , f (xk1 )) e (xk , f (xk )), obter o valor seguinte xk+1 como a interseco da secante que passa pelos referidos pontos com o eixo dos xx. Assim, este mtodo apenas difere do da falsa posio por no se exigir que os valores da funo nos extremos dos subintervalos tenham sinais diferentes (ver a Figura 5.4.1). Esta simplicao do algoritmo pode

230

Equaes no-lineares

y yk 1

Figura 5.4.1: Mtodo da secante

yk

xk 1

xk xk+1 y
=

x f (x)

trazer como consequncia que o mtodo da secante deixe de convergir em certas situaes. Todavia, quando converge, f-lo com uma ordem de convergncia superior a um, como veremos mais adiante. A expresso que permite obter xk+1 semelhante (5.3.3), (5.3.4) ou (5.3.5). Pondo por simplicidade yk = f (xk ), temos que xk+1 = yk xk1 yk1 xk yk yk1 (5.4.1)

claro que agora, no havendo a certeza de que yk e yk1 tenham sinais contrrios, a expresso acima pode originar cancelamento subtractivo. Uma expresso equivalente a (5.4.1) mas menos sensvel a erros de arredondamento xk+1 = xk yk f [xk1 , xk ] (5.4.2)

Esta expresso pode ser escrita nesta outra forma equivalente mas mais elucidativa xk+1 = xk + hk com hk = yk f [xk1 , xk ] (5.4.3)

que susceptvel da seguinte leitura: o novo valor xk+1 obtm-se do anterior xk adicionando a este uma correco hk a calcular de acordo com a frmula acima. O Algoritmo 5.4.1 esquematiza este mtodo.

5.4.2

Erros e convergncia

O teorema seguinte d-nos condies sucientes que garantem a convergncia do mtodo da secante e revela a respectiva ordem de convergncia.

5.4 Mtodo da secante

231

Teorema 5.4.1 Se todas as iteraes estiverem contidas numa vizinhana (a, b) sucientemente pequena do zero z da funo f C 2 [a, b], ento o mtodo da secante convergente, e o erro satisfaz a relao |ek+1 | M|ek ||ek1| com M= M2 , 2m1 0 < m1 |f ()| < M1 e |f ()| M2 5)/2 1.618.

para todo o [a, b], e a ordem de convergncia p = (1 +

Demonstrao Como sabemos, a interpolao linear da funo f nos pontos xk1 e xk fornece a identidade 0 = f (z) = f (xk ) + f [xk , xk1 ](z xk ) + f [xk , xk1, z](z xk )(z xk1 ) donde se tira que o zero z expresso por z = xk f (xk ) f [xk , xk1 , z] (z xk )(z xk1 ) f [xk , xk1 ] f [xk , xk1 ]

Mas, tendo em conta (5.4.2), a expresso acima transforma-se na seguinte z = xk+1 da qual resulta que ek+1 = f [xk , xk1 , z] ek ek1 f [xk , xk1 ] f [xk , xk1 , z] (z xk )(z xk1 ) f [xk , xk1 ]

Algoritmo 5.4.1 Mtodo da secante Estipular valores iniciais x0 e x1 Fixar as tolerncias e Fixar um limite kmax para o contador k das iteraes f0 = f (x0 ); f1 = f (x1 ) for k = 1 to kmax do dk = (fk fk1)/(xk xk1 ) hk = fk /dk xk+1 = xk + hk if xk+1 = xk then exit fk+1 = f (xk+1 ) if |hk | < + |xk+1| then exit od Aviso: teste de convergncia no satisfeito

(ver a Seco 5.11)

232

Equaes no-lineares

Recordando a relao entre diferenas divididas e derivadas, podemos pr que f [xk , xk1 ] = f (k ) e 1 f [xk , xk1 , z] = f (k ) 2

com k inter (xk , xk1 ) e k inter (xk , xk1 , z). Portanto, ek+1 = f (k ) ek ek1 2f (k ) (5.4.4)

Tomando os valores absolutos de ambos os membros desta expresso e majorando de forma bvia, vem que |ek+1 | M2 |ek ||ek1 | = M|ek ||ek1| 2m1 (5.4.5)

Utilizando a notao uk = M|ek |, a relao anterior transforma-se nesta outra com aspecto ligeiramente mais simples uk+1 uk uk1 (5.4.6) Admitiremos que os pontos x0 e x1 pertencem a uma vizinhana sucientemente prxima do zero no sentido de que u0 1 e u1 < 1 Ento, recorrendo expresso (5.4.6), deduzimos que u2 , u3 2 , u4 3 , ..., uk k (5.4.7)

em que os k satisfazem a seguinte relao de recorrncia k+1 = k + k1, k = 1, 2, . . . ; 0 = 0, 1 = 1 (5.4.8)

As relaes (5.4.7) e (5.4.8) permitem concluir que limk uk = 0 e que, portanto, o mtodo da secante converge. Os nmeros k gerados pela relao (5.4.8) so os clebres nmeros de Fibonacci , e no difcil demonstrar a frmula de Binet
1 1+ 5 k = 2 5
k

1 5 2

Em particular, so verdadeiras as igualdades k+1 1+ 5 p lim = , k k 2

p2 p 1 = 0

(5.4.9)

5.5 Mtodo de Newton

233

yk

Figura 5.5.1: Newton

Mtodo de

xk

xk+1 y
=

x f (x)

Uma vez demonstrada a convergncia do mtodo, regressamos a (5.4.4) para dizer que |ek+1 | = A, k |ek ||ek1 | lim Mas, como fcil ver, |ek+1| |ek+1 | |ek |1/p |ek+1 | = lim = lim lim p |e k |ek ||ek1 | k |ek | k |ek |p k1 | donde se conclui que lim |ek | |ek1 |p
1/p

com A =

f (z) 2f (z)

(5.4.10)

(5.4.11)

|ek+1 | = c, com c = Ap1 k |ek |p o que prova que a ordem de convergncia , de facto, igual a p. A hiptese |f ()| > 0 implica que o zero z simples, pelo que este teorema no contempla o caso de zeros mltiplos.

5.5
5.5.1

Mtodo de Newton
Descrio do mtodo

Nos mtodos da falsa posio e da secante, a curva y = f (x) era aproximada por uma sua secante. No mtodo de Newton ou de Newton-Raphson, como por vezes chamado, esta curva aproximada pela sua tangente, e a interseco desta com o eixo dos xx tomada como o novo valor da aproximao ao zero de f . A Figura 5.5.1 mostra esquematicamente este processo. A equao da tangente curva y = f (x) que passa pelo ponto xk y = f (xk ) + f (xk )(x xk )

234

Equaes no-lineares

e, portanto, a sua interseco com o eixo dos xx ocorre na posio xk+1 = xk f (xk ) f (xk ) (5.5.1)

Tal como zemos para o mtodo da secante, a expresso acima pode ser escrita nesta outra forma f (xk ) xk+1 = xk + hk com hk = (5.5.2) f (xk ) que susceptvel de ser lida de maneira idntica. Ento, dada uma estimativa inicial x0 , esta frmula gera um sucesso {xk } que presumivelmente convergir para o zero z da funo f . Antes de passarmos ao estudo deste aspecto convm notar que, como agora so necessrios valores da derivada, a realizao deste mtodo implica que se tenha de programar, alm da funo f , a sua derivada f . Se f for uma funo com expresso analtica muito complicada, o clculo da derivada e a respectiva programao no sero tarefas agradveis, factor que deve ser tomado em considerao na escolha deste mtodo. Do lado positivo, podemos adiantar que o mtodo converge quadraticamente, sendo, portanto, superior neste aspecto aos mtodos apresentados at este momento. Como veremos no Captulo 10, a sua generalizao a sistemas de equaes no-lineares revela-se mais fcil que a dos restantes mtodos.

5.5.2

Erros e convergncia

A primeira observao a fazer a de que o mtodo de Newton, tal como o da secante, nem sempre convergente. No teorema seguinte apresentamos condies sucientes que garantem a convergncia. Teorema 5.5.1 Seja [a, b] um intervalo tal que z, x0 (a, b), f C 2 [a, b] e 0 < m1 |f (x)|, Ento, o erro satisfaz a relao |ek+1 | M|ek |2 , com M = M2 2m1 |f (x)| M2 , x [a, b]

e, se |Me0 | < 1, o mtodo de Newton converge. Demonstrao que Desenvolvendo a funo f em srie de Taylor em torno de xk , temos

f (k ) 0 = f (z) = f (xk ) + f (xk )(z xk ) + (z xk )2 , 2

k inter (z, xk )

5.5 Mtodo de Newton

235

donde se extrai que z = xk

f (xk ) f (k ) (z xk )2 f (xk ) 2f (xk ) f (k ) (ek )2 2f (xk )

Recordando a expresso (5.5.1), podemos escrever que z xk+1 = ek+1 =

Tomando valores absolutos, majorando o segundo membro e introduzindo as condies do enunciado do teorema, chega-se sem diculdade concluso pretendida. O Teorema 5.1.2 assegura-nos que a sucesso {ek } tem como limite zero e, por conseguinte, o mtodo de Newton converge. Alm disso, c = lim |f (k )| |f (z)| |ek+1| = lim = k |ek |2 k |2f (xk )| |2f (z)|

e pelas hipteses do teorema este valor nito. Logo, a ordem de convergncia do mtodo p = 2, o que completa a demonstrao. As hipteses deste teorema restringem-no ao caso de zeros simples. Se o zero no for simples, a ordem do mtodo de Newton degrada-se, sendo possvel demonstrar que, para zeros duplos, a convergncia apenas linear (ver o Problema 5.13.14). O exemplo seguinte mostra quo rpida pode ser a convergncia quadrtica. Exemplo 5.5.1 Vamos retomar o problema do Exemplo 5.2.1 relacionado com a determinao da soluo de f (x) = x2 2 = 0, aplicando agora o mtodo de Newton.
A frmula de iterao (ver o Problema 5.13.10) xk+1 = 1 2 xk + 2 xk , k = 0, 1, . . .

Tomando como estimativa inicial x0 = 1.0, obtm-se os seguintes valores k 0 1 2 3 4 xk 1.0 1.5 1.4167 1.4142 1.4142 Vejamos como podemos deduzir uma estimativa do erro. Dado que f (x) = x2 2 temos que f (x) = 2x e f (x) = 2. Tomando o intervalo [a, b] = [1, 1.5] vem, em face do Teorema 5.5.1, que |f (1.5)| M= = 0.5 |2f (1)| tambm fcil deduzir da expresso (5.1.10) que |en | 1 n |M e0 |2 M

236
yk 2 yk 1

Equaes no-lineares

Figura 5.6.1: Muller

Mtodo de
xk+1 xk 2 xk 1 y yk
=

xk x f (x)

Tomando para majorante pessimista do erro inicial o valor |e0 | b a = 0.5, calculamos as seguintes estimativas |e3 | 2(0.25)8 = (0.3)104 e |e4 | 2(0.25)16 = (0.5)109

O valor de x3 est, pois, dentro da tolerncia pretendida. A diminuio do valor do erro da iterao 3 para a 4 d uma imagem elucidativa do que signica, em termos prticos, a convergncia ser quadrtica.

5.6

Mtodo de Muller

Os mtodos apresentados at agora tm como caracterstica comum aproximar a funo y = f (x) por uma recta, secante ou tangente a esta curva. Esta ideia pode ser generalizada no sentido de usar polinmios de grau superior para aproximar a funo f . claro que, sendo preciso determinar analiticamente a interseco do polinmio aproximador com o eixo dos xx, no h grande margem de escolha, j que os nicos candidatos viveis so os polinmios de segundo grau. O mtodo de Muller consiste precisamente em interpolar a funo y = f (x) por uma parbola passando e tomar a interseco desta com o eixo dos xx como uma nova aproximao do zero. Vejamos em pormenor como se concretiza esta ideia. Consideremos trs pontos (xk , f (xk )), (xk1 , f (xk1 )) e (xk2 , f (xk2 )), conforme mostra a Figura 5.6.1. O polinmio interpolador , como sabemos, p(x) = f (xk ) + f [xk , xk1 ](x xk ) + f [xk , xk1 , xk2 ](x xk )(x xk1 ) Dado que (x xk )(x xk1 ) = (x xk )2 + (x xk )(xk xk1 )

5.7 Utilizao de interpolao inversa

237

a parbola interpoladora pode escrever-se na seguinte forma p(x) = yk + ck (x xk ) + dk (x xk )2 em que, por simplicidade, se fez yk = f (xk ) dk = f [xk , xk1 , xk2 ] ck = f [xk , xk1 ] + dk (xk xk1 ) = f [xk , xk1 ] + f [xk , xk2 ] f [xk1 , xk2 ] Esta parbola intersecta o eixo dos xx nos pontos a determinados por a = xk + ck (c2 4yk dk )1/2 k 2dk

Uma forma equivalente, mas menos susceptvel a erros de arredondamento, a = xk ck (c2 k 2yk 4yk dk )1/2 (5.6.1)

Esta expresso fornece dois valores, um correspondendo ao sinal +, e o outro, ao sinal , pelo que se pe naturalmente a questo de saber qual deles se deve tomar. usual escolher o sinal que produza o maior valor absoluto para o denominador no segundo membro desta expresso, de modo a que xk+1 obtido desta maneira dira o menos possvel de xk ; por outras palavras, optar por efectuar uma correco prudente. Se, em virtude do que se disse atrs, durante a pesquisa de zeros reais aparecerem iteraes intermdias produzindo valores complexos, corrente, para evitar ter de implementar o algoritmo em aritmtica complexa, desprezar simplesmente a parte imaginria de xk+1 . O aparecimento de valores complexos pode, no entanto, constituir uma vantagem do mtodo de Muller quando se pretende obter zeros complexos de funes reais, pois permite o aparecimento de aproximaes complexas durante as iteraes mesmo que se tenha partido de estimativas iniciais reais, mais fceis de estabelecer. Pode demonstrar-se que, se os valores iniciais x0 , x1 e x2 estiverem sucientemente prximos do zero procurado, o mtodo de Muller converge, e a ordem de convergncia p 1.84, quase idntica do mtodo de Newton com a vantagem adicional de no recorrer a derivadas. Tal demonstrao est, todavia, fora do mbito deste texto, remetendo-se o leitor interessado para as referncias, por exemplo YOUNG and GREGORY (1972).

5.7

Utilizao de interpolao inversa

Em certas situaes h convenincia em trocar os papis das variveis x e y. Assim, supondo que a funo f possui inversa e denotando-a por g, temos que equao y = f (x)

238

Equaes no-lineares

passa a corresponder a relao inversa x = g(y) (5.7.1) Ento, o zero z calculado por z = g(0). claro que a soluo do problema inicial por meio deste estratagema no se simplica automaticamente, mas pode acontecer que a aproximao de g em vez de f traga algumas vantagens. Um momento de reexo permite-nos concluir que se g for aproximada por interpolao linear, i.e., por secantes ou tangentes, nada de novo surge relativamente aos mtodos da secante ou de Newton. Para haver alguma diferena, esta deve aparecer quando se interpola g por polinmios de segundo grau como no mtodo de Muller. Vejamos que de facto assim . A parbola interpoladora de g nos pontos (yk2, xk2 ), (yk1, xk1 ) e (yk , xk ) A interseco desta curva com o eixo dos xx obtm-se fazendo simplesmente y = 0 nesta equao, donde se extrai que Se tivermos em conta as expresses das diferenas divididas g[yk , yk1] = xk+1 = xk g[yk , yk1]yk + g[yk , yk1, yk2]yk yk1 (5.7.2) x = xk + g[yk , yk1](y yk ) + g[yk , yk1, yk2](y yk )(y yk1 )

Introduzindo estas relaes em (5.7.2), vem que xk+1 = xk

g(yk ) g(yk1) 1 = yk yk1 f [xk , xk1 ] g[yk1, yk2] g[yk , yk1] 1 1 1 g[yk , yk1, yk2] = = yk2 yk yk2 yk f [xk1 , xk2 ] f [xk , xk1 ] yk yk yk1 1 1 + f [xk , xk1 ] yk2 yk f [xk1 , xk2 ] f [xk , xk1 ] (5.7.3)

Podemos ver que o primeiro parntesis do segundo membro desta expresso corresponde exactamente ao mtodo da secante, constituindo o segundo termo, portanto, uma correco de segunda ordem. Nesta expresso, contrariamente ao que sucedia com o mtodo de Muller, o valor de xk+1 obtido sem qualquer ambiguidade e, se os valores iniciais forem reais, a sucesso {xk } tambm real. possvel demonstrar (ver RABINOWITZ (1970)) que este mtodo converge nas condies habituais com uma ordem de convergncia p 1.84, idntica do mtodo de Muller.

5.8

Mtodo do ponto xo

Todos os mtodos estudados at este momento se reportavam equaes no-lineares f (x) = 0. Nesta seco vamos abordar a soluo de equaes no-lineares escritas numa forma alternativa por vezes mais interessante.

5.8 Mtodo do ponto xo

239

5.8.1

Descrio do mtodo
x = g(x) (5.8.1)

A equao ser desta feita escrita na forma

bom reconhecer que este modo de colocar o problema no constitui qualquer restrio relativamente ao caso f (x) = 0, pois sempre possvel transformar esta equao numa do tipo (5.8.1), pondo, por exemplo, x = x + f (x) g(x) Esta apenas uma das transformaes possveis, no sendo, portanto, a nica nem necessariamente a mais adequada para um dado caso concreto. Acresce que em muitos problemas a equao (5.8.1) que aparece de um modo natural. A expresso (5.8.1) sugere imediatamente o seguinte esquema iterativo xk+1 = g(xk ), k = 0, 1, . . . (5.8.2)

de que a Figura 5.8.1 mostra o signicado geomtrico, exibindo dois casos distintos: um em que se verica convergncia, e outro, em que o processo diverge. Esta diferena de comportamento ser explicada mais adiante. O ponto z soluo de (5.8.1) um ponto que a funo g transforma nele prprio, ou, por outras palavras, um ponto que permanece xo sob a transformao g. Por esta razo, os mtodos de soluo de equaes baseados nas expresses (5.8.1) e (5.8.2) so conhecidos genericamente por mtodos iterativos de ponto xo.

5.8.2

Erros e convergncia

Antes de passarmos ao estudo da convergncia deste mtodo necessrio introduzir a seguinte denio. Denio 5.8.1 Uma funo g diz-se contractiva no intervalo I = [a, b] se existir uma constante M com 0 M < 1 tal que |g(x1 ) g(x2 )| M|x1 x2 | para todos os x1 , x2 I. Notemos que a prpria formulao desta denio implica que uma funo contractiva necessariamente contnua. A vericao da contractividade nem sempre fcil. Um dos casos mais simples e simultaneamente dos mais interessantes na prtica ocorre quando g C 1 (I) e em que a aplicao do teorema do valor mdio nos conduz a g(x1 ) g(x2 ) = g ()(x1 x2 ), com inter (x1 , x2 )

240

Equaes no-lineares

y=x

y=x

y = g (x) y = g (x) x x

xk

xk+1

xk

xk+1

(a) Convergente

(b) Divergente

Figura 5.8.1: Mtodo do ponto xo Portanto, se |g ()| < 1 para todo o I, a funo g contractiva. Nestas condies podemos tomar para M o valor M = max |g (x)|
xI

O resultado seguinte uma das verses mais simplicadas do clebre teorema do ponto xo. Teorema 5.8.1 Se existir um intervalo I = [a, b] tal que g(I) I e relativamente ao qual a funo g contractiva, ento esta funo possui um nico ponto xo neste intervalo, e a sucesso {xk } gerada por (5.8.2) converge para este ponto xo qualquer que seja a estimativa inicial x0 I. Demonstrao Vamos comear por demonstrar que as condies enunciadas garantem a existncia do ponto xo. Introduzamos a funo auxiliar h(x) = g(x) x, que verica, uma vez que g(I) I, as desigualdades bvias h(a) = g(a) a 0 e h(b) = g(b) b 0

Como h contnua em I, existe (pelo menos) um valor z tal que h(z) = g(z) z = 0. Fica deste modo provada a existncia de (pelo menos) um ponto xo. Passemos demonstrao da sua unicidade. Suponhamos que existem dois pontos xos, z e z . Ento, devemos ter, por denio, que z = g(z) e z = g(z )

5.8 Mtodo do ponto xo

241

Subtraindo membro a membro estas igualdades, tomando valores absolutos e majorando, vem que |z z | = |g(z) g(z )| M|z z |

Esta relao implica imediatamente que (1M)|z z | 0, e, portanto, como 0 M < 1, conclumos que z = z , ou seja, o ponto xo nico. Estudemos em seguida a convergncia do mtodo iterativo. O erro ek+1 = z xk+1 satisfaz as relaes evidentes |ek | = |z xk | = |g(z) g(xk1)| M|z xk1 | M|ek1 | Aplicando esta relao repetidamente, temos que |ek | M|ek1 | M 2 |ek2 | M k |e0 | e, por conseguinte, uma vez que M < 1, limk |ek | = 0. Conclumos assim que o mtodo do ponto xo convergente para qualquer x0 I. Se a funo g C 1 (I), temos que ek+1 = z xk+1 = g (k )(z xk ) = g (k )ek , com k inter (xk , z) (5.8.4) (5.8.3)

pelo que No caso de se vericar convergncia, podemos escrever que


k

|ek+1 | = |g (k )||ek1|

lim |ek+1|/|ek | = lim |g (k )| = |g (z)|


k

(5.8.5)

Deste modo, a convergncia do mtodo Q-linear se 0 < |g (z)| < 1, e Q-supralinear, se |g (z)| = 0. Um ponto xo que possua uma vizinhana na qual g contractiva e para o qual o processo iterativo (5.8.2) convergente diz-se que um ponto de atraco ou atractor da funo g; caso contrrio, diz-se que um ponto de repulso ou repulsor. Um ponto xo atractivo como um buraco negro: as iteraes que se aproximem demasiado dele so inexoravelmente atradas. Exemplo 5.8.1 Aplicar o mtodo de iterao de ponto xo soluo da equao x = cos x no intervalo I = [a, b] = [0, /2], garantindo uma preciso de quatro decimais.
Em primeiro lugar asseguremo-nos de que as condies de convergncia do mtodo so vericadas. Pondo g(x) = cos x e como g(a) = cos 0 = 1 > 0 e g(b) = cos(/2) = 0 < /2

e g monotnica no intervalo I, conclumos que g(I) I. Alm disso, como g (x) = sin x, temos que |g (x)| < 1 numa vizinhana sucientemente pequena da raiz, vizinhana que

242

Equaes no-lineares

neste caso podemos tomar como o intervalo (aberto) (0, /2). Esto assim reunidas todas as condies de convergncia. O clculo das sucessivas iteraes fornece os resultados do quadro seguinte: k xk k xk 0 1.0 10 0.74424 1 0.54030 15 0.73837 2 0.85755 20 0.73918 3 0.65429 25 0.73907 4 0.79348 30 0.73909 5 0.70137 Analisemos o erro. Da expresso (5.8.5) podemos deduzir que |en | |g (z)|n |e0 | Como |g (0.74)| = sin(0.74) 0.67, se tomarmos a estimativa, algo pessimista, |e0 | 1.0, temos que |e30 | (0.67)30 = (0.61)105

o que garante os quatro decimais pedidos. Observemos que o valor |g (z)| 0.67 produz uma convergncia relativamente lenta.

5.8.3

Acelerao de Aitken

Se g (z) = 0, a convergncia do mtodo iterativo de ponto xo linear, o que, em termos prticos e como pudemos constatar, pode frequentemente signicar que lenta. No entanto, possvel acelerar a convergncia por um processo devido a Aitken. Aplicando (5.8.4) duas vezes, iterao k e iterao k + 1, vem que z xk+1 = g (k )(z xk ) z xk+2 = g (k+1 )(z xk+1 ) Para k sucientemente grande e havendo convergncia, podemos dizer que g (k ) g (k+1 ) g (z) e, por isso, so vlidas as seguintes relaes z xk+1 c(z xk ) z xk+2 c(z xk+1 ) (5.8.6)

em que c denota o valor (aproximadamente comum) c g (k ) g (k+1) g (z). Eliminando z entre as duas relaes (5.8.6) obtemos c xk+2 xk+1 xk+1 xk

Esta frmula permite estimar o valor de c sem necessidade de recorrer a estimativas de g (z), as quais envolveriam o valor do ponto xo z, que precisamente a incgnita

5.8 Mtodo do ponto xo

243

do problema. Introduzindo este valor de c em (5.8.6) e aps alguns clculos simples, chegamos expresso (xk )2 z xk 2 xk em que o operador de diferenas progressivas (recordar a Denio 2.5.1). claro que, dado o seu carcter meramente aproximado, no deve esta expresso interpretar-se como sendo miraculosamente capaz de fornecer o valor exacto do ponto xo z. Todavia, de esperar que a sucesso {xk } calculada atravs da frmula de Aitken xk = xk (xk )2 2 xk (5.8.7)

possa convergir melhor que a sucesso original {xk }. Vejamos se assim acontece ou no. fcil deduzir que a sucesso dos erros satisfaz a relao ek = ek (ek )2 2 ek (5.8.8)

a qual, aps algumas manipulaes simples produz ek = ek+2 e2 /ek k+1 ek+2 /ek 2ek+1 /ek + 1 (5.8.9)

O denominador do segundo membro desta expresso, uma vez que admitimos que a sucesso {xk } converge para z, possui um limite dado por
k

lim (ek+2 /ek 2ek+1 /ek + 1) = (c 1)2

Por outro lado, o numerador pode escrever-se na forma ek+2 e2 k+1 = ek ek+2 ek+1 ek+1 ek+1 ek (5.8.10)

o que permite de imediato concluir que tende para zero. Quer isto dizer que a frmula de Aitken transforma uma sucesso linearmente convergente {xk } noutra, {xk }, tambm convergente. Falta, contudo, saber, luz da Denio 5.1.3, quo rpida a convergncia da sucesso transformada, o que requer uma anlise mais cuidada da expresso (5.8.10). Partindo de um desenvolvimento em srie de Taylor, vericamos que 1 ek+1 = z xk+1 = g(z) g(xk ) = g (z)(z xk ) g (k )(z xk )2 2 (5.8.11)

Portanto, o erro ek evolui ao longo das iteraes de acordo com uma expresso do tipo ek+1 = (c + dk ek )ek (5.8.12)

244

Equaes no-lineares

em que pusemos, por simplicidade de notao, dk = g (k )/2 com k inter (z, xk ). Estes valores dk tendem, como se conclui imediatamente, para o valor d = g (z)/2. Introduzindo (5.8.12) em (5.8.10) e aps algumas simplicaes, chegamos relao ek+2 Passando ao limite, vem que lim ek+2 e2 k+1 /e2 = c(c 1)d k ek e2 ek+1 ek+1 k+1 = dk+1 dk e2 k ek ek ek

e, por conseguinte, regressando expresso (5.8.9), ek c 1 g (z) = d= g (z) k e2 c1 2 g (z) 1 k lim Este resultado permite deduzir que ek+1 e /e2 = lim k+1 k+1 k e k ek /e2 k k lim ek+1 ek
2

= c2 = (g (z))2

Daqui podemos concluir o seguinte: a frmula de Aitken transforma uma sucesso linearmente convergente noutra, tambm linearmente convergente, mas cuja constante de erro assimpttico mais favorvel, i.e., c2 em vez de c, ou seja, {xk } converge melhor que {xk }. Uma vez que a sucesso transformada {xk } tem convergncia linear, nada impede que voltemos a aplicar a esta sucesso a transformao de Aitken obtendo-se aquilo que se designa por transformao de Aitken iterada e que dada pela frmula xk,m+1 na qual xk,0 xk . (xk,m )2 = xk,m , 2 xk,m k, m = 0, 1, . . .

5.8.4

Mtodo de Steensen

Como acabmos de ver, o mtodo de iterao de ponto xo possui em geral convergncia linear, inferior de outros mtodos como, por exemplo, o da secante ou o de Newton. Contudo, possvel melhorar a sua ordem de convergncia recorrendo a uma modicao simples. Esta modicao, que est esquematizada na Figura 5.8.2, consiste essencialmente em combinar o mtodo do ponto xo com o da secante da seguinte maneira. Suponhamos que tnhamos calculado pelo mtodo iterativo do ponto xo os valores x0 e x1 = g(x0 ). Se zermos passar pelos pontos (x0 , x1 ) e (x1 , x2 ) uma secante curva y = g(x) e a intersectarmos com a recta y = x, o ponto de interseco est, pelo menos

5.8 Mtodo do ponto xo

245

y y=x g (x 0 )

Figura 5.8.2: Steensen

Mtodo de

x0 g (x 1 ) y = g (x) x0 x1 x

para a congurao apresentada na Figura 5.8.2, mais perto do ponto xo z. Exploremos ento esta ideia. A equao da secante y = g(x0 ) + m(x x0 ) com m= g(x1 ) g(x0 ) x1 x0

pelo que a sua interseco com a recta y = x ocorre no ponto cuja abcissa x dada por Efectuando as operaes necessrias, facilmente chegamos seguinte concluso (x1 x0 )2 x = x0 x2 2x1 + x0

x = g(x0 ) + m(x x0 )

Esta expresso tambm se pode escrever da seguinte maneira x = x0 (x0 )2 2 x0 (5.8.13)

que no mais do que a frmula de Aitken aplicada aos valores x0 , x1 , x2 . O mtodo de Steensen consiste em aplicar este processo repetidamente e de acordo com o esquema seguinte (as setas verticais a trao contnuo indicam iteraes normais de ponto xo, e as setas a trao interrompido, a aplicao da frmula de Aitken):

x0 0
;

x0 1
;

x0

;k

x0

;k

x1 0
;

x1 1
;

x1

;k

x1

;k

x2 0
;

x2 1
;

x2

;k

x2

;k

246

Equaes no-lineares

A pergunta que natural fazer neste momento a de saber se a sucesso {x0,k } converge para o ponto xo z e, em caso armativo, com que ordem de convergncia. Para responder a esta questo vamos reescrever a expresso (5.8.7) na seguinte forma xk+1 = xk (g(xk ) xk )2 g(g(xk )) 2g(xk ) + xk

em que, por simplicidade, omitimos o ndice inferior 0. Esta expresso leva-nos imediatamente a classicar o mtodo de Steensen como um mtodo iterativo de ponto xo, cuja funo de iterao G dada por G(x) = x (g(x) x)2 g(g(x)) 2g(x) + x (5.8.14)

Esta funo , como se pode ver, indenida para x = z. No entanto, uma aplicao da regra de Cauchy permite obter G(z) = z conrmando que z ponto xo de G. Ficamos deste modo em condies de aplicar a teoria do mtodo de ponto xo para estudar a convergncia do mtodo de Steensen. Como resultado principal deste estudo, temos o seguinte teorema. Teorema 5.8.2 Seja z um ponto xo de g e g (z) = 0, 1. Ento, z um ponto xo atractivo de G e G (z) = 0. Demonstrao Ver OSTROWSKI (1966). O que interessante neste teorema que z no precisa ser um ponto xo atractivo de g para haver convergncia. Alm disso, se existir convergncia, esta supralinear.

5.9

Zeros de polinmios

A obteno de zeros de polinmios pode ser efectuada recorrendo aos mtodos expostos atrs. Dado que este um problema que surge com frequncia nas aplicaes, foram desenvolvidos alguns algoritmos adaptados especicamente a este tipo de funes. No entanto, devido ao seu grau de especializao, tais algoritmos no sero abordados aqui, limitando-nos a estudar neste contexto dois tpicos: o da localizao e o da determinao sucessiva dos zeros de polinmios. Nesta seco consideraremos apenas polinmios de grau n escritos na forma de potncia simples, p(x) = an xn + + a1 x + a0 (5.9.1) onde quer os coecientes a0 , a1 , . . . , an quer a varivel x podem ser complexos. Como sabemos, um polinmio de grau n tem exactamente n zeros, contando um zero de multiplicidade m como m zeros. Alm disso, um polinmio de coecientes reais pode ter zeros complexos, os quais aparecem neste caso aos pares conjugados.

5.9 Zeros de polinmios

247

5.9.1

Localizao dos zeros

Tal como sucede com as demais funes, um bom conhecimento da localizao dos zeros uma vantagem aprecivel no sentido de assegurar uma rpida convergncia dos mtodos iterativos, sendo por vezes uma condio determinante. possvel, dada a forma particular dos polinmios, obter sem grande diculdade alguma indicao respeitante natureza e localizao dos zeros deste tipo de funes. Nesta subseco vamos passar em revista alguns processos expeditos capazes de fornecer informao relevante. Para tal, consideremos um polinmio p escrito sob a forma de potncias simples (5.9.1) e designemos por V o nmero de variaes de sinal dos respectivos coecientes no nulos (ver o Algoritmo 5.9.1 para uma especicao operacional deste conceito), por N+ , o nmero de zeros reais positivos, e por N , o nmero de zeros reais negativos. Teorema 5.9.1 (Regras dos sinais de Descartes) Seja p um polinmio real. Ento, a) o nmero N+ de zeros reais positivos de p no excede o nmero V de variaes de sinal dos seus coecientes no nulos, e o valor V N+ par; b) o nmero N de zeros reais negativos de p no excede o nmero V de variaes de sinal dos coecientes no nulos do polinmio q(x) = p(x), e o valor V N par. Demonstrao A demonstrao da primeira parte deixada para o Problema 5.13.54 como caso particular da regra de Budan-Fourier a introduzir mais adiante. Para demonstrar a segunda parte basta considerar que, se z for um zero de p, ento 0 = p(z) = p((z)) = q(z) pelo que conclumos que z um zero de q e aplicar a q a primeira parte do teorema. Ilustremos a aplicao desta regra com um exemplo. Exemplo 5.9.1 Determinar a natureza dos zeros do polinmio p(x) = x4 x3 + 2x2 + 1.
O nmero V de variaes de sinal dos coecientes deste polinmio V = 2. Ento, pela regra dos sinais de Descartes I, temos que N+ 2 e V N+ = par

Algoritmo 5.9.1 Contagem das variaes de sinal V =0 for k = n 1 step 1 to 0 do if ak = 0 sign ak = sign ak+1 then V = V + 1 od

(inicializao)

248

Equaes no-lineares

pelo que N+ = 2 ou N+ = 0. O nmero V de variaes de sinal do polinmio q(x) = p(x) = x4 + x3 + 2x2 + 1 V = 0, donde se tira que N = 0, ou seja, o polinmio p no tem zeros negativos. Resumindo: o polinmio p tem 2 zeros positivos e 2 zeros complexos conjugados, ou 4 zeros complexos conjugados dois a dois.

Estas regras de Descartes, embora bastante teis, so de valor mais qualitativo do que quantitativo. Todavia, uma modicao simples permite reforar este ltimo aspecto. Escolhendo c para centro do polinmio p, podemos escrever que p(x) = an (x c)n + + a1 (x c) + a0 em que os novos coecientes ak podem ser calculados pelo algoritmo de Horner (relembrar a Seco 2.2). Fazendo a transformao de variveis t = x c, camos com o polinmio p(x) = q(t) = an tn + + a1 t + a0 ao qual se podem aplicar as regras de Descartes dos sinais. Ficamos assim a saber quantos zeros reais de p so superiores e quantos so inferiores a c. Como o valor deste centro est nossa disposio, possvel proceder, com algum jeito, a uma localizao razovel dos zeros reais deste polinmio. A prxima regra pode considerar-se uma generalizao das regras de Descartes. Teorema 5.9.2 (Regra de Budan-Fourier) Sejam p um polinmio real e Va e Vb os nmeros de variao de sinal das sucesses p(a), p (a), p (a), . . . , p(n) (a) p(b), p (b), p (b), . . . , p(n) (b) respectivamente, com p(a) = 0 e p(b) = 0. Ento, o nmero N de zeros reais do polinmio p no intervalo (a, b) no excede o valor Va Vb , e (Va Vb ) N par. Demonstrao Consultar as referncias. Exemplo 5.9.2 Determinar o nmero de zeros do polinmio p(x) = x3 x + 2 no intervalo (0, 1).
Temos neste caso que p (x) = 3x2 1, e, portanto, com a = 0 e b = 1, p(0) = 2, p (0) = 1, p (0) = 0, p (0) = 6, Va = 2 p(1) = 2, p (1) = 2, p (1) = 6, p (1) = 6, Vb = 0 Logo, Va Vb = 2. Pela regra de Budan-Fourier resulta que o nmero N de zeros reais deste polinmio no intervalo (0, 1) igual a 2 ou a 0. p (x) = 6x, p (x) = 6

5.9 Zeros de polinmios

249

Os prximos teoremas do achegas para a localizao dos zeros caracterizadas pela facilidade de aplicao. Teorema 5.9.3 (Regra de Cauchy) Seja p um polinmio com a0 = 0 e S e T dois polinmios, associados a p e denidos por S(x) = |an |xn |an1 |xn1 |a1 |x |a0 | T (x) = |an |xn + |an1 |xn1 + + |a1 |x |a0 | Designemos o zero positivo de S por , e o de T , por . Ento, todos os zeros z de p vericam |z|

i.e., esto situados na coroa circular do plano complexo denida pelas circunferncias de raios interior e exterior centradas na origem.

Demonstrao A regra de Descartes garante que o polinmio S tem um zero positivo, o mesmo se passando com T . Por outro lado, T (x) S(x), x 0, donde , pelo que esta parte do enunciado faz sentido. Se z for um zero de p, podemos armar que
n1

an z n =

ak z k
k=0

Tomando os mdulos de ambos os membros desta expresso (no esquecer que estamos a trabalhar no plano complexo) e majorando, vem que
n1 n1

|an z | = |an ||z| =

ak z
k=0

k=0

|ak ||z|k

(5.9.2)

ou seja, S(|z|) 0, o que s pode acontecer se |z| , como facilmente se pode vericar. Por outro lado, tambm verdade que
n

a0 =

ak z k

k=1

donde, tomando mdulos e majorando, resulta que


n

|a0 | =

k=1

ak z k

n k=1

|ak ||z|k

Esta expresso mostra que T (|z|) 0, o que implica que |z| (porqu?). claro que esta regra s pode ser til se os valores de e forem fceis de determinar ou, pelo menos, se minorantes de e majorantes de puderem ser obtidos de forma expedita. O prximo teorema contribui para este objectivo.

250

Equaes no-lineares

Teorema 5.9.4 Nas hipteses do teorema anterior, 1 + max


1kn

ak a0

|z| 1 + max

0kn1

ak an

Demonstrao Seja z um zero qualquer do polinmio p e vejamos em primeiro lugar a desigualdade da direita. Se |z| 1, o teorema trivialmente verdadeiro e nada h para demonstrar. Por isso consideremos o caso em que |z| > 1. Como z um zero de p, decorre de (5.9.2) que n1 |ak | k |ak | n1 k |z|n |z| max |z| 0kn1 |an | k=0 |an | k=0 Pela frmula da srie geomtrica vem que
n1 k=0

|z|k =

Introduzindo este resultado na expresso anterior, chegamos a |z|n max ou seja, |z| 1 max |ak | |z|n 1 0kn1 |an | |z| 1

|z|n 1 |z| 1

ak |z|n 1 ak max n 0kn1 an 0kn1 an |z| j que, por hiptese, |z| > 1. Daqui decorre imediatamente a validade da desigualdade da direita do enunciado. Para demonstrar a desigualdade esquerda basta trabalhar com o polinmio recproco de p (ver o Problema 5.13.52). Exemplo 5.9.3 Aplicar a regra de Cauchy ao polinmio p(x) = x4 3x2 x + 5.
Neste caso S(x) = x4 3x2 x 5, T (x) = x4 + 3x2 + x 5

Pelo Teorema 5.9.4, obtemos 5/8 |z| 6. Contudo, evidente que o zero positivo de T = 1. Por conseguinte, os zeros de p esto situados na coroa circular 1 |z| 6.

Um teorema semelhante ao anterior, dizendo respeito apenas aos zeros reais, o seguinte. Teorema 5.9.5 Seja p um polinmio real cujos coecientes satisfazem as condies an > 0, i.e., am o primeiro coeciente negativo na sequncia {an , an1 , . . . , a0 }. Ento, os zeros reais de p so majorados por z 1 + max
ak <0

an1 0,

,...,

am+1 0,

am < 0

ak an

1/(nm)

5.9 Zeros de polinmios

251

Demonstrao A demonstrao semelhante do teorema anterior. Seja z um zero real do polinmio p. Se z 1, o teorema trivialmente verdadeiro. Suponhamos ento que z > 1. Neste caso, tendo em ateno as hipteses do teorema, podemos escrever que
n1

zn =

n1 ak k n1 ak k ak k z = z z a ak <0 an ak >0 an k=0 n n1 m k=0

ak k ak z max ak <0 an ak <0 an max


ak <0

zk

Daqui deduzimos que so vlidas as relaes z n (z 1) max z n (z 1)z (m+1)

1 ak z an z 1

m+1

ak (z m+1 1) ak <0 an ak 1 ak max 1 m+1 max ak <0 an ak <0 an z


ak <0

(z 1)nm = (z 1)(z 1)nm1 (z 1)z nm1 max

ak an

A concluso do teorema segue-se imediatamente. A regra seguinte delimita uma regio do plano complexo onde est situado pelo menos um zero e torna possvel estimar erros. Teorema 5.9.6 (Regra de Lehmer-Schur) O polinmio p tem pelo menos um zero situado no crculo no plano complexo centrado na origem e de raio r dado por r = min{r1 , r2 } Demonstrao com r1 = n a0 , a1 r2 = a0 an
1/n

(5.9.3)

Consultar as referncias.

Exemplo 5.9.4 Aplicar a regra de Lehmer-Schur ao polinmio p(x) = 2x3 + 5x2 x 1 e deduzir um majorante para o erro do zero aproximado z = 0.48.
A expresso (5.9.3) produz os valores r1 = 3, r2 = (1/2)1/3 , r = (1/2)1/3 0.79370

Ento, este polinmio possui pelo menos um zero localizado no crculo de raio r = (1/2)1/3 e centrado na origem. A transformao de variveis t = x z permite, de modo semelhante ao invocado atrs, trabalhar com um crculo centrado num ponto z qualquer do plano complexo. Efectuando os clculos (recorrendo, por exemplo, ao algoritmo de Horner) obtemos q(t) = p(x + z ) = 2t3 + 7.88t2 + 5.1824t 0.106816

252

Equaes no-lineares

fcil ver que p tem um nico zero real em (0, r) e que este precisamente z = 1/2. A estimativa obtida pode considerar-se razovel quando comparada com o erro efectivo sobretudo se tivermos em ateno o facto de nem sequer ter sido necessrio saber qual foi o mtodo que produziu a aproximao!

Aplicando a regra de Lehmer-Schur ao polinmio q, camos a saber que existe pelo menos um zero z de p tal que |z z | 0.061834

5.9.2

Determinao de todos os zeros

A determinao de todos os zeros de um polinmio naturalmente um problema mais exigente do que a obteno de um certo zero localizado numa dada regio do plano complexo. Por isso vamos aqui abordar algumas das diculdades que surgem e descrever as tcnicas geralmente utilizadas para as vencer. Suponhamos que havamos obtido o zero z1 do polinmio p. Relembrando o Teorema 2.2.2, podemos escrever que p(x) = (x z1 )q(x) (5.9.4) onde q um polinmio de grau n 1, o qual, se z1 for um zero simples de p, no tem este valor como zero. Deste modo, para encontrar os restantes zeros podemos passar a trabalhar com q em vez de p. Esta tcnica costuma ser conhecida por reduo ou deao do polinmio p. Como a obteno dos coecientes do polinmio reduzido ou deacionado q um processo sujeito a erros de arredondamento, estes vo repercutir-se na preciso com que so calculados os restantes zeros z2 , z3 , . . .. Em polinmios de grau elevado, esta acumulao de erros pode redundar em catstrofe. Para minimizar este efeito aconselhvel trabalhar com o polinmio p(x) q (x) = (5.9.5) x z1

em vez de q. claro que em aritmtica de preciso innita q e q so exactamente o mesmo polinmio, mas os erros de arredondamento em (5.9.5) dizem respeito apenas aos envolvidos no clculo de p e de mais uma subtraco e diviso e no na determinao dos n coecientes de q. Para apreciar a diferena entre estes dois processos, vejamos como se reecte a tcnica consubstanciada na expresso (5.9.5) no contexto do mtodo de Newton. Como vimos na Subseco 5.5.1, p(xk ) hk = (5.9.6) p (xk ) e, portanto, aps determinao do zero z1 , hk = q(xk ) q (xk ) ou hk = q (xk ) q (xk ) (5.9.7)

5.10 Efeito dos erros de arredondamento

253

Esta ltima expresso , como dissemos, prefervel. Derivando q vem, aps algumas manipulaes simples, que q (x) p (x) 1 = q(x) p(x) x z1 Introduzindo este resultado em (5.9.7), obtemos 1 p (xk ) 1 = hk xk z1 p(xk ) possvel, e deixa-se como exerccio, deduzir a seguinte expresso, vlida aps obteno dos m zeros z1 , z2 , . . . , zm , m 1 1 p (xk ) = hk p(xk ) i=1 xk zi

Como vemos, apenas o polinmio original p e a sua derivada p guram nesta expresso. Um outro problema para que convm estar alertado resulta da extrema sensibilidade dos zeros de polinmios de grau elevado a pequenas perturbaes dos coecientes (ver o Problema 5.13.59). Uma tcnica que reduz este efeito consiste em determinar os zeros por ordem crescente do seu valor absoluto, cumulativamente com o processo de deao exposto acima.

5.10

Efeito dos erros de arredondamento

A funo f cujos zeros se pretendem obter calculada em ponto utuante e, portanto, o seu valor vem contaminado por erros de arredondamento cujo efeito convm estudar. Em aritmtica de preciso nita a funo que efectivamente se est a utilizar f dada por f (x) = f (x) + (x) em que (x) representa o erro de arredondamento (ver a Figura 5.10.1). O zero z de f e o zero z de f esto relacionados da seguinte maneira z f () = 0 = f () + () = f ()( z) + () z z z z com inter (z, z ) e, portanto, |()| z (5.10.1) ()| |f Admitindo que os erros de arredondamento so limitados, e que o zero z simples, podemos dizer que |()| z e 0 < M1 |f ()| |z z | = donde, introduzindo estas relaes em (5.10.1), conclu mos que |z z | M1 (5.10.2)

254

Equaes no-lineares

y y = f (x)

Figura 5.10.1: Efeito de perturbaes na determinao do zero

y = f (x) z

Esta expresso mostra que, se M1 for muito pequeno, a impreciso na determinao do zero devida a erros de arredondamento pode ser muito elevada. Este efeito tanto mais acentuado quanto maior for a multiplicidade do zero. De facto, repetindo para zeros de multiplicidade m o raciocnio acabado de desenvolver (ter em ateno o Teorema 5.1.1), conclumos que |z z | m! Mm
1/m

com

0 < Mm |f (m) ()|

(5.10.3)

O expoente 1/m nesta expresso produz um aumento considervel na estimativa |z z | quando comparada com o caso dos zeros simples, o que est, alis, de acordo com as diculdades sentidas na prtica ao tentar determinar zeros mltiplos com preciso idntica dos zeros simples. Concretizemos o que se acaba de dizer com um exemplo. Exemplo 5.10.1 Sensibilidade dos zeros mltiplos aos erros de arredondamento.
Suponhamos que f calculada em F P (2, 24, 8, A) com um erro da ordem da unidade de arredondamento u deste sistema ( u = (.6)107 , segundo o Exemplo 1.4.3). Se z for um zero simples e se, para xar ideias, M1 1, de acordo com (5.10.3) temos que |z z | (.6)107 No entanto, se z for um zero duplo e se, ainda para xar ideias, M2 1, passamos a ter |z z | 2 (.6)107
1/2

(0.35)103

A potencial perda de preciso no caso de o zero ser duplo notria.

5.11 Critrios de paragem

255

5.11

Critrios de paragem

Um dos problemas que preciso resolver ao empregar algoritmos iterativos, como os que descrevemos neste captulo, o de saber quando se devem terminar as iteraes. Se os clculos forem realizados manualmente, temos alguma possibilidade de ir vericando durante as iteraes a forma como estas decorrem e da concluir se os valores que estamos a obter so sucientemente bons ou no. Na implementao em computador esta forma de proceder nem sempre vivel ou, mesmo, desejvel, pelo que h necessidade de dispor de critrios de paragem com um certo grau de automatismo mas que sejam ao mesmo tempo seguros. Nesta seco vamos abordar de forma breve alguns dos critrios mais utilizados na prtica. A situao ideal seria usar um critrio um baseado num majorante realista E, digamos, do erro produzido pelo mtodo utilizado. Ento, para obter o zero z com um erro absoluto menor que um valor estipulado e, bastaria levar o processo iterativo at iterao n para a qual a condio |en | |z xn | E < e (5.11.1) se vericasse. Vejamos um exemplo. Exemplo 5.11.1 Paragem das iteraes no mtodo de Newton.
Como vimos no Exemplo 5.5.1, um majorante do erro pode ser dado por E= 1 n |M e0 |2 M com M= max |f (x)| 2 min |f (x)|

em que o mximo e o mnimo nesta ltima expresso so tomados num intervalo [a, b] que previamente se vericou conter o zero em causa. Tomando a estimativa inicial x0 tambm neste intervalo, lcito dizer que |e0 | |b a| e, portanto, E= 1 n |M (b a)|2 < e M

Estipulado e, podemos extrair desta relao um minorante para o nmero de iteraes que devem ser efectuadas.

Embora teoricamente correcto, este critrio exige informaes sobre o comportamento da funo f que so muitas vezes difceis de obter a priori. Da a necessidade de recorrer a outros critrios, porventura menos rigorosos, mas mais expeditos. Uma das tcnicas mais populares para terminar o processo iterativo consiste em testar a diferena entre dois valores consecutivos xn1 e xn e compar-la com uma tolerncia especicada pelo utilizador. Concretamente, se |xn xn1 | < (5.11.2)

256

Equaes no-lineares

ento o processo iterativo parado na iterao n. Em linguagem corrente isto signica que as iteraes so interrompidas quando o ganho por iterao estiver abaixo do valor considerado compensador. Uma variante desta tcnica, que tem a vantagem de ser indiferente escala dos nmeros x0 , x1 , . . . , xn , a seguinte |xn xn1 | < |xn | (5.11.3) Os valores dos parmetros e devem ser xados com cuidado, tendo nomeadamente em ateno que nem (5.11.2) nem (5.11.3) garantem em geral que o erro absoluto esteja abaixo de , ou o relativo abaixo de (ter presente, no entanto, o resultado do Problema 5.13.62). Estes dois critrios aparecem por vezes combinados da seguinte maneira |xn xn1 | < + |xn |

(5.11.4)

Se m for um minorante, e M um majorante, de |f (x)| num intervalo apropriado, e z for um zero simples, inferimos que |f (xn )| |f (xn )| |en | M m (5.11.5)

Se |xn | for pequeno, prevalece o critrio da tolerncia absoluta. Se |xn | for grande, o critrio da tolerncia relativa que domina. Como para um mtodo iterativo convergente se deve ter que limn f (xn ) = 0, um critrio possvel baseado na aplicao do teorema do valor mdio o seguinte. Consideremos |f (z) f (xn )| = |f (xn )| = |f ()||z xn |, inter (z, x)

A Figura 5.11.1 esclarece o signicado geomtrico destas desigualdades. Ento, se pretendermos que |en | < e, devemos parar as iteraes quando se vericar que |f (xn )| < me. O caso de zeros mltiplos tratado no Problema 5.13.63 e pelo resultado a obtido se conrma os riscos que se correm quando se toma simplesmente o valor de |f (xn )| como critrio de paragem. Quando se est muito prximo do zero, os valores de f (xn ) so controlados pelos erros de arredondamento, assumindo por isso um carcter errtico que torna problemtica a aplicao dos critrios baseados em valores da funo como o expresso por (5.11.5), sobretudo se formos muito exigentes na xao do valor de e. Uma salvaguarda contra este tipo de efeito testar se |xn xn1 | > |xn1 xn2 | (5.11.6)

Uma resposta armativa a este teste geralmente indica que no nos estamos a aproximar do zero e, portanto, no compensa continuar as iteraes. claro que este critrio s deve ser aplicado quando se estiver j muito prximo do zero e sempre em conjuno com outro ou outros dos critrios expostos.

5.12 Notas e referncias

257

y f (xn )

Figura 5.11.1: Signicado geomtrico das relaes (5.11.5)


m z M xn x

y = f (x)

Os mtodos iterativos estudados podem por-se sob a forma xn+1 = xn + hn , em que hn representa a correco a somar ao valor antigo para obter o novo valor da aproximao ao zero. Os valores destas correces tendero a ser cada vez mais pequenos no decorrer das iteraes, e devido aos erros de arredondamento existir um valor de n a partir do qual f l(xn + hn ) = (xn ) (5.11.7) ou seja, a correco est abaixo da preciso da aritmtica de ponto utuante. Nestas circunstncias, no faz sentido prosseguir o processo iterativo. Costuma dizer-se que neste caso se atingiu a preciso plena do computador. Este um critrio que pode ser computacionalmente dispendioso, pelo que deve ser usado com alguma prudncia. Mostra a experincia que qualquer destes critrios deve ser complementado com um contador para evitar que o nmero de iteraes atinja valores demasiado elevados (innito demasiado elevado!). Impede-se assim que, por erros de programao, de dados ou outros, o computador entre em ciclo innito. Serve ainda como um alerta de que qualquer coisa no correu como previsto (a equao mais difcil do que se pensava, o zero mltiplo, a estimativa inicial foi mal escolhida, etc.).

5.12

Notas e referncias

1. Nas referncias HOUSEHOLDER (1970), OSTROWSKI (1966), RABINOWITZ (1970) e TRAUB (1964) podem encontrar-se exposies mais aprofundadas dos mtodos de soluo de equaes no-lineares, especialmente no que diz respeito ao estudo da convergncia. 2. A sucesso (5.4.8) teve origem num problema de reproduo de coelhos posto a Fibonacci que adoptou o seguinte modelo: cada casal de coelhos leva um ano para atingir a maturidade e reproduzir-se e os coelhos nunca morrem. Assim, indicando por I um casal imaturo e por M um casal maduro e comeando com um nico casal imaturo tem-se a seguinte sucesso

258

Equaes no-lineares

de populaes: I M MI M IM M IM M I No difcil agora deduzir a expresso (5.4.8). Notemos que a populao na gerao k se pode obter simplesmente procedendo s substituies I M e M M I na gerao k 1, ou, em alternativa, apensando populao na gerao k 1 a populao da gerao k 2. 3. O nmero p = (1 + 5)/2 1.618, que a ordem de convergncia do mtodo da secante, conhecido pela designao de proporo urea ou proporo divina, pois goza de propriedades curiosas e um dos nmeros mgicos. Os arquitectos dos templos gregos e, mais tarde, os dos templos gticos, recorriam com frequncia a guras geomtricas envolvendo este nmero. Consideravam nomeadamente que os rectngulos mais perfeitos ou harmoniosos eram aqueles cujos lados estavam nesta proporo, e faziam amplo uso destes rectngulos nos seus projectos. GHYKA (1977) e HUNTLEY (1970) descrevem inmeras ocorrncias desta proporo, no s na arquitectura e na pintura, mas tambm nas formas de seres vivos, nomeadamente no corpo humano! Os Problemas 5.13.30 e 5.13.31 revelam algumas propriedades mais prosaicas da proporo urea. 4. A frmula de Aitken a base de um processo de acelerao da convergncia de sucesses, i.e., permite transformar uma sucesso {xk } noutra, {x }, que converge mais rapidamente. k A transformao de Euler, introduzida no Captulo 2, a extrapolao de Richardson, estudada no Captulo 3, e o mtodo de Romberg, abordado no Captulo 4, podem tambm ser analisados sob esta perspectiva. Estes e outros processos de acelerao da convergncia so tratados com grande generalidade em BREZINSKI (1977), em BREZINSKI and ZAGLIA (1991) e em WIMP (1981). 5. A localizao dos zeros de polinmios, ou seja, a geometria dos zeros de polinmios, desenvolvida com profundidade em HENRICI (1974) e em SENDOV et al. (1994). 6. No Captulo 10 faz-se uma breve referncia ao mtodo de Bairstow para obter zeros conjugados de polinmios reais, evitando, assim, ter que recorrer a aritmtica complexa.

5.13

Problemas

1. Identique o tipo de convergncia (Q ou R) e os parmetros das seguintes sucesses: a) ek = 1/k; b) ek = 1/k com < 1; c) ek = exp(k ) com > 1. 2. Mostre que a sucesso xk = 1/(3k 3k ) converge para zero Q-linearmente e determine a constante M .

5.13 Problemas

259

3. Mostre, que a sucesso denida por xk = 2k 3k se k for par se k for mpar

possui convergncia-R (linear) mas no possui convergncia-Q. 4. Seja ek uma sucesso dada por ek+1 = g(ek ) em que g uma funo sucientemente diferencivel que verica g(k) (0) = 0 para k = 0, 1, . . . , p 1 e g(p) (0) = 0. Demonstre que, nestas circunstncias, a ordem de convergncia de {ek } precisamente p. 5. Verique que a funo f (x) = x3 2 exp(x) tem um zero no intervalo [0, 1]. Calcule este zero com trs dgitos correctos utilizando os mtodos da bisseco, da falsa posio e da secante. 6. a) Se |C| < 1, mostre que as proposies xk+1 x = C, k xk x lim so equivalentes. b) Interprete, em termos prticos, este resultado. c) Prove, recorrendo ao contra-exemplo seguinte, que o resultado acima no pode ser generalizado ao caso |C| = 1: xk = 2/(3k) 2/(3k 1) se k for par se k for mpar xk+2 xk+1 =C k xk+1 xk lim

7. Como reage o mtodo da bisseco no caso de zeros mltiplos? Considere os casos de zeros de multiplicidade par e de multiplicidade mpar. 8. Verique que a funo f (x) = exp(2x) exp(x) 2 tem um zero no intervalo [0, 1]. Calcule este zero com quatro dgitos correctos pelo mtodo de Newton. 9. Nos primeiros modelos de computadores digitais a diviso no era efectuada por hardware mas sim por software. Assim, a diviso de a por b com a, b > 0 era efectuada multiplicando a pelo inverso de b, pelo que o problema se transferia para o clculo do inverso de um nmero. a) Mostre que o mtodo de Newton fornece o seguinte processo iterativo para o clculo de 1/b xk+1 = xk (2 bxk ), k = 0, 1, . . . b) Prove que os erros evoluem de acordo com a relao interessante bek+1 = (bek )2 . Use este resultado para justicar a armao de que o nmero de dgitos correctos duplica de iterao para iterao. c) Calcule por este processo 1/7 com 6 decimais exactos.

260

Equaes no-lineares

d) Quantas iteraes so necessrias para inverter um nmero representvel em formato simples IEEE 754 admitindo que a estimativa inicial tem apenas o primeiro bit da mantissa correcto? 10. a) Recorrendo ao mtodo de Newton, demonstre que a raiz quadrada de um nmero a se pode obter iterativamente pela frmula xk+1 = 1 2 xk + a xk , k = 0, 1, . . .

Nota: Esta frmula pode ser obtida por intuio. Suponhamos que xk uma estimativa por defeito de a. Ento, a/xk uma estimativa por excesso. Como no meio que est a virtude (bisseco!), o resultado acima segue-se imediatamente. claro que para provar que esta frmula funciona preciso algo mais que a intuio. b) Mostre que se x0 for racional, ento os xk so todos racionais. Aplique este resultado ao caso a = 2, x0 = 1. Nota: Estas sucessivas aproximaes racionais de 2 eram conhecidas dos antigos Babilnios! Que processo utilizaram para as obter que no sabemos mas pode ter sido o raciocnio intuitivo acima descrito. c) Como se pode estabelecer uma estimativa x0 razovel? Sugesto: Exprimir o nmero a na forma a = Ab2q , em que b a base da representao usada no computador, e q um inteiro escolhido de modo a que A < b. O problema ca assim reduzido a calcular a raiz quadrada do nmero A no intervalo [0, b] onde mais fcil produzir boas estimativas iniciais (recorrendo, por exemplo, a interpolao linear). d) Prove que o erro relativo k tem a seguinte evoluo: k+1 = 2 k 2(1 + k )

Mostre que esta expresso d sentido rigoroso armao de que o nmero de dgitos exactos deste mtodo tende a duplicar duma iterao para a seguinte. Nota: Ter presente que xk = a(1 + k ). 11. A frmula iterativa do Problema 5.13.10 recorre a divises que, em alguns computadores, podem ser operaes mais lentas que as multiplicaes (ver o Problema 5.13.9). Mostre que uma maneira de evitar este inconveniente determinar o zero de f (x) = 1/x2 c com c = 1/a. Discuta as propriedades de convergncia de ambos os mtodos e tente concluir qual deles , de facto, o mais rpido. 12. Pretende-se calcular o valor de e sabendo que esta constante a soluo de ln x = 1 e que 2 e 3. Aplique o mtodo de Newton para obter e com 8 dgitos correctos. 13. Supondo que f continuamente diferencivel tantas vezes quantas as necessrias e que z um zero de multiplicidade m de f , demonstre que: a) f (x) = (x z)m g(x), com g(z) = 0; b) z um zero simples de f 1/m ;

5.13 Problemas

261

c) z um zero simples de f /f . 14. a) Demonstre que se z for um zero duplo de f , ento o mtodo de Newton converge linearmente, e a constante de erro assimpttico c = 1/2. Sugesto: Proceder de modo semelhante ao usado na Subseco 5.5.2, ou, em alternativa, recorrer ideia avanada no Problema 5.13.26. b) Mostre que, nas condies da alnea anterior, a seguinte frmula iterativa permite recuperar a convergncia quadrtica xk+1 = xk 2 f (xk ) f (xk )

Sugesto: Provar que z um zero simples de (f (x))1/2 . c) Generalize os resultados anteriores mostrando que, se z for um zero de multiplicidade m, ento a constante de erro assimpttico c = (m 1)/m, e a frmula, devida a Schrder, xk+1 = xk m permite recuperar a convergncia quadrtica. d) Todavia, a multiplicidade m de um zero no geralmente conhecida a priori. Mostre que a sucesso {xk } obtida pelo mtodo de Newton tal que xk+1 xk m1 = k xk xk1 m lim o que permite obter um valor aproximado para m. 15. Seja z um zero de multiplicidade m de f C . a) Demonstre que
xz

f (xk ) f (xk )

lim (x) = m,

com (x) =

Nota: Talvez ajude recordar o resultado do problema 5.13.13.

ln |f (x)| ln |f (x)/f (x)|

b) Como se pode usar esta propriedade para estimar m ao longo do clculo iterativo de z? 16. Obtenha, por interpolao inversa e usando um polinmio interpolador de segundo grau, a seguinte frmula iterativa de Olver xk+1 = xk f (xk ) f (xk ) f (xk ) 2f (xk ) f (xk ) f (xk )
2

Mostre que a expresso (5.7.3) se pode interpretar como uma verso discreta desta frmula. 17. Mostre que o mtodo da secante pode ser obtido a partir do mtodo de Newton aproximando a derivada f (x) por diferenas divididas de primeira ordem.

262

Equaes no-lineares

18. Mostre que, se aproximarmos a derivada f (xk ) na frmula do mtodo de Newton por diferenas nitas de segunda ordem centradas em xk1 , se chega frmula de iterao xk+1 = xk f (xk )/Dh (xk1 )

Dh (xk1 ) = f [xk , xk1 ] + f [xk1 , xk2 ] f [xk , xk2 ] Nota: Pode demonstrar-se que a ordem de convergncia deste mtodo 1.84, idntica, portanto, do mtodo de Muller e do mtodo consubstanciado na expresso (5.7.3). 19. Usando interpolao inversa com um polinmio de grau um e osculador, deduza a frmula do mtodo de Newton para a soluo da equao f (x) = 0. 20. Seja z um zero simples da funo f , e xk , uma sua aproximao. a) Aplicando o teorema do valor mdio, deduza que z = xk f (xk ) f (k )

b) Podem construir-se diversos mtodos iterativos consoante o tipo de aproximao adoptado para f (k ). Assim, designando por Dk a aproximao de f (k ), mostre que Dk = f [xk , xk1 ] produz o mtodo da secante e Dk = f (xk ) produz o de Newton. c) Determine as frmulas de iterao nos seguintes casos: i) Dk = f ((xk + xk )/2), em que xk o valor que se obtm efectuando uma iterao do mtodo de Newton a partir de xk ; ii) 1/f (k ) aproximado pela mdia geomtrica de 1/f (xk ) e 1/f (k ). x d) Explique geometricamente estes mtodos. e) Pode demonstrar-se (ver TRAUB (1964)) que estes dois ltimos mtodos tm uma ordem de convergncia igual a 3. Quer isto dizer que so mais rpidos que os mtodos da secante, de Muller ou de Newton? 21. Os dois novos mtodos introduzidos no problema anterior, embora com uma ordem de convergncia elevada, requerem o clculo da derivada da funo f , o que pode constituir uma desvantagem. Uma forma de tornear a diculdade consiste em fazer Dk = f [xk , xk ], com xk = xk f (xk ) Dk1

em que k inter (z, xk ), mas cuja localizao exacta desconhecida.

em que xk um valor auxiliar. ainda necessrio estabelecer o valor de D1 para ini ciar o processo iterativo, o que se pode fazer recorrendo a diferenas nitas. A ordem de convergncia (ver TRAUB (1964)) 2.41. Interprete geometricamente este mtodo. 22. Determine, com cinco dgitos correctos, o zero positivo da equao x3 x2 x1 = 0 usando o mtodo de ponto xo.

5.13 Problemas

263

23. a) A equao x4 4x3 + x 1 = 0 pode ser reformulada de vrias maneiras para se acomodar ao mtodo de ponto xo. Das seguintes reformulaes, quais as que podem ser usadas para obter a menor raiz positiva desta equao? 1) x = (1 + 4x3 x)1/4 ; 2) x = x4 + 4x3 + 1; 3) x = 4 1/x2 + 1/x3 Nota: Para se responder questo posta necessrio calcular primeiro um valor aproximado, mesmo que seja relativamente grosseiro, da raiz. b) Obtenha a referida raiz com 5 decimais correctos. 24. Considere a equao f (x) = x3 + 10x 1 = 0. a) Mostre que possui apenas um zero real positivo; b) Demonstre que este zero pode ser obtido pelo mtodo iterativo do ponto xo com g(x) = (1 x3 )/10;

c) Calcule-o com quatro decimais exactos.

25. a) Mostre que o polinmio p(x) = x4 x2 2x 1 tem um nico zero positivo. c) Obtenha um majorante para o erro cometido.

b) Obtenha uma aproximao deste zero pelo mtodo do ponto xo efectuando 3 iteraes.

26. Mostre que o mtodo de Newton para obter razes de f (x) = 0 se pode formular como um mtodo de ponto xo com x = g(x) e g(x) = x f (x)/f (x)

Demonstre, a partir do teorema da convergncia do mtodo de ponto xo, que o mtodo de Newton converge quadraticamente numa vizinhana sucientemente pequena duma raiz simples. 27. Generalize o resultado do problema anterior do seguinte modo: se no mtodo de ponto xo se vericar que g (z) = 0 e g (z) = 0, ento a convergncia quadrtica numa vizinhana sucientemente pequena do ponto xo z, e a constante de erro assimpttico c = 1 |g (z)|. 2 28. Seja f C 1 [a, b] uma funo crescente e tal que f (a) < 0 e f (b) > 0. Mostre que o zero desta funo neste intervalo se pode obter pelo mtodo iterativo do ponto xo com g(x) = x f (x) M

em que M uma constante apropriada. Determine quais os valores admissveis para M . 29. Determine o valor da expresso (2 + (2 + (2 + )1/2 )1/2 )1/2 . Sugesto: Utilizar o mtodo de ponto xo. 30. Considere a seguinte sucesso, em que a 1, x1 = 1 , a x2 = 1 a+ 1 a , x3 = a+

1 1 a+ 1 a

etc.

264

Equaes no-lineares

Calcule x = limn xn . Qual este valor quando a = 1? 31. Mostre que (1 + (1 + (1 + )1/2 )1/2 )1/2 = 1 + 1+ 1+ 1 1 1 1 +

32. a) Mostre que a sucesso xk+1 = 1 + 1/xk , k = 1, 2, . . . e x1 = 1 convergente e determine o seu limite. b) Demonstre que os xk so nmeros racionais e que xk+1 = k+1 /k em que os k so os nmeros de Fibonacci. c) Comente a armao de que a sucesso de Fibonacci quase uma progresso geomtrica. Nota: Este problema revela uma conexo interessante entre a proporo urea e os nmeros de Fibonacci. 1 33. Prope-se calcular a (a > 0) usando o mtodo de ponto xo com g(x) = 2/( x + x ). a a) Prove que a , de facto, um ponto xo atractivo deste mtodo e que a respectiva convergncia quadrtica. b) Obtenha, com 3 iteraes, o valor aproximado de 2. c) Estime o erro. 34. a) Prove que o erro no mtodo de ponto xo pode ser majorado por |ek | M |xk xk1 | 1M

com g C 1 [a, b] e maxx[a,b] |g (x)| M < 1, em que [a, b] um intervalo que contm as iteraes. b) A partir desta expresso mostre que, se M 1/2, o critrio de paragem das iteraes |xk xk1 | < garante que o erro tambm verica |ek | < .

c) Aproveite este resultado para explicar por que no correcto em geral dizer que, se |xk xk1 | for pequeno, ento xk est prximo da soluo exacta. 35. a) Resolva pelo mtodo do ponto xo a equao x + x 1 = 2. b) Aplique a frmula de Aitken sucesso obtida e compare a convergncia nos dois casos. 36. a) Mostre que a frmula de Aitken (5.8.7) se pode escrever na forma alternativa x = xk + k xk 1 xk+1 /xk

a qual permite evidenciar o termo xk+1 /xk que til conhecer (ver o Problema 5.13.37).

5.13 Problemas

265

b) Prove que, se xk for convergente para z, e se existirem reais e com < 1 < tais que xk+1 /xk [, ] a partir de um k sucientemente grande (o que garante que o denominador da frmula de Aitken no se anula nestas condies), ento limk x = z. k c) Prove ainda que, se forem vlidas as condies xk+1 z xk+1 = lim =r=1 k xk z k xk lim ento a sucesso {x } converge mais rapidamente que a sucesso {xk }, i.e., o processo de k Aitken acelerador. 37. Considere sucesses {xk } dadas (e no necessariamente produzidas por qualquer mtodo iterativo) da forma xk = x + ar k com r = 0, 1 onde os valores de x, a e r no so conhecidos. a) Prove que, para sucesses desta forma, xk+1 /xk = constante e (xk )2 /2 xk = constante, o que fornece a base para um teste prtico; b) Mostre que, nestas condies, a aplicao da frmula de Aitken produz x = x, i.e., uma k s aplicao desta frmula permite obter o valor de x. c) Porque necessrio excluir os valores r = 0 e r = 1? d) Discuta separadamente o caso |r| < 1, em que a sucesso converge para o limite x, e os casos |r| > 1 e r = 1 em que a sucesso diverge, dizendo-se ento que x o antilimite da sucesso. e) Prove que as sucesses do tipo considerado neste problema so as nicas que tornam possvel o resultado da alnea b). 38. a) Aplique os resultados do problema anterior sucesso constituda pelas somas parciais do desenvolvimento de Maclaurin da funo f (x) = 1/(1 + x) e explique o sucedido; b) (Problema 1.9.57 revisitado) Acelere a convergncia do desenvolvimento de Maclaurin da funo ln(1 + x) para calcular ln 2 com a preciso indicada recorrendo transformao de Aitken; c) Como se compara este mtodo com a alternativa proposta na alnea b) do referido problema? 39. a) Mostre que a seguinte sucesso converge linearmente (Q ou R?): xk = 0.8 + sin k k xk1 , x0 = 1

b) Acelere a respectiva convergncia recorrendo transformao de Aitken. c) Verique se os resultados obtidos esto de acordo com a teoria.

266

Equaes no-lineares

40. a) Considere a sucesso {xk } convergente para z e {x } a sucesso obtida pela transformao k baseada na mdia aritmtica 1 x = (xk + xk+1 ) k 2 a qual garante a convergncia para o mesmo limite. Mostre que esta transformao s aceleradora, i.e., {x } converge mais rapidamente que {xk }, das sucesses que veriquem k a condio, bastante restritiva, xk+1 z = 1 k xk z lim b) D exemplos de uma sucesso que verica esta condio e de uma que no verica. c) Aplique a transformao de modo a conrmar numericamente as alneas anteriores. d) Repita a alnea a) para o caso mais geral da transformao x = axk + bxk+1 , k a+b =1

41. A equao x2 = a com a > 0 pode escrever-se na forma x = g(x) com g(x) = a/x. a) Demonstre que o mtodo iterativo do ponto xo divergente para qualquer estimativa inicial x0 . b) Aplique o mtodo de Steensen e verique que se obtm convergncia, tomando por exemplo a = 2 e efectuando as iteraes necessrias para conseguir quatro decimais exactos. c) Mostre que a frmula iterativa de Steensen neste caso idntica obtida pelo mtodo de Newton. 42. a) Mostre que a equao 2/3 x + 1/(3x2 ) = 5 possui duas razes reais positivas; b) Escreva-a de modo a poder utilizar o mtodo do ponto xo e discuta as estimativas iniciais a empregar para obter as referidas razes; c) Calcule uma delas com 4 decimais exactos. 43. Pretende-se calcular a raiz positiva da equao x = 2 ln(a+ bx) com a > b > 0 pelo mtodo do ponto xo. Determine condies sucientes a satisfazer pelos parmetros a e b de modo a garantir a convergncia. 44. Determine a natureza e a localizao dos zeros dos seguintes polinmios: a) p(x) = x4 x2 + 2x 1; b) p(x) = x5 + x4 x + 2 45. Mostre que o polinmio real p(x) = x3 + ax2 x + 1 possui sempre um zero real negativo qualquer que seja o valor do parmetro a. Para que valores de a que as outros zeros so reais e esto no intervalo (0, 1)?

5.13 Problemas

267

46. Mostre que o polinmio


n1

p(x) = xn c

xk ,
k=0

n 2,

c > 1/n

tem um nico zero positivo z e que max(1, c) < z < 1 + c. 47. Determine quantos zeros positivos e quantos negativos possui o polinmio p(x) = x5 + 2x3 + 3x2 4. Obtenha um minorante e um majorante para os zeros reais. 48. Mostre que o polinmio p = x4 + 2x2 + 6x + a, com a = 0 e real, no tem zeros imaginrios puros, i.e., zeros da forma z = i com real. 49. Quantos zeros do polinmio p(x) = x4 2x3 x2 2x + 1 existem no intervalo [0, 2]? 50. Considere polinmios da famlia p = x3 (ax 1)2 com a 2. a) Prove que os zeros de qualquer polinmio desta famlia so reais e positivos. b) Mostre que o menor zero est localizado no intervalo (0, 1/a). c) Determine, para o caso a = 4 e por um mtodo sua escolha, uma aproximao a este zero com um erro absoluto inferior a 103 . 51. Prove que a soluo positiva da equao x(x + 1)(x + 2) (x + n) = 1 menor que 1/n!. 52. Considere o polinmio p(x) = an xn + an1 xn1 + + a1 x + a0 e o polinmio recproco q dado por q(x) = xn p(1/x) = an + an1 x1 + + a1 xn1 + a0 xn ou seja, o polinmio que se obtm tomando os coecientes por ordem inversa. Demonstre que se z = 0 for um zero de p, ento 1/z um zero de q. Por outras palavras, os zeros do polinmio recproco so os recprocos dos zeros do polinmio original. 53. Seja p um polinmio cujos zeros satisfazem 0 < |z| r, ou seja, esto no disco do plano complexo centrado na origem e de raio r.
a) Mostre que os zeros do polinmio p (x) = p(rx) so zi = zi /r;

b) Concluia que os zeros de p esto no disco do plano complexo centrado na origem e de raio 1. 54. Considere um polinmio real p de grau n e seja um majorante dos seus zeros reais, i.e., z para qualquer zero real z de p. Demonstre a regra de Descartes para os zeros positivos aplicando a regra de Budan-Fourier ao intervalo [0, b] com b > e sucientemente grande. Sugesto: Tomar, sem perda de generalidade, p como mnico e notar que p(i) (b) > 0, para i = 0, . . . , n.

268

Equaes no-lineares

55. Verique se o polinmio p = x4 + 9x3 + 18x2 + 2x + 6 possui algum zero localizado no crculo do plano complexo |z 1/2| 2. 56. Um polinmio real p = an xn + an1 xn1 + a1 x + a0 diz-se estvel se todos os seus zeros possurem parte real negativa. a) Mostre que condio necessria para um polinmio real p ser estvel que os seus coecientes sejam todos diferentes de zero e tenham todos o mesmo sinal de an . Sugesto: Factorizar p considerando os zeros complexos agrupados aos pares conjugados. b) Verique que esta condio suciente para n 2; c) Produza um polinmio de grau 3 que mostre que esta condio no geralmente suciente.
k k k 57. Determine o valor das quantidades qk = z1 + z2 + z3 para k = 1, 2 em que os zi so os zeros do polinmio p(x) = x3 + 2x 5. Nota: Certas funes dos zeros de polinmios, como o caso da soma de potncias, podem ser calculadas sem necessidade de obter explicitamente os valores destes zeros.

58. Repita o estudo do processo de deao da Subseco 5.9.2 para o caso de zeros mltiplos. 59. Pretende-se determinar a sensibilidade de um zero simples z do polinmio p relativamente a perturbaes dos seus coecientes. Assim, considere o polinmio p obtido de p por uma pequena perturbao do coeciente am o qual passar a ser am . a) Mostre que o efeito desta perturbao desloca o zero z para z de acordo com a expresso aproximada (am am )z m |z z | (z) p b) Em face deste resultado diga quais so os zeros mais sensveis: os de menor ou os de maior valor absoluto? c) Qual deve ser ento a ordem a adoptar para a determinao dos sucessivos zeros usando um processo de deao? d) Quais os coecientes do polinmio cujas perturbaes produzem maior efeito? 60. Os coecientes ak (incluindo mesmo aqueles que so nulos) do polinmio p(x) = x20 1 so perturbados por quantidades k que satisfazem a relao |k | 1. Mostre que os zeros deste polinmio so bem condicionados. 61. Um nmero real z diz-se algbrico se for um zero de um polinmio com coecientes inteiros, i.e., se p(z) = 0 com p(x) = an xn + an1 xn1 + + a1 x + a0 em que n 1, os ak so inteiros e an = 0. Um nmero real que no seja algbrico diz-se transcendente. O problema consiste em demonstrar que existem nmeros transcendentes (o que foi feito pela primeira vez em 1844 por Liouville).

5.13 Problemas

269

a) Seja x = N/D um nmero racional, portanto com N e D inteiros, e D 1. Demonstre que, se z for algbrico, z = N/D ou |z N/D| c/Dn , c>0

Sugesto: Recorrer expresso (5.11.4). b) Demonstre que x = 101! + 102! + 103! + um nmero transcendente. Sugesto: Raciocinar por reduo ao absurdo, i.e., supor que x algbrico e chegar a uma contradio. Tomar N = 10m! (101! + 102! + 103! + + 10m! ) e D = 10m! com m inteiro positivo arbitrrio. 62. a) Demonstre que se {xk } for uma sucesso que converge supralinearmente para z, ento |xk+1 xk | =1 k |xk z| lim b) Qual o interesse deste resultado do ponto de vista dum critrio de paragem de iteraes? c) Existir algum resultado semelhante para sucesses que convergem linearmente? Sugesto: Considerar a sucesso que resulta da aplicao do mtodo de Newton soluo de f (x) = x2 = 0. 63. Mostre que a generalizao da expresso (5.11.5) ao caso de um zero de multiplicidade k (inteiro) k!|f (xn )| 1/k k!|f (xn )| 1/k |en | Mk mk em que mk um minorante, e Mk um majorante, de |f (k) |, num intervalo apropriado.

But yet because the discovery of these roots is very usefull I shall lay down rules whereby they bee many times discovered at rst sight, & almost always without much labor. I. Newton (1642-1727)
The Mathematical Papers of Isaac Newton, vol. I, D. T. Whiteside (ed.)

Captulo 6 Sistemas de equaes lineares: mtodos directos


Neste captulo vamos iniciar o estudo de mtodos para resolver sistemas de equaes lineares. Se, por um lado, a linearidade constitui um factor simplicador relativamente ao que vimos no Captulo 5, por outro, a circunstncia de se tratar de sistemas induz diculdades acrescidas.

6.1

Introduo
a11 x1 + a12 x2 + + a1n xn = b1 a21 x1 + a22 x2 + + a2n xn = b2 . . . an1 x1 + an2 x2 + + ann xn = bn

Os sistemas de equaes lineares podem escrever-se na forma geral,

. . .

onde x1 , x2 , . . . , xn so as incgnitas; a11 , a12 , . . . , ann , os coecientes, e b1 , b2 , . . . , bn os segundos membros do sistema de equaes. Estes sistemas podem ainda ser escritos em notao matricial, frequentemente mais vantajosa, Ax = b em que a11 a12 a1n a21 a22 a2n . A= . . . , .. . . . . . . an1 an2 ann

(6.1.1)

x1 x2 x = . , . .

xn

b1 b2 b=. . .

bn

270

6.1 Introduo

271

Assim, A a matriz dos coecientes; x, o vector coluna das incgnitas; e b, o vector coluna do segundo membro. A matriz A e os vectores coluna x e b sero considerados reais, no obstante muito do que se vai dizer neste captulo ser generalizvel ao campo complexo sem grande diculdade. A resoluo de sistemas de equaes lineares um dos problemas que surge com mais frequncia nas aplicaes, pelo que h todo o interesse em dispor de mtodos ecazes de soluo, sobretudo quando a dimenso n do sistema for grande. De facto, este tipo de problemas constituiu uma das motivaes do desenvolvimento dos computadores digitais, tendo at alguns dos primeiros modelos sido concebidos especicamente para este efeito. Hoje a soluo de sistemas com milhares de equaes uma tarefa relativamente vulgar. Os mtodos de soluo de sistemas de equaes lineares costumam ser classicados em duas categorias: os mtodos directos e os mtodos iterativos. Um mtodo diz-se directo se permitir obter a soluo de qualquer sistema com um nmero nito de operaes aritmticas, e iterativo, no caso contrrio. Por esta denio parece que os mtodos iterativos esto partida colocados em desvantagem perante os mtodos directos, pois, no sendo possvel efectuar um nmero innito de operaes, aqueles apenas podero proporcionar uma soluo aproximada. Tal concluso , contudo, precipitada e os mtodos iterativos possuem caractersticas que os podem tornar atractivos. A escolha do mtodo a utilizar requer um conhecimento aprofundado das vrias opes disponveis e uma ponderao cuidadosa das respectivas vantagens e desvantagens face ao problema concreto que se pretende resolver. Atendendo variedade de situaes, possvel dar apenas algumas orientaes genricas, o que faremos ao longo deste captulo e tambm do Captulo 9.

6.1.1

Notao e nomenclatura

conveniente rever alguma notao e nomenclatura relativas a matrizes. Denio 6.1.1 Uma matriz A de dimenso m n um quadro de nmeros aij , com i = 1, . . . , m e j = 1, . . . , n. Estes nmeros so designados por elementos da matriz e costumam dispor-se em m linhas e n colunas, da seguinte maneira a11 a21 A= . . .

a12 a22 . . .

.. .

am1 am2 amn

a1n a2n . . .

Assim, aij o elemento situado na interseco da linha i com a coluna j. Uma matriz de dimenso m 1 designa-se por vector coluna, e uma matriz de dimenso 1 n designa-se por vector linha. Se m = n, i.e., o nmero de linhas for igual ao nmero de colunas, a matriz diz-se quadrada, e a este nmero d-se a designao de ordem da matriz. Quando m = n a matriz diz-se rectangular.

272

Sistemas de equaes lineares: mtodos directos

Representaremos por Rmn o conjunto das matrizes reais, e por Cmn o conjunto das matrizes complexas, com m linhas e n colunas. H uma certa toponmia nas matrizes que til recordar. Assim, os elementos da forma aii dizem-se elementos diagonais da matriz A, e formam a diagonal principal ou simplesmente diagonal de A. Os elementos que se dispem paralelamente diagonal formam as codiagonais, que se dividem em supradiagonais (as que esto acima da diagonal) e subdiagonais (as que esto abaixo da diagonal). Em muitos e importantes casos os elementos das matrizes apresentam uma certa estrutura ou padro a que corresponde uma designao mais ou menos sugestiva. Vamos apresentar alguns dos mais vulgares. Denio 6.1.2 Uma matriz diz-se: Nula se todos os seus elementos forem nulos, sendo denotada por 0. Trapezoidal superior se aij = 0, i > j, e trapezoidal inferior se aij = 0, i < j. Triangular superior se for simultaneamente quadrada e trapezoidal superior. Identicamente, uma matriz triangular inferior uma matriz quadrada trapezoidal inferior. Diagonal se for simultaneamente triangular superior e inferior, ou seja, uma matriz quadrada cujos elementos fora da diagonal principal so todos nulos. Por vezes empregaremos a notao D = diag(d1 , d2, . . . , dn ) para indicar uma matriz diagonal de ordem n cujos elementos na diagonal so d1 , d2, . . ., dn . A matriz identidade I uma matriz diagonal cujos elementos diagonais so todos iguais a 1, i.e., I = diag(1, 1, . . . , 1). simtrica se for de ordem n e aij = aji , i, j = 1, 2, . . . , n

i.e., quaisquer dois elementos em posio simtrica relativamente diagonal principal so iguais, e anti-simtrica se aij = aji , i, j = 1, 2, . . . , n

Positiva ( no-negativa) se aij > 0 (aij 0) para todos os valores de i, j, e este facto denotado por A > 0 (A 0); negativa ( no-positiva) se aij < 0 (aij 0) para todos os valores de i, j, e este facto denotado por A < 0 (A 0).

6.1 Introduo

273

6.1.2

Operaes com matrizes

A denio de matriz como um mero quadro de nmeros a mais pobre denio que se pode dar. A compensar esta pobreza est o facto de que possvel operar com matrizes. Vamos, pois, rever de modo sucinto as principais operaes com matrizes. Denio 6.1.3 Duas matrizes A e B dizem-se iguais se possurem as mesmas dimenses m n e os seus elementos homlogos forem iguais, i.e., aij = bij , para i = 1, . . . , m, j = 1, . . . , n. Denio 6.1.4 A soma de duas matrizes A e B, ambas de dimenso m n, a matriz C = A + B de dimenso m n denida por cij = aij + bij , para i = 1, . . . , m, j = 1, . . . , n. A soma de matrizes comutativa e associativa, i.e., A+B=B+A (A + B) + C = A + (B + C) Denio 6.1.5 O produto de um escalar por uma matriz A de dimenso m n uma matriz B = A tambm de dimenso m n denida por bij = aij , para i = 1, . . . , m, j = 1, . . . , n. Sejam A e B matrizes de dimenso m n, e e escalares. Ento, o produto acabado de denir goza das seguintes propriedades: ()A = (A) ( + )A = A + A (A + B) = A + B 1A = A 0A = 0 As Denies 6.1.4 e 6.1.5 tornam o conjunto das matrizes um espao linear , ou seja, para quaisquer matrizes A, B Rmn e quaisquer nmeros , R temos que a matriz A + B Rmn . Daqui resulta, como facilmente se pode ver, que todas as combinaes lineares de matrizes em Rmn produzem matrizes em Rmn . Esta propriedade mantm-se vlida se trabalharmos em Cmn em vez de Rmn . A operao de multiplicao de matrizes que vamos denir de seguida no tem paralelo no campo dos escalares. Denio 6.1.6 Seja A Rmp e B Rpn . Ento, o produto de A por B a matriz C = AB dada por cij = p aik bkj , para i = 1, . . . , m, j = 1, . . . , n. k=1

274

Sistemas de equaes lineares: mtodos directos

Chamamos a ateno para o facto de que esta denio impe que o nmero de colunas de A seja igual ao nmero de linhas de B. Matrizes com esta propriedade costumam designar-se por conformes multiplicao. Cada elemento cij de C obtido somando os produtos dos elementos da linha i de A pelos respectivos homlogos da coluna j de B. Sejam A, B, C matrizes, e um escalar. Ento, sempre que as operaes zerem sentido, so vlidas as seguintes propriedades, (AB)C = A(BC) A(B + C) = AB + AC (A + B)C = AC + BC (AB) = (A)B importante ter presente que o produto de matrizes no comutativo, i.e., AB no necessariamente igual a BA. Denio 6.1.7 A transposta de uma matriz A Rmn uma matriz B Rnm cujos elementos so dados por bij = aji , i = 1, . . . , n, j = 1, . . . , m

Usaremos a notao AT para indicar a transposta de A. A matriz transposta goza de algumas propriedades que assinalamos, (AT )T = A (A + B)T = AT + BT (A)T = AT (AB)T = BT AT Resulta imediatamente desta denio que uma matriz simtrica igual sua transposta, e uma matriz anti-simtrica igual simtrica da sua transposta. Denio 6.1.8 Uma matriz A Rnn tal que AT A = AAT = I diz-se ortogonal. Vamos introduzir agora o importante conceito de inversa de uma matriz. Denio 6.1.9 Se existir uma matriz X tal que AX = XA = I, diz-se ento que X a inversa da matriz A, a qual se denota por A1 . Pela denio resulta claro que s as matrizes quadradas podem aspirar a possuir inversa. No prximo teorema compilamos algumas das propriedades da inversa que utilizaremos mais frequentemente.

6.1 Introduo
Ax || < /2

275

Figura 6.1.1: Interpretao geomtrica de a matriz A ser denida positiva

Teorema 6.1.1 Seja A uma matriz de ordem n, e A1 a sua inversa. Ento, so verdadeiras as seguintes proposies: 1) A inversa, caso exista, nica; 2) (A1 )1 = A; 3) (AT )1 = (A1 )T ; 4) Se A e B forem matrizes de ordem n invertveis, ento AB invertvel, e (AB)1 = B1 A1 . Demonstrao Ver STRANG (1980). Algumas classes de matrizes muito frequentes nas aplicaes so introduzida na prxima denio. Denio 6.1.10 Uma matriz A Rnn diz-se: denida positiva se xAx > 0, x = 0; semidenida positiva se xAx 0; denida negativa se xAx < 0, x = 0; semidenida negativa se xAx 0.

O facto de uma matriz ser denida positiva tem um signicado geomtrico simples, que o de o ngulo entre o vector x e o seu transformado Ax ser sempre inferior (em valor absoluto) a /2, conforme mostra a Figura 6.1.1. Uma outra classe de matrizes que teremos oportunidade de encontrar algumas vezes a que a denio seguinte introduz. Denio 6.1.11 Uma matriz A Rnn diz-se de diagonal dominante por linhas se
n

|aii |

j=1 j=i

|aij |

(6.1.2)

276

Sistemas de equaes lineares: mtodos directos

para i = 1, . . . , n. Analogamente, diz-se que A uma matriz de diagonal dominante por colunas se
n

|aii |

j=1 j=i

|aji |

(6.1.3)

para i = 1, . . . , n. Se as expresses acima forem vlidas com o sinal substitudo por >, ento a matriz A diz-se de diagonal estritamente dominante por linhas ou por colunas, conforme o caso. Matrizes particionadas Por vezes h vantagem em considerar uma matriz A particionada em submatrizes, ou, por outras palavras, considerar que os elementos de A so, eles prprios, matrizes. Esclareamos este conceito com um exemplo. Exemplo 6.1.1 Partio de uma matriz.
Consideremos a matriz A R45 , 4 1 | 0 1 6 3 1 | 1 0 1 A = | 2 6 | 3 4 1 7 2 | 2 5 3

Uma partio possvel a indicada pelos traos interrompidos. Neste caso, a partio ser indicada da seguinte forma A11 A12 A= A21 A22 em que A11 , A12 , A21 , e A22 so as submatrizes A11 = A21 = 4 1 , A12 = 3 1 2 6 , A22 = 7 2 0 1 6 1 0 1 3 4 1 2 5 3

claro que a forma de partio a utilizar ditada pela nalidade pretendida e no inerente matriz em considerao.

As vantagens do particionamento de matrizes radicam fundamentalmente nos seguintes aspectos: notao mais compacta e a possibilidade de operar com as submatrizes da partio em bloco.

6.1 Introduo

277

Um modo natural de particionar uma matriz a de tomar para submatrizes as respectivas linhas ou colunas. Seja A Rmn e designemos por aT a sua linha i, e por a j i a sua coluna j. Ento, esta matriz pode ser particionada nas duas formas seguintes aT 1 T a2 A = . , . .

A = a1 a2 an

Convm reconhecer que ai Rn1 e que a j Rm1 . Quando no houver lugar a ambiguidade, usaremos a notao aj para indicar a coluna j da matriz A. Quando se considera a matriz A particionada por colunas, a posmultiplicao de A por um vector x adquire um novo e importante signicado. De facto, x1 x2 . = a 1 x1 + a 2 x2 + + a n xn . .

aT m

Ax = a 1 a 2 a n

xn

o que signica que Ax a combinao linear das colunas de A cujos coecientes so as componentes do vector x. Identicamente, a premultiplicao de x por A adquire um signicado semelhante, pois aT 1 T a2 . = aT x1 + aT x2 + + aT xn 1 2 m . .

xT A = x1 x2 xn

ou seja, xT A a combinao linear das linhas de A cujos coecientes so as componentes do vector x. Adiante veremos como tirar partido destas interpretaes de Ax e de xT A.

aT m

6.1.3

Teoria dos sistemas de equaes lineares

Um dos problemas centrais da lgebra Linear consiste na pesquisa das condies que garantem a existncia e a unicidade das solues de sistemas de equaes do tipo Ax = b com onde A no necessariamente uma matriz quadrada. A formulao destas condies simplica-se, e a sua interpretao adquire novos e importantes signicados se identicarmos as linhas e colunas de A como vectores de Rn e Rm respectivamente, e Ax como uma combinao linear das colunas de A em que as componentes xi do vector x desempenham o papel de coecientes da combinao linear, de acordo com o que se disse atrs a propsito da partio de matrizes em linhas e colunas. As prximas denies introduzem os quatro espaos lineares fundamentais associados a uma matriz A Rmn . A Rmn , b Rm , x Rn (6.1.4)

278

Sistemas de equaes lineares: mtodos directos

Denio 6.1.12 O espao das colunas da matriz A Rmn , denotado por R(A), o conjunto de vectores y Rm da forma y = Av, v Rn i.e., R(A) constitudo por todas as combinaes lineares das colunas de A. Analogamente, o espao das linhas o conjunto formado por todas as combinaes lineares das linhas de A e ser denotado simplesmente por R(AT ) (porqu?). Com esta denio o problema de resolver o sistema de equaes (6.1.4) pode ser reformulado desta outra maneira: procurar a combinao linear das colunas de A que reproduz o segundo membro b. Daqui extramos imediatamente a concluso de que b R(A) a condio necessria e suciente para a existncia de solues.

Denio 6.1.13 O espao de nulidade ou ncleo de A, denotado por N (A), o conjunto formado pelas solues do sistema homogneo Ax = 0, i.e., N (A) = {v Rn : Av = 0} O espao de nulidade esquerdo o espao de nulidade de AT . A designao de espao de nulidade esquerdo resulta de que N (AT ) = {v Rm : AT v = 0} Mas AT v vT A = 0, com o vector v a aparecer esquerda de A. fcil vericar que os quatro conjuntos de vectores acabados de introduzir so de facto espaos lineares, fazendo, portanto, sentido falar das respectivas dimenses. Teorema 6.1.2 Seja A Rmn e r o seu nmero de colunas linearmente independentes. Ento, so verdadeiras as seguintes proposies: N (A) = R(AT ) dim R(A) = r R(A) = N (AT )

dim N (AT ) = m r Demonstrao Ver STRANG (1980). um resultado notvel e surpreendente primeira vista que os espaos das colunas e das linhas tenham ambos a mesma dimenso r. A este valor r = dim R(A) = dim R(AT ) d-se a designao de caracterstica da matriz A, recorrendo-se por vezes linguagem sugestiva de dizer que caracterstica das linhas = caracterstica das colunas. Ao valor n r = dim N (A) costuma dar-se a designao de nulidade de A ou decincia da caracterstica de A.

dim R(AT ) = r dim N (A) = n r

6.1 Introduo

279

Teorema 6.1.3 (Existncia) O sistema (6.1.4) tem pelo menos uma soluo x Rn para qualquer segundo membro b Rm sse r = m n. (Unicidade) A soluo nica sse r = m = n. Demonstrao Ver STRANG (1980). Como se v, s sistemas cujas matrizes so quadradas podem aspirar a ter solues nicas e da que seja sobre esta classe de sistemas que iremos concentrar a nossa ateno. Outras formas de caracterizar a existncia e a unicidade so as apresentadas nos dois teoremas seguintes. Teorema 6.1.4 A soluo do sistema (6.1.4) existe e nica sse o sistema homogneo Ax = 0 possuir a soluo trivial x = 0 como nica soluo, ou, por outras palavras, sse a nulidade de A for zero. Demonstrao Ver STRANG (1980).

Teorema 6.1.5 O sistema (6.1.4) tem soluo nica sse qualquer das duas condies equivalentes for vlida: 1) A1 Demonstrao existir; 2) det A = 0

Ver STRANG (1980).

Regra de Cramer Como sabemos, a soluo do sistema de equaes lineares (6.1.1) pode ser obtida explicitamente pela regra de Cramer, que consiste no seguinte. Teorema 6.1.6 (Regra de Cramer) Seja A uma matriz invertvel e Ai a matriz que se obtm de A substituindo nesta a coluna i pelo segundo membro b. Ento, a soluo de (6.1.1) dada por det Ai xi = , i = 1, . . . , n det A Demonstrao Ver a verso clssica em STRANG (1980) ou uma verso surpreendentemente simples no Problema 6.11.10. A singeleza desta frmula esconde o facto de que ela totalmente inadequada como mtodo numrico geral de soluo. O clculo de um determinante de ordem n requer (n 1)n! multiplicaes e n! 1 somas ou subtraces (ver o Problema 6.11.21). O nmero de operaes necessrias pode, assim, ser enorme, mesmo para valores de n que so considerados baixos pelos padres actuais. Por exemplo, para n = 10 o nmero de operaes envolvidas cerca de 36 106 . Admitindo, para xar ideias, que uma operao deste tipo leva tipicamente um microsegundo, o clculo de um determinante de ordem 10 demora cerca de 36 segundos. Como seria preciso calcular 11 destes determinantes para

280

Sistemas de equaes lineares: mtodos directos

resolver pela regra de Cramer um sistema de 10 equaes, conclumos que este sistema demoraria cerca de 400 segundos. Mas para n = 20 seriam necessrios aproximadamente 32 milhes de anos (a espcie Homo sapiens existe h cerca de 100 000 anos)! Perante este valor nem sequer vale a pena preocuparmo-nos com os erros de arredondamento resultantes de to grande nmero de operaes. A regra de Cramer proporciona um algoritmo computacionalmente intratvel no sentido em que este termo foi introduzido na Seco 1.7.1. Felizmente, e como veremos em breve, possvel desenvolver mtodos bem mais rpidos, pelo que o interesse desta regra fundamentalmente terico.

6.1.4

Sistemas triangulares

Os mtodos de soluo que iremos estudar baseiam-se na ideia de transformar o sistema dado noutro, que seja mais fcil de resolver. Uma classe de sistemas fceis de resolver constituda por aqueles cujas matrizes so triangulares. Por este motivo conveniente dedicar-lhes alguma ateno. Suponhamos, para concretizar, que a matriz do sistema assume a forma triangular inferior e denotemo-la por L, ou seja, o sistema a resolver Lx = b que se escreve por extenso do seguinte modo, l11 x1 l21 x1 + l22 x2 li1 x1 + li2 x2 + + lii xi ln1 x1 + ln2 x2 + + lnn xn = b1 = b2 = = bi = = bn

Ento, admitindo que os elementos diagonais so todos diferentes de zero, a soluo deste sistema pode obter-se facilmente por intermdio das expresses x1 = b1 /l11 x2 = (b2 l21 x1 )/l22
i1

xi = bi

lij xj /lii ,
j=1

i = 1, . . . , n

(6.1.5)

Este mtodo para obter os valores das incgnitas por substituies sucessivas num sistema triangular inferior por vezes conhecido por processo de substituies descendentes. Um mtodo anlogo para os sistemas triangulares superiores consiste em calcular as incgnitas comeando por xn e subindo at x1 , donde a designao de processo de substituies ascendentes que se descreve no Algoritmo 6.1.1. O nmero de ops requeridos por estes processos de substituies O(n2 ) conforme facilmente se pode concluir.

6.2 Reduo a sistemas triangulares

281

Duas propriedades importantes das matrizes triangulares so reveladas no teorema seguinte. Teorema 6.1.7 Seja T uma matriz triangular inferior (ou superior). Ento, T invertvel sse os seus elementos diagonais forem diferentes de zero. Neste caso, a inversa de T tambm uma matriz triangular inferior (ou superior). Demonstrao Vamos considerar T como triangular inferior, j que o outro caso idntico. A primeira parte do enunciado j havia de certo modo transparecido aquando da deduo da expresso (6.1.5). O determinante de uma matriz triangular simplesmente o produto dos seus elementos diagonais pelo que ele diferente de zero sse nenhum deles for nulo. O Teorema 6.1.5 garante ento a invertibilidade. A demonstrao da segunda parte vai ser feita por induo na ordem n da matriz T. A inversa de uma matriz triangular inferior de ordem n = 1 , obviamente, uma matriz triangular inferior. Admitindo que esta assero verdadeira para uma ordem n qualquer, vamos provar que ela continua verdadeira para a ordem n+1. Ora, fcil ver que a matriz T1 = n+1 T1 0 n 1 T 1 1 tn+1 Tn tn+1,n+1 tn+1,n+1

verica T1 Tn+1 = Tn+1 T1 = I sendo, portanto, a inversa de Tn+1 . Por outro lado, n+1 n+1 uma simples observao da estrutura desta matriz permite concluir que T1 triangular n+1 inferior.

6.2

Reduo a sistemas triangulares

Como acabmos de ver, os sistemas de equaes cujas matrizes assumem certas formas peculiares, como o caso dos sistemas triangulares tratados na seco anterior, so muito Algoritmo 6.1.1 Substituies ascendentes comment: U Rnn xn = bn /unn for i = n 1 to 1 step 1 do s = bi for j = i + 1, . . . , n do s = s uij xj od xi = s/uii od

(unn = 0)

(uii = 0)

282

Sistemas de equaes lineares: mtodos directos

simples de resolver. Os mtodos directos tiram partido deste facto transformando o sis tema original Ax = b num outro sistema, equivalente, Ax = b, mas cuja matriz A seja triangular. Antes de continuar, convm determo-nos um pouco sobre esta noo de equivalncia de sistemas de equaes lineares. Denio 6.2.1 Dois sistemas de equaes lineares dizem-se equivalentes se possurem o mesmo conjunto de solues, ou seja, se os conjuntos {x} e {} das solues de x Ax = b forem iguais. A pergunta que imediatamente se coloca , dada uma matriz A e um segundo membro b, saber como se passa para uma matriz A e um segundo membro b, garantindo que o conjunto original de solues preservado. Por outras palavras, quais so as operaes legtimas sobre o sistema original que permitem transform-lo num sistema equivalente? O prximo teorema d-nos a resposta a esta questo. x Teorema 6.2.1 condio suciente para dois sistemas Ax = b e A = b serem equivalentes que exista uma matriz C invertvel tal que A = CA, b = Cb (6.2.1) e x A = b

Se A for invertvel, ento a condio acima tambm necessria. x Demonstrao Seja x uma soluo do sistema transformado A = b. Ento, se a condio (6.2.1) se vericar, temos que (CA) = Cb = C(A b) = 0 = A b = 0 x x x pois, por hiptese, C invertvel e a nica soluo dum sistema homogneo cuja matriz invertvel a soluo nula. Portanto, toda a soluo x do sistema transformado tambm soluo do sistema original. Vamos agora provar que a inversa tambm verdadeira. Seja, ento, x uma soluo do sistema original Ax = b. Multiplicando ambos os membros desta equao por C obtemos exactamente Ax = b, o que mostra que x tambm soluo do sistema transformado. Conclumos assim que, se a transformao do sistema original envolver apenas operaes cujo resultado idntico ao de premultiplicar a matriz A e o segundo membro b por uma matriz C invertvel, ento os sistemas original e transformado so equivalentes. A demonstrao da necessidade fcil e deixa-se como exerccio. Embora o teorema acima no seja construtivo, j que nada adianta quanto ao modo de determinar as matrizes C, fcil descobrir uma classe de operaes que no s garante a equivalncia dos sistemas como tambm possibilita que a matriz transformada assuma a forma triangular pretendida.

6.2 Reduo a sistemas triangulares

283

Denio 6.2.2 D-se a designao de operaes elementares sobre as linhas de uma matriz s seguintes operaes: Permutao de duas linhas; Multiplicao de uma linha por um nmero m = 0; Soma a uma linha do produto de outra linha por um nmero m. Vamos vericar atravs de exemplos simples que estas operaes correspondem a premultiplicar a matriz A e o segundo membro b por certas matrizes invertveis. Permutao de linhas. Consideremos a seguinte matriz P de ordem 3 dada por 0 1 0 P = 1 0 0 0 0 1 obtida por permutao das linhas 1 e 2 da matriz identidade. imediato vericar que 0 1 0 a11 a12 a13 a21 a22 a23 PA = 1 0 0 a21 a22 a23 = a11 a12 a13 0 0 1 a31 a32 a33 a31 a32 a33 O resultado nal da premultiplicao de P por A traduziu-se na troca das linhas 1 e 2 desta matriz. Analogamente se poderia concluir que a posmultiplicao de A por P efectuaria a troca das colunas 1 e 2. Destas observaes resulta que til introduzir a seguinte denio. Denio 6.2.3 Uma matriz P diz-se que uma matriz permutao elementar se for formada custa da permutao de duas linhas (ou duas colunas) da matriz identidade. Quando for necessrio explicitar quais as linhas ou colunas trocadas entre si usaremos a notao Pij para indicar que foram as linhas ou colunas i e j as movimentadas. Uma matriz permutao elementar satisfaz as seguintes propriedades cuja vericao simples (ver o Problema 6.11.32), P = PT , P2 = I (6.2.2)

A ltima igualdade assegura no s a invertibilidade de P mas tambm que P1 = P, ou seja, a inversa de uma matriz permutao elementar a prpria matriz.

284

Sistemas de equaes lineares: mtodos directos

Multiplicao de uma linha por um nmero m = 0. Suponhamos que pretendamos multiplicar a linha 2 de uma matriz A de ordem 3 por um nmero m = 0. fcil ver que a premultiplicao de A pela matriz M dada por 1 0 0 M = 0 m 0 0 0 1 efectua a operao pretendida. De facto, tem-se que 1 0 0 a11 a12 a13 a11 a12 a13 MA = 0 m 0 a21 a22 a23 = ma21 ma22 ma23 0 0 1 a31 a32 a33 a31 a32 a33 Tambm se podia vericar que a posmultiplicao por M conduziria multiplicao da coluna 2 de A por m. Sendo M uma matriz diagonal, a condio m = 0 garante a invertibilidade desta matriz. Soma a uma linha do produto de outra linha por um nmero m. Suponhamos que queramos somar linha 2 de uma matriz A de ordem 3 o produto da linha 1 por m. Podemos ver que a premultiplicao de A pela matriz 1 0 0 M = m 1 0 0 0 1 produz este efeito. De facto, 1 0 0 a11 a12 a13 a11 a12 a13 MA = m 1 0 a21 a22 a23 = ma11 + a21 ma12 + a22 ma13 + a23 0 0 1 a31 a32 a33 a31 a32 a33 Se pretendssemos somar s linhas 2 e 3 os mltiplos m2 e m3 respectivamente da linha 1, bastava-nos recorrer matriz M dada por 1 0 0 M = m2 1 0 m3 0 1 Deixamos ao leitor o cuidado de vericar que assim . Matrizes desta forma vo ser muito teis mais adiante, pelo que conveniente proceder a uma ligeira generalizao.

6.3 Mtodo de Gauss

285

Denio 6.2.4 Uma matriz triangular inferior elementar de ordem n e ndice k uma matriz da forma M = I meT k

em que m um vector cujas componentes satisfazem mi = 0, i = 1, . . . , k e ek o k-simo vector da base cannica de Rn .

Uma outra designao por vezes atribuda a estas matrizes, cuja justicao se tornar patente na prxima seco, a de transformaes de Gauss. Este tipo de matrizes tem o aspecto seguinte, exemplicando para uma matriz triangular inferior elementar de ordem n = 6 e ndice k = 3, 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 M= 0 0 m4 1 0 0 0 0 m5 0 1 0 0 0 m6 0 0 1 Como vemos, esta matriz M difere da matriz identidade apenas na coluna k = 3 abaixo da diagonal. As matrizes elementares triangulares inferiores so invertveis, e o clculo da sua inversa surpreendentemente simples, como vamos descobrir.

Teorema 6.2.2 Seja M uma matriz triangular inferior elementar. Ento, M invertvel e a sua inversa M1 = I + meT k Demonstrao Como se pode vericar efectuando os clculos, M(I + meT ) = (I meT )(I + meT ) k k k = I + meT meT meT meT k k k k T T = I m(ek m)ek = I pois, em virtude da Denio 6.2.4, eT m mk = 0. Conrmamos assim a validade do k teorema. Podemos concluir esta seco dizendo que todas as operaes elementares sobre linhas de uma matriz A correspondem a premultiplicar A por matrizes invertveis e, portanto, conduzem a sistemas equivalentes. Em seguida vamos mostrar que um encadeamento adequado destas operaes permite transformar a matriz A numa matriz A triangular superior.

6.3

Mtodo de Gauss

Temos neste momento todos os elementos necessrios apresentao do mtodo de Gauss, que consiste essencialmente em transformar por etapas sucessivas a matriz original A

286

Sistemas de equaes lineares: mtodos directos

numa matriz triangular superior. Vejamos em pormenor como se leva a efeito esta transformao. Designemos por A(k) a matriz transformada de A na etapa k deste processo e ponhamos a11 a12 a1n b1 a21 a22 a2n b2 b(1) b = . A(1) A = . . . , .. . . . . . . . . . A primeira operao a efectuar consiste em anular o elemento a21 desta matriz, o que, como vimos atrs, se pode fazer multiplicando a primeira linha por m21 = a21 /a11 (o que pressupe que a11 = 0) e subtraindo o resultado segunda linha. Este processo por vezes designado por condensao do elemento a21 . A segunda linha da matriz A e do segundo membro b modicam-se de acordo com as seguintes expresses a2j = a2j m21 a1j , b2 = b2 m21 b1
(2) (2)

an1 an2 ann

bn

j = 2, . . . , n

Este processo de condensao pode ser repetido para todos os elementos da coluna 1 abaixo da diagonal, utilizando para a condensao do elemento ai1 o multiplicador mi1 = ai1 /a11 O resultado de todas estas condensaes produz a matriz transformada A(2) (cuja primeira coluna abaixo da diagonal formada por zeros) e o segundo membro transformado b(2) , vindo os respectivos elementos modicados, i.e., distintos dos seus homlogos de A(1) dados por (2) aij = aij mi1 a1j , j = 2, . . . , n i = 2, . . . , n (2) bi = bi mi1 b1

Podemos agora proceder com a matriz A(2) do mesmo modo que com A(1) , condensando (2) desta vez a segunda coluna abaixo da diagonal. Pressupondo que a22 = 0, os multiplicadores a empregar so agora dados por mi2 = ai2 /a22
(2) (2)

A matriz resultante destas operaes A(3) , e o segundo membro, b(3) , cujos elementos modicados se obtm pelas expresses
(3) (2) (2) aij = aij mi2 a2j , j = 3, . . . , n

bi = bi mi2 b2

(3)

(2)

(2)

i = 3, . . . , n

6.3 Mtodo de Gauss

287

Figura 6.3.1: Matriz A(k) obtida na condensao de Gauss

submatriz activa

No difcil escrever as expresses gerais que permitem passar da matriz A(k) e do segundo membro b(k) para A(k+1) e b(k+1) , as quais so mik = aik /akk aij bi
(k+1) (k) (k) (k) (k)

= aij mik akj , = bi mik bk


(k) (k)

(k+1)

A matriz A(k) tem o aspecto que se mostra na Figura 6.3.1. (k) Os elementos akk so conhecidos por elementos piv, e a respectiva linha, por linha piv. A submatriz de A(k) constituda pelas suas n k ltimas linhas e n k ltimas colunas por vezes designada por submatriz activa, pois os seus elementos so aqueles que ainda esto em fase de modicao. Deste modo, a condensao de Gauss consiste na subtraco de um mltiplo apropriado da linha piv s linhas que lhe esto abaixo. Trata-se, como vimos, de uma operao elementar sobre linhas, que pode ser efectuada sempre que o elemento piv for diferente de zero. Admitindo que tal o caso, o sistema de equaes nal equivalente ao sistema original (n) (n) Ax = b com A = A , b = b (n) em que a matriz A = A assume a forma triangular superior. Este sistema pode ser agora resolvido por substituies ascendentes, conforme explicamos na Subseco 6.1.5. Convm chamar a ateno para um facto importante do ponto de vista de programao deste mtodo. Os elementos aij da matriz original A deixam de ser necessrios imediatamente aps sofrerem a sua primeira transformao, pois de a em diante, conforme as expresses (6.3.1) bem mostram, apenas trabalhamos com os elementos transformados. Assim, a menos que a matriz A tenha de ser preservada por alguma razo alheia ao mtodo de Gauss, as sucessivas matrizes transformadas A(k) podem ser armazenadas sobre a matriz original A, destruindo-a. Se atendermos a que a memria necessria para armazenar um sistema de equaes de ordem n cresce com n2 este procedimento constitui uma forma fcil de poupar memria.

j = k + 1, . . . , n i = k + 1, . . . , n

(6.3.1)

288

Sistemas de equaes lineares: mtodos directos

Se optarmos por destruir a matriz A e o segundo membro b, o processo de condensao pode efectuar-se de acordo com o Algoritmo 6.3.1, no qual se suprimiram todos os ndices superiores respeitantes aos elementos de A(k) e b(k) e se admitiu que todos os elementos piv so diferentes de zero. O nmero de ops na fase de condensao do mtodo de Gauss de O(2n3 /3) (ver o Problema 6.11.31). Tendo em conta que a soluo do sistema triangular envolve O(n2 ) destas operaes, conclumos que a soluo de um sistema de ordem n pelo mtodo de Gauss requer O(2n3 /3) ops. Este valor contrasta favoravelmente com o da regra de Cramer, e aconselhamos o leitor a repetir as contas simples efectuadas na Subseco 6.1.3 para concluir por si o imenso ganho conseguido. J chammos a ateno para o facto de que o processo de condensao depende de forma crucial do facto de os elementos pivs serem diferentes de zero. No entanto, possvel, mediante uma alterao simples, viabilizar o mtodo de Gauss mesmo na eventualidade de pivs nulos. Este tema ser tratado com mais pormenor adiante. Vrios segundos membros. Acontece por vezes ser necessrio resolver sistemas com a mesma matriz A mas com vrios segundos membros diferentes. O mtodo de Gauss presta-se, mediante uma adaptao muito simples, ao tratamento em simultneo de vrios segundos membros. Suponhamos que temos m segundos membros e que os organizamos em colunas de uma matriz B de dimenso n m, e seja X a matriz tambm de dimenso n m das incgnitas. Nestas condies podemos escrever que AX = B, com X = x1 xm , B = b1 bm

O mtodo de Gauss procede normalmente tendo apenas em ateno que as operaes que atrs eram efectuadas sobre o segundo membro b tero agora de ser levadas a cabo sobre cada coluna de B. Nas substituies ascendentes passa-se o mesmo, vindo as vrias solues correspondentes s vrias colunas de B nas colunas correspondentes de X. O que importa reter que a condensao da matriz A, a parte computacionalmente mais cara, Algoritmo 6.3.1 Condensao de Gauss (sem escolha de piv) for k = 1 to n 1 do for i = k + 1 to n do mik = aik /akk for j = k + 1 to n do aij = aij mik akj od bi = bi mik bk od od

(akk = 0)

6.4 Factorizaes triangulares

289

efectuada apenas uma nica vez, qualquer que seja o nmero de segundos membros a tratar.

6.4

Factorizaes triangulares

Nesta seco vamos reconstruir o mtodo de Gauss como uma sequncia de operaes matriciais que fornece uma factorizao da matriz A, i.e., que permite exprimir A como um produto de duas matrizes. Acontece que estas matrizes so triangulares, o que torna simples o processo de obter a soluo do sistema (6.1.1).

6.4.1

Factorizao LU

A condensao de Gauss consiste numa sequncia de operaes elementares sobre as linhas das matrizes A(k) , as quais, como vimos na Seco 6.2, podem ser expressas sob a forma de premultiplicaes desta matriz por matrizes triangulares elementares. Na verdade, A(2) pode ser obtida de A(1) = A da seguinte maneira A(2) = M(1) A(1) com M(1) 1 0 0 m21 1 0 (1) T . = . . . . . = I m e1 . . . . . . mn1 0 1

(6.4.1)

(6.4.2)

possvel concluir de modo idntico que, em geral, A(k+1) = M(k) A(k) M(k) = I m(k) eT k

k = 1, . . . , n 1

(6.4.3)
(k)

em que m(k) o vector constitudo pelos multiplicadores e cujas componentes mi , i = 1, . . . , k so nulas. No nal teremos que A(n) = A = M(n1) M(n2) M(1) A (6.4.4)

Mas o produto de matrizes triangulares inferiores de diagonal unitria tambm uma matriz triangular inferior de diagonal unitria (ver o Problema 6.11.12), pelo que designando por M o produto das n 1 matrizes que premultiplicam A na expresso (6.4.4) podemos escrever que MA = A (6.4.5)

290

Sistemas de equaes lineares: mtodos directos

Recordando o Teorema 6.1.1, que assegura a invertibilidade das matrizes M(k) e sendo M o produto destas matrizes, podemos armar que M1 dada por M1 = M(n1) M(1)
1

= (M(1) )1 (M(n1) )1

= I + m(1) eT I + m(n1) eT 1 n1 = I + m(1) eT + + m(n1) eT 1 n1

A ltima passagem desta sequncia decorre sem diculdade das propriedades das matrizes triangulares inferiores elementares. Ora, fcil reconhecer que o segundo membro da expresso nal acima tambm uma matriz triangular inferior de diagonal unitria cujos elementos no tringulo inferior no so outros seno os multiplicadores mij surgidos na condensao de Gauss. Pondo, por ser mais sugestivo, A=U e M1 = L

(do ingls, L de lower e U de upper ), a expresso (6.4.5) converte-se na seguinte forma alternativa A = LU (6.4.6) Mostrmos assim que o processo de condensao de Gauss conduz a uma expresso em que a matriz A surge sob a forma do produto de uma matriz L triangular inferior de diagonal unitria e de uma matriz U triangular superior. Obtm-se deste modo aquilo que se costuma designar por uma factorizao triangular ou factorizao LU da matriz A. Vejamos um exemplo simples para esclarecer o que se acaba de dizer. Exemplo 6.4.1 Factorizar a seguinte matriz pelo mtodo de Gauss: 1 0 2 A = 2 2 1 0 1 1

Calculando os multiplicadores e os elementos transformados pelas expresses (6.3.1) e colocando cada multiplicador na mesma posio do elemento da matriz A cuja condensao provocou, temos sucessivamente as seguintes matrizes transformadas 1 0 2 1 0 2 2 2 3 2 2 3 0 1/2 5/2 0 1 1 em que os nmeros sublinhados so os 1 0 L = 2 1 0 1/2 multiplicadores. Portanto, 0 1 0 2 0 , U = 0 2 3 1 0 0 5/2

6.4 Factorizaes triangulares

291

Chamamos a ateno para o facto de que a disposio dos elementos de L e U em sobreposio com os elementos de A a geralmente adoptada na implementao em computador da factorizao triangular tendo em vista a economia de memria. Notemos tambm que a diagonal de L no explicitamente guardada.

Do ponto de vista da resoluo do sistema de equaes lineares esta factorizao permite escrever que Ax = b (LU)x = b L(Ux) = b

Introduzindo o vector auxiliar y, temos que Ly = b Ux = y (6.4.7)

Conforme se v, a determinao da soluo x, uma vez obtida a factorizao LU, passa pela soluo em sucesso de dois sistemas triangulares: um, inferior, e outro, superior. Esta observao permite, alis, revelar uma vantagem do mtodo de factorizao sobre o mtodo de Gauss. A factorizao envolve apenas a matriz A e no o segundo membro b, intervindo este exclusivamente na fase de soluo dos sistemas triangulares (6.4.7). Isto signica que, uma vez factorizada a matriz A, podemos resolver tantos sistemas de equaes com esta matriz quantos quisermos custa apenas de substituies descendentes e ascendentes. Dado que a factorizao a fase mais cara em termos de nmero de operaes, este processo representa uma vantagem aprecivel relativamente a ter de aplicar o mtodo de Gauss integralmente desde o princpio para cada segundo membro. Notemos que no mtodo de factorizao, ao contrrio do mtodo de Gauss, os segundos membros no precisam sequer de ser conhecidos no momento da factorizao. Outras vantagens que podem eventualmente levar a preferir o mtodo de factorizao relativamente ao de Gauss sero referidas mais adiante.

6.4.2

Mtodo de Doolittle

A existncia de uma factorizao A = LU implica que os elementos das matrizes A, L e U satisfaam as relaes
n

aij =
m=1

lim umj ,

i, j = 1, . . . , n

(6.4.8)

Como as matrizes L e U so triangulares e, alm disso, L possui diagonal unitria, temos n(n 1)/2 elementos de L e n(n + 1)/2 elementos de U para determinar, num total de n2 elementos. A expresso (6.4.8) fornece exactamente n2 relaes, pelo que se poder pensar em utiliz-la como via para calcular os lij e os uij . Embora o aspecto de (6.4.8) seja

292

Sistemas de equaes lineares: mtodos directos

o de uma expresso no-linear envolvendo produtos destes coecientes, possvel tornear esta diculdade mediante uma escolha judiciosa da sequncia de clculos. Em primeiro lugar registemos, dado L e U serem triangulares, a validade das expresses lim = 0 se m > i e umj = 0 se m > j pelo que no somatrio em (6.4.8) basta fazer variar m de 1 a min(i, j), pois os restantes termos so necessariamente nulos. Consideremos a seguinte sequncia de clculos baseada no varrimento de A por colunas (outras variantes so possveis como se ver adiante). Primeira coluna de A. Do que se acabou de dizer resulta imediatamente que
n

ai1 =
m=1

lim um1 = li1 u11 ,

i = 1, . . . , n

donde, recordando que L tem diagonal unitria e no pressuposto que u11 = 0, extramos as relaes u11 = a11 , li1 = ai1 /u11 , i = 2, . . . , n Ficam assim completamente determinadas as primeiras colunas de U e L. Segunda coluna de A. Por outro lado, tambm verdade que
n

ai2 =
m=1

lim um2 = li1 u12 + li2 u22 ,

i = 1, . . . , n

Daqui se tira que a12 = l11 u12 , e, portanto, u12 = a12 , Logo, se u22 = 0, As segundas colunas de U e L cam, assim, totalmente calculadas. No difcil concluir que possvel obter deste modo todos os elementos das matrizes L e U, e que as expresses gerais que os determinam so uij = aij lij = aij
i1 m=1 lim umj , j1 m=1 lim umj

a22 = l21 u12 + l22 u22 u22 = a22 l21 u12 i = 3, . . . , n

li2 = (ai2 li1 u12 )/u22 ,

ji /ujj , j < i

(6.4.9)

Estas expresses pressupem que os ujj so todos diferentes de zero e que a sequncia de clculos a indicada. O algoritmo apresentado consubstancia o chamado mtodo de Doolittle para obter a factorizao de uma matriz em termos de uma matriz L triangular inferior de diagonal unitria e uma matriz U triangular superior. O exemplo seguinte ajuda a perceber a sua aplicao.

6.4 Factorizaes triangulares

293

Exemplo 6.4.2 Factorizar a matriz do Exemplo 6.4.1 pelo mtodo de Doolittle.


Uma aplicao directa das expresses (6.4.9) conduz-nos aos seguintes valores u11 = a11 = 1 l21 = a21 /u11 = 2/1 = 2 l31 = a31 /u11 = 0/1 = 0 u12 = a12 = 0 u22 = a22 l21 u12 = 2 2 0 = 2 u13 = a13 = 2 l32 = (a32 l31 u12 )/u11 = (1 0 0)/2 = 1/2

u23 = a23 l31 u13 l32 u23 = 1 0 2 1/2 (3) = 5/2 que so, obviamente, idnticos aos obtidos no Exemplo 6.4.1. Nesta disposio de clculos, a matriz A varrida por colunas o que leva a dizer que esta verso do algoritmo orientada por colunas. Mas fcil vericar que se podia ter optado por calcular a factorizao pela sequncia u12 , u13 , l21 , u22 , u23 , l31 , l32 , u33 dizendo-se neste caso que o algoritmo orientado por linhas. Enquanto no clculo manual indiferente qual das verses se adopta, em computador deve escolher-se a verso em consonncia com o esquema de armazenamento de matrizes pressuposto pela linguagem de programao usada.

Vantagens relativamente ao mtodo de Gauss legtimo perguntar qual a diferena entre a factorizao obtida pelo mtodo de Doolittle e a proporcionada pelo mtodo de Gauss? A resposta simples: uma vez que a factorizao triangular quando existe nica (ver o Problema 6.11.29), a diferena s pode residir na ordem dos clculos necessrios obteno da factorizao, e no no resultado nal. De facto assim . Enquanto no mtodo de Gauss os elementos de L e U vo sendo determinados por etapas medida que a condensao avana, s cando completamente calculados na sua forma nal quando a frente de condensao passa por eles e os deixa para trs, no mtodo de Doolittle os elementos de L e U so calculados de forma explcita e de uma nica vez. Por esta razo, as formas de factorizao do tipo da de Doolittle so frequentemente designadas por compactas. Este aspecto do mtodo de Doolittle tem algum interesse quando os clculos so feitos mo, pois desta maneira evita-se ter de se transcrever em sucessivas folhas de papel as matrizes intermdias A(k) requeridas pelo mtodo de Gauss, reduzindo-se assim os erros sempre possveis nesta transcrio (bem bastam os erros de aritmtica!). Embora esta vantagem tenha perdido toda a importncia com o advento dos computadores, uma outra est todavia presente nas expresses (6.4.9). Se repararmos com ateno nestas relaes, observamos que os somatrios podem ser interpretados como produtos internos de vectores de dimenso apropriada. Este facto faz com que uma alterao trivial no

294

Sistemas de equaes lineares: mtodos directos

algoritmo permita a acumulao destes produtos internos em preciso dupla com o to de reduzir os erros de arredondamento e sem que tal implique a passagem da matriz A a dupla preciso, o que seria um preo algo elevado a pagar. Uma outra vantagem, derivada ainda desta caracterstica das expresses (6.4.9) e que s agora se est a tornar efectiva nos modernos computadores com arquitecturas vectoriais e paralelas, a de se poderem efectuar de forma bastante eciente as vrias multiplicaes de um produto interno: tendencialmente um produto por ciclo nos computadores de arquitectura vectorial e em simultneo nas diferentes unidades aritmticas dos computadores com arquitectura paralela e os resultados parciais somados no m para formar o valor do produto interno. claro que o ganho obtido depende da dimenso n do sistema a resolver e do nmero de unidades aritmticas funcionando em paralelo, sendo natural que esta vantagem sobressaia com maior nitidez em sistemas de dimenso elevada. Atendendo s suas vastas potencialidades, esta uma rea em que se est a despender presentemente um grande esforo de investigao.

6.4.3

Mtodo de Crout

Uma variante da factorizao triangular da matriz A tomar a matriz U como triangular superior de diagonal unitria e L como triangular inferior. Os elementos lij e uij destas matrizes podem obter-se por um processo anlogo ao do algoritmo de Doolittle. No difcil extrair daqui as seguintes relaes para calcular os elementos das matrizes L e U: lij = aij uij = aij
j1 m=1 lim umj , i1 m=1 lim umj

ji /lii , j > i

(6.4.10)

Continuamos a pressupor que os lii so todos diferentes de zero. O mtodo de Crout permite, como veremos adiante, uma escolha de piv com maior facilidade que no mtodo de Doolittle, pelo que por vezes considerado prefervel.

6.4.4

Factorizao LDU

Uma pequena modicao das factorizaes de Doolittle e de Crout, que tem a vantagem de atribuir s matrizes triangulares L e U um papel totalmente idntico, considerar que estas so ambas matrizes triangulares com diagonal unitria e tomar a factorizao na seguinte forma A = LDU (6.4.11) em que D uma matriz diagonal. O mtodo de Doolittle consiste em absorver a matriz D em U, ou seja, considerar a factorizao A = L(DU) enquanto o de Crout consiste em absorver D em L, i.e., tomar A = (LD)U. A fechar esta subseco referimos que, tal como sucedia com o mtodo de Gauss, qualquer das formas compactas de obter a factorizao pode ser efectuada sobre a prpria

6.5 Escolha de piv

295

matriz A desde que esta possa ser destruda no processo, no requerendo, portanto, memria adicional para armazenar os factores L, D e U.

6.5

Escolha de piv

Os algoritmos descritos nas seces anteriores foram baseados no pressuposto de que os elementos piv eram diferentes de zero. Vejamos quais as modicaes a introduzir no caso de depararmos com pivs nulos (ou prximos de zero) durante os processos de condensao ou de factorizao.

6.5.1

Escolha de piv no mtodo de Gauss

Comecemos pelo mtodo de Gauss e suponhamos que estamos na fase k da transformao (k) da matriz original A na matriz nal A e que o elemento akk da matriz intermdia A(k) era nulo. Nesta ocorrncia, o processo de condensao no pode prosseguir normalmente e h que tomar alguma aco correctora. Esta consiste em proceder troca de linhas na matriz A(k) , uma operao elementar que, como vimos, garante a equivalncia dos sistemas de equaes lineares. Assim, pesquisemos a coluna k da matriz A(k) da diagonal (k) para baixo procura de um elemento ajk , j = k +1, . . . , n, diferente de zero. So possveis as seguintes duas situaes:

Nenhum destes elementos diferente de zero. Ento, podemos concluir que a matriz A(k) singular e, em virtude do Teorema 6.2.1, tambm sucede o mesmo com a matriz A. O processo de condensao pode ser abortado nesta fase ou podemos passar etapa k + 1 deixando um piv nulo na linha k. Escusado ser dizer que a soluo do sistema triangular superior ca, a partir deste momento, prejudicada. Existe (pelo menos) um destes elementos diferente de zero e suponhamos que ele se encontra na linha pk , k < pk n. Podemos assim proceder permuta das linhas k e pk , colocando deste modo um piv no-nulo na posio diagonal da linha k. A condensao pode agora prosseguir normalmente.

A operao de troca de linhas corresponde a premultiplicar a matriz A(k) por uma matriz permutao elementar que denotaremos por P(k) . Tendo em conta todas as eventuais trocas de linhas necessrias o processo de condensao pode ser representado pela

296

Sistemas de equaes lineares: mtodos directos

sequncia de operaes A(1) = A A(2) = M(1) P(1) A A(3) = M(2) P(2) A(2) = M(2) P(2) M(1) P(1) A .. .. .. A(k+1) = M(k) P(k) A(k) = M(k) P(k) M(1) P(1) A, k = 1, . . . , n 1

Esta expresso pode sofrer um rearranjo que nos vai permitir revelar uma faceta interessante do processo de trocas de linhas. Recordando a propriedade (6.2.2) das matrizes permutao elementar, podemos deduzir que A(2) = M(1) P(1) A = M(1) (P(1) A) A(3) = M(2) P(2) A(2) = M(2) P(2) M(1) P(1) A = M(2) (P(2) M(1) P(2) )(P(2) P(1) A) .. .. .. A = A(n) = M(n1) (P(n1) M(n2) P(n1) ) (P(n1) P(n2) P(1) A) Agrupando termos, chegamos expresso A = U = MPA em que M = M(n1) P(n1) M(n2) P(n1) P(n) P(2) M(1) P(2) P(n) P = P(n1) P(n2) P(1) fcil demonstrar que a matriz M uma matriz triangular inferior de diagonal unitria, e P uma matriz permutao (no elementar!). Representando por L a inversa de M, resulta de (6.5.1) que PA = LU (6.5.2) Esta expresso tem uma leitura interessante: a factorizao obtida a da matriz PA, ou seja, da matriz que resultaria de A se tivssemos efectuado sobre ela e partida todas as trocas de linhas. Contudo, estas trocas s vo cando denidas no decorrer do processo de condensao, pelo que o produto de P por A efectuado na realidade de forma parcelar atravs das matrizes P(k) e ao longo da condensao. O essencial dos mtodos de Gauss e da factorizao pode ser sintetizado no teorema seguinte. (6.5.1)

6.5 Escolha de piv

297

Teorema 6.5.1 Seja A uma matriz de ordem n invertvel. Ento, existe uma matriz L triangular inferior de diagonal unitria, uma matriz U triangular superior e uma matriz permutao P tal que PA = LU Demonstrao Est contida na exposio acabada de fazer, pelo que a omitiremos. Aps termos conseguido a factorizao (6.5.2) a soluo do sistema Ax = b no tem diculdade. Em vez das expresses (6.4.7) temos agora Ax = b e, portanto, Ly = Pb e Ux = y Como se v, a nica alterao reside na necessidade de efectuar sobre o segundo membro b as mesmas trocas de linhas que foram feitas sobre a matriz A. Estas trocas podem ser efectuadas simultaneamente com a condensao, como no mtodo de Gauss, ou a matriz P pode ser guardada para posterior utilizao no caso de se ter procedido apenas factorizao de A. Na implementao, em computador, deste ltimo caso mais econmico, do ponto de vista de memria, guardar a informao contida em P sob a forma de um vector de permutaes pk , i.e., pk = i querendo signicar que a actual linha k corresponde linha i da matriz original A. Nada obriga a que a matriz P em (6.5.2) seja nica. Na realidade podem existir vrios candidatos a piv na coluna k abaixo da diagonal. Qual deles se deve escolher? Para prosseguir o mtodo de Gauss basta optar por um qualquer desde que seja diferente de zero. No entanto, o exemplo que a seguir apresentamos mostra que h outros aspectos a ter em considerao. Exemplo 6.5.1 (CONTE and de BOOR (1980)) O objectivo deste exemplo exibir um efeito de erros de arredondamento que nos induz a trocar de linhas mesmo quando o piv diferente de zero e no seria estritamente necessrio faz-lo.
Resolvamos o seguinte sistema de ordem 2 em aritmtica decimal com 4 dgitos (a m de acentuar o efeito dos erros de arredondamento), 0.0003 1.246 0.4370 2.402 x1 x2 = 1.249 1.968

P(Ax) = Pb

(PA)x = Pb

(LU)x = Pb

A soluo exacta deste sistema x1 = 10 e x2 = 1. Aplicando o mtodo de Gauss temos de efectuar a condensao do elemento a21 = 0.4370 usando como piv o elemento a11 = 0.0003. O multiplicador a empregar m21 = a21 /a11 = 1457. Ento, a22 = 2.402 1457. 1.246 = 2.402 1815. = 1817. b2 = 1.968 1457. 1.249 = 1.968 1820. = 1818.
(2) (2)

298

Sistemas de equaes lineares: mtodos directos

O sistema triangular resultante 0.0003 1.246 0.0000 1817. x1 x2 = 1.249 1818.

donde, efectuando as substituies ascendentes, extramos os seguintes valores x2 = 1818./(1817.) = 1.001

x1 = (1.249 1.246 1.001)/0.0003

= (1.249 1.247)/0.0003 = 0.002/0.0003 = 6.667

Observamos com alguma surpresa que, enquanto o valor de x2 est quase certo, o de x1 tem um erro relativo de 33%. A que se deve este estranho fenmeno? A resposta a esta pergunta est na expresso que fornece o valor de x1 . Qualquer erro no clculo do numerador ser ampliado de 1/0.0003 = 3333 vezes! Como estamos a trabalhar apenas com 4 decimais, de esperar que o quarto decimal esteja corrompido e uma ampliao desta ordem de grandeza venha a afectar o primeiro decimal tambm. Portanto, no s est explicado o desastre computacional como lcito conjecturar que, por princpio, devem ser evitados pivs demasiado pequenos. Uma soluo ingnua para esta diculdade consistiria em multiplicar a primeira linha do sistema por um nmero elevado, 1000 digamos, com o to de levar a11 para valores semelhantes aos dos outros coecientes da matriz. Contudo, este artifcio no resolveria o problema, pois, como facilmente se vericaria, isto corresponderia a multiplicar o numerador e o denominador da expresso do x2 pelo mesmo nmero, nada de essencial se alterando. A soluo efectiva consiste em trocar as linhas do sistema original. Ento, voltando a repetir o mtodo de Gauss com as linhas da matriz trocadas, temos que 0.4370 2.402 0.0003 1.246 x1 x2 = 1.968 1.249

Agora m21 = 0.0003/0.4361 = (0.6865)103 e deduz-se, assim, que a22 = 1.246 + (0.6865)103 2.402 = 1.246 + (0.1649)102 = 1.968 b2 = 1.249 (0.6865)103 1.968 = 1.249 (0.1351)102 = 1.248 0.4370 2.402 0.0000 1.248 donde se extrai que x2 = 1.248/1.248 = 1.000 x1 = (1.968 + 2.402 1.000)/0.43701 = 4.370/0.4370 = 10.00 Estes resultados esto totalmente correctos, provando que a troca de linhas funcionou bem no sentido de reduzir os erros de arredondamento. x1 x2 1.968 1.248
(2) (2)

A condensao produz o sistema triangular =

6.5 Escolha de piv

299

A simplicidade deste exemplo ocultou a diculdade de no ser bvio qual dos elementos candidatos a piv deve ser escolhido no caso de sistemas de ordem superior a 2. De facto, no se conhece um critrio de escolha de piv que seja totalmente satisfatrio em todas as circunstncias, existindo, no entanto, vrios critrios que funcionam razoavelmente bem na maioria das situaes. Vamos apresentar os mais correntes, deixando a sua justicao terica para a Seco 6.8. Piv parcial De acordo com esta tcnica, so candidatos a piv os elementos aik , i = k, . . . , n da matriz A(k) , escolhendo-se aquele que tiver maior valor absoluto. Mais precisamente, seja pk um ndice tal que (k) (k) |apk k | = max |aik | (6.5.3)
kin (k)

Se pk = k procede-se permuta das linhas k e pk . Piv total Neste caso, tomam-se como candidatos a piv todos os elementos aij , i, j = k, . . . , n, ou (k) seja, todos os elementos abaixo e direita de akk , i.e., todos os elementos da parte activa de A(k) , determinando-se dois ndices pk e qk tais que |a(k) k | = max |aij | pk q
ki,jn (k)

(6.5.4)

Se pk = k trocam-se as linhas k e pk como no caso da tcnica anterior, e se qk = k efectua-se tambm uma troca das colunas k e qk . Todavia, a troca de colunas no uma operao que preserve a equivalncia dos sistemas, pelo que convm analisar com ateno este caso. Se representarmos por Q a matriz que traduz as permutas de colunas induzidas pelo cumprimento desta tcnica de escolha de piv, no difcil concluir que, semelhana do que se passa com as trocas de linhas, a factorizao obtida corresponde a PAQ = LU Assim, o sistema original pode transformar-se da seguinte maneira Ax = b P(Ax) = Pb (PA)QQ1 x = Pb (6.5.5)

e, pondo x = Qy, vem que PAQy = LUy = Pb Desdobrando este sistema da forma habitual, podemos escrever que Lz = Pb, Uy = z, x = Qy (6.5.6)

300

Sistemas de equaes lineares: mtodos directos

Reparemos que a ltima equao em (6.5.6) corresponde simplesmente ao desfazer das trocas de colunas provocadas pela escolha de piv. A razo das designaes de piv parcial e total ca agora esclarecida. Na tcnica de piv total todos os elementos da submatriz de A(k) constituda pelas suas n k ltimas linhas e n k ltimas colunas (a parte activa de A(k) ) so candidatos ao passo que na tcnica de piv parcial apenas so considerados os elementos da coluna k da diagonal para baixo.

Piv com patamar A pesquisa do elemento piv envolve um nmero de operaes (acesso aos elementos de A(k) candidatos, comparaes para determinao do maior em valor absoluto, trocas de linhas e/ou colunas) que no de desprezar. Como o leitor facilmente poder vericar, o nmero destas operaes O(n2 ) para o caso de piv parcial e O(n3 ) para o caso de piv total. Esta sobrecarga poder representar uma fraco aprecivel do tempo de clculo necessrio condensao ou factorizao. Por esta razo, a tcnica de piv parcial normalmente a preferida, a menos que haja indicaes especcas que aconselhem diversamente. Mesmo assim, quando a dimenso n do sistema for muito elevada, e a matriz A no couber toda na memria central do computador, a tcnica de piv parcial pode obrigar a um nmero excessivo de operaes de leitura e escrita de e para a memria perifrica, o que pode tornar o processo muito lento. Por outro lado, as trocas de linhas podem alterar uma eventual estrutura vantajosa da matriz A como, por exemplo, o padro de esparsidade (ver adiante). H, por conseguinte, necessidade de encontrar um compromisso entre os efeitos dos erros de arredondamento e o tempo de clculo. Uma forma de controlar a (k) quantidade de linhas trocadas consiste em aceitar o elemento akk como piv, mesmo no sendo o maior em valor absoluto da respectiva coluna mas desde que seja sucientemente grande. Este elemento ser considerado neste contexto como sucientemente grande se satiszer a condio |akk | max |aik |
k+1in (k) (k)

(6.5.7)

em que 0 1 um parmetro cuja escolha depende da natureza do sistema a resolver e da quantidade de trocas de linhas tolervel. Se = 0 no haver escolha de piv, e se = 1 estamos perante a tcnica de piv parcial. Recorrendo a valores de intermdios podemos de certo modo controlar o nmero de trocas de linhas a efectuar. Este processo costuma designar-se por escolha de piv com patamar . Um valor por vezes recomendado para este parmetro com base em experincias numricas = 0.1 (ver DUFF and STEWART (1978)).

6.5 Escolha de piv

301

6.5.2

Escolha de piv nos mtodos de Doolittle e de Crout

No evidente qual a forma de levar a efeito a escolha de piv nos mtodos de factorizao compactos e, de facto, no se conhece uma maneira prtica de realizar a tcnica de piv total nestes casos. A tcnica de piv parcial no levanta tantas diculdades e acontece que, para o mtodo de Crout, ela pode ser efectuada da mesma maneira que no mtodo de Gauss, como vamos mostrar. Recordemos aqui as expresses gerais do mtodo de Crout: lij = aij uij = aij A primeira coluna de L dada por li1 = ai1 , i = 1, . . . , n
j1 m=1 lim umj , i1 m=1 lim umj

ji /lii , j > i

Detectamos assim a relao importante de que os valores da segunda coluna de L so iguais aos seus homlogos na segunda coluna da matriz intermdia A(2) , os quais no so outros seno os candidatos a piv. Podemos assim basear-nos nestes valores para a escolha de piv. Identicamente se chega concluso de que li3 = ai3 li1 u13 li2 u23 = ai3
(3)

pelo que exactamente igual primeira coluna de A(1) = A e podemos efectuar a troca de linhas ditada pela tcnica de piv parcial como no mtodo de Gauss. A segunda coluna de L vem dada por (2) li2 = ai2 li1 u12 = ai2

e, portanto, os elementos da terceira coluna de L so iguais aos seus homlogos de A(3) , e assim por diante. Em resumo, no mtodo de Crout os candidatos a piv so os mesmos que os do mtodo de Gauss e encontram-se exactamente nas mesmas posies, pelo que se utilizarmos o mesmo critrio de piv parcial acabaremos por efectuar as mesmas trocas de linhas nos dois mtodos. No caso do mtodo de Doolittle no se verica a mesma simplicidade, e a tcnica de piv parcial requer uma ligeira complicao para ser levada a efeito, a qual no desenvolveremos.

6.5.3

Equilibragem de matrizes

Recordemos o Exemplo 6.5.1. O sistema de equaes considerado equivalente ao seguinte, obtido por multiplicao da primeira linha por 104 , 3.000 12460. 0.4370 2.402 x1 12490. = x2 1.968

302

Sistemas de equaes lineares: mtodos directos

Se aplicarmos a tcnica de piv parcial a este sistema somos levados a escolher o elemento a11 = 3.000 para piv, o que sabemos produzir maus resultados. Esta vericao leva-nos a suspeitar de que algo de errado se passa com a tcnica de escolha de piv, j que ela pode ser ludibriada desta forma to singela. Por outras palavras, sempre possvel por multiplicao das linhas do sistema por nmeros diferentes de zero apropriados forar a que tenha lugar qualquer sequncia de pivs que se queira. Este ponto fraco da tcnica de piv vai pode ser remediado se exigirmos que as linhas da matriz A estejam escritas mesma escala, i.e., as linhas do sistema de equaes devem ser multiplicadas por escalares de modo a que as linhas de A sejam vectores de norma unitria. Tomando a norma , temos que a1 = 12460. e a2 = 2.402, pelo que o sistema de equaes escalado vem (0.2408)103 1.000 x1 1.002 = 0.1819 1.000 x2 0.8190 A tcnica de escolha de piv parcial obriga agora permuta das primeira e da segunda linha como no Exemplo 6.5.1, voltando tudo normalidade. Este exemplo sugere que, existindo alguma suspeita de a matriz A possuir linhas de normas muito diferentes, se deve proceder a uma operao de escalagem desta matriz de modo a forar as linhas a apresentar normas iguais. Este procedimento equivalente a substituir o sistema original por um sistema equivalente EAx = Eb

(6.5.8)

em que E uma matriz diagonal positiva cujos elementos contm os factores de escala. Concretamente, se empregarmos a norma de mximo, a mais simples computacionalmente, vem que eii = 1/ ai (6.5.9) Esta operao conhecida por equilibragem por linhas da matriz A. Na prtica a premultiplicao por E no efectuada explicitamente, pois a equilibragem s afecta a soluo na medida em que inuenciar a sequncia de pivs. Deste modo, o seu efeito conseguido se, em vez do critrio usual de escolha de piv, se utilizar este outro: determina-se o ndice pk tal que |apk k |epk pk = max |aik |eii
kin (k) (k)

(6.5.10)

e se pk = k procede-se troca das linhas k e pk , como habitualmente. Costuma tambm dizer-se que neste caso se empregou uma tcnica de piv parcial com escala ou de equilibragem implcita.

6.6

Clculo da inversa e do determinante

Os vrios mtodos de soluo descritos permitem calcular a inversa e o determinante de matrizes, tpicos que vamos abordar em seguida de forma muito breve, j que quer a

6.6 Clculo da inversa e do determinante

303

inversa quer o determinante desempenham, na prtica dos mtodos numricos, um papel menos importante que na teoria dos sistemas de equaes lineares. Clculo da matriz inversa A inversa da matriz A pode obter-se resolvendo, por qualquer dos mtodos, o seguinte sistema cujo segundo membro constitudo pela matriz identidade AX = I De facto, X = A , ou seja, na matriz das incgnitas aparece a inversa de A. Uma observao deve ser, no entanto, feita. Poder pensar-se que, sendo assim, a soluo do sistema de equaes Ax = b deve processar-se em duas fases. Na primeira obter-se-ia a inversa pelo processo acabado de descrever, e na segunda efectuar-se-ia a premultiplicao de A1 por b, i.e., x = A1 b. Uma anlise ao nmero de operaes envolvidas mostra que este processo no competitivo com os mtodos de soluo de sistemas atrs apresentados, mesmo quando necessrio tratar mais do que um segundo membro. Acresce ainda que a matriz A1 no herda as eventuais propriedades de esparsidade de A, aspecto que ser abordado na prxima seco. Portanto, como concluso, podemos dizer que a inversa de uma matriz s deve ser calculada se for explicitamente necessria e no como forma de resolver sistemas de equaes lineares. Clculo do determinante Uma vez efectuada a factorizao da matriz A, o clculo do seu determinante pode fazer-se com um custo adicional desprezvel. Suponhamos que havamos obtido a factorizao PA = LDU Ento, recordando que o determinante do produto de matrizes igual ao produto dos determinantes, vem que (det P)(det A) = (det L)(det D)(det U) Mas, tendo em ateno a propriedade (6.2.2) das matrizes permutao, e que o determinante de matrizes triangulares de diagonal unitria igual a 1, podemos escrever que
n 1

det A = (det P)(det D) = (det P)


i=1

dii

(6.6.1)

O valor de det P +1 se o nmero de permutaes de linhas levadas a cabo tiver sido par, e 1, se tiver sido mpar. relativamente fcil, mesmo para matrizes de dimenso n moderada, acontecer que o clculo do determinante via expresso (6.6.1) produza overow ou underow. Para que tal no suceda, de boa prtica incluir no programa que implementa este clculo uma forma automtica de escalar os valores do determinante de modo a que no se ultrapassem estes limites do sistema de ponto utuante do computador.

304

Sistemas de equaes lineares: mtodos directos

Teste da singularidade pelo determinante Como sabemos, uma matriz A singular sse det A = 0. No entanto, totalmente incorrecto testar numericamente a singularidade duma matriz com base no valor do seu determinante. Os seguintes exemplos so sucientes para compreender porqu. Consideremos uma matriz diagonal de ordem 100 dada por A = diag(0.1, 0.1, . . . , 0.1). O valor do seu determinante det A = 10100 , um nmero que na maioria dos computadores produziria uma situao de underow, podendo mesmo ser automaticamente posto a zero. Ora, esta matriz nada tem de singular, e a sua inversa at de clculo imediato. Logo, um teste singularidade desta matriz baseado no valor do determinante ludibriar-nos-ia completamente. Tomemos agora a matriz de ordem 100 dada por A = diag(10, 10, . . . , 10, 107), para a qual det A = 1092 . Com base neste valor do determinante, poderamos pensar estar perante uma matriz invertvel. No entanto, tudo depende do grau de conana no valor 107 . Se este valor for exacto, ento no h dvida de que a matriz invertvel. Todavia, se este valor estiver contaminado por erros de arredondamento, pode acontecer que 107 esconda o valor exacto que deveria ser 0 e, neste caso, a matriz seria singular. O problema com o determinante de que ele afectado pela escala dos elementos da matriz enquanto a singularidade da matriz no . A questo que com toda a pertinncia se coloca neste momento saber como se pode detectar a singularidade de uma matriz. Vimos atrs na Subseco 6.5.1 que, se no for possvel encontrar um piv diferente de zero, ento a matriz singular, e este facto constitui um teste singularidade bem melhor que o do determinante. Todavia, a presena dos erros de arredondamento complica este quadro, podendo-nos levar a concluir erradamente quanto ao carcter singular ou no de uma matriz. Um indicador que correntemente utilizado o do valor absoluto do piv (k) |akk |. Um valor demasiado baixo, da ordem da unidade de arredondamento, sinal de que a matriz singular ou est muito prximo de o ser, pelo que h que proceder com a devida cautela, nomeadamente no que diz respeito abilidade dos resultados.

6.7

Sistemas com matrizes especiais

Os mtodos de soluo desenvolvidos at este momento aplicam-se a matrizes A gerais e requerem O(n3 ) ops e memria para O(n2 ) variveis. No caso de A possuir alguma estrutura especial natural tentar modicar ou adaptar estes mtodos de modo a tirar partido dessa estrutura com o objectivo de produzir um algoritmo mais ecaz. Dada a enorme variedade de situaes e variantes possveis, esta seco vai ser orientada para a apresentao dos casos mais frequentes. Uma classe de matrizes que merece um tratamento especco a das matrizes com uma elevada percentagem de coecientes nulos. Diz-se ento que a matriz esparsa. Por oposio, uma matriz com elevada percentagem de elementos diferentes de zero designase por densa. Notemos que estas noes de esparsidade e densidade so necessariamente

6.7 Sistemas com matrizes especiais

305

(a) Matriz densa

0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

(b) Matriz esparsa

0 0 0 0 0

Figura 6.7.1: Esparsidade de matrizes: os elementos no nulos so indicados por ambguas, j que uma matriz esparsa pode ser sempre tratada como densa, e uma matriz densa um caso limite de uma matriz esparsa. A Figura 6.7.1 d uma ideia da noo que se pretende transmitir. Um bom mtodo de soluo de sistemas com matrizes esparsas deve tirar partido da existncia do grande nmero de elementos nulos, evitando, na medida do possvel, armazen-los (para poupar memria) e operar com eles (para poupar tempo). A explorao da esparsidade pressupe uma estrutura de dados especial para guardar vectores e matrizes e adaptaes no triviais dos algoritmos da lgebra Linear Numrica. A este respeito, til fazer a distino entre as operaes estticas que no alteram os valores dos operandos, como sejam a soma de dois vectores para obter um terceiro vector e operaes dinmicas de que resultam modicaes aos valores dos operandos, como sejam a normalizao de um vector ou a condensao de Gauss. Se uma operao dinmica respeitar a estrutura de esparsidade, i.e., embora alterando os valores numricos no faz aparecer valores no-nulos em posies onde originalmente existiam zeros, como seja o caso da multiplicao de uma matriz por um escalar, diz-se que simplesmente dinmica. Caso contrrio, a operao diz-se que essencialmente dinmica, sendo o caso tpico o da condensao de Gauss. O fenmeno do aparecimento destes elementos no-nulos em posies onde originalmente existiam zeros conhecido pela designao de enchimento e constitui uma complicao no despicienda no desenvolvimento de algoritmos que explorem a esparsidade. Um facto importante a reter, e que j havamos mencionado atrs, o de que a inversa de uma matriz esparsa no necessariamente uma matriz esparsa, o que constitui mais uma razo para evitar calcular a inversa.

6.7.1

Matrizes simtricas

Uma situao frequente aquela em que a matriz A simtrica. Neste caso seria desejvel poder trabalhar apenas com um dos tringulos, superior ou inferior, da matriz. Queremos com isto dizer que apenas um destes tringulos seria armazenado em memria e todas as operaes de condensao ou factorizao seriam efectuadas exclusivamente sobre este

306

Sistemas de equaes lineares: mtodos directos

tringulo, tentando assim uma reduo da memria e de tempo de clculo. O teorema seguinte mostra que este objectivo realizvel. Teorema 6.7.1 A condensao de uma matriz A simtrica invertvel produz submatrizes A(k) activas tambm simtricas se no ocorrerem trocas de linhas ou se as trocas de linhas forem acompanhadas de idnticas trocas de colunas (piv diagonal ou simtrico). Demonstrao Vejamos primeiro o caso em que no se procede escolha de piv. O primeiro passo na condensao corresponde, como vimos, operao A(2) = M(1) A(1) = M(1) A (6.7.1)

Consideremos as matrizes intervenientes nesta expresso particionadas do seguinte modo A(1) A = a11 aT 1 , a1 A22 M(1) = 1 0T (1) m I (6.7.2)

em que, naturalmente, AT = A22 . Efectuando as operaes indicadas em (6.7.1), temos 22 que a11 aT 1 A(2) = (6.7.3) (1) a1 a11 m A22 m(1) aT 1 Mas, segundo o mtodo de Gauss, m(1) escolhido de modo a que a1 a11 m(1) = 0 e, consequentemente, A22 A22 m(1) aT = A22 a1 aT /a11 1 1 O segundo membro desta igualdade uma diferena de matrizes simtricas e, por con(2) seguinte, uma matriz tambm simtrica. Portanto, a submatriz activa A22 de A(2) simtrica, como queramos provar. Caso tivesse havido escolha de piv diagonal teramos, em vez de (6.7.1), a expresso A(2) = M(1) P(1) AP(1)
(2) (2)

ou

m(1) = a1 /a11

(6.7.4)

Repetindo o raciocnio acabado de fazer, agora para a submatriz A22 , no difcil concluir que esta submatriz permanece simtrica. Usando induo podamos demonstrar que todas (k) as submatrizes activas de Akk , k = 2, . . . , n so simtricas. O processo de condensao conduz no nal expresso A = MPAPT em que A uma matriz triangular superior. Ponhamos A = DU (6.7.6) (6.7.5)

6.7 Sistemas com matrizes especiais

307

em que D = diag(A), forando desta maneira a que U seja uma matriz triangular superior com diagonal unitria. Podemos ento extrair de (6.7.5) e de (6.7.6) a relao PAPT = LDU (6.7.7)

obtendo assim uma factorizao para a matriz simtrica PAPT resultante de A por trocas simtricas de linhas e colunas. Deixamos como exerccio vericar que a factorizao (6.7.7) tambm simtrica, i.e., U = LT , pelo que PAPT = LDLT = UT DU (6.7.8)

Fica assim plenamente conrmado que quer a condensao quer a factorizao de uma matriz simtrica podem ser efectuadas recorrendo apenas a um dos tringulos da matriz.

6.7.2

Matrizes simtricas denidas positivas

Esta classe de matrizes muito importante pela frequncia com que surge nas aplicaes mais variadas. Para estas matrizes uma factorizao triangular simtrica existe necessariamente, j que matrizes simtricas denidas positivas so por natureza invertveis. Teorema 6.7.2 Seja A Rnn uma matriz simtrica. Ento, A denida positiva sse existirem matrizes L triangular inferior e U triangular superior, ambas com diagonal unitria, e uma matriz diagonal D com elementos diagonais positivos tais que A = LDLT = UT DU com L = UT (6.7.9)

Demonstrao Vamos comear pela condio de necessidade. A nica diferena relativamente ao Teorema 6.7.1 reside no facto de que agora no so invocadas trocas de linhas ou colunas para produzir a factorizao. Vamos fazer a demonstrao por induo na ordem n da matriz. Para n = 1 , a11 > 0, pois A denida positiva. Ento, pondo l11 = 1, u11 = 1 e d11 = a11 , o teorema ca demonstrado para este caso. Suponhamos que o teorema verdadeiro para matrizes de ordem n 1 e consideremos a primeira das factorizaes em (6.7.9), envolvendo a matriz L, uma vez que para o outro caso tudo se passa de modo anlogo. Particionemos a matriz A de ordem n da seguinte forma A= An1 a aT (6.7.10)

em que An1 uma submatriz de ordem n 1 tambm simtrica e denida positiva, e = ann . Seja L uma matriz triangular inferior com diagonal unitria, e D uma matriz diagonal, ambas de ordem n e escritas na forma particionada seguinte L= Ln1 0 lT 1 D= Dn1 0 0 d (6.7.11)

308

Sistemas de equaes lineares: mtodos directos

Vejamos quais as condies para que L e D satisfaam a expresso (6.7.9). Para tal devemos ter que An1 = Ln1 Dn1 LT n1 a = Ln1 Dn1 l, aT = lT Dn1 LT n1 T = l Dn1 l + d (6.7.12) (6.7.13) (6.7.14)

Pela hiptese da induo, (6.7.12) satisfeita nas condies do enunciado. A igualdade (6.7.13) permite calcular o vector l, pois as matrizes Ln1 e Dn1 so invertveis e, portanto, podemos pr que l = (Ln1 Dn1 )1 a (6.7.15) Por outro lado, a expresso (6.7.14) permite calcular d uma vez determinado l, d = lT Dn1 l = aT A1 a n1 Falta provar que d > 0. Consideremos o seguinte produto q dado por q = vT 1 An1 a aT v = vT An1 v 2vT a + 1 (6.7.17) (6.7.16)

cujo valor positivo para qualquer vector v = 0. Como An1 denida positiva, invertvel. Logo podemos escolher a seguinte forma para v, v = A1 a que, substituda n1 em (6.7.17), d sucessivamente q = aT A1 An1 A1 a 2aT A1 a + = aT A1 a = d > 0 n1 n1 n1 n1 como queramos provar. A demonstrao da sucincia simples e deixa-se como exerccio. Dado que D uma matriz diagonal denida positiva, possvel denir a raiz quadrada de D, denotada por D1/2 , como a matriz diagonal cujos elementos diagonais so a raiz quadrada positiva dos elementos correspondentes de D. Nestes termos, a expresso (6.7.9) pode ser transformada nesta outra alternativa A = (LD1/2 )(LD1/2 )T = (D1/2 U)T (D1/2 U) (6.7.18)

que nos permite, se quisermos, absorver a matriz D1/2 em L e U, perdendo ento estas matrizes a caracterstica de possuir diagonal unitria. Mtodo de Choleski O clculo da matriz L ou da matriz U pode ser levado a cabo por intermdio de uma factorizao compacta, especialmente adaptada ao caso de matrizes simtricas denidas positivas. Tomando, por exemplo, A = LLT (6.7.19)

6.7 Sistemas com matrizes especiais

309

em que L uma matriz triangular inferior (no necessariamente de diagonal unitria). Aplicando a mesma tcnica que adoptmos para os algoritmos de Doolittle e de Crout, temos, para o tringulo inferior, as expresses
n j

aij =
m=1

lim ljm =
m=1

lim ljm ,

ij

donde resultam as frmulas


j1

ljj = lij =

ajj aij

2 ljm m=1 j1

1/2

(6.7.20) i>j (6.7.21)

lim ljm /ljj ,


m=1

Estas expresses, ou as suas congneres para a matriz U, constituem o chamado mtodo de Choleski, apresentado no Algoritmo 6.7.1. Uma vez obtida a factorizao (6.7.19), a soluo do sistema Ax = b segue a via normal, ou seja, Ly = b, LT x = y (6.7.22) Como vimos atrs, o elemento piv de matrizes simtricas denidas positivas nunca nulo, pelo que o mtodo de Choleski no necessita, por este motivo, de recorrer a permutaes de linhas e colunas, que neste caso teriam de assumir a forma de piv diagonal para preservar a simetria. Atendendo a que, como referimos na Subseco 6.5.2, as factorizaes compactas se adaptavam mal a trocas de colunas, temos de considerar esta uma Algoritmo 6.7.1 Mtodo de Choleski for j = 1 to n do for i = j to n do s = aij for m = 1, to j 1 do s = s lim ljm od if i = j then if s > 0 then ljj = s1/2 else Assinalar erro exit else lij = s/ljj od od

(s como acumulador)

310

Sistemas de equaes lineares: mtodos directos

0
Figura 6.7.2: Matrizes banda
banda inferior

banda superior

circunstncia feliz. Por outro lado, de (6.7.20) retiramos que


j 2 lij 2 lim = a2 jj m=1

Esta relao garante que os elementos de L esto majorados partida e no podem, em aritmtica de preciso nita, assumir valores arbitrariamente elevados. Todavia, podemos perguntar se, na ausncia de escolha de piv, os erros de arredondamento no acabaro por prejudicar de forma fatal a preciso dos resultados? Ora, possvel demonstrar que, para matrizes simtricas denidas positivas, a escolha de piv no mtodo de Choleski dispensvel como meio de controlar os efeitos dos erros de arredondamento, i.e., o mtodo numericamente estvel mesmo sem escolha de piv. A factorizao obtida por intermdio das expresses (6.7.20) e (6.7.21) requer O(n3 /3) ops (ver o Problema 6.11.39), cerca de metade do esforo computacional do caso geral. As necessidades em memria tambm se reduzem sensivelmente a metade.

6.7.3

Matrizes banda

muito comum nas aplicaes aparecerem matrizes cujos elementos diferentes de zero esto concentrados em torno da diagonal principal, dizendo-se neste caso que se trata de matrizes banda. A Figura 6.7.2 mostra o aspecto desta classe de matrizes. Dene-se largura da banda inferior i e largura da banda superior s respectivamente por i = max{i j : 1 j i n aij = 0} (6.7.23) s = max{j i : 1 i j n aij = 0} e largura da banda por = i + s + 1 (6.7.24)

claro que, para qualquer matriz de ordem n, a largura de banda satisfaz, de acordo com esta denio, 2n 1. Contudo, quando nos referimos a matrizes banda estamos naturalmente a pensar nos casos em que n. A circunstncia de uma matriz possuir uma estrutura em banda tem as seguintes vantagens:

6.7 Sistemas com matrizes especiais

311

(a) Matriz original A

(b) Matriz permutada PAPT

Figura 6.7.3: Reduo da largura de banda por permutaes simtricas de linhas e colunas O seu armazenamento requer cerca de n posies de memria em vez das n2 do caso geral; Se no se proceder a escolha de piv, pode ser condensada ou factorizada mantendo a estrutura original, com a consequente economia em memria; O nmero de ops necessrios condensao ou factorizao O(i s n). Uma observao que convm registar, e que refora o que dissemos atrs a propsito das matrizes esparsas, a de que a inversa de uma matriz banda s excepcionalmente uma matriz banda. Muitas vezes uma matriz esparsa pode no apresentar uma estrutura em banda mas uma conveniente troca de linhas e colunas pode lev-la a assumir esta estrutura. O exemplo seguinte esclarece este ponto. Exemplo 6.7.1 Reduo da largura da banda por permutaes simtricas de linhas e colunas.
Consideremos a matriz A de ordem 6 esquematizada na Figura 6.7.3, em que os representam elementos diferentes de zero. A estrutura de A simtrica (embora a matriz propriamente dita possa no o ser), com as larguras de banda i = s = 3 e = 7. A seguinte renumerao das incgnitas, correspondente a permutao simtrica de linhas e colunas, permite reduzir estes valores para i = s = 2 e = 5, como fcil vericar: numerao original em numerao permutada em A: PAPT : 1 1 2 3 3 5 4 2 5 4 6 6

ou seja, a coluna (e linha) 1 permanece imvel, a coluna (e linha) 2 passa para a coluna (e linha) 3, a coluna (e linha) 3 passa para a coluna (e linha) 5, e assim sucessivamente. A reduzida dimenso deste sistema no permite evidenciar a extenso dos ganhos possveis, mas o leitor poder facilmente imaginar que eles podero ser muito substanciais para valores de n elevados.

312

Sistemas de equaes lineares: mtodos directos

6.7.4

Matrizes tridiagonais. Algoritmo de Thomas

Uma matriz tridiagonal um caso especial de matriz banda correspondente a i = s = 1 que ocorre com alguma frequncia, nomeadamente no clculo de splines (recordar a Seco 2.7), na soluo numrica de equaes diferenciais, etc. O exemplo seguinte ilustra este ltimo caso. Exemplo 6.7.2 Obter, pelo mtodo das diferenas nitas, a soluo aproximada da equao diferencial u (x) = f (x), 0<x<1 satisfazendo as seguintes condies de fronteira u(0) = 0, u(1) = 0

De acordo com o mtodo das diferenas nitas, as derivadas que guram na equao diferencial devem ser aproximadas por frmulas de diferenas nitas. Optando, para exemplicar, pelas diferenas nitas centrais dadas pela expresso (3.3.1) e denotando por uh a soluo aproximada, podemos escrever que uh (x + h) + 2uh (x) uh (x h) = h2 f (x) Tomando para ns os pontos xi = ih e empregando a seguinte notao ui = uh (xi ), fi = f (xi ) em que i = 0, 1, . . . , n + 1, deduzimos que os valores nodais interiores ui devem obedecer ao seguinte sistema de equaes algbricas 2 1 0 0 u1 f1 1 2 1 0 u2 f2 0 1 2 0 u3 f3 2 . . . = h . .. .. .. . . . . . . . . . . . 0 1 2 1 un1 fn1 0 0 1 2 un fn

e u0 = un+1 = 0. Como vericamos, a matriz deste sistema tridiagonal.

A simplicidade das matrizes tridiagonais torna vivel a deduo de frmulas explcitas para a soluo de sistemas com este tipo de matrizes. Estas frmulas resultam directamente da aplicao da condensao de Gauss sem escolha de piv matriz tridiagonal. Seja, ento, o sistema tridiagonal escrito do seguinte modo x1 b1 d 1 c1 0 0 0 0 0 x2 b2 a2 d2 c2 0 a3 d3 c3 0 x3 b3 . . .. . . = . .. .. . . . . . . . . . . . . . bn1 0 0 an1 dn1 cn1 xn1 xn bn 0 0 0 an dn

6.7 Sistemas com matrizes especiais

313

A aplicao do mtodo de Gauss a este sistema, que no apresenta qualquer diculdade e de que se omitem os pormenores, produz o Algoritmo 6.7.2, o chamado algoritmo de Thomas, no qual os dk e os bk so os valores modicados dos dk e dos bk aps a condensao, e se admitiu que dk = 0, para k = 1, . . . , n. Uma vez que no se procedeu a uma escolha de piv, ou se tem partida garantia de que a matriz A no o exige ou, ento, deve incluir-se no algoritmo a monitorizao dos valores dos pivs dk . Como facilmente se v, este algoritmo requer O(n) ops em vez dos O(n3 ) ops do caso geral, uma melhoria muito signicativa.

6.7.5

Soluo por blocos

Para sistemas de dimenso muito elevada pode ser indesejvel ou mesmo impossvel ter a matriz A e o segundo membro b presentes na sua totalidade na memria central. Uma tcnica a que se recorre frequentemente a do particionamento de A em submatrizes, e b, em subvectores, correntemente designados por blocos. Estes blocos residem normalmente em memria perifrica, sendo carregados na memria central apenas quando e enquanto forem necessrios. Exempliquemos esta tcnica com um sistema particionado da seguinte maneira A= com A11 Rn1 n1 , A21 Rn2 n1 , x1 , b1 Rn1 Algoritmo 6.7.2 Mtodo de Thomas d1 = d1 b1 = b1 for k = 2 to n do mk = ak /dk1 dk = dk mk ck1 bk = bk mk bk1 od xn = bn /dn for k = n 1 to 1 step 1 do xk = (bk ck xk+1 )/dk od A12 Rn1 n2 A22 Rn2 n2 x2 , b2 Rn2 A11 A12 A21 A22 x= x1 , x2 b= b1 , b2

(condensao)

(substituies ascendentes)

314

Sistemas de equaes lineares: mtodos directos

e n1 + n2 = n. Nestas condies, o sistema Ax = b desdobrvel nos seguintes dois sistemas A11 x1 + A12 x2 = b1 (6.7.25) A21 x1 + A22 x2 = b2 Fazendo a hiptese crucial de que o bloco diagonal A11 , por exemplo, uma matriz invertvel, podemos extrair do primeiro sistema de (6.7.25) a relao x1 = A1 (b1 A12 x2 ) 11 (6.7.26)

que, substituda no segundo sistema de (6.7.25), proporciona, aps manipulaes simples, (A22 A21 A1 A12 )x2 = b2 A21 A1 b1 11 11 Estamos agora perante um sistema com n2 equaes e igual nmero de incgnitas. Se a matriz deste sistema for invertvel, ento, a sua soluo fornece o valor de x2 que, substitudo no segundo membro de (6.7.26), nos permite obter x1 . Assim, o problema original, consistindo num sistema de dimenso n, foi desdobrado em dois sistemas de dimenses n1 e n2 mais pequenas. O processo que acabamos de descrever no outro seno o mtodo de Gauss conduzido com submatrizes em vez de elementos escalares, no sendo, portanto, complicada a sua generalizao a parties arbitrrias. A hiptese de invertibilidade de certos blocos a contrapartida da exigncia de no anulamento dos elementos piv. Consideremos, ento, a seguinte partio do sistema A11 A12 A1p A21 A22 A2p . A= . . . , .. . . . . . . Ap1 Ap2 App

x1 x2 x = . , . . xp

b1 b2 b= . . . bp

em que Aij Rni nj , xi , bi Rni e p ni = n. i=1 O processo de condensao traduz-se nas equaes matriciais Aij bi
(k+1)

= Aij Aik = bi Aik


(k)

(k)

(k)

Akk Akk

(k) 1

Akj
(k)

(k)

(k+1)

(k)

(k) 1

(6.7.27)

bk

cujas semelhanas com as expresses (6.3.1) so agrantes. Como se pode comprovar, apenas preciso ter quatro blocos simultaneamente em memria central para efectuar a condensao. As substituies ascendentes seguem o mesmo processo, vindo Aiixi = bi
n j=i+1

Aij xj ,

i = 1, . . . , p

(6.7.28)

6.8 Anlise de erros

315

sendo, portanto, necessrio resolver p sistemas em sucesso. Chamamos a ateno para o facto de que em algoritmos deste tipo as operaes de leitura e escrita dos vrios blocos de e para memria perifrica tornam todo o processo muito dependente da rapidez destas operaes mais do que da velocidade das operaes aritmticas propriamente ditas, pelo que a respectiva programao deve ser rodeada do mximo cuidado. Nomeadamente, a forma como os blocos so acedidos torna imperativo o recurso a cheiros de acesso directo. Uma classe de matrizes especiais neste contexto apresentada na denio seguinte. Denio 6.7.1 Uma matriz A diz-se redutvel se existir uma matriz de permutao P tal que PAPT seja triangular superior por blocos, i.e., A11 A12 A22 0 PAPT = . . . . . . 0 0 Caso contrrio, a matriz A diz-se irredutvel. Quer isto dizer que, se A for redutvel, pode ser transformada, por permutaes simtricas de linhas e colunas, numa matriz triangular superior por blocos. Reduz-se assim a soluo do sistema de equaes original soluo sequencial de p sistemas de menor dimenso. Todavia, a descoberta de P pode no ser uma tarefa trivial.

A1p A2p . .. . . . App

6.8

Anlise de erros

Nesta seco vamos focar dois aspectos importantes relacionados com a qualidade das solues de sistemas de equaes lineares obtidas pelos mtodos estudados neste captulo. O primeiro aspecto diz respeito sensibilidade da soluo relativamente a perturbaes na matriz A e no vector b, enquanto o segundo se refere inuncia dos erros de arredondamento. Como veremos, estes dois problemas esto relacionados.

6.8.1

Efeito das perturbaes

Salvo raras excepes, os elementos da matriz A e do segundo membro b do sistema de equaes Ax = b esto afectados de erros resultantes de uma ou vrias das seguintes causas: No ser possvel representar exactamente em ponto utuante os valores de aij e bi ; Os valores destes coecientes provirem de clculos anteriores e estarem naturalmente contaminados por erros de arredondamento;

316

Sistemas de equaes lineares: mtodos directos

Estes valores serem obtidos por via experimental e, portanto, estarem afectados por erros de medio. Ento, o sistema que efectivamente resolvemos no Ax = b, mas sim um sistema ligeiramente diferente ou perturbado. Denotemos por A e b as perturbaes da matriz A e do segundo membro b provocadas pelas causas a que acabamos de aludir. Ento, o sistema original e o sistema perturbado so respectivamente Ax = b (A + A)(x + x) = b + b (6.8.1) (6.8.2)

em que se designa naturalmente por x + x a soluo do sistema perturbado. A questo que vamos investigar a de saber quo grande pode ser x e, em particular, tentar saber se a pequenas perturbaes A e b correspondem ou no pequenas perturbaes x, ou seja, se os algoritmos de soluo apresentados so estveis ou no. Perturbaes no segundo membro A m de simplicar a exposio, vamos considerar primeiro o caso particular em que A = 0, i.e., a matriz do sistema est correcta e as perturbaes vericam-se apenas no segundo membro b. Neste caso, temos que A(x + x) = b + b Subtraindo membro a membro as expresses (6.8.1) e (6.8.3), vem que Ax = b Admitindo de ora em diante que A invertvel, podemos escrever que x = A1 b Aplicando normas a ambos os membros desta igualdade, resulta que x A1 b (6.8.6) (6.8.5) (6.8.4) (6.8.3)

Ento, o valor de A1 que determina a maior ou menor inuncia das perturbaes b na soluo. No entanto, o valor de x s por si no signica muito, pois um erro de x = 1 numa soluo x tal que x 106 poder ser aceitvel, enquanto o mesmo erro numa soluo tal que x 1 signica um desastre computacional. Por isso faz geralmente mais sentido trabalhar com erros relativos, os quais, em face do carcter vectorial de x, deniremos por x / x , e perturbaes relativas, igualmente denidas por b / b . De (6.8.6) extramos a relao x A1 x b x (6.8.7)

6.8 Anlise de erros

317

Mas, por outro lado, aplicando normas a ambos os membros de (6.8.1), conclumos que b = Ax A x ou seja, x b A , (6.8.8)

Introduzindo esta relao em (6.8.7), obtemos x A x A1 b b (6.8.9)

Agora, os erros relativos esto relacionados com as perturbaes relativas por intermdio de A A1 . Esta quantidade fulcral na anlise de erros em sistemas de equaes e costuma ser designada por nmero de condio da matriz A (relativamente inverso) e ser denotado por cond A = A A1 (6.8.10) Este conceito de nmero de condio semelhante ao que se introduziu na Subseco 1.6.1 no contexto da propagao de erros em funes. Chamamos a ateno para o facto de que o valor numrico de cond A depende obviamente da norma utilizada. A expresso (6.8.9) pode, pois, escrever-se x b cond A x b (6.8.11)

Quanto maior for cond A tanto mais sensvel o sistema de equaes a perturbaes no segundo membro. Matrizes com um nmero de condio elevado dizem-se mal condicionadas, e com um nmero de condio baixo dizem-se bem condicionadas. fcil demonstrar que cond A 1 (ver o Problema 6.11.53). Em geral, o clculo do nmero de condio ou, mesmo, de uma estimativa realista no uma tarefa fcil, estando por isso fora do mbito deste texto. Existem, contudo, alguns algoritmos ecientes (leia-se O(()n2 )) para obter estimativas deste nmero (consultar CLINE et al. (1979) e ?). Perturbaes na matriz Vamos estudar agora o efeito das perturbaes da matriz A, considerando que o segundo membro b est correcto. O sistema efectivamente resolvido , ento (A + A)(x + x) = b (6.8.12)

Este caso mais complicado que o anterior, e, por isso, precisamos de alguns teoremas preliminares que visam caracterizar as perturbaes que no destroem a invertibilidade de uma matriz.

318

Sistemas de equaes lineares: mtodos directos

Teorema 6.8.1 Seja A uma matriz invertvel. Se, em alguma norma, se vericar que A1 (A B) < 1 ento B invertvel. Identicamente, se IB <1 ento B invertvel. Demonstrao Suponhamos que, contrariamente armao do teorema, a matriz B singular. Isto implica que existe um vector x = 0 tal que Bx = 0. Para este vector ter-se- que Ax = Ax Bx = (A B)x ou seja x = A1 (A B)x (6.8.15) (6.8.14) (6.8.13)

Aplicando normas a ambos os membros desta ltima relao e tendo em considerao a condio (6.8.13), chegamos desigualdade x = A1 (A B)x A1 (A B) x < x (6.8.16)

que manifestamente impossvel. Logo, B invertvel que era o que pretendamos demonstrar. Tomando A = I em (6.8.13), a expresso (6.8.14) decorre imediatamente como simples corolrio. Partindo da expresso A1 (A B) A1 conclumos que, se ento a condio (6.8.13) vericada. Por outras palavras, se A for invertvel, (6.8.18) uma condio suciente para B tambm o ser. Esta concluso susceptvel da seguinte interpretao geomtrica claricadora. Como A B mede a distncia entre as matrizes A e B, podemos dizer que todas as matrizes B que distam de A menos que 1/ A1 so matrizes invertveis, ou, por outras palavras, para cada matriz A invertvel existe uma vizinhana desta matriz constituda exclusivamente por matrizes invertveis. Se pensarmos em B como uma perturbao de A, ento o teorema anterior garante-nos que a invertibilidade das matrizes perturbadas preservada desde que as perturbaes no sejam demasiado grandes. O teorema seguinte tem um carcter idntico ao do Teorema 6.8.1. Teorema 6.8.2 Se, em alguma norma, se vericar A < 1, ento I A invertvel e (I A)1 I (I A)1 1/(1 A ) A /(1 A ) (6.8.19) (6.8.20) A B < 1/ A1 (6.8.18) AB (6.8.17)

6.8 Anlise de erros

319

Demonstrao Suponhamos, ao contrrio do que arma o enunciado, que a matriz I A singular. Existe, ento, um vector x = 0 tal que (I A)x = x Ax = 0 x = Ax A x = Ax pelo que, aplicando normas a ambos os membros desta ltima expresso, x < x

o que impossvel. Por conseguinte, I A invertvel. Para provar a veracidade de (6.8.19) partamos da identidade (I A)(I A)1 = I Efectuando o produto de matrizes indicado, decorre daqui que (I A)1 = I + A(I A)1 Tomando normas obtemos (I A)1 = I + A(I A)1 I + A(I A)1 1 + A (I A)1 (6.8.21)

e, aplicando novamente normas a ambos os membros desta expresso, vem que I (I A)1 = A(I A)1 A (I A)1

donde resulta imediatamente (6.8.19). Para demonstrar (6.8.20), extramos de (6.8.21) a relao I (I A)1 = A(I A)1

Esta relao, conjuntamente com (6.8.19), fornece (6.8.20). No prximo teorema abordamos a relao entre a inversa de uma matriz e a inversa de uma sua perturbada. Teorema 6.8.3 Seja A uma matriz invertvel, e E, uma matriz satisfazendo a relao A1 E < 1 Ento, A + E invertvel e a sua inversa pode escrever-se na forma (A + E)1 = (I + F)A1 com Alm disso, F A1E /(1 A1 E ) A1 (A + E)1 A1 A1 E /(1 A1E ) (6.8.24) (6.8.25) (6.8.23) (6.8.22)

320

Sistemas de equaes lineares: mtodos directos

Demonstrao

Tomemos como ponto de partida a identidade A + E = A(I + A1 E) (6.8.26)

A hiptese (6.8.22) juntamente com a expresso (6.8.17) provam que a matriz I + A1 E invertvel. Como A tambm invertvel, resulta que A + E invertvel. Nestas condies, podemos escrever que (A + E)1 = (A(I + A1 E))1 = (I + A1 E)1 A1 Denamos F por F = (I + A1 E)1 I (6.8.28) Tomando a norma de ambos os membros desta igualdade e recorrendo ao Teorema 6.8.2, deduzimos sem diculdade a expresso (6.8.24). A expresso (6.8.23) pode escrever-se na forma equivalente A1 (A + E)1 = FA1 donde conclumos que A1 (A + E)1 = FA1 ou seja, A1 (A + E)1 / A1 F o que termina a demonstrao do teorema. Depois desta srie de teoremas vamos retomar o tema inicial de determinar a inuncia que as perturbaes na matriz A tm sobre a soluo do sistema de equaes. Admitindo que as perturbaes A so sucientemente pequenas para o Teorema 6.8.3 ser vlido, i.e., A1 A < 1, ento, a matriz perturbada (A + A) tambm invertvel. Assim, legtimo dizer que x + x = (A + A)1 b ou ainda que x = = = (A + A)1 A I x (6.8.27)

(A1 (A + A))1 I x (I + A1 A)1 I x

Tomando normas, majorando como habitualmente e fazendo apelo ao Teorema 6.8.2, vem que A1 A x x 1 A1 A

6.8 Anlise de erros

321

Se x = 0, deduzimos daqui a seguinte expresso para os erros relativos, x x A1 A /(1 A1 A ) A1 A / 1 A1A A A 1 cond A A A

cond A

(6.8.29)

Mais uma vez aparece o nmero de condio a determinar a maior ou menor inuncia que as perturbaes da matriz A podem ter na soluo. Pequenas perturbaes em matrizes mal condicionadas podem alterar substancialmente o resultado. Pelo contrrio, pequenas perturbaes em matrizes bem condicionadas nunca so catastrcas. Exemplo 6.8.1 Calcular o nmero de condio das matrizes do Exemplo 6.5.1.
Uma aplicao imediata das denies fornece, para o caso do Exemplo 6.5.1, os valores A

= 2.8390,

= 3.648

Calculando a inversa de A, um processo s aceitvel por se tratar de um exemplo, obtm-se A1 = pelo que Trata-se, pois, de uma matriz bem condicionada. O mau resultado obtido na primeira parte do Exemplo 6.5.1 deveu-se a uma escolha ruinosa de algoritmo e no ao mau condicionamento do problema. cond A 19.0, cond1 A 19.0 4.405540049 2.285305121 0.8015074944 0.5502339778 103 , A1

6.691,

A1

5.207

Vejamos um caso de matriz mal condicionada para o qual j havamos chamado a ateno no Captulo 2. Exemplo 6.8.2 Calcular o nmero de condio das matrizes de Vandermonde (2.3.2) numa malha uniforme no intervalo [0, 1].
Neste caso os ns so dados por xi = ih, i = 0, . . . , n, com h = 1/n. Recorrendo a um programa que estime o nmero de condio, como, por exemplo, os includos na programateca LAPACK, obtemos os seguintes valores: n cond A 2 4 6 8 24 1700 105 107

Como vemos, o nmero de condio piora de forma muito acentuada com a dimenso da matriz. A construo do polinmio interpolador por via da matriz de Vandermonde torna-se impraticvel em preciso simples a partir do grau n 6.

322

Sistemas de equaes lineares: mtodos directos

6.8.2

Efeito dos erros de arredondamento

O nmero de ops necessrios para levar a cabo os algoritmos de soluo de sistemas de equaes estudados neste captulo O(n3 ) e, portanto, tende a ser muito elevado mesmo para valores de n relativamente modestos. Uma questo com interesse a de saber se os erros de arredondamento cometidos no iro prejudicar seriamente a preciso da soluo. A anlise pormenorizada da propagao destes erros est fora do mbito deste texto, pelo que nos limitaremos a apresentar os resultados principais. Comecemos pela soluo de sistemas triangulares em aritmtica de ponto utuante a qual verica o Teorema 6.8.4 cujo signicado, em linguagem corrente, o seguinte: a soluo de um sistema com matriz triangular, em aritmtica de preciso nita, igual soluo, em aritmtica exacta, de um sistema com uma matriz triangular ligeiramente diferente, um resultado em puro estilo de anlise regressiva de erros. Teorema 6.8.4 Seja T Rnn triangular invertvel e cujos elementos tm representao exacta no sistema de ponto utuante. Ento, a soluo x do sistema Tx = b em ponto utuante verica (T + T) = b, x com |T| n |T| em que n dado pelo Teorema 1.4.1. Demonstrao Consiste basicamente numa adaptao do resultado para o produto interno de vectores (1.4.22), no emprego do Teorema 1.4.1 e de algumas majoraes (ver HIGHAM (1996)). A hiptese de representao exacta destina-se apenas a simplicar, no alterando nada de essencial. Vejamos agora o caso geral. Suponhamos que o sistema Ax = b foi resolvido em aritmtica de ponto utuante, tendo-se obtido a soluo aproximada x em vez da soluo exacta x. Admitamos ainda, para aligeirar a exposio, que todas as trocas de linhas e/ou colunas eventualmente requeridas pela escolha de piv foram feitas partida sobre A e b, ou seja, no houve trocas de linhas nem de colunas durante a factorizao propriamente dita. Ponhamos (k) k = max{|aij |, i, j = 1, . . . , n} (6.8.30) = max{k , k = 2, . . . , n}/1 Assim, k o maior elemento em valor absoluto da matriz intermdia A(k) e, em particular, 1 o maior elemento em valor absoluto da matriz original A(1) A. Nestes termos, possvel formular o seguinte teorema. Teorema 6.8.5 As matrizes L e U determinadas pela factorizao da matriz A em ponto utuante satisfazem a igualdade LU = A + E (6.8.31) em que E uma matriz cujos elementos so majorados por |eij | n1 u (6.8.32)

6.8 Anlise de erros

323

e u uma constante da ordem da unidade de arredondamento. Demonstrao Ver WILKINSON (1964). Em palavras simples, o que este teorema diz que a factorizao obtida em ponto utuante a factorizao exacta de uma matriz ligeiramente diferente, sendo a diferena dada por E. Os elementos desta matriz erro so majorados de acordo com a expresso (6.8.32) que nos mostra que o principal factor que controla o respectivo tamanho . Por este motivo e atendendo denio (6.8.30), comum designar como factor de crescimento dos elementos da matriz A durante a factorizao. possvel estabelecer os seguintes majorantes para o seu valor,
2n1

No caso de piv parcial, o valor de pode ser muito elevado, pois cresce bastante rapidamente com a dimenso n do sistema e, de facto, so conhecidas matrizes para as quais atinge o seu valor mximo. A experincia tem felizmente mostrado que estas matrizes so raras pelo que, na prtica, a factorizao com piv parcial um processo numericamente estvel. Quando se usa a tcnica de piv total, o majorante de cresce lentamente com n, no se conhecendo nenhuma matriz para a qual o valor do factor de crescimento ultrapasse n. Podemos, pois, concluir tambm que a factorizao com piv total um algoritmo numericamente estvel. Se o mtodo de Crout for implementado com acumulao de produtos internos em dupla preciso, o que vimos poder ser feito com facilidade, o factor n na expresso (6.8.32) pode ser suprimido, tornando este mtodo ainda mais atraente do ponto de vista dos erros. Um teorema semelhante ao anterior mas referente agora a sistemas de equaes o seguinte. Teorema 6.8.6 Seja x a soluo do sistema Ax = b obtida pelo mtodo de factorizao em ponto utuante. Ento, x a soluo exacta do sistema perturbado (A + E) = b x em que os elementos da matriz E vericam as relaes |eij | (nc1 + 2n2 c2 + n3 c2 u)1 2 u (6.8.35) (6.8.34)

(n21 31/2 41/3 n1/(n1) )1/2

para piv parcial para piv total

(6.8.33)

e os c1 e c2 so constantes da ordem da unidade, e u uma constante da ordem da unidade de arredondamento do sistema de ponto utuante. Demonstrao Ver WILKINSON (1964). Este teorema tem uma leitura simples que a seguinte: a soluo aproximada obtida pelo mtodo de factorizao a soluo exacta de um sistema cuja matriz difere da

324

Sistemas de equaes lineares: mtodos directos

matriz do sistema dado por uma pequena perturbao. Quo pequena esta perturbao depende do valor do segundo membro de (6.8.35), onde novamente o factor de crescimento determinante. Podemos dizer que as tcnicas de escolha de piv devem ter como objectivo manter o valor deste parmetro o mais baixo possvel e, assim, limitar os efeitos nefastos dos erros de arredondamento. Combinando o resultado deste teorema com a expresso (6.8.26) e admitindo que a matriz E em (6.8.34) satisfaz A1 E < 1, temos a seguinte estimativa do erro cometido na soluo dum sistema de equaes pelo mtodo de factorizao xx cond A E A 1 cond A E / A x (6.8.36)

onde novamente intervm o nmero de condio a desempenhar um papel decisivo. Vamos mencionar ainda duas outras expresses do erro de natureza semelhante a (6.8.36) e que por vezes so teis. Introduzamos o resduo r denido por r = b A x o qual obviamente nulo quando x = x. Ento, podemos escrever que r = A(x x) donde, aplicando normas, extramos x x A1 r (6.8.39) x x = A1 r (6.8.38) (6.8.37)

A vantagem desta expresso a de que faz intervir o resduo que, uma vez obtida a soluo aproximada x, pode ser calculado atravs de (6.8.37). mais signicativo trabalhar com o resduo relativo denido por r / b para evitar os efeitos de escala. Recorrendo a (6.8.8), no difcil concluir que xx A x A1 r r = cond A b b (6.8.40)

Esta expresso permite-nos fazer um aviso importante. A resduos pequenos podem corresponder erros elevados se a matriz A for mal condicionada, ou, por outras palavras, o resduo s um bom indicador do erro se A for bem condicionada. Ora, acontece que os mtodos de soluo de sistemas de equaes estudados (Gauss, factorizao LU, etc.) tendem pela sua prpria natureza a produzir resduos baixos, o que faz recair novamente sobre o nmero de condio a responsabilidade de aferir os erros. Uma segunda expresso do erro semelhante a (6.8.40) mas em que aparece a soluo aproximada x em vez da soluo exacta x pode deduzir-se da seguinte maneira x x = A1b x = A1 (A + E) x = A1 E x x (6.8.41)

6.9 Renamento iterativo

325

e aplicando normas xx A1 E E A x A x A1 E A x (6.8.42)

= cond A

Como pretendamos, agora a expresso do erro envolve a soluo computada x.

6.9

Renamento iterativo

Nesta seco vamos mostrar como possvel melhorar a soluo aproximada x por um processo iterativo. Designemos o erro e o resduo associados soluo aproximada x por e = x x, que esto relacionados por Ae = r (6.9.2) Quer isto dizer que o erro a soluo de um sistema de equaes com a mesma matriz A mas cujo segundo membro o resduo r. Contudo, a expresso (6.9.2) no pode ser tomada como uma via para determinar exactamente o erro e, j que a soluo deste sistema tambm seria afectada por erros de arredondamento. No entanto, talvez seja legtimo encarar a hiptese de que o valor de x + , em que o valor aproximado obtido e e via soluo de (6.9.2) possa constituir uma melhor aproximao da soluo exacta x do que x. Convm notar que, uma vez obtida a factorizao (em aritmtica de preciso nita) LU de A, a soluo de (6.9.2) envolve apenas as fases de substituies ascendentes e descendentes, pelo que o processo sob considerao no , do ponto de vista do nmero de operaes, demasiado oneroso. Nada impede que, dispondo de x + como soluo e aproximada, o processo possa ser repetido tantas vezes quantas as necessrias at se satisfazer um critrio de convergncia apropriado. O mtodo assim construdo conhecido por renamento iterativo da soluo. Se designarmos respectivamente por xk e rk a soluo aproximada e o resduo na etapa k, este processo pode sintetizar-se no Algoritmo 6.9.1 (onde se omitiu, por simplicidade, a escolha de piv). Como facilmente se v, x1 = x, i.e., a primeira iterao deste processo produz a soluo usual do sistema. preciso prestar ateno a um aspecto importante que, se no for tido em conta, anula totalmente a nalidade do renamento iterativo. Suponhamos, para simplicar, que A, b e x possuem componentes da ordem da unidade, que se trabalha com aritmtica de ponto utuante com 6 dgitos e que a soluo obtida com 4 dgitos exactos, i.e., h perda de 2 dgitos. Representemos por y um dgito exacto, e por z, um dgito incorrecto. Ento, um r = b A x (6.9.1)

326

Sistemas de equaes lineares: mtodos directos

momento de reexo permite-nos concluir que devemos ter as seguintes conguraes de dgitos: x1 r1 r1 h1 .yyyyzz .0000yy .yy0000 104 .zzzzzz (antes da normalizao) (aps normalizao)

em que esta ltima passagem se explica por, ao resolver de novo o sistema de equaes, ocorrer a perda de 2 dgitos, os nicos dgitos signicativos que restavam. Isto signica que de nada adianta somar h1 a x1 para melhorar esta soluo aproximada, pois h1 possivelmente no tem qualquer dgito correcto! A concluso a tirar desta anlise a de que, para o renamento iterativo ser efectivo, os resduos devem ser calculados com uma preciso superior usada na soluo do sistema. Este preceito implica, na prtica, que os resduos devem ser acumulados em preciso dupla, um processo relativamente econmico computacionalmente. O maior inconveniente do renamento iterativo reside no facto de a matriz A, sendo necessria para o clculo do resduo, no poder ser destruda na factorizao e, deste modo, duplicarem as necessidades de memria relativamente ao caso normal. Por esta razo, o renamento iterativo s ser justicvel quando se pretendem solues de grande preciso qualquer que seja o custo. A convergncia deste processo pode ser estudada pelos mtodos que sero descritos no Captulo 9.

6.10

Notas e referncias

1. Uma introduo lgebra Linear especialmente adequada ao estudo dos mtodos numricos pode encontrar-se em HOUSEHOLDER (1964), HORN and JOHNSON (1988), ORTEGA (1989a) ou STRANG (1980).

Algoritmo 6.9.1 Renamento iterativo Fixar uma tolerncia Fixar um limite kmax para o contador de iteraes x0 = 0; r0 = b for k = 0 to kmax do (LU)hk = rk xk+1 = xk + hk rk+1 = b Axk+1 if hk xk then exit od Aviso: teste de convergncia no satisfeito

(inicializao) (resolver para obter hk )

6.10 Notas e referncias

327

2. Os mtodos numricos em lgebra Linear constituem uma rea onde a inuncia dos computadores mais se tem feito sentir. Para uma apresentao mais avanada podem ser consultados os textos de JENNINGS (1977), de STEWART (1973a), de WATKINS (1991) e de GOLUB and van LOAN (1989), especialmente este ltimo. RICE (1981), TREFETHEN and BAU (1997) e STEWART (1998) do um maior enfoque aos aspectos computacionais. 3. Uma obra inuente do ponto de vista algortmico WILKINSON and REINSCH (1971). Nela so apresentados e analisados muitos dos algoritmos na rea da lgebra Linear que hoje esto incorporados em programatecas matemticas de uso corrente, quer do domnio pblico, como a programateca LINPACK (ver DONGARRA et al. (1979)) ou a sua sucessora LAPACK (ver ANDERSON et al. (1995)), quer comercializadas, como a IMSL e a NAG. Indispensvel neste aspecto tambm HIGHAM (1996). 4. A soluo de sistemas de equaes algbricas lineares pela programateca LINPACK (factorizao LU com piv parcial) tem sido usada como padro de medida da velocidade de computadores vocacionados para o clculo cientco. Assim, um computador que faz 200 MFlop/s LINPACK 1 000 1 000 uma mquina que resolve sistemas de equaes algbricas lineares de dimenso 1 000 ao ritmo de 200 106 ops por segundo usando as sub-rotinas daquela programateca. Em DONGARRA (1994) so descritos os pormenores deste teste e esto compilados os valores obtidos para um grande nmero de computadores. 5. A programao dos algoritmos da lgebra Linear Numrica uma tarefa que requer cuidados especiais, pois uma abordagem descuidada facilmente conduz a programas inecientes. Neste sentido, muito til recorrer a programatecas como as citadas acima ou, pelo menos, fazer uso intensivo das rotinas BLAS (ASHBY et al. (1990), DONGARRA et al. (1988) e LAWSON et al. (1979)) para as operaes bsicas. 6. O caso de matrizes esparsas, muito importante nas aplicaes e que apenas aoramos, tratado desenvolvidamente em DUFF et al. (1989), PISSANETZKY (1984), TEWARSON (1973), ZLATEV (1991), e, para o caso especial de matrizes denidas positivas, em GEORGE and LIU (1981). A teoria desta ltima classe de matrizes estudada em profundidade na monograa BHATIA (2007). 7. Alm da factorizao LU, existem outras factorizaes que podem ser teis na soluo de sistemas de equaes, sobretudo se estes forem mal condicionados. o caso da factorizao QR e da decomposio em valores singulares estudadas no Captulo 8. 8. Uma boa introduo ao estudo dos algoritmos de soluo de sistemas de equaes lineares (mtodos directos e iterativos) em computadores de arquitectura vectorial e paralela ORTEGA (1989b). 9. Em STEWART and SUN (1990) desenvolvida uma anlise aprofundada do efeito das perturbaes em sistemas de equaes algbricas lineares.

328

Sistemas de equaes lineares: mtodos directos

6.11

Problemas

1. Uma matriz A R11 a mesma coisa que um nmero real? 2. a) Mostre que a multiplicao de duas matrizes A Rmn e B Rnp requer mpn multiplicaes e mp(n 1) adies.

b) Sejam A, B Rnn e x Rn . Tendo em conta o resultado da alnea anterior, qual a forma mais econmica de calcular ABx: (AB)x ou A(Bx)? c) Escreva um pseudo-programa para implementar esta forma.

3. Justique as seguintes armaes: a) A i-sima equao do sistema (6.1.1) pode escrever-se da seguinte forma: (Ax, ei ) = (b, ei ) b) Esta equao representa um hiperplano cuja normal ai a i-sima linha de A, i.e., ai AT ei , e cuja distncia origem bi / ai 2 .

c) A soluo de (6.1.1) consiste, portanto, na determinao da interseco dos n hiperplanos.

4. a) Uma matriz A Cnn diz-se montona se Ax 0 = x 0, x Cn . Demonstre que uma matriz montona invertvel e que A1 positiva. b) Qual a consequncia deste facto no caso de dois sistemas de equaes lineares Ax = b e Ay = c em que c b? 1 1 1 A = 2 3 0 2 3 1

c) Mostre que a matriz

montona. Sugesto: obter a respectiva factorizao LU. d) Prove que se A possuir uma factorizao LU em que diag L > 0, diag U > 0, e lij 0, uij 0, para todos os i = j, ento A montona. 5. Sejam A Rmn e B Rnp . a) Prove que (AB) j = AB j e justique a armao de que as colunas de AB so combinaes lineares das colunas de A. b) Deduza ainda que r(AB) min{r(A), r(B)} c) Se A for invertvel (logo m = n), ento r(AB) = r(B). 6. Descreva numa linguagem de programao sua escolha algoritmos para calcular y = Ax com A Rmn . a) Recorrendo denio usual de produto de matrizes;

6.11 Problemas

329

b) Tendo em conta o facto de y ser uma combinao linear das colunas de A; c) Mostre que o nmero de ops o mesmo nos dois casos; d) Tente descobrir vantagens e desvantagens relativas que possam orientar uma opo entre estes dois algoritmos. 7. Num problema surge a necessidade de multiplicar matrizes A Rnn por vectores x Rn . Contudo, para os casos em considerao, sabe-se que A obtida por intermdio de A = GHT em que G, H Rnp e so conhecidas. a) Deduza um algoritmo alternativo que pode ser mais econmico que o processo habitual. b) Para que valores de p que isto acontece? c) Escreva, numa linguagem sua escolha, um pseudo programa que implemente este mtodo. 8. Considere a seguinte famlia de matrizes A() = 1 0 . Mostre que a caracterstica de A() 0 2 para = 0 mas 1 para = 0 e, portanto, a caracterstica no uma funo contnua dos elementos da matriz. Qual a implicao deste facto na determinao numrica da caracterstica?

9. Seja A Rnn com r(A) = 1. b) Tome v = u e u a) Mostre que A necessariamente da forma A = uvT com u, v Rn ;
2

= 1. Demonstre que neste caso A

= A

= 1.

10. (Regra de Cramer demonstrada engenhosamente por S. M. Robinson em 1970, citado em AXELSSON (1996)). Seja A uma matriz invertvel e Ai a matriz que se obtm de A substituindo nesta a coluna i pelo segundo membro b e Xi a matriz que se obtm de I substituindo nesta a coluna i pelo vector x. a) Prove que o conjunto de equaes AXi = Ai , com i = 1, . . . , n, equivalente a Ax = b. b) Aplique determinantes e obtenha a regra de Cramer. 11. Sejam dadas duas matrizes A, B Rnn triangulares superiores. a) Escreva um algoritmo para calcular C = AB, usando uma linguagem sua escolha. b) Idem, mas de modo a que a matriz C possa ser escrita sobre A. c) Mostre que o nmero de ops , em qualquer dos casos, O(n3 /3). Sugesto: recorrer ao resultado do Exemplo 4.7.1. 12. Demonstre que o produto de duas matrizes triangulares inferiores (ou superiores) uma matriz triangular inferior (ou superior). Se as matrizes triangulares possurem diagonal unitria, ento, o seu produto tambm ter diagonal unitria. Sugesto: aplicar induo na ordem das matrizes.

330

Sistemas de equaes lineares: mtodos directos

13. Recorrendo ao Teorema 6.1.7, calcule a inversa 1 0 1 1 A = . . . . . . 14. Demonstre as seguintes desigualdades n1/2 x 15. Demonstre que |xy| x x
1 y 2

1 1

da matriz triangular inferior 0 0 . .. . . . 1


2

n1/2 x

y 1,

= max |xy|,
=1

|xy| y
x

= max |xy|
1 =1

16. Considere a seguinte norma em R2 : x = |x1 x2 | + |x2 |. a) Verique que se trata de facto de uma norma mas no de uma norma absoluta. b) Desenhe a bola centrada na origem e de raio unitrio associada a esta norma. c) Mostre que x = Ax 1 para uma certa matriz A invertvel. Tome este resultado como ponto de partida para uma nova demonstrao da alnea a). 17. Demonstre que A
1

= AT

e A

= AT 1 .

18. a) Calcule a norma da matriz identidade subordinada a uma norma vectorial qualquer e a norma de Frobenius. Em face do resultado conclua que esta no pode ser induzida por nenhuma norma vectorial. b) Mostre que, no caso de vectores linha ou vectores coluna, i.e., A Cn1 ou A C1n , a norma de Frobenius coincide com a norma euclideana de vectores. 19. Mostre que a funo (A) = max1i,jn |aij | no dene uma norma de matrizes subordinada a uma norma vectorial. Sugesto: Produza um caso em que a propriedade (A.5.3) violada. 20. Prove que, para A Rnn , a A 2 A F na em que a o elemento de maior valor absoluto de A, i.e., a = max1i,jn |aij |. Nota: no Captulo 7 so apresentadas outras estimativas de A 2 , igualmente fceis de obter e de melhor qualidade. 21. Mostre que o clculo de um determinante de ordem n pela denio requer (n 1)n! multiplicaes e n! 1 adies e que, consequentemente, a resoluo de um sistema de equaes lineares de ordem n pela regra de Cramer requer (n+1)(n1)n! multiplicaes, (n+1)(n!1) adies e n divises. 22. Mostre que o nmero de ops necessrios soluo de um sistema triangular de ordem n por substituies sucessivas de n(n + 1)/2 multiplicaes ou divises e n(n 1)/2 adies. Para n elevado podemos, pois, armar que o nmero de ops O(n2 ).

6.11 Problemas

331

23. Demonstre que uma matriz triangular ortogonal necessariamente uma matriz diagonal. Quais so os valores possveis para os elementos diagonais? 24. Considere a forma de Newton (2.3.12) de um polinmio de grau n que interpole os valores y0 , y1 , . . . , yn nos ns x0 , x1 , . . . , xn distintos. Mostre que os coecientes a0 , a1 , . . . , an se podem obter resolvendo o sistema triangular inferior a0 a0 + a1 (x1 x0 ) = y0 = y1 = a0 + a1 (xn x0 ) + + an (xn x0 ) (xn xn1 ) = yn Explique porque essencial a hiptese de os ns serem distintos. 25. Diga qual o resultado de efectuar PA e AP quando 0 0 0 1 0 0 1 0 P = . . . . . . . . . . . . 1 0 0 0 x1 + x2 + x3 = 4 x1 x2 + 2x3 = 4 2x1 + x2 + x3 = 5 27. Repita o problema anterior empregando agora os mtodos de factorizao triangular de Doolittle e de Crout. 28. a) Pretende-se obter a soma s = n xi dos valores das incgnitas do sistema de equaes i=1 lineares Ax = b, no sendo necessrio conhecer cada um dos valores xi individualmente. Proponha um algoritmo eciente. b) E se s for uma dada combinao linear dos xi , i.e., s =
n i=1 ci xi ?

26. Resolva pelo mtodo de Gauss o seguinte sistema de equaes lineares:

29. Demonstre que, se uma matriz A possuir duas factorizaes A = L1 U1 = L2 U2 com L1 e L2 matrizes triangulares inferiores de diagonal unitria, e U1 e U2 matrizes triangulares superiores, ento deve ter-se que L1 = L2 e U1 = U2 , e que, portanto, a factorizao triangular, quando existe, nica. 30. Mostre que a factorizao A = LU se pode obter por bordejamento, i.e., considerando a incluso de uma linha e uma coluna de A de cada vez, de acordo com o esquema Ak = Ak1 dk , cT akk k Lk = Lk1 0k , lT 1 k Uk = Uk1 uk 0T ukk k

em que Ak representa a submatriz principal de A formada pelas suas primeiras k linhas e colunas. Descreva o algoritmo assim obtido.

332

Sistemas de equaes lineares: mtodos directos

31. a) Mostre que a condensao de uma matriz A Rnn pelo mtodo de Gauss requer O(2n3 /3) ops. Nota: recorrer ao resultado do Exemplo 4.7.1. b) Idem, para a factorizao por mtodos compactos (Doolittle ou Crout), os quais requerem O(2n3 /3), tal como no caso anterior. P = I ei eT ej eT + ei eT + ej eT i j j i e conrme as relaes (6.2.2). Prove ainda que P ortogonal. 33. Mostre que, se a factorizao LU for efectuada pelo mtodo de Gauss com piv parcial, os elementos da matriz L no so superiores a 1 em valor absoluto. 34. Mostre que a condensao de Gauss de matrizes com diagonal dominante por colunas produz submatrizes activas com esta mesma propriedade. Inra daqui que para esta classe de matrizes a tcnica de piv parcial no produz trocas de linhas e , portanto, intil. Sugesto: proceder por induo. 35. Sejam A Cmm , B Cmn , C Cnm e D Cnn . a) Mostre que A B C D = = 0 Im 1 I CA n Im BD1 0 In A B , 0 D CA1 B se A1 existir se D1 existir

32. Mostre que uma matriz permutao elementar das linhas i e j se pode escrever na forma

A BD1 C 0 , C D

b) Com base nestas relaes, prove que det A B C D = det A det(D CA1 B), = det D det(A BD1 C), 36. Considere a equilibragem por linhas da matriz A = libragem E = 2 1 1 1 se A1 existir se D1 existir recorrendo a matrizes de equi-

s 0 com s > 0. Demonstre que s = 2/3 produz o valor mnimo de 0 1 cond (EA) e compare-o com cond A .

37. Resolva pelo mtodo de Choleski o seguinte sistema de equaes lineares x1 + x2 = 3 x1 + 5x2 2x3 = 5 2x2 + 2x3 = 2

6.11 Problemas

333

38. Modique a factorizao de Choleski de modo a evitar o clculo de razes quadradas. Aplique esta factorizao soluo do sistema do problema anterior. Sugesto: empregar a factorizao LDLT com D diagonal e L triangular inferior com diagonal unitria. 39. Mostre que o nmero de ops para obter a factorizao pelo mtodo de Choleski O(n3 /3). 40. Considere o seguinte sistema tridiagonal de ordem n: a 1 1 a 1 1 a 1 A= .. .. .. . . . 1 a b) Concluia que esta matriz denida positiva. c) Repita as alneas anteriores para o caso a = 4. d) Escreva um pseudo programa para obter a factorizao de Choleski para qualquer a 2 dado. 41. Determine as condies que os elementos da matriz A = esta seja denida positiva. 42. Mostre que: a) a inversa de uma matriz simtrica denida positiva tambm simtrica denida positiva; b) se B Rmn e possuir colunas linearmente independentes, ento a matriz A = BT B simtrica denida positiva. 43. Demonstre que a matriz de Hilbert H Rnn , denida por hij = 1/(i + j 1), simtrica e denida positiva. Sugesto: mostrar primeiro que
1

a) Obtenha a factorizao de Choleski desta matriz para a = 2.

a b b c

devem satisfazer para que

hij =
0

si+j2 ds

e exprimir depois a forma quadrtica associada a H, i.e., q(x) = xHx, como um integral cujo valor positivo para qualquer x = 0. Nota: estas matrizes so clebres pelo seu mau condicionamento; de facto, para uma matriz de Hilbert de ordem n, sabe-se que cond2 H exp(3.5n). 44. Seja A Rnn uma matriz simtrica denida positiva. Demonstre, a partir da denio e escolhendo vectores x apropriados, que: a) aii > 0, b) a2 ij i = 1, . . . , n; i, j = 1, . . . , n;

< aii ajj ,

334

Sistemas de equaes lineares: mtodos directos

c) o elemento de A de maior valor absoluto se situa na diagonal. Sugesto: raciocinar por reduo ao absurdo. Nota: as propriedades acima so condies necessrias mas de modo nenhum sucientes para que uma matriz simtrica seja denida positiva. 45. a) Demonstre que, se A Rnn for simtrica denida positiva, ento (x, y)A xAy dene um produto interno em Rn . b) Demonstre que todo o produto interno em Rn desta forma. 46. a) Demonstre que, se A = tambm . vT v B for simtrica denida positiva, ento B vvT /

b) Utilize este resultado para mostrar que a condensao de Gauss de uma matriz simtrica denida positiva produz submatrizes activas tambm simtricas denidas positivas. c) Prove neste caso que o factor de crescimento = 1 e que, portanto, a escolha de piv desnecessria. Nota: talvez ajude recordar o Problema 6.11.44. 47. Mostre que a matriz da esquerda pode ser transformada por permutaes de linhas e colunas na matriz da direita.

Quais so as vantagens desta operao do ponto de vista da aplicao do mtodo de Gauss e da factorizao LU? 48. Mostre que, durante a condensao de Gauss com escolha de piv parcial numa matriz banda com largura de banda inferior igual a i e superior igual a s , a largura da banda inferior das matrizes intermdias permanece inalterada mas a respectiva largura da banda superior pode aumentar para s + i . 49. O aproveitamento da estrutura em banda das matrizes que resultam da aplicao do mtodo das diferenas nitas e do mtodo dos elementos nitos soluo aproximada de equaes diferencias crucial para a viabilidade destes mtodos em domnios bidimensionais (2D) e, sobretudo, tridimensionais (3D). Considere o caso de um problema sobre um quadrado ou um cubo cujo lado discretizado por N pontos e uma incgnita por ponto e utilize o facto de que os algoritmos actuais para reduo de banda conseguem larguras de banda = O(N ) em 2D e = O(N 2 ) em 3D. Verique a validade do seguinte quadro:

6.11 Problemas

335

Dimenso n Banda Memria Flops

Matriz densa 2D 3D N2 N3 N2 N3 4) O(N O(N 6 ) 6) O(N O(N 9 )

Matriz 2D N2 O(N ) O(N 3 ) O(N 4 )

banda 3D N3 O(N 2 ) O(N 5 ) O(N 7 )

50. a) Obtenha, pelo mtodo das diferenas nitas do Exemplo 6.7.2, as equaes algbricas que determinam a soluo aproximada da equao diferencial com condies de fronteira peridicas u (x) + u(x) = f (x), 0 < x < 1, u(0) = u(1), u (0) = u (1)

b) Mostre que, neste caso, a matriz A do sistema resultante s no tridiagonal por causa de um nico elemento; c) Prove, todavia, que A se pode escrever na forma A = T + uvT , em que T uma matriz tridiagonal e u e v so vectores apropriados; d) Recorrendo frmula de Sherman-Morrison (ver o Problema 10.8.11), apresente um mtodo de soluo deste sistema baseado no algoritmo de Thomas, beneciando, portanto, das vantagens dos sistemas tridiagonais. 51. Considere a aplicao do algoritmo de Thomas a sistemas cujos coecientes satisfazem as condies ak + dk + ck 0, dk > 0, ak 0, ck 0, k = 1, . . . , n

e que, alm disso, d1 + c1 > 0. Escrevendo d = dk ak k1 com k = ck /d , mostre por k k induo que d > 0, 1 < k 0, k = 1, . . . , n k Concluia assim que os sistemas deste tipo possuem soluo nica. Nota: a condio d1 +c1 > 0 pode ser substituda por an +dn > 0, para o que basta tomar as equaes por ordem inversa.

52. Sendo A Rnn e anti-simtrica, demonstre que: b) I A e I + A comutam; 53. Demonstre que: a) cond A 1. Sugesto: considerar a identidade AA1 = I; c) se A for ortogonal, A 2 = 1 e cond2 A = 1 e concluia daqui que as matrizes ortogonais no poderiam ser melhor condicionadas. a) I A denida positiva e, portanto, invertvel;

c) (I A)1 (I + A) ortogonal.

b) se A for invertvel, cond A1 = cond A ;

336

Sistemas de equaes lineares: mtodos directos

54. a) Prove que, se A, B Cnn com A invertvel e B singular, ento A B 1/ A1 e cond A A / A B . b) Aplique este resultado obteno de minorantes de A1 1.001 1 1 A= 1 1 1.001 1 1.001 1 c) Idem, com 1 1 1 1 0 1 1 1 , A= 0 0 1 1 0 0 0 1

e de cond A com

Nota: a singularidade de B pode demonstrar-se vericando simplesmente que Bx = 0 T para x = 1 1/2 1/4 1/4 . d) Generalize o resultado da alnea anterior ao caso de matrizes de ordem n. O que conclui a respeito do condicionamento de A? 55. a) Seja A Rnn e singular. Prove que existe um valor de i com 1 i n para o qual
n

1 1 1 1 0 1 1 1 B= 0 0 1 1 22 0 0 1

|aii |

j=1 j=i

|aij |

Em face deste resultado, deduza que uma matriz de diagonal estritamente dominante por linhas invertvel (o que, por vezes, conhecido como teorema de Levy-Desplanques) . b) Demonstre que, se A for uma matriz de diagonal estritamente dominante por linhas, ento vlido o majorante de A1 dado por
n

A1

1/d,

com

d = min |aii |
1in

j=1 j=i

|aij |

Sugesto: considerar Ax = y e provar que x

c) Concluia que a matriz que intervm na expresso (2.7.18) para o clculo dos splines cbicos bem condicionada. 56. Seja B Rnn uma matriz singular. Mostre que, se || > B , ento a matriz C = B + I invertvel. Esta condio necessria ou apenas suciente? 57. Efectue a factorizao triangular da matriz A = 7 8 pelo mtodo de Crout no sistema 9 8 F P (10, 2, 2, T ). Qual , neste caso, a matriz E referida no Teorema 6.8.5?

/d.

I cannot do it without comp[u]ters W. Shakespeare (15641616)


The Winters Tale

Apndice A Espaos lineares


Neste apndice vamos apresentar alguns conceitos e propriedades de espaos lineares, dando particular relevo ao caso de espaos de funes, estes entendidos como coleces de funes denidas sobre um domnio comum. A exposio ter carcter sumrio, j que o seu objectivo o de resumir os resultados mais utilizados neste texto sem pretender atingir a maior generalidade possvel. Basicamente, o material includo visa a unicao e generalizao das propriedades de Rn .

A.1

Linearidade

Vamos introduzir o importante conceito de espao linear. Denio A.1.1 Um espao linear (sobre R ou sobre C) um conjunto U no vazio dotado com as operaes de adio e de multiplicao por um escalar satisfazendo as seguintes propriedades, u, v, w U e , C: 1. u + v U 2. u U 3. u + v = v + u 4. u + (v + w) = (u + v) + w 5. Existe um nico elemento de U, denotado por 0 e chamado elemento zero ou nulo, tal que 0 + u = u 6. Para cada u U existe um nico elemento em U, denotado por u, tal que u + (u) = 0 7. (u) = ()u 337

338

Espaos lineares

8. 1u = u 9. 0u = 0 10. (u + v) = u + v 11. ( + )u = u + u Chamamos a ateno de que nem todas estas condies so logicamente independentes. No entanto, optamos por listar este conjunto de propriedades pelo seu carcter intuitivo e para facilidade de referncia mais tarde. Exemplo A.1.1 Conjuntos que so espaos lineares e conjuntos que no so espaos lineares.
1. O conjunto dos nmeros reais, denotado por R, um espao linear. 2. O conjunto dos vectores reais u = (u1 , u2 , . . . , un ), denotado por Rn , um espao linear. 3. O conjunto dos nmeros complexos, denotado por C, um espao linear. 4. O conjunto dos vectores complexos u = (u1 , u2 , . . . , un ), denotado por Cn , um espao linear. 5. O conjunto de funes contnuas num intervalo [a, b], geralmente denotado por C[a, b], um espao linear. De facto, denindo a soma de funes e a multiplicao de funes por escalares da forma usual (u + v)(x) = u(x) + v(x) (u)(x) = u(x) podemos concluir que todas as propriedades da Denio A.1.1 se vericam. 6. O conjunto de funes contnuas denidas no intervalo [0, 1] e que satisfazem a condio u(0) = 0 constitui um espao linear. 7. O conjunto de funes contnuas denidas no intervalo [0, 1] e que satisfazem a condio u(0) = 1 no constitui um espao linear, j que u(0) + v(0) = 1 + 1 = 2 = 1 8. O conjunto de todos os polinmios reais, geralmente denotado por P, constitui um espao linear, como facilmente se verica. 9. O conjunto de todos os polinmios reais de grau n, geralmente denotado por Pn e subconjunto de P, constitui um espao linear.

10. O subconjunto de Pn formado por todos os polinmios mnicos, i.e., pelos polinmios cujo coeciente do termo de maior ordem 1, no um espao linear, pois a soma de dois polinmios mnicos no um polinmio mnico.

11. O subconjunto de Pn formado por todos os polinmios com coecientes positivos no um espao linear pois, se p pertencer a este subconjunto, p no pertence.

A.1 Linearidade

339

12. O conjunto das funes contnuas e crescentes no intervalo [0, 1] no um espao linear.

Denio A.1.2 Um subespao linear S de um espao linear U um subconjunto de U que verica as propriedades u, v S, C = u + v S e u S

i.e., U , ele prprio, um espao linear. Denio A.1.3 Seja {ui }n um conjunto no espao linear U. Diz-se que uma expresso i=1 do tipo n i ui, com i C e n nito, uma combinao linear dos ui com coecientes i=1 i . Se todos os coecientes forem nulos, a combinao linear diz-se trivial. Se pelo menos um dos coecientes for diferente de zero, a combinao linear diz-se no trivial. Denio A.1.4 Diz-se que um conjunto S de um espao linear U convexo se u + (1 )v S, para todo o real tal que 0 1. Em palavras simples: um conjunto convexo se contiver todos os segmentos de recta que passam entre quaisquer dos seus pontos. possvel demonstrar que a interseco de conjuntos convexos um conjunto convexo. Ao menor convexo que contm um conjunto S costuma designar-se por convexo envolvente de S. Denio A.1.5 Diz-se que uma funo real f denida sobre um convexo S de um espao linear U convexa se f (u + (1 )v) f (u) + (1 )f (v), para todo o real tal que 0 1. Denio A.1.6 Um conjunto C do espao linear U diz-se linearmente dependente se existir um elemento u C que pode ser expresso como uma combinao linear de elementos do conjunto C \ {u}. Caso contrrio diz-se que C linearmente independente. Notemos que, de acordo com esta denio, as combinaes lineares envolvem apenas um nmero nito de termos. O prximo teorema proporciona um mtodo para testar a independncia linear. Teorema A.1.1 Um conjunto C do espao linear U linearmente independente sse, para cada subconjunto nito no vazio {u1 , u2 , . . . , un } de C, a nica soluo de 1 u1 + 2 u2 + + n un = 0 for 1 = 2 = = n = 0. (A.1.1) u, v S u, v S

340

Espaos lineares

Demonstrao Suponhamos que C linearmente independente mas que, contrariamente ao enunciado do teorema, se verica que 1 u1 + 2 u2 + + n un = 0 tem uma soluo no trivial, i.e., pelo menos um dos i diferente de zero. Admitamos, para xar ideias e sem perda de generalidade, que 1 = 0. Neste caso, u1 = 2 u2 + + n un (A.1.2)

em que i = i /1 , i = 2, . . . , n. Portanto, u1 uma combinao linear de {u2 , . . . , un }, o que contradiz a hiptese de C ser linearmente independente. Admitamos agora que a nica soluo de (A.1.1) 1 = = n = 0 para quaisquer u1 , . . . , un C. Se existir um elemento de C, u1 , digamos, que pode ser expresso como uma combinao linear (A.1.2); ento deve vericar-se que 1 u1 + 2 u2 + + n un = 0 com 1 = 1, 2 = 2 , . . . , n = n , o que, no sendo uma combinao linear trivial, constitui uma contradio. Portanto, C linearmente independente. O prximo teorema um corolrio imediato do teorema anterior. Teorema A.1.2 Um conjunto no vazio C de um espao linear U linearmente dependente sse existir pelo menos um subconjunto nito no vazio {u1 , . . . , un } de C e escalares 1 , . . . , n no todos nulos tais que 1 u1 + + n un = 0 Demonstrao Ver NAYLOR and SELL (1971). Exemplo A.1.2 Vericar se os polinmios p1 (x) = 1 + x + x2 , p3 (x) = x2 + x 1, so linearmente dependentes ou no.
Para que estes polinmios sejam linearmente independentes necessrio que, de acordo com a Denio A.1.1,
4

p2 (x) = x2 x 2 p4 (x) = x 1

i pi = 0 = i = 0,
i=1

i = 1, . . . , 4

Ora,
4 i=1

i pi (x) = 1 (1 + x + x2 ) + 2 (x2 x 2) + 3 (x2 + x 1) + 4 (x 1)

= (1 22 3 4 ) + (1 2 + 3 + 4 )x + (1 + 2 + 3 )x2

A.2 Bases e dimenso

341

Por conseguinte, devemos ter que 1 22 3 4 = 0 1 2 + 3 + 4 = 0 1 + 2 + 3 = 0

Contudo, este sistema de equaes no implica que todos os i sejam nulos. De facto, o sistema possui solues no triviais. Por exemplo, 1 = 3, 2 = 2, 3 = 5, 4 = 4

uma soluo de entre outras possveis. Portanto, os polinmios em causa so linearmente dependentes.

A.2

Bases e dimenso

O conjunto das combinaes lineares dos elementos {u1 , u2 , . . . , uk } forma um subespao linear S de U. Diz-se neste caso que o subespao linear S gerado ou suportado por estes elementos, e que {u1, u2 , . . . , uk } o suporte deste subespao. Um subespao linear pode ter mais do que um suporte como vamos mostrar no exemplo seguinte. Exemplo A.2.1 Consideremos P2 e os conjuntos {1, x, x2 } e {p1 , p2 , p3 } com p1 (x) = 1 + x + x2 , p2 (x) = 1 2x x2 e p3 (x) = x + 2x2 . Vericar se estes conjuntos geram P2 .
Os elementos de P2 tm a forma geral p(x) = a0 + a1 x+ a2 x2 . bvio que qualquer elemento de P2 se exprime como uma combinao linear de {1, x, x2 }, pelo que este conjunto gera P2 . Para que {p1 , p2 , p3 } gere P2 deve existir, para cada p P2 , uma combinao linear destes elementos igual a p, ou seja, devem existir coecientes 1 , 2 , 3 tais que 1 p1 + 2 p2 + 3 p3 = p Substituindo p1 , p2 e p3 pelas expresses dadas, obtemos 1 (1 + x + x2 ) + 2 (1 2x x2 ) + 3 (x + 2x2 ) = a0 + a1 x + a2 x2 Igualando os coecientes de potncias idnticas de x, chegamos ao seguinte sistema de equaes 1 1 0 1 a0 1 2 1 2 = a1 3 a2 1 1 2

O determinante da matriz acima diferente de zero e, por conseguinte, o sistema possui soluo (nica). Logo, para qualquer p P2 , existe uma combinao linear de {p1 , p2 , p3 }

342

Espaos lineares

que reproduz p. Conclumos que este conjunto gera P2 . Tambm podemos armar que {p1 , p2 , p3 } linearmente independente, j que 1 p1 + 2 p2 + 3 p3 = 0 = 1 = 2 = 3 = 0 No entanto, no necessrio que um conjunto gerador seja linearmente independente.

Denio A.2.1 Um conjunto do espao linear U diz-se que constitui uma base de U se for linearmente independente e gerar U. Um espao linear pode possuir mais do que uma base. O Exemplo A.1.2 evidencia duas bases para P2 . No entanto, possvel demonstrar o seguinte resultado. Teorema A.2.1 Todas as bases de um espao linear possuem o mesmo nmero de elementos. Demonstrao Ver NAYLOR and SELL (1971). Esta concluso justica a seguinte denio. Denio A.2.2 O nmero de elementos de qualquer base do espao linear U a dimenso de U, denotada por dim U. Se a dimenso for um nmero nito, diz-se que o espao possui dimenso nita. Caso contrrio, a dimenso innita. Assim, a dimenso de um espao linear uma propriedade do espao e no depende da base particular utilizada. fcil ver que dim P2 = 3 e, em geral, dim Pn = n + 1. No entanto, embora o conjunto dos monmios {1, x, . . . , xk , . . .} seja linearmente independente, como fcil de ver, e qualquer p P se possa escrever por denio na forma p = n ak xk para um k=0 certo n, no podemos concluir imediatamente que os monmios constituem uma base de P. Para tal precisamos de averiguar se as sries ak xk so convergentes ou no. Ora, k=0 o estudo da convergncia pressupe um conceito de distncia, pelo que a existncia de bases para espaos de dimenso innita envolve no s a estrutura algbrica do espao mas tambm as suas propriedades mtricas o que nos obriga a protelar o estudo deste tpico para depois da introduo daquele conceito.

A.3

Distncias, normas e produtos internos

Para abordar problemas de aproximao, torna-se necessrio dar sentido rigoroso noo de distncia entre elementos de um dado conjunto.

A.3 Distncias, normas e produtos internos

343

Denio A.3.1 Seja C um conjunto, e d(u, v), uma funo que associa a quaisquer u, v C um nmero real. Diz-se que d(u, v) uma distncia se vericar as seguintes propriedades para todos os elementos u, v, w C d(u, v) 0, d(u, u) = 0 d(u, v) = 0 = u = v d(u, v) = d(v, u) d(u, v) d(u, w) + d(w, v) (positividade) (denidade) (simetria) (desigualdade triangular)

Um conjunto equipado com uma distncia designa-se por espao mtrico. A noo seguinte til em problemas de aproximao. Denio A.3.2 Seja A um subconjunto de um espao mtrico C. Diz-se que A denso se, x C e > 0, existir um y A tal que d(x, y) < .

Por outras palavras, dado um elemento qualquer de um espao mtrico sempre possvel aproxim-lo to bem quanto se queira por elementos de um seu subconjunto denso. Por exemplo, os nmeros racionais formam um conjunto denso em R, e o teorema de Weierstrass garante que o subconjunto dos polinmios denso no conjunto das funes contnuas num intervalo nito. Notemos que a noo de distncia no pressupe que o espao seja linear. Contudo, em espaos lineares e semelhana do que usual fazer para os vectores em Rn , por exemplo, a distncia pode ser introduzida custa da noo de norma. Denio A.3.3 Uma norma sobre o espao linear U uma funo de U R, denotada por u que goza das seguintes propriedades, para todos os elementos u, v U e todos os escalares , u = || u (homogeneidade) u+v u + v (desigualdade triangular) u 0 (positividade) u = 0 = u = 0 (denidade) Um espao linear equipado com uma norma designa-se por espao normado. Uma funo de U R que satisfaa as trs primeiras propriedades acima mas no necessariamente a ltima designa-se por seminorma e denotada por |u| (o contexto permite, em geral, distinguir a seminorma do valor absoluto). Esta denio no determina uma nica norma para U, pelo que a escolha da funo que dene a norma depende da nalidade pretendida. No entanto, certas questes no dependem da forma especca da norma. Denio A.3.4 Duas normas a e b , sobre o espao linear U, dizem-se equivalentes se existirem constantes c1 , c2 tais que com 0 < c1 , c2 < . c1
a

c2

a,

u U

344

Espaos lineares

A razo para esta designao deriva do facto de que a existncia de limites e a convergncia de sucesses numa das normas implica a existncia das mesmas entidades na outra. Por conseguinte, ao pretender obter limites ou provar convergncia legtimo escolher, de entre a classe de normas equivalentes, aquela que proporcionar maior facilidade. Um resultado importante que merece registo o seguinte. Teorema A.3.1 Todas as normas em espaos lineares de dimenso nita so equivalentes. Demonstrao Ver NAYLOR and SELL (1971). Vamos apresentar os casos mais usuais de normas. Denio A.3.5 Em Cn , as normas
n 1/p

x x

=
i=1

|xi |

com 1 p < (p = )

= max |xi |,
1in

designam-se por normas de Hlder ou normas lp . As normas de Hlder gozam das propriedades x p = |x| p e x p |y| p sempre que |x| |y|, em que esta ltima desigualdade deve ser interpretada componente a componente. Esta observao suscita a denio seguinte. Denio A.3.6 Uma norma para a qual se verique x = |x| , diz-se absoluta e para a qual se |x| |y| = x y , diz-se montona. possvel demonstrar que estas duas propriedades so equivalentes (ver HORN and JOHNSON (1988). Denio A.3.7 Os espaos lineares de sucesses {uk } em C, tais que u k=1 designam-se por espaos lp .
p

x Cn

x, y Cn

< ,

Em espaos de funes possvel uma maior variedade de normas que em Cn . Nos exemplos que vamos dar a seguir, U um espao de funes denidas sobre um intervalo (a, b).

A.3 Distncias, normas e produtos internos

345

y
Figura A.3.1: Interpretao geomtrica dos valores A e B do Teorema A.3.2 como reas

y = xp B A a

Denio A.3.8 As normas u u


p

= =

b a

|u(x)|p dx

1/p

com

1p<

(A.3.1) (A.3.2)

axb

sup |u(x)|,

(p = )

designam-se por normas de Lebesgue ou normas Lp . possvel demonstrar que as funes introduzidas acima satisfazem todos os requisitos da Denio A.3.3 para poderem ser consideradas normas. Para levar a cabo a demonstrao precisamos de alguns resultados preliminares. Teorema A.3.2 (Young) Sejam 1 < p < e q ndices conjugados, i.e., 1/p + 1/q = 1. Ento, para quaisquer reais a, b 0, vlida a seguinte relao ab ap aq + p q (A.3.3)

Demonstrao Consideremos no plano (x, y) a curva y = xp1 ou, equivalentemente, x = y q1 e ponhamos A=


a 0

xp1 dx =

ap , p

B=

b 0

y q1 dx =

bq q

A Figura A.3.1 mostra o signicado geomtrico dos nmeros A e B. evidente que ab A + B, donde se deduz a armao do teorema. Teorema A.3.3 (Desigualdades de Hlder) Sejam 1 p e q ndices conjugados, i.e., 1/p + 1/q = 1. Ento, so vlidas as seguintes relaes.
n i=1 n

|xi yi |

i=1

|xi |p

1/p

n i=1

|yi|q

1/q

= x

(A.3.4)

346
1/q

Espaos lineares

Para x

i=1

|xi |p

1/p

<e y
i=1

=
1/p

i=1 i=1

|yi|q

< , = x
p

i=1

|xi yi|
b a

|xi |p

|yi |q

1/q

(A.3.5)

Para

b a

|x(t)|p dt < e
b a

|y(t)|p dt < ,
b a

|x(t)y(t)| dt

|x(t)|p dt

1/p

b a

|y(t)|q dt

1/q

= x

(A.3.6)

Demonstrao O caso p = 1, q = de demonstrao evidente e deixa-se como exerccio. Para os outros casos vamos proceder da seguinte maneira. Para demonstrar (A.3.4), tomemos |yi | |xi | , b= a= x p y q na desigualdade (A.3.3), vindo |xi | |yi| |xi |p |yi|q + x p y q p x p q y q p q Efectuando o somatrio em i, obtemos
n i=1

1 |xi | |yi | x p y q p x
n i=1

n p p i=1

|xi |p +

1 q y

|yi | q q i=1

1 1 + =1 p q

e, por conseguinte,

|xi ||yi|

como pretendamos demonstrar. Para provar a relao (A.3.5), notemos que, para qualquer n nito,
n i=1

|xi yi|
n i=1

|xi |p

1/p

n i=1

|yi |q

1/q

i=1

|xi |p

1/p

i=1

|yi|q

1/q

= x

Passando ao limite n no primeiro membro desta desigualdade, chegamos expresso (A.3.5). A relao (A.3.6) demonstra-se de modo semelhante. Tomemos a= |x(t)| , x p b= |y(t)| y q

A.3 Distncias, normas e produtos internos

347

na relao (A.3.3). Neste caso, vem que x(t) x p y(t) x(t) p y(t) q + y q p x p q y q p q

Integrando ambos os membros em t, obtemos


b a

|x(t)| |y(t)| 1 dt x p y q p x
b a

b p p a

|x(t)|p dt +

1 q y

b q q a

|y(t)|q dt =

1 1 + =1 p q

e, por conseguinte, |x(t)||y(t)| dt x


p

como pretendamos demonstrar. Teorema A.3.4 (Desigualdades de Minkowski) Seja 1 p . Ento, so vlidas as seguintes relaes.
n i=1

|xi + yi|p

1/p

i=1

|xi |p

1/p

+
i=1

|yi|p

1/p

(A.3.7)

Se

n i=1

|xi |p < e

n i=1 i=1

|yi|p < , ento


1/p

|xi + yi|p

i=1

|xi |p

1/p

i=1

|yi|p

1/p

(A.3.8)

Se

b a

|x(t)|p dt < e
b a

b a

|y(t)|p dt < , ento


1/p

|x(t) + y(t)|p dt

b a

|x(t)|p dt

1/p

b a

|y(t)|p dt

1/p

(A.3.9)

Demonstrao O caso p = de demonstrao fcil e deixa-se como exerccio. A demonstrao dos restantes casos faz-se da seguinte maneira. Vamos partir da identidade (a + b)p (|a| + |b|)p = (|a| + |b|)p1(|a| + |b|) = (|a| + |b|)p1 |a| + (|a| + |b|)p1 |b| Pondo a = xi e b = yi e somando em i, obtemos
n i=1 n

|xi + yi|p

i=1 n i=1

|xi | + |yi|
p1 n p1

|xi | + |yi|

|xi | +

i=1

|xi | + |yi|

|yi|

348

Espaos lineares

Aplicando a desigualdade de Hlder ao primeiro termo do segundo membro, vem que


n i=1 p1 n (p1)q 1/q n i=1 p 1/q n i=1 1/p

|xi | + |yi |

|xi | =

i=1 n i=1

|xi | + |yi | |xi | + |yi |

|xi |

1/p

|xi |p

e uma expresso semelhante para o segundo termo, pelo que


n i=1 p

|xi | + |yi|
n i=1

p 1/q n i=1 1/q

(|xi | + |yi|)

|xi |

1/p

+
i=1

(|xi | + |yi |)

1/q

n i=1

|yi|p

1/p

Ento, se Se

acima por este valor, donde se extrai imediatamente a relao (A.3.7). dadeira. A demonstrao das restantes desigualdades segue um caminho semelhante. possvel agora demonstrar, apelando nomeadamente s desigualdades de Minkowski, que as funes introduzidas na Denio A.3.5 satisfazem todos os requisitos da Denio A.3.3 para poderem ser consideradas como normas.
n i=1 (|xi |

n p i=1 (|xi |+|yi |)

= 0, podemos dividir ambos os membros da desigualdade

+ |yi |)p

1/q

= 0, fcil ver que a relao (A.3.7) trivialmente ver-

A.3.1

Normas de vectores

Vejamos alguns exemplos concretos de normas, comeando pelas normas de vectores em Cn . O caso p = 2 conduz bem conhecida norma euclideana de vectores,
n

=
i=1

|xi |2

1/2

(A.3.10)

Outras das normas de vectores mais utilizadas em Anlise Numrica correspondem ao caso p = 1
n

=
i=1

|xi |

(A.3.11)

que conhecida por vezes por norma da soma 1 e ao caso p = , este ltimo denido como x = lim x p
p
1

Esta norma por vezes referida pitorescamente como norma de Manhattan (Nova Iorque). Porqu?

A.3 Distncias, normas e produtos internos

349

x2 p=2

Figura A.3.2: Aspecto das circunferncias x p = 1 em R2 para vrios valores de p

p=1 p=

x1

sendo fcil vericar que x

= max |xi |
1in

(A.3.12)

A forma do segundo membro desta expresso justica a designao de norma de mximo por vezes usada para designar esta norma. Um vector diz-se unitrio (relativamente a uma certa norma) se x = 1. A Figura A.3.2 mostra o aspecto da circunferncia de raio unitrio centrada na origem, i.e., o lugar geomtrico dos pontos x p = 1 para vrios valores de p. Tirando o caso euclidiano p = 2, o mais familiar, as outras circunferncias tm um aspecto algo estranho. Mas no h dvida, contudo, de que a sua equao to circunferencial como a do caso euclidiano.

A.3.2

Normas de funes

Em espaos de funes vamos destacar os seguintes casos. Para p = 2 temos a bem conhecida norma euclideana de funes, u
2

b a

|u(x)|2 dx

1/2

(A.3.13)

Outras normas de funes muito utilizadas em Anlise Numrica correspondem ao caso p=1 u
1

b a

|u(x)| dx

(A.3.14)

e ao caso p = , dado pela expresso (A.3.2). A forma do segundo membro da expresso desta norma explica a designao de norma do supremo que se utiliza por vezes para designar esta norma.

350

Espaos lineares

Embora a noo de distncia entre dois elementos de um conjunto se possa introduzir para conjuntos que no so necessariamente espaos lineares, no faremos uso desta possibilidade. Deste modo, tomaremos como distncia entre u e v o valor u v .

A.3.3

Convergncia

Estamos agora em condies de introduzir o conceito de convergncia de uma sucesso {un } em U. Denio A.3.9 Uma sucesso {un } no espao normado U diz-se convergente se existirem um elemento u U e um nmero natural N tais que, para > 0 qualquer, u un < , n N

em que N pode depender de . O elemento u designa-se por limite da sucesso {un }, e emprega-se a notao u = limn un . Esta denio deixa subentender que uma sucesso convergente s pode ter um limite. De facto, assim . Teorema A.3.5 Uma sucesso {un } convergente no espao normado U tem um nico limite. Demonstrao Suponhamos que a sucesso {un } tem dois limites u e v distintos, ou seja, un u e un v. Neste caso, para > 0 qualquer, temos que u v = u un + un v u un + v un 2 o que s possvel se u v = 0, e, portanto, u = v. No de mais sublinhar os seguintes factos: a existncia ou no de limite depende da norma utilizada; o limite, se existir, deve pertencer, por denio, ao espao normado U. Vamos dar um exemplo que ilustra estes aspectos. Exemplo A.3.1 Convergncia e existncia de limite.
1. Consideremos U = C[0, 1] equipado com a norma do supremo fcil ver que 0 se x = 0 lim un (x) = u(x) = n 1 se 0 < x 1

e un (x) = x1/n .

Todavia, como a funo u no pertence a U, a sucesso {un } no convergente neste espao. De facto, uun = 1, qualquer que seja o valor de n. Em palavras correntes, uma sucesso de funes contnuas pode convergir para uma funo que no contnua.

A.3 Distncias, normas e produtos internos

351

2. Consideremos agora U como o espao de funes no intervalo [0, 1] e de quadrado integrvel Riemann, e {un } e u os mesmos do caso anterior. fcil ver que u un donde un u em U.
2 1

=
0

[u(x) un (x)]2 dx =

2 (n + 1)(n + 2)

O comportamento dos espaos de funes no respeitante convergncia bem diverso do que se passa em R. Em particular, todas as sucesses de nmeros reais so convergentes sse forem sucesses de Cauchy. Recordamos a denio destas sucesses. Denio A.3.10 Uma sucesso {un } num espao normado diz-se que uma sucesso de Cauchy ou fundamental se, para qualquer > 0, existir um nmero natural N tal que um un para qualquer escolha de m, n N. Para justicar o que dissemos atrs vamos ver um exemplo de sucesso de Cauchy que no convergente. Exemplo A.3.2 Estudar a convergncia da sucesso de funes un (x) =
n|x| 1

|x| 1/n |x| 1/n


1 1

no espao C[1, 1] equipado com a norma u =


fcil ver neste caso que un um =

|u(x)| dx.

1 1 1 1 + n m n m

e, portanto, se para um dado > 0 escolhermos N = 2/, temos que un um . Fica assim provado que {un } uma sucesso de Cauchy. No entanto, esta sucesso converge para a funo 0 se x = 0 u(x) = 1 se 0 < |x| 1 que no uma funo de C[1, 1]!

Todavia, podemos demonstrar o seguinte. Teorema A.3.6 Se {un } for uma sucesso convergente num espao normado, ento uma sucesso de Cauchy.

352

Espaos lineares

Demonstrao

Pela desigualdade triangular, verdade que

un um = un u + u um un u + u um Mas, como {un } convergente, existe um natural N tal que, para > 0 qualquer, un u < e u um < , pelo que un um 2 o que prova que {un } uma sucesso de Cauchy. Espaos lineares relativamente aos quais vlida a armao recproca, i.e., nos quais todas as sucesses de Cauchy so convergentes, so muito importantes e merecem um nome especial. Denio A.3.11 Um espao normado em que todas as sucesses de Cauchy so convergentes diz-se completo ou de Banach. J mencionmos um espao de Banach (a recta real R equipada com a norma usual, i.e., u = |u|) e os exemplos mostraram espaos lineares de funes que no so espaos de Banach. altura de apresentar alguns espaos de funes que so espaos de Banach. Teorema A.3.7 O espao Rn completo relativamente a qualquer das normas lp . Teorema A.3.8 Os espaos C k [a, b], com k > 0, equipados com a norma
k

u =
j=0

Dj u

so espaos completos. A noo de norma permite introduzir o conceito importante de continuidade. Denio A.3.12 Seja f : U V, em que U e V so espaos normados. A funo f diz-se contnua em x U se, para todo o real > 0, existir um = (, x) tal que, se x y < ento f (x) f (y) < . A funo f diz-se contnua em U se for contnua em todos os pontos x U. A funo f diz-se que uniformemente contnua se, alm de contnua, no depender de x, i.e., = (). Em linguagem singela, uma funo f contnua em x se f (y) for arbitrariamente prximo de f (x) quando y for sucientemente prximo de x. Um conceito que teremos oportunidade de usar e que se encontra relacionado com o de continuidade o seguinte.

A.3 Distncias, normas e produtos internos

353

Denio A.3.13 Seja f : U V, em que U e V so espaos normados. A funo f diz-se lipschitzeana se existir um real C > 0 tal que f (x) f (y) C x y , Se C < 1 ento diz-se que f contractiva. Teorema A.3.9 Uma funo lipschitzeana uniformemente contnua. Demonstrao bvia, a partir das denies. Para podermos generalizar a U as noes de ngulo e de perpendicularidade ou ortogonalidade de vectores necessrio introduzir de forma abstracta o conceito de produto interno. Denio A.3.14 Um produto interno sobre U uma funo de U U C, denotada por (u, v), que goza das seguintes propriedades, para todos os elementos u, v, w U e todos os escalares , (u + v, w) = (u, w) + (v, w) (u, v) = (u, v) (u, v) = (v, u) (u, u) > 0 se u = 0 (aditividade) (homogeneidade) (simetria) (positividade) x, y U

Um espao linear equipado com um produto interno diz-se que um espao com produto interno. Consideremos primeiro o caso de Cn . Sejam x, y Cn . O produto interno destes vectores, denotado por (x, y o nmero (x, y = yH x e a norma euclideana do vector x, denotada por x 2 , denida por x
2

= (x, x1/2 = (xH x1/2

Quando U for um espao linear de funes, o produto interno que mais utilizaremos o dado por (u, v) =
b a

u(x)v(x) dx

(A.3.15)

Constitui um exerccio fcil conrmar que de facto todas as relaes enunciadas na Denio A.3.14 so vericadas. Tal como sucede com as normas por vezes vantajoso em Anlise Numrica recorrer a outros produtos internos, como, por exemplo, (u, v) =
b a

w(x)u(x)v(x) dx

(A.3.16)

em que w uma funo real positiva que desempenha o papel de peso. Uma propriedade importante dos produtos internos a expressa no teorema seguinte.

354

Espaos lineares

y
( x; y ) = ( x; x)
1=2

(y ; y )

1=2

cos

Figura A.3.3: Interpretao geomtrica da desigualdade de Schwarz

sendo a igualdade nesta expresso vericada sse u e v forem linearmente dependentes.

Teorema A.3.10 (Desigualdade de Schwarz) Para quaisquer elementos u, v U vlida a relao |(u, v)| (u, u)1/2(v, v)1/2

Demonstrao Se u ou v for nulo, a desigualdade vericada trivialmente pelo que vamos supor que um destes elementos no nulo. verdadeira a seguinte desigualdade (u v, u v) 0 para todos os u, v U e todo o escalar (chamamos a ateno para que no vai ser necessrio usar a positividade do produto interno, i.e., > em vez de na desigualdade acima). Admitindo que v = 0, escolhendo = (u, v)/(v, v) e substituindo, obtemos sem diculdade |(u, v)|2 (u, v)(v, u) (u, u)2 = (u, u)2 0 (v, v) (v, v) e, portanto, |(u, v)|2 (u, u)(v, v)

donde se extrai imediatamente a armao do teorema. fcil ver que a igualdade s se verica quando u e v forem linearmente dependentes. A desigualdade de Schwarz pode ser interpretada geometricamente, como mostra a Figura A.3.3. Em Anlise Numrica esta desigualdade frequentemente usada como ponto de partida para a obteno de estimativas de erro. A cada produto interno pode associar-se uma norma denida por u = (u, u)1/2 sendo fcil provar que o segundo membro desta expresso , efectivamente, uma norma. A seguinte relao, cuja interpretao geomtrica simples, mostra-se por vezes til.

Teorema A.3.11 (Lei do paralelogramo) Para quaisquer elementos u, v U vlida a relao u+v 2+ uv 2 = 2 u 2+2 v 2

A.3 Distncias, normas e produtos internos

355

Demonstrao

Deixa-se como exerccio.

Teorema A.3.12 O produto interno, como funo de U U C, contnuo. Demonstrao Para provar esta armao basta demonstrar o seguinte: se limn un = u e limn vn = v, ento limn (un , vn ) = (u, v). fcil ver que (u, v) = (un + u un , vn + v vn ) = (un , vn ) + (un , v vn ) + (u un , vn ) + (u un , v vn ) e, por conseguinte, (u, v) (un , vn ) = (un , v vn ) + (u un , vn ) + (u un , v vn ) Tomando valores absolutos e majorando o segundo membro recorrendo desigualdade de Cauchy-Schwarz, obtemos |(u, v) (un , vn )| = |(un , v vn ) + (u un , vn ) + (u un , v vn )| un v vn + u un vn + u un v vn O segundo membro desta desigualdade tende para zero quando n e, por conseguinte, o primeiro membro tambm. Denio A.3.15 Se um espao equipado com produto interno e respectiva norma associada for completo, diz-se que um espao de Hilbert. A denio de um produto interno permite introduzir a noo de perpendicularidade ou ortogonalidade de funes. Denio A.3.16 Um conjunto diz-se ortogonal se para todo o par u e v distintos desse conjunto se vericar que (u, v) = 0. Se, alm disso, os elementos do conjunto forem unitrios, i.e., se todos os elementos u do conjunto vericarem u = 1, ento o conjunto diz-se ortonormal. Dada uma sucesso de elementos {uk } linearmente independentes, sempre possvel obter a partir deles um conjunto ortogonal ou, se quisermos, um conjunto ortonormado, {u } mediante o emprego do processo de Gram-Schmidt. Um conjunto ortogonal sempre k linearmente independente. Denio A.3.17 Um conjunto (no necessariamente contvel) {u } ortonormal num espao com produto interno U diz-se maximal se no existir qualquer outro elemento v U tal que {u } v seja ortonormal.

356

Espaos lineares

O teorema seguinte revela outra maneira de introduzir conjuntos ortonormais maximais. Teorema A.3.13 Um conjunto (no necessariamente contvel) {u } ortonormal num espao com produto interno U maximal sse (v, u = 0, implica que v = 0. Demonstrao Ver NAYLOR and SELL (1971). O conceito de conjuntos ortonormais maximais no vazio. De facto, pode provar-se o seguinte. Teorema A.3.14 Seja {u } um conjunto ortonormal num espao com produto interno U. Ento, existe um conjunto ortonormal maximal que contm {u }. Demonstrao Ver NAYLOR and SELL (1971). Em palavras simples, qualquer conjunto ortonormal pode ser ampliado de modo a car maximal. A denio seguinte introduz um conceito de base para espaos de dimenso innita. Denio A.3.18 Um conjunto ortonormal maximal num espao de Hilbert designa-se por base ortonormal ou sistema ortonormal completo. A designao de base que aparece nesta denio pode parecer abusiva j que, embora no suscitando dvidas quanto independncia linear, no est demonstrada a sua capacidade para gerar todos os elementos do espao de Hilbert. Todavia, assim acontece (ver o Captulo 11.

A.4

Espaos de funes

Na seco anterior introduzimos as normas Lp , que fazem apelo a integrais para os casos 1 p < . Uma questo com interesse a de saber qual o conceito de integral adoptado. Se interpretarmos os integrais no sentido de Riemann, ento a classe de funes abrangidas a classe de funes integrveis Riemann, denotada por R[a, b]. Para caracterizar esta classe de funes precisamos de algumas denies. Denio A.4.1 Um conjunto C R diz-se que tem medida nula se, para cada > 0, existir um conjunto numervel de intervalos abertos Ik = (ak , bk ) com comprimento (medida) total e cuja unio contm C, i.e., C Ik ,
k

com
k

(Ik )

em que (Ik ) = bk ak designa o comprimento (medida) do intervalo k.

A.4 Espaos de funes

357

O prximo teorema revela alguns conjuntos de medida nula. Teorema A.4.1 Qualquer subconjunto numervel C de R tem medida nula. Demonstrao Seja C = {x1 , x2 , . . . , xn , . . .}. Construamos em torno de xn o intervalo In = [xn /2n+1 , xn + /2n+1 ] com > 0 cujo comprimento , portanto, (In ) = /2n . Neste caso, C In e temos ainda que n=1
n=1

(In ) =

n=1

/2n =

n=1

1/2n =

Logo, esto satisfeitas as condies da Denio A.4.1, e C tem, por conseguinte, medida nula. Denio A.4.2 Diz-se que uma dada propriedade vlida em quase topos os pontos, abreviadamente qtp, se for vlida para todos os valores de x excepto num conjunto de medida nula. Duas funes u e v dizem-se essencialmente iguais se forem iguais qtp, ou seja, se forem iguais em todos os pontos excepto num conjunto de medida nula. Neste caso, escreve-se u(x) = v(x), qtp Uma noo relacionada com esta a seguinte. Denio A.4.3 Uma funo u diz-se essencialmente limitada no intervalo [a, b] (nito ou no) se existir um real M tal que |u(x)| M qtp em [a, b]

Ao menor valor de M para o qual esta relao vlida d-se a designao de supremo essencial de |u|. Exemplo A.4.1 As seguintes funes u e v denidas sobre R so essencialmente iguais.
1 se x = 0 0 se x = 0

u(x) = 0, Como v(x) = 0

x R,

v(x) =

qtp, o supremo essencial de v 0.

O teorema seguinte caracteriza a classe de funes integrveis Riemann. Teorema A.4.2 (Lebesgue) Uma funo u : I = [a, b] C pertence a R[a, b], i.e., integrvel Riemann, sse for limitada em [a, b] e for contnua qtp em [a, b]. Um exemplo clssico de funo que no integrvel Riemann a funo de Dirichlet. Exemplo A.4.2 Funo de Dirichlet.

358

Espaos lineares

Esta funo denida do seguinte modo: u(x) = 0 se x for racional 1 se x for irracional

fcil ver que a funo de Dirichlet, embora limitada, descontnua em todos os pontos de R. Consequentemente, no satisfaz a segunda condio do Teorema A.4.2, pelo que no integrvel Riemann.

A.4.1

Espaos de Lebesgue

O integral Riemann, alm de no existir para certas funes, tem ainda outro grande defeito. possvel ter uma sucesso de funes {un } integrveis Riemann que converge para uma funo u que, no entanto, no integrvel Riemann. Para resolver esta diculdade, necessria uma outra denio de integral devida a Lebesgue. Em termos gerais, a ideia construir uma sucesso {un } de funes simples e integrveis Riemann que convirja para a funo u cujo integral se pretende denir. Assim, o integral de u Lebesgue ser denido como o limite dos integrais de un . Comeamos por denir a classe de funes simples e integrveis Riemann que temos em mente. Denio A.4.4 Uma funo f : R R diz-se que uma funo degrau se satiszer as seguintes condies: a) f (x) = ci , x [ai , ai+1 em que ci 0 uma constante e a1 < a2 < < an ;

b) f (x) = 0 nos outros casos. A razo para esta designao encontra-se na forma do grco da funo, que o leitor far o favor de desenhar. Vamos considerar uma sucesso crescente {fn } de funes degrau no sentido em que, para todo o natural n, fn+1 (x) fn (x), x R Alm das especicadas, no h quaisquer outras restries a estas sucesses, i.e., as constantes ci (a altura dos degraus) podem tender para innito, as larguras dos vrios degraus podem tender para zero ou para innito, a localizao dos degraus pode variar com n, a parte da recta real coberta pelos degraus pode tender para innito, etc. Cada funo fn integrvel Riemann, pois verica as condies do Teorema A.4.2. Seja u uma funo real denida e no negativa qtp sobre R. Suponhamos que existe uma sucesso {fn } de funes degrau tal que f (x) = lim fn (x)
n

qtp

A.4 Espaos de funes

359

e que os integrais Riemann In de fn convergem para um valor I. Nestas condies, diz-se que a funo u integrvel Lebesgue em R e emprega-se a seguinte notao I(f ) = I =

f (x) dx = lim In
n

Esta denio pode parecer ambgua j que o limite I poderia depender da sucesso particular {fn }. Todavia, possvel provar que este limite, quando existe, no depende da sucesso de funes degrau utilizada. O integral Lebesgue de uma funo f que muda de sinal dene-se recorrendo s partes positiva f+ e negativa f de f dadas por f+ (x) = f (x) = Neste caso, como
f (x) 0 0 f (x)

se f (x) 0 se f (x) < 0 se f (x) 0 se f (x) > 0

podemos, por denio, estabelecer que

f = f+ f

I(f ) = I(f+ ) I(f ) O integral Lebesgue de uma funo complexa de varivel real tratado tomando a parte real e a parte imaginria separadamente. O conjunto de funes integrveis Lebesgue na recta real denota-se por L. Analogamente, L(a, b) designa o conjunto de funes integrveis Lebesgue no intervalo (a, b). No se conhecem condies simultaneamente necessrias e sucientes de integrabilidade Lebesgue, pelo que, muitas vezes, temos de nos contentar com condies de mera sucincia. Vamos descrever algumas destas condies. Suponhamos que dada uma funo f real denida qtp em R e no necessariamente integrvel Lebesgue. possvel construir uma outra funo, fT , por truncatura de f do seguinte modo. f (x) se a < x < b e |f (x)| < A A se a < x < b e f (x) A fT (x) = A se a < x < b e f (x) A 0 se x a ou x b 0 se f (x) no for denido em x Notemos que fT corresponde a cortar ou truncar f acima do valor A e abaixo do valor A e esquerda de a e direita de b. Por outras palavras, ao construir fT deixa-se de fora qualquer singularidade que f eventualmente possua e ignora-se a forma como esta funo se comporta no innito.

360

Espaos lineares

Denio A.4.5 Uma funo real f diz-se mensurvel se fT L para qualquer A > 0 e para qualquer intervalo [a, b] nito. Uma funo complexa diz-se mensurvel se as suas partes real e imaginria forem mensurveis. Pode demonstrar-se que condio necessria mas no suciente para f L que f seja mensurvel. Se, apesar do processo de remover as singularidades e de ignorar o comportamento no innito de f , fT no lograr ser integrvel Lebesgue, ento porque f tem oscilaes patolgicas. Uma condio mais restritiva do que a mensurabilidade a da integrabilidade local. Denio A.4.6 Uma funo f diz-se localmente integrvel se, para qualquer intervalo [a, b] com a e b ambos nitos, f L(a, b). O conjunto das funes localmente integrveis denota-se por Lloc . Denio A.4.7 Se f for uma funo localmente integrvel tal que |f |p L, em que 1 p < , ento dizemos que f de potncia p integrvel Lebesgue. O conjunto destas funes denota-se por Lp . Uma funo f diz-se que est localmente em Lp se f Lp (a, b) para qualquer intervalo [a, b] nito. O conjunto destas funes denota-se por Lp . loc O conjunto das funes essencialmente limitadas em R designa-se por L , e o conjunto das funes essencialmente limitadas no intervalo [a, b], por L (a, b). No difcil vericar que os conjuntos Lp , 1 p so espaos normados com as normas Lp introduzidas na Denio A.3.8, cujos integrais devem ser agora tomados no sentido de Lebesgue, e o supremo deve ser entendido como supremo essencial. De acordo com as propriedades da norma, u v = 0 implica que u = v. No entanto, se u, v Lp a denio desta norma obriga apenas a que u = v qtp, o que nos deixa na posio desconfortvel de ter de rejeitar aquela propriedade da norma ou as normas Lp . Tal no , todavia, necessrio se recorrermos ao seguinte estratagema: considerar elementos de Lp no funes mas classes de funes que so iguais qtp, i.e., [u] Lp designa a classe de funes v Lp tal que u = v qtp. Uma vez aceite esta identicao, e com vista a aliviar a terminologia, usual continuar a falar de funes em vez de classes de funes como elementos de Lp . Teorema A.4.3 Os espaos lp e Lp (a, b) com 1 p < so espaos completos. Demonstrao Completamente fora do mbito deste texto. (1975), por exemplo. Consultar ADAMS

Exemplo A.4.3 Vericar que o espao L2 (a, b) um espao de Hilbert relativamente ao produto interno (A.3.15).

A.4 Espaos de funes

361

Sendo L2 (a, b) completo, o que falta provar que, para todos os u, v L2 (a, b), o segundo membro da expresso (A.3.15) existe e nito. Mas a desigualdade de Hlder (A.3.6) com p = 2 garante que assim . Todavia, atendendo importncia deste espao, vamos fazer uma demonstrao particular. evidente que 0 (|u(x)| |v(x)|)2 = |u(x)|2 + |v(x)|2 2|u(x)||u(x)| e, portanto, 1 1 |u(x)v(x)| = |u(x)||v(x)| |u(x)|2 + |v(x)|2 2 2 Integrando ambos os membros, vem que
b a

|u(x)v(x)| dx

1 2

b a

|u(x)|2 dx +

1 2

b a

|v(x)|2 dx

Como o segundo membro , por hiptese, nito, tambm o primeiro membro o , ou, por outras palavras, se u, v L2 (a, b), ento uv L1 (a, b).

O exemplo anterior permitiu revelar que se u, v L2 (a, b), ento uv L1 (a, b) e uv 1 u 2 v 2 . O prximo teorema generaliza este ltimo resultado. Teorema A.4.4 Se u Lp e v Lq e 1/p + 1/q = 1/r com p, q, r 1, ento uv Lr e uv r u p v q . Demonstrao Basta considerar na desigualdade de Hlder (A.3.6) p/r e q/r em vez de p e q, e tomar ur e v r em vez de u e v. Deixa-se o resto como exerccio ao leitor.

A.4.2

Espaos de Sobolev

Uma famlia de espaos de funes denidas sobre um intervalo nito de fronteira , com um papel central no estudo das equaes diferenciais, so os espaos de Sobolev cuja denio a seguinte. Denio A.4.8 O espao de Sobolev de ordem m, com m inteiro no-negativo, denotado por H m (), o conjunto H m () = {u : D k u L2 (), i = 0, . . . , m} ou seja, um conjunto formado por todas as funes com derivadas de quadrado integrvel at ordem m. Notemos que H 0 () = L2 () e que H m H l para todos os inteiros m > l > 0, o que revela que estes espaos constituem uma certa hierarquia.

362

Espaos lineares

possvel demonstrar que H m () um espao de Hilbert para o produto interno


m

(u, v)m =

i=0

D i u D iv dx

Os seguintes subespaos de H m () tambm surgem frequentemente no estudo das equaes diferenciais,


m H0 () = {u H m () : D k u() = 0, k = 0, . . . , m 1}

Quanto maior for m mais regulares so as funes de H m (). O resultado C k+1 () H k+1() C k () (A.4.1)

caracteriza melhor o tipo de regularidade em causa e d um signicado preciso a este termo usado frequentemente num sentido vago. A seguinte frmula de integrao por partes vlida em H 1 (a, b):
b a

uv dx =

b a

u v dx + [uv]b , a

u, v H 1 (a, b)

A.5
A.5.1

Operadores lineares
Denio e exemplos

Vamos rever a importante noo de transformao linear ou operador linear entre dois espaos lineares. Denio A.5.1 Sejam U e V dois espaos lineares. Uma aplicao L de U em V, denotada por L : U V, diz-se que um operador linear se L(u + v) = Lu + Lv para todos os elementos u U e v V e todos os escalares e . Se V = R ou V = C o operador L costuma designar-se por funcional linear real ou complexo, respectivamente. Consideremos alguns exemplos. Exemplo A.5.1 Vericao da linearidade de operadores.
1. Seja U = C, V = Pn , o espao linear dos polinmios de grau n, e L, o operador que associa a cada funo u o respectivo polinmio interpolador num conjunto de n + 1 ns

A.5 Operadores lineares

363

distintos. De acordo com o que vimos no Captulo 2, o polinmio interpolador pode ser escrito na forma de Lagrange, pelo que
n

L(u + v) = =

Li (x)(u(xi ) + v(xi ))
k=0 n n

Li (x)u(xi ) +
k=0 k=0

Li (x)v(xi ))

= Lu + Lv donde se conclui que este operador linear. 2. Seja U = C 1 , V = C e L( ) = D( ) = d( )/dx o operador de derivao. Como D(u + v) = d du dv (u + v) = + = Du + Dv dx dx dx

conclui-se imediatamente que o operador D linear e imediato ver que o mesmo se passa com as derivadas de ordem superior. 3. Seja U = C, V = R e L( ) = L(u + v) =
a b b b a() b

dx o operador integral. Ento, dado que

(u(x) + v(x)) dx u(x) dx +


a a

v(x) dx = Lu + Lv

o operador de integrao linear. Trata-se, de facto, de um funcional linear real. 4. Seja U = Cm , V = Cn e L : Cm Cn um operador linear. Sejam {ui }m e {vi }n i=1 i=1 bases ortonormadas destes dois espaos lineares. Pondo v = Lu e como, por denio, u = m i ui , vem que i=1
n m m

v = Lu =
k=1

k vk = L(
i=1

i ui ) =
i=1

i Lui

Internando ambos os membros desta expresso por vj , obtemos


m m

j =
i=1

(vj , Lui )i =
i=1

Lji i ,

Lji = (vj , Lui )

Como se verica, um operador linear entre espaos de dimenso nita representado por uma matriz (dependente das bases ortonormadas escolhidas). Uma vez que as matrizes so, elas prprias, operadores lineares actuando sobre vectores, a identicao de operadores lineares entre espaos de dimenso nita e as matrizes natural.

364

Espaos lineares

5. Seja U um espao normado, e L, o operador que associa a cada elemento a sua norma, i.e., L : u u . Da denio de norma resulta que L(u) = u = || u , L(u + v) = u + v u + v

Qualquer destas relaes viola as condies de linearidade, pelo que este operador no linear.

O teorema seguinte desmistica funcionais lineares contnuos em espaos de Hilbert. Teorema A.5.1 (Riesz) Seja U um espao de Hilbert, e F , um funcional linear contnuo. Ento, existe um nico elemento f U tal que F (u) = (f, u), u U (A.5.1)

Demonstrao Ver as referncias. Em resumo, um funcional linear contnuo sobre um espao de Hilbert pode ser sempre representado de forma nica por um produto interno. Por outras palavras, existe uma correspondncia biunvoca entre elementos de um espao de Hilbert e funcionais lineares contnuos sobre este espao.

A.5.2

Normas de operadores

Um conceito importante o da norma de operadores lineares. Denio A.5.2 Sejam U e V dois espaos lineares normados, e L : U V, um operador linear. Ao nmero Lu V L = sup u U u=0 d-se a designao de norma de L. Se L for nito diz-se que L um operador limitado; caso contrrio diz-se ilimitado. Notemos que esta norma depende das normas escolhidas para os espaos lineares U e V, pelo que se costuma designar por norma associada ou induzida por estas normas. Se A e B forem operadores lineares limitados, as seguintes propriedades so de demonstrao fcil. A+B A A A =0 A + B = || A 0 A=0

As seguintes propriedades resultam directamente da Denio A.5.1.

A.5 Operadores lineares

365

Teorema A.5.2 Sejam A : U V e B : V W operadores lineares limitados, e u U. Ento so vlidas as seguintes relaes ou propriedades submultiplicativas Au AB A A u B (A.5.2) (A.5.3)

Demonstrao A primeira desigualdade trivialmente verdadeira se u = 0. Nos outros casos decorre imediatamente da Denio A.5.1 que A segunda desigualdade deduz-se da seguinte maneira e, por conseguinte, para u = 0, (AB)u = A(Bu) A Bu A B B u A Au / u

Esta expresso e a Denio A.5.2 permitem provar a desigualdade. Exemplo A.5.2 Vericar se os operadores de derivao e integrao so limitados.
Seja L = D = d /dx e U = C 1 (0, 1) e V = C 0 (0, 1). Tomemos como norma a norma L2 . Considerando funes da forma un (x) = sin nx, fcil ver que 2 2 un 2 = , Dun 2 = n 2 2 Portanto, Dun 2 / un 2 = n, quantidade que pode ter um valor to grande quanto se queira. O operador derivao , pois, ilimitado (na norma escolhida). Consideremos agora o operador de integrao L( ) = Tomando para norma de U a norma L2 , pondo
1 1 0 ()

(AB)u / u A

dx, em que U = C(0, 1) e V = R.

v = Lu =
0

u(x) dx

e aplicando a desigualdade de Schwarz, vem que


1 1 1/2

v = |v| = |

u(x) dx|

1 dx
0 0

1/2

|u(x)| dx

= u

Daqui se conclui que o operador de integrao limitado e que a sua norma 1.

O prximo teorema revela que operadores lineares limitados so contnuos, e viceversa, uma propriedade importante entre outras razes porque a demonstrao de que um operador limitado frequentemente mais simples que a prova da respectiva continuidade. Teorema A.5.3 Sejam U e V dois espaos lineares normados, e L : U V, um operador linear. Ento, L contnuo sse for limitado. Demonstrao Ver NAYLOR and SELL (1971).

366

Espaos lineares

Normas de matrizes Uma matriz A pode ser encarada como uma transformao ou um operador que transforma cada vector x num vector y = Ax. Uma pergunta legtima e que tem enorme importncia a de saber quo grande y quando comparado com x. Por outras palavras, quanto que a matriz A amplia ou reduz o comprimento de vectores? A resposta a esta questo passa pela aplicao do conceito de norma s matrizes, estas tomadas como operadores lineares actuando sobre vectores. O clculo da norma de matrizes, contrariamente ao que se passa com as normas de vectores, no , geralmente, uma tarefa fcil. Existem, no entanto, duas excepes com interesse prtico. Teorema A.5.4 Seja A Rmn . Ento
m

A A

= max

1jn

i=1 n j=1

|aij | |aij |

(A.5.4) (A.5.5)

= max

1im

Demonstrao (Mnemnica: o 1 smbolo vertical sugere colunas; o smbolo horizontal sugere linhas.) Para demonstrar a primeira relao consideremos A particionada em colunas, e seja aj = Aej a sua j-sima coluna e ak uma coluna de maior norma de A, i.e., k tal que ak 1 = max1jn aj 1 . Neste caso,
n n n

Ax

=
j=1

aj xj

j=1

aj 1 |xj | ak

1 j=1

|xj | = ak

Podemos daqui deduzir que ||A


1

ak

= ||Aek

||A

(A.5.6)

donde resulta imediatamente (A.5.4). Para a norma de mximo vamos proceder de modo semelhante. Tendo em conta a denio e utilizando majoraes simples, podemos escrever a seguinte sequncia de relaes
n

Ax

1im

max |

j=1 n j=1

aij xj |
n

1im

max

aij x

= max

1im

j=1

|aij | x

= AT

A.5 Operadores lineares

367

donde extramos A

AT

n 1

= max

1im

j=1

|aij |

(A.5.7)

Seja k uma linha de A de maior norma de mximo (existe pelo menos uma) e construamos um vector y do seguinte modo yj = sendo claro que y

= 1. Por outro lado, A

1
n

se akj 0 se akj < 0

Ay

=
j=1

|akj |

AT

Conjugando com (A.5.7), chegamos concluso que


n

= AT

=
j=1

|akj |

e, portanto, a expresso (A.5.5) verdadeira. O clculo de A 2 no apresenta a mesma facilidade, pois envolve os chamados valores prprios de A, matria tratada no Captulo 7. Todavia, possvel demonstrar aqui algumas propriedades interessantes desta norma. Teorema A.5.5 Seja A Rmn . Ento so vlidas as relaes A AT AT A
2 2 2

= max{|yT Ax|, x = A 2 = A 2 2

= y

= 1}

(A.5.8) (A.5.9) (A.5.10)

Demonstrao Para demonstrar a expresso (A.5.8) basta-nos considerar vectores x e y unitrios (na norma euclideana). Pela desigualdade de Schwarz temos que |yT Ax| = |(y, Ax| y
2

Ax

A
2

= A

Tomemos agora um vector x unitrio e tal que Ax Ax/ Ax 2 , o qual tambm unitrio. Nestas condies |yT Ax| = AxT Ax/ Ax
2

=
2

A 2 , e ponhamos y = = A
2

= Ax 2 / Ax 2

O resultado (A.5.8) segue-se imediatamente. A propriedade (A.5.9) demonstra-se tambm sem grande diculdade. Continuando a considerar os vectores x e y como unitrios, podemos dizer que AT
2

= max{|yT AT x|, x 2 = y 2 = 1} = max{|xT Ay|, x 2 = y 2 = 1} = A

368

Espaos lineares

Para provar a expresso (A.5.10), notemos que AT A


2

AT

A
2

2 2

(A.5.11)

Consideremos agora um vector unitrio x tal que Ax permite que escrevamos AT A


2

= A 2. A propriedade (A.5.8) = A
2 2

xT AT Ax

= Ax

2 2

Da combinao desta relao com (A.5.11) podemos extrair (A.5.10). Todas as normas de matrizes acabadas de referir so associadas a normas vectoriais. Contudo, por vezes denem-se normas de matrizes que no so induzidas por qualquer norma vectorial. Um exemplo o da norma de Frobenius A F denida por
n

2 F

=
i,j=1

|aij |2 = tr (AT A) = tr (AAT )

Esta norma ser invocada apenas ocasionalmente, pelo que, sempre que nada seja explicitamente dito em contrrio, as normas de matrizes sero sempre entendidas como normas subordinadas.

A.5.3

Dualidade

A noo de dualidade que vamos introduzir importante. Denio A.5.3 Seja U um espao de Hilbert. Dene-se espao dual algbrico U de U como o espao constitudo por todos os funcionais lineares sobre U. fcil vericar que U de facto um espao linear e que, portanto, a denio faz sentido. O prximo teorema mostra que este espao pode ser normado de forma natural. Teorema A.5.6 O dual U de U equipado com a norma F
U

= sup
0=uU

|F (u)| u U

designado por espao dual topolgico e um espao de Banach. Demonstrao Consultar as referncias. Como corolrio imediato, podemos armar que |F (u)| F
U

U,

u U

Por outro lado, o Teorema de Riesz mostra que existe um isomorsmo entre U e U , j que a cada elemento u U possvel associar um funcional F U e vice-versa pela relao (A.5.1). Este isomorsmo , de facto, uma isometria conforme facilmente se prova.

A.6 Notas e referncias

369

Teorema A.5.7 O isomorsmo J : U U estabelecido pelo Teorema de Riesz uma isometria, i.e., J(u) U = u U , u U Demonstrao Basta notar o seguinte, J(f )
U

= F

|F (u)| u U 0=uU |(f, u)| = sup = f u U 0=uU = sup

A esta isometria J dado por vezes o nome de operador de dualidade.

A.6

Notas e referncias

1. O material apresentado neste apndice um subconjunto muito pequeno de qualquer texto de Anlise Funcional. CRYER (1982), NAYLOR and SELL (1971), ODEN and DEMKOWICZ (1996) e REDDY (1986) fazem um desenvolvimento particularmente atraente para quem tiver em vista as aplicaes. 2. Os espaos de funes so estudados a um nvel avanado em ADAMS (1975).

Le silence ternel de ces espaces innis meraie. B. Pascal (1623-1662)


Penses

Apndice B Projectos computacionais


Neste Apndice so propostos enunciados de projectos computacionais. Tal como acontece geralmente na vida real, estes so abertos, i.e., podem no especicar completamente o problema e deixar alguma margem de manobra. Por conseguinte, h quase sempre necessidade de tomar decises e fazer opes durante o desenvolvimento do trabalho as quais devem ser bem ponderadas e justicadas. Em LEMOS and PINA (2006) pode encontrar-se informao adicional til para a elaborao destes projectos computacionais.

B.1

Aritmtica computacional

B.1.1 Considere os seguintes modos de calcular o valor de = 3.141592653589793 . . . (ver BECKMAN (1971) ou DELAHAYE (1997) para uma perspectiva histrica). Elabore grcos que mostrem a evoluo do erro em funo do nmero de termos empregados nos vrios mtodos e comente os resultados obtidos. a) Desenvolvimento de arctan x pela srie de Gregory (1638-1675) 1 1 1 arctan x = x x3 + x5 x7 + 3 5 7 1 1 1 = arctan 1 = 1 + + 4 3 5 7 A ltima expresso pode ser escrita na forma mais vantajosa (explique porqu e compare os resultados com os obtidos pela expresso original) =12 4 1 1 + + 35 79

b) Aplicao da frmula de Machin (1680-1752) 1 1 = 4 arctan arctan 4 5 239

370

B.1 Aritmtica computacional

371

Nota: Esta frmula foi usada em 1949 para calcular com 2035 dgitos no ENIAC (Electronic Numerical Integrator and Computer e foi precursora de muitas outras, conhecidas como frmulas do tipo de Machin, algumas das quais se apresentam a seguir. c) Aplicao da frmula de Hutton (1737-1823) 1 1 = arctan + arctan 4 2 3 d) Aplicao da frmula de Clausen (1801-1885) 1 1 = 2 arctan + arctan 4 3 7 e) Aplicao da frmula de Dase (1824-1861) 1 1 1 = arctan + arctan + arctan 4 2 5 8 f) Desenvolvimento de arcsin x arcsin x = x + 6 x3 1 3 x5 1 3 5 x7 + + + 23 245 2467 1 = arcsin 2

g) Mtodo de Arquimedes (287212 a.C.) A rea A de um crculo de raio unitrio A = . As reas de polgonos inscritos com 4, 8, 16, . . . lados fornecem sucessivos minorantes de . Notar que a rea do tringulo inscrito cujo ngulo ao centro 1/2 sin , e que sin = [(1 cos 2)/2]1/2 , cos = (1 sin2 )1/2

pelo que o seno de submltiplos do ngulo se pode obter indutivamente. Repita este caso com polgonos circunscritos para obter majorantes de . (Arquimedes conseguiu chegar a um polgono com 96 lados partindo de um hexgono e o seu mtodo manteve-se como o nico utilizado at inveno do clculo no sculo XVII!) h) Integrao pela regra do trapzio Sabemos que = 4
0

dx 1 + x2

Este integral pode ser calculado aproximadamente pela regra do trapzio composta com pontos equidistantes, obtendo-se deste modo uma aproximao para . B.1.2 Escreva um programa para testar os mtodos recursivo e compensado de calcular somatrios, tomando para x diversos valores numricos e aplicando-os a alguns casos de teste, nomeadamente:

372

Projectos computacionais

a) s sries exp x = 1 + x + x2 /2! + =


k=0

xk /k!

ln(1 + x) = x x2 /2 + x3 /3 x4 /4 + b) s sries do Projecto B.1.1. Nota: Os resultados so altamente dependentes da aritmtica do computador utilizado. B.1.3 Teste os vrios mtodos de calcular a norma euclideana de vectores x Rn : comeando pela aplicao directa da denio e evoluindo para os mtodos sugeridos no Problema 1.9.25. Gere os vectores x com componentes aleatrias, no esquecendo de incluir nos testes vectores com componentes muito pequenas e muito grandes. Tire concluses quanto preciso, ao tempo de clculo dos vrios mtodos e s ocorrncias de overow e underow.

B.2

Interpolao polinomial

Nota B.2.1 Em problemas de interpolao com dados variando numa gama alargada, por vezes compensa, com vista a reduzir os efeitos da aritmtica de preciso nita, efectuar mudanas das variveis independente e dependente (uma, outra ou ambas) de modo a trabalhar num intervalo normalizado, [0, 1] ou [1, 1].
B.2.1 Escreva um programa para obter polinmios interpoladores na forma de Newton empregando valores nodais extrados das tabelas seguintes. Pretende-se utilizar este programa para obter o polinmio de menor grau que reproduza, com uma preciso especicada (erro relativo de 1%, por exemplo), os valores tabelados. Para os polinmios que satisfazem este critrio, tome como indicador de qualidade o valor de J(p) dado por
b

J(p) =
a

p (x)

dx

em que [a, b] o intervalo de interpolao, sendo suciente obter um valor aproximado para este parmetro (pela regra do ponto mdio composta, por exemplo). a) x 10 15 20 30 40 50 60 70 80 y 3.148 2.680 2.299 1.799 1.438 1.225 1.023 0.862 0.683 b) x 0 10 20 30 40 50 60 70 80 90 100 y 32.0 29.1 23.4 14.9 4.3 7.4 28.5 36.0 2.3 29.1 62.6

B.2 Interpolao polinomial

373

B.2.2 A presso p e a temperatura T da AtmosferaPadro Internacional em funo da altitude z so dadas pelos valores da tabela seguinte. z (m) 0 500 1000 1500 p (bar) 1.0132 .9546 .8988 .8456 T (K) 288.2 284.9 281.7 278.4 z (m) 5500 6000 6500 7000 p (bar) .5054 .4722 .4408 .4111 T (K) 252.4 249.2 245.9 242.7 2000 .7950 275.2 7500 .3830 239.5 2500 .7469 271.9 8000 .3565 236.2 3000 .7012 268.7 8500 .3315 233.0 3500 .6578 265.4 9000 .3080 229.7 4000 4500 5000 .6166 .5775 .5405 262.2 258.9 255.7 9500 10000 .2858 .2650 226.5 223.3

Escreva um programa para obter polinmios interpoladores empregando valores nodais extrados desta tabela. Pretende-se utilizar este programa para determinar o polinmio de menor grau que reproduza, com uma preciso especicada (erro relativo de 1%, por exemplo), os valores tabelados. Para os polinmios que satisfazem este critrio, tome como indicador de qualidade o valor de J(p) dado por
b

J(p) =
a

p (x)

dx

em que [a, b] o intervalo de interpolao, sendo suciente obter um valor aproximado para este parmetro (pela regra do ponto mdio composta, por exemplo). B.2.3 A velocidade v do som no mar depende da presso, temperatura e salinidade em cada ponto. Esta dependncia complicada, tendo-se obtido por experimentao os seguintes valores em funo da profundidade z: z (ft) 0 500 1000 v (ft/s) 5042 4995 4948 z (ft) 4000 5000 6000 v (ft/s) 4875 4875 4887 1500 4887 7000 4905 2000 4868 8000 4918 2500 3000 3500 4863 4865 4869 9000 10000 4933 4949

Escreva um programa para obter polinmios interpoladores na forma de Lagrange empregando valores nodais extrados desta tabela. Pretende-se utilizar este programa para determinar o polinmio de menor grau que reproduza, com uma preciso especicada (erro relativo de 1%, por exemplo), os valores tabelados. Para os polinmios que satisfazem este critrio, tome como indicador de qualidade o valor de J(p) dado por
b

J(p) =
a

p (x)

dx

em que [a, b] o intervalo de interpolao.

374

Projectos computacionais

Figura B.2.1: Geometria para o Projecto B.2.4


B.2.4 Mediram-se os seguintes valores relativos ao volume v (em litros) de lquido contido numa cisterna em funo do nvel z (em milmetros): z 0 85 160 226 305 353 412 480 542 v 10 100 200 300 500 700 1000 1400 1800 z 615 700 780 870 971 1070 1181 1230 1319 v 2300 2900 3500 4200 5000 5800 6700 7100 7800 z 1371 1410 1489 1600 1690 1740 1832 1902 1960 v 8200 8500 9100 9900 10500 10800 11300 11600 11734 A cisterna tem a forma de um cilindro de eixo horizontal mas do qual se desconhece a forma geomtrica da base (ver a Figura B.2.1) no podendo por isso utilizar-se um processo de integrao (analtica ou numrica). Pretende-se construir uma tabela que fornea o volume v de lquido em funo do nvel z, de 10 em 10 milmetros, sendo essencial reproduzir os valores medidos, i.e., que constam da tabela. B.2.5 Recorrendo segunda frmula baricntrica, construa polinmios interpoladores da funo f (x) = 1/(1 + x2 ) no intervalo [5, 5] com ns equidistantes. Verique que quando o grau aumenta, o polinmio interpolador apresenta oscilaes cada vez mais acentuadas no convergindo para a funo interpolada dada. Repita o clculo com os ns de interpolao de Chebyshev e de Chebyshev-Lobatto em vez dos ns equidistantes. Compare os resultados e tire concluses. B.2.6 Escreva um programa para obter aproximadamente a constante de Lebesgue n em funo de n. a) Considere o caso de ns equidistantes e ns de Chebyshev; b) Verique se o crescimento de n com n est de acordo com a teoria. Nota: Utilizar f

max |f (ai )|
1iN

em que os ai so N pontos uniformemente distribudos no intervalo de interpolao e N n (N 10n, por exemplo).

B.2 Interpolao polinomial

375

B.2.7 Pretende-se construir um troo P0 P1 de ligao entre duas linha (rectas) de caminho de ferro de modo a garantir continuidade C 2 (ver a Figura B.2.2). Escreva um programa que, dadas as rectas e os pontos de ligao, determine: a) a forma paramtrica do troo de ligao, em que x1 (t) e x2 (t) so polinmios apropriados: x1 (t) x= , com t [0, 1] x2 (t) b) o raio de curvatura mnimo do troo de ligao e a respectiva localizao. Nota: O raio de curvatura R dado por 1/R = x x / x 3 , em que denota o produto externo e a norma euclideana.

Figura B.2.2: Geometria para o Projecto B.2.7


B.2.8 Desenvolva um programa para o clculo de splines quadrticos. Aplique este programa a alguns casos de teste, nomeadamente interpolao das seguintes funes: a) f (x) = x3 + 2x, b) f (x) = sin x, = [0, 2] = [0, /2] c) f (x) = (1 x2 )1/2 , = [0, 3/2].

d) Determine o erro cometido na aproximao da funo f e da derivada f . Mostre a sua evoluo com o espaamento dos ns. (Tome para y0 valores apropriados s funes interpoladas.)

B.2.9 Desenvolva um programa para o clculo de splines cbicos com ns equidistantes. Aplique este programa a alguns casos de teste, nomeadamente interpolao das seguintes funes: = [0, /2] b) f (x) = (1 x2 )1/2 , = [0, 3/2] c) f (x) = x4 , = [0, 2] a) f (x) = cos x, d) Determine o erro cometido na aproximao funo f e s suas derivadas f e f . Mostre a sua evoluo com o espaamento dos ns. (Tome para y0 e yn valores apropriados s funes interpoladas.)

376

Projectos computacionais

e) Estime a ordem de convergncia e compare-a com o valor terico. B.2.10 Desenvolva um programa para o clculo de splines cbicos com tenso. Aplique este programa a alguns casos de teste, nomeadamente interpolao das seguintes funes: = [0, /2] b) f (x) = ln(1 + x), = [0, 1] c) f (x) = x4 , = [0, 2] a) f (x) = cos(2x), d) Verique a inuncia da tenso nos resultados obtidos. B.2.11 Desenvolva um programa para o clculo de curvas de Bzier, at ao grau trs. Aplique este programa a alguns casos de teste, nomeadamente s seguintes funes: a) quarto de circunferncia de raio 1; b) quarto de elipse de semi-eixos 2 e 1; c) curva, cuja equao em coordenadas polares, r() = 1 + cos2 , com [0, /2]. B.2.12 Uma alternativa aos splines cbicos, suciente em muitas aplicaes de Grca Computacional, o de utilizar polinmios cbicos de Hermite em cada um dos subintervalos i = [xi1 , xi ), i = 1, . . . , n e estimar as derivadas f (xi ) por diferenas nitas apropriadas com vista a obter uma funo de classe C 1 . Desenvolva um programa para o clculo destas funes recorrendo a diferenas nitas que utilizem os valores (xi2 , yi2 ), (xi1 , yi1 ), (xi , yi ), (xi+1 , yi+1 ),(xi+2 , yi+2 ) e as adaptaes bvias para os pontos situados nos extremos do intervalo de interpolao. A funo assim construda , por vezes, conhecida como subspline de Akima e foi introduzido em AKIMA (1970). Aplique este programa a alguns casos de teste, nomeadamente s seguintes funes: a) f (x) = sin x, b) f (x) = x4 , = [0, /2] = [0, 2]

c) e ao seguinte conjunto de dados de AKIMA (1970): x 0.0 2.0 3.0 5.0 6.0 8.0 9.0 11.0 12.0 14.0 15.0 y 10.0 10.0 10.0 10.0 10.0 10.0 10.5 15.0 50.0 60.0 85.0 d) Compare os resultados obtidos nas alneas a) e b) com os valores exactos e tire concluses.

B.3

Derivao numrica

B.3.1 Estude o efeito do valor do parmetro h nas frmulas regressivas, progressivas e centrais de primeira ordem para a diferenciao numrica. Considere as funes: a) f (x) = sin x2 para x = 0.5 e x = 0.75.

B.3 Derivao numrica

377

b) f (x) = ln(1 + exp(cos x))

para x = 2.

c) Conrme as ordens de convergncia das frmulas e determine experimentalmente o valor ptimo de h tendo em conta os erros aritmticos. Apresente grcos elucidativos da evoluo do erro com h. B.3.2 Construa polinmios interpoladores da funo f (x) = 1/(1 + x2 ) no intervalo [5, 5] com o objectivo de calcular as primeiras derivadas nos ns. Verique o que acontece ao aumentar o grau do polinmio quando se empregam ns de interpolao equidistantes, ns de Chebyshev e de Chebyshev-Lobatto. Compare os resultados e tire concluses. B.3.3 Escreva um programa para o clculo da primeira derivada por diferenas centrais utilizando o processo de extrapolao de Richardson. Aplique o programa a alguns casos de teste, nomeadamente para as funes a) f (x) = sin x2 b) f (x) = ln(1 + exp(x)) c) f (x) = 1 + sin x + x2 considerando vrios valores de x. B.3.4 Para obviar os efeitos de cancelamento subtractivo, SQUIRE and TRAPP (1998) propuseram o seguinte mtodo para o clculo da primeira derivada de uma funo f : R R prolongvel analiticamente. Partindo do desenvolvimento em srie de Taylor (com a real), f (a + i h) = f (a) + i hf (a) h2 i h3 f (a) f (a) + 2! 3!

podemos tomar f (a) Im f (a + i h)/h com um erro de O(h2 ). Escreva um programa para o clculo da primeira derivada das funes a) f (x) = sin(x2 ), b) f (x) = x9/2 , a=1 a = 1.5 a = 1.5

c) f (x) = exp(x)/(sin3 (x) + cos3 (x)),

por este mtodo e por diferenas nitas centrais e compare os resultados para diferentes valores de h. B.3.5 Escreva um programa para obter, por diferenas nitas, a tangente t, a normal n, a binormal b, a curvatura k e a toro num ponto dado de uma curva em R3 denida pela sua representao paramtrica x = x(t) com t [0, 1]. Pretendem-se valores com um erro de O(h2 ), excepto na toro que pode ser de O(h). Aplique o programa a alguns casos de teste, nomeadamente s curvas a) x = cos(t)e1 + sin(t)e2 ;

378

Projectos computacionais

b) x = (1 + t)e1 + t2 e2 + exp(t)e3 ; c) x = sinh(1 + t)e1 + e2 t2 e3 . em que os ei denotam os versores de uma base ortogonal de R3 . B.3.6 Uma das aplicaes mais frequentes das diferenas nitas a de aproximar a soluo de equaes diferenciais. Embora este tema seja tratado no Captulo 13, j possvel antever as possibilidades desta abordagem com um caso muito simples. Consideremos uma barra de comprimento L feita de um material cujo mdulo de elasticidade E(x) com uma seco de rea A(x) sujeita a uma fora axial f (x) (ver a Figura B.3.1). Se u(x) for o deslocamento axial, o equilbrio de foras traduz-se na seguinte EDO d dx A(x)E(x) du (x) dx = f (x), 0<x<L

qual se devem juntar condies de fronteira apropriadas. No caso presente, considerar apenas deslocamentos impostos nos extremos da barra u(0) = 0, u(L) = L/100

e A(x) = A e E(x) = E, ambas funes constantes. a) Adimensionalize o problema, efectuando a transformao de variveis x = L e u(x) = v()L, obtendo uma EDO do tipo d2 v () = (), d 2 b) Considere os seguintes casos de foras: () = sin(), () = 1 0<<1 se 0 1/2 se 1/2 1 (a) (b) 0<<1

c) Substituia as segundas derivadas na EDO resultante por diferenas nitas centrais numa malha uniforme, obtendo um sistema de equaes algbricas com matriz tridiagonal (a ser resolvido pelo algoritmo de Thomas) e cuja soluo fornecer uma aproximao do deslocamento. d) Apresente grcos mostrando a soluo exacta e a soluo aproximada, para vrios valores do parmetro h da malha, evidenciando a convergncia. e) Idem, mas agora para a derivada dv/d que proporcional tenso axial na barra.

B.4 Integrao numrica

379

!!!!!!!!!!!!

Figura B.3.1: Geometria para a EDO do Projecto B.3.6

B.4

Integrao numrica

B.4.1 Um dos mtodos para calcular aproximaes de logaritmos consiste em partir da identidade 1 x ln(1 + x) = dt 1 + xt 0 e aplicar ao segundo membro uma dada regra de integrao numrica. Deduza as frmulas que deste modo resultam, para o caso das regras a) do trapzio; b) do ponto mdio; c) de Simpson; Escreva um programa que calcule, para cada uma destas regras, os erros cometidos para valores x da forma x = 2k , k = 0, 1, 2, . . . e determine o intervalo de valores de x admissveis de modo a garantir 6 decimais correctos. B.4.2 Escreva um programa para integrao numrica de funes num intervalo [a, b] dado, utilizando as regras de Gauss-Legendre compostas, considerando apenas as regras at 5 pontos. O programa deve apresentar estimativas do erro de integrao baseadas na bisseco dos subintervalos. Aplique o programa a alguns casos de teste, nomeadamente: a) b) c) d)
3 0.5 (1

+ x2 )/(1 + 10x6 ) dx dx (integral elptico)

/2 (1 0.25 sin2 x)1/2 0 1 1/2 cos(1 + x) dx 0 x 1 0 x/(exp x + 1) dx

B.4.3 Escreva um programa para integrao numrica de funes num intervalo [a, b] dado, utilizando splines quadrticos. Aplique o programa a alguns casos de teste, nomeadamente: a)
1 2 0 x cos(1

+ 2x) dx

380

Projectos computacionais

b) c)

1 0 (exp x)/(cosh(2 sin x)) /2 ln(1 0

dx

+ x) sin(3x) dx

d) Verique a inuncia do valor do parmetro m0 nos resultados. B.4.4 Pretende-se obter a distncia s(ti , tf ) percorrida por uma partcula no intervalo [ti , tf ] quando se desloca no plano de acordo com as equaes x1 = f1 (t) x2 = f2 (t) em que t [ti , tf ] designa o tempo, sabendo que
tf

s(ti , tf ) =
ti

v(t) dt

onde v a velocidade cujas componentes so dadas por


v1 = f1 (t) v2 = f2 (t)

Escreva um programa para o clculo de s(ti , tf ) utilizando a regra do ponto mdio composta com espaamento uniforme e a velocidade calculada por diferenas nitas de ordem adequada ao m pretendido. Aplique o programa a alguns casos de teste, nomeadamente: a) f1 (t) = t, f2 (t) = 0, b) f1 (t) = t, f2 (t) = t2 , ti = 0, tf = 1 ti = 0, tf = 1 ti = 0, tf =

c) f1 (t) = 2 cos(t), f2 (t) = sin(t),

B.4.5 Escreva um programa para o clculo de reas de guras planas convexas utilizando o seguinte mtodo. Seja r = r() a equao, em coordenadas polares, do contorno da gura. O valor da rea dado por A= 1 2
2 0

r 2 () d

Deste modo, torna-se necessrio calcular integrais do tipo


b

I=
a

f () d

sendo a integranda f peridica. A funo f pode ser aproximada por um spline cbico peridico para o que so dadas as coordenadas (xi , yi ) de n pontos sobre o contorno. Aplique o programa desenvolvido a alguns casos de teste, nomeadamente ao clculo das reas de:

B.4 Integrao numrica

381

a) um crculo de raio 1; b) elipses de semi-eixos 1 e 2k com k = 1, . . . , 4. B.4.6 Escreva um programa para o clculo de integrais pela regra do trapzio corrigida composta em malhas uniformes mas com as derivadas nos extremos do intervalo de integrao substitudas por frmulas de diferenas nitas que mantenham a ordem de convergncia da regra. Aplique o programa a alguns casos de teste, nomeadamente: a) b) c)
/2 cos x2 0 1 0 x(1

dx

1 2 1 x ln(1

exp(x 1)) sin x dx + x2 )/(2 x)2 dx

B.4.7 Escreva um programa para o clculo de integrais pelo mtodo adaptativo no-iterativo utilizando a regra do trapzio e garantindo uma preciso especicada pelo utilizador. Aplique o programa a alguns casos de teste, nomeadamente: a) b) c)
/2 sin x2 0 1 0 x(1.5

dx

1 1 |x| ln(2

x)(1 exp(x 1)) dx + x2 )/(2 x) dx

B.4.8 Escreva um programa para integrao numrica adaptativa iterativa de funes num intervalo [a, b] dado, empregando a regra do trapzio e garantindo uma preciso especicada pelo utilizador. Aplique o programa a alguns casos de teste, nomeadamente: a) b) c)
1 0 ln(2

+ x1/2 ) dx x)(1 exp |x 1|) dx + ln(1 + x2 )) dx

1 0.8 0 x (1.2

2 0 cos(exp(x)

Nota: O nmero de subintervalos em que o intervalo [a, b] vai ser subdividido no conhecido a priori pelo que conveniente recorrer a uma estrutura de dados que seja eciente quer em memria quer em rapidez. A tcnica de pilha (stack ) satisfaz ambos estes requisitos. B.4.9 Escreva um programa para integrao numrica de funes num intervalo [a, b] dado, empregando o mtodo de Romberg. Aplique o programa a alguns casos de teste, nomeadamente: a) b) c)
/2 ln(1 0

+ 2 arctan(x/2)) dx x)(x 1))] cos x dx

2 1 exp[1/((2 2 0 (1

+ x2 ) sin(1 + x3 ) dx

382

Projectos computacionais

d) Ao clculo do potencial P no ponto (X, Y ) produzido por uma distribuio f (x) de cargas elctricas no intervalo [a, b] do eixo dos xx. Compare os resultados obtidos com os valores exactos para os casos de distribuies constantes e lineares. Estude o comportamento do algoritmo quando Y 0, e X [a, b] e X [a, b]. O potencial dado por b f (x) P (X, Y ) = dx 2 2 1/2 a [(X x) + Y ] B.4.10 Escreva um programa para integrao numrica de funes num intervalo [a, b] dado, empregando a regra IMT. Aplique o programa a alguns casos de teste, nomeadamente: a) b) c) d)
1 1/2 tanh(x) dx 0 x 1 1/2 cos(x/2) dx 0 x 1 2 0 1/(1 0.998x ) dx 2 2 0 ln(1/x) exp(1 + x )

dx

B.4.11 Escreva um programa para integrao numrica de funes altamente oscilantes num intervalo [a, b] dado, empregando o mtodo de Filon. Basicamente, este mtodo obtm aproximaes para integrais do tipo
b

I(f ) =
a b

cos(kx)f (x) dx, sin(kx)f (x) dx


a

(a) (b)

I(f ) =

que surgem frequentemente em anlise espectral de Fourier (ver o Captulo 11) considerando uma regra de integrao composta numa malha uniforme com N subintervalos, sendo f aproximada em cada subintervalo por um polinmio interpolador de grau geralmente baixo. Considerando polinmios de grau 1 em cada subintervalo, deduza para o integral (a) que Ih (f ) = com Cn = 1 1 [sin(kb)f (b) sin(ka)f (a)] + 2 Cn k hk f (ai ) f (ai+1 ) se i = 0 N i cos(kai ), i = 2f (ai ) f (ai1 ) f (ai+1 ) se 1 i N 1 i=0 f (ai ) f (ai1 ) se i = N

Deduza as frmulas equivalentes para o integral (b).


2 0 cos(kx)x sin x dx, 1 0 cos(100x) exp x dx

Aplique o programa a alguns casos de teste, nomeadamente: a) b) para k = 1, 2, 4, 8, 16

B.4 Integrao numrica

383

c)

1 0 cos(10x)/(1

+ x2 ) dx

B.4.12 Pretende-se determinar distncias mdias entre pontos situados numa regio do plano. A distncia mdia dp (u) a um ponto dado u denida pela relao dp (u) = 1 || uv
p

e a distncia mdia dp entre pontos de dada por Dp = 1 ||2 uv


p

d d

em que os vectores u e v denotam as posies de dois pontos genricos situados em e || designa a rea de . a) Escreva um programa para obter dp (u) (dado u) para o quadrado = [0, 1] [0, 1] e para as normas correspondentes aos valores p = 1, p = 2 e p = , por integrao com a regra do ponto mdio composta; b) Idem, para Dp ; c) Evidencie a evoluo dos resultados obtidos com o nmero de pontos de integrao e comente. Nota 1: Interprete dp (u) como a distncia mdia que um taxi baseado no ponto u percorre para atender chamadas uniformemente distribudas numa cidade com a forma da regio e Dp como a mdia de dp (u) relativamente a u. Nota 2: Tenha ainda em considerao que, se Ih (f ) = n Ai f (xi ) for uma regra de i=1 b integrao para o integral unidimensional I(f ) = a f (x) dx e Ih (f ) = m Bj f (yj ) j=1 for uma regra de integrao para o integral unidimensional I(f ) = c f (y) dy, ento m Ih (f ) = n i=1 j=1 Ai Bj f (xi , yj ) uma regra de integrao para o integral bidimensional I(f ) =
b d a c f (x, y) d

dx dy.

B.4.13 Um disco magntico de computador funciona basicamente do seguinte modo: a cabea de leitura/gravao possui movimento radial e a rotao do disco providencia o deslocamento angular. Assim, usando coordenadas polares, o tempo de acesso a uma informao que est na posio P = (r, ) quando a cabea est na posio Pc = (rc , c ) dado por t(P, Pc ) = |r rc | ( c ) + , cr c com () = + 2 se 0, caso contrrio.

em que cr designa a velocidade radial (m/s) da cabea e c a velocidade angular (rad/s) do disco e a forma, aparentemente complicada, da funo resulta do facto do disco ter um nico sentido de rotao. Escreva um programa para obter: a) O tempo de acesso mdio a partir de uma posio dada da cabea;

384

Projectos computacionais

b) O tempo de acesso mdio (em relao a todas as posies da cabea). Nota: Leia o enunciado do Projecto B.4.12, de que este uma variante, e siga as respectivas indicaes. Empregue valores tpicos do disco do seu computador preferido admitindo, para efeitos deste projecto, que todo o disco utilizvel, i.e., no existe veio central. B.4.14 Escreva um programa para calcular, pela regra de Simpson composta, reas de superfcies em R3 dadas na forma paramtrica. Aplique o programa a alguns casos de teste, nomeadamente s superfcies a) x = cos() sin()e1 + sin() sin()e2 + cos()e3 , [0, 2], [0, /2] (calote hemisfrica); c) x = ue1 + ve2 + sinh(1 + uv 2 )e3 , u [0, 1], v [0, 1]. b) x = ue1 + ve2 + (u3 + v 3 + u4 )e3 , u [0, 1], v [0, 1]; em que os ei denotam os versores de uma base ortogonal de R3 . Nota 1: A rea A de uma superfcie denida na forma paramtrica, com parmetros (u, v) [a, b] [c, d], dada por
d b

A=
c a

xu xv du dv

em que denota o produto externo, xu e xv as derivadas de x em ordem a u e a v, respectivamente, e a norma euclideana. Nota 2: Leia a Nota 2 do Projecto B.4.12 e siga as respectivas indicaes. B.4.15 Escreva um programa para calcular, pela regra do trapzio composta, volumes de prismas em R3 cuja base se localiza no plano x3 = 0 e a altura determinada pela coordenada x3 de uma superfcie denida de forma paramtrica. Aplique o programa a alguns casos de teste, nomeadamente: a) x = cos() sin()e1 + sin() sin()e2 + cos()e3 , [0, 2], [0, ] (calote hemisfrica); b) x = ue1 + ve2 + (u3 + v 3 + u4 )e3 , u [0, 1], v [0, 1]; c) x = (u + v)e1 + ve2 + cosh(1 + u2 v)e3 , u [0, 1], v [0, 1]. em que os ei denotam os versores de uma base ortogonal de R3 . Nota 1: O volume V de prismas cuja altura denida na forma paramtrica acima, com parmetros (u, v) [a, b] [c, d], dado por
d b

V =
c a

x3 (u, v) |(xu xv )3 | du dv

em que denota o produto externo e xu e xv as derivadas de x em ordem a u e a v, respectivamente. Nota 2: Leia a Nota 2 do Projecto B.4.12 e siga as respectivas indicaes.

B.5 Equaes no-lineares

385

B.5

Equaes no-lineares

B.5.1 Escreva um programa para soluo de equaes no-lineares pelo mtodo da falsa posio. Aplique o programa a alguns casos de teste, nomeadamente: a) ln |x + sin x| cos x = 0, b) x0.8 2x0.3 2.5 = 0, c) tan x x1/2 = 0, x>0 x>0

x (0, 2)

B.5.2 Escreva um programa para soluo de equaes no-lineares pelo mtodo de Illinois. Aplique o programa a alguns casos de teste, nomeadamente: b) Determinar todos os zeros reais dos polinmios a) Determinar o zero positivo do polinmio f (x) = x3 + 2x2 + 10x 20. f (x) = x4 2.4x3 + 1.03x2 + 0.6x 0.32 f (x) = 22x4 12x3 + 13x2 27x 15 c) Achar a menor soluo positiva da equao x = 2 sin x + 6. B.5.3 Escreva um programa para soluo de equaes no-lineares pelo mtodo de Pegasus. Aplique o programa a alguns casos de teste, nomeadamente: b) Determinar todos os zeros reais dos polinmios f (x) = 2x4 + x2 + x 6 a) Determinar o zero positivo do polinmio f (x) = x5 + x4 + x3 8.

f (x) = 30x5 + 80x4 + 72x3 + 66x2 29x 91

c) Achar as solues mais prximas de zero da equao 10 cos x = exp x. B.5.4 Escreva um programa para soluo de equaes no-lineares pelo mtodo da secante. Aplique o programa a alguns casos de teste, nomeadamente: a) Determinar o zero positivo do polinmio f (x) = x6 x4 x3 1. b) Resolver a equao ln x = cos x. c) Determinar todos os zeros reais do polinmio f (x) = x5 7.5x4 + 22.5x3 33.75x2 + 25.3125x 7.59375 d) Resolver a equao x2 (x 1)2 = 0. e) Produzir uma tabela de em funo de a para a = 0.0, 0.1, 0.2, . . . , 2.0 em que exp(2 )erf = a Nota: Este problema surge no estudo da fuso de um slido semi-innito em que proporcional velocidade da interface slido-lquido. Para a denio da funo erf e do seu modo de clculo consultar ABRAMOWITZ and STEGUN (1968).

386

Projectos computacionais

B.5.5 Para determinao da queda de presso em escoamentos de lquidos em tubos cilndricos torna-se necessrio obter o chamado factor de atrito f que dado pela relao 1 = 2 ln f k 2.51 + 3.7D Re f , para Re 2000

em que D o dimetro do tubo, k a rugosidade e Re o nmero (adimensional) de Reynolds do escoamento. Escreva uma subrotina que, dados D, k e Re, calcule f , utilizando o mtodo da secante. Para efeitos de teste, considere os valores k = 0.2 mm, D = 200 mm e Re = 104 , 105 , 106 . Nota: importante que esta subrotina seja rpida uma vez que se destina a ser chamada muitas vezes por um programa mais vasto de clculo de instalaes hidrulicas. B.5.6 Na teoria hidrodinmica (linear) de ondas de superfcie, o comprimento de onda depende do perodo T e da profundidade h atravs da relao de disperso 2 = gk tanh(kh) em que = 2/T a frequncia angular, k = 2/, o nmero de onda e g a acelerao da gravidade. O problema consiste em obter k uma vez conhecido . a) Para obter uma forma mais conveniente para esta relao, introduza as variveis adimensionais = 2 h/g e K = kh. b) Mostre que ao largo (guas profundas), com kh , a equao de disperso ca 2 /g = k, o que permite determinar directamente o comprimento de onda em funo do perodo. c) Escreva um programa para soluo deste problema pelo mtodo de Newton, tomando como estimativa inicial a soluo obtida para as condies de guas profundas. Considere os casos T = 5, 8, 12 s e h = 10 m. B.5.7 Escreva um programa para soluo de equaes no-lineares pelo mtodo de Newton. O programa deve determinar uma estimativa da multiplicidade do zero e, no caso do zero ser mltiplo, recorrer frmula de Schrder. Aplique o programa a alguns casos de teste, nomeadamente: a) x cos x exp x = 0, c) x = sin x d) xm = 0, b) tan x cos x = 0.5, m = 1, 2, 3, 4 x (5, 0) x (0, )

B.5.8 Escreva um programa para construir uma tabela dos ns e pesos de integrao das (n) regras de Gauss-Legendre. Os ns de integrao so os zeros zk (k = 1, . . . , n) dos polinmios de Legendre Pn os quais so denidos pela frmula de recorrncia Pn+1 (x) = 2n + 1 n xPn (x) Pn1 (x), n+1 n+1 n = 1, 2, . . . , P0 (x) = 1, P1 (x) = x

B.5 Equaes no-lineares

387

Sabe-se ainda que os zeros de Pn so reais, simples e localizados simetricamente no intervalo (1, 1) (portanto s preciso obter os zeros no intervalo [0, 1)). As derivadas dos polinmios de Lagrange podem ser calculadas por 1 x2 Pn (x) = Pn1 (x) xPn (x) n Utilize o mtodo de Newton para obter os zeros dos polinmios de Legendre at ao (n) grau 20 com preciso plena. Uma vez obtidos estes zeros, os pesos wk das regras de integrao de Gauss-Legendre so dados por wk
(n)

(nPn1 (zk ))2 dada por


(n)

2(1 (zk )2 )
(n)

(n)

k = 1, . . . , n

Nota: Uma localizao dos zk cos k 1/2 n + 1/2

(n)

zk

cos

k , n + 1/2

k = 1, . . . , n

B.5.9 Uma variante do mtodo de Newton consiste em aproximar a derivada da funo pela derivada do polinmio interpolador da funo nos pontos xk2 , xk1 e xk , podendo obter-se a seguinte frmula de iterao xk+1 = xk + hk hk = f (xk )/(f [xk , xk1 ] + f [xk , xk2 ] f [xk1 , xk2 ]) Deduza as expresses acima e, com base nelas, escreva um programa para soluo de equaes no-lineares. Aplique o programa a alguns casos de teste, nomeadamente: a) f (x) = exp x 2 + 0.5x2 b) f (x) = cos x |x|1/2 c) f (x) = 1 x/ x (sin x)3 /6 + x5 /120 Determine, experimentalmente, a ordem de convergncia aproximada deste mtodo. B.5.10 Escreva um programa para soluo de equaes no-lineares pelo mtodo de Muller (caso real). Aplique o programa a alguns casos de teste, nomeadamente: a) f (x) = x7 1

c) f (x) = x6 + 2x5 + x4 + 3x3 + 5x2 exp x d) f (x) = x4 4x3 + 6x2 4 sin(3x) 3 B.5.11 Escreva um programa para soluo de equaes no-lineares utilizando interpolao inversa com polinmios de segundo grau. Aplique o programa a alguns casos de teste, nomeadamente:

b) f (x) = x4 7x3 + 18x2 20x + 8

388

Projectos computacionais

a) ln(1 + x2 ) 2/(1 + x) = 0, b) cosh x = 3

x>0

c) Determinar todos os zeros do polinmio p(x) = x3 + 7x2 + 7x 15 B.5.12 Escreva um programa para soluo de equaes no-lineares pelo mtodo de Steensen. Aplique o programa a alguns casos de teste, nomeadamente: a) 0.5 x + sin x = 0

b) x3 + 2x2 + 10x 20 = 0

c) 1 + exp(0.2x) x1.5 = 0

B.5.13 Nota: O objectivo deste projecto olhar para o processo iterativo de ponto xo xk+1 = g(xk ) como um processo dinmico em que o contador de iteraes k funciona como um tempo discreto. De facto, iteraes de ponto xo e sistemas dinmicos discretos so dois modos diferentes de falar de uma mesma realidade matemtica. O modelo mais simples de evoluo de populaes de uma dada espcie consiste em dizer que a populao no instante k + 1 depende da populao no instante k imediatamente anterior atravs da lei (a) xk+1 = rxk em que xk mede, em unidades apropriadas, o tamanho da populao e r > 0 um parmetro. Nestas circunstncias, a populao evolui de acordo com a lei xk = r k x0 em que x0 denota a populao inicial. Se r < 1 a populao decresce at extino, se r = 1 permanece constante e se r > 1 aumenta exponencialmente at innito. Ora, um crescimento ilimitado pressupe recursos ilimitados, pelo que este modelo no realista. Uma modicao proposta por por Verhulst em 1845 consiste em substituir (a) por xk+1 = rxk (1 xk ) (b) que veio a ser conhecido por modelo da parbola logstica ou, simplesmente, modelo logstico (ver a Figura B.5.1). a) Mostre que (a) se pode formular como um problema de ponto xo com g(x) = rx e determine, de acordo com a respectiva teoria, quais so os seus pontos xos em funo de r e a respectiva natureza (atractivos ou repulsivos). b) Idem, com o mapa logstico (b). c) Escreva um programa que permita traar trajectrias x0 , x1 , x2 , . . ., a partir de pontos iniciais x0 diversos e conrmar as previses tericas das alneas anteriores. d) Repita as alneas anteriores para o mapa x G(x) g(g(x)) (composio da funo g consigo prpria), vericando a existncia de mais pontos xos (quantos, de que natureza?) e o aparecimento de trajectrias peridicas.

B.6 Sistemas de equaes lineares: mtodos directos


1

389

y
0

x0

xk

k Figura B.5.1: Grcos esquemticos para o mapa logstico do Projecto B.5.13

10

20

30

40

50

B.6

Sistemas de equaes lineares: mtodos directos

Nota B.6.1 Para testar programas de resoluo de sistemas de equaes lineares Ax = b conveniente dispor de casos cuja soluo seja conhecida e simples. Uma forma habitual T consiste em construir segundos membros b de modo a que e = 1 1 1 seja a soluo exacta do sistema; concretamente, dada a matriz A tomar b = Ae. A partir daqui, fcil comparar a soluo x efectivamente obtida com a soluo exacta e.
B.6.1 Escreva um programa para a soluo de sistemas de equaes lineares pelo mtodo de Gauss com pivot parcial. Aplique o programa desenvolvido a alguns casos de teste, nomeadamente sistemas com matrizes de Vandermonde (ns equidistantes) e de Hilbert de vria ordem e comente os resultados. B.6.2 Escreva um programa para a soluo de sistemas de equaes lineares pelo mtodo de Crout com pivot parcial. Aplique o programa desenvolvido a alguns casos de teste, nomeadamente sistemas com matrizes de Vandermonde (ns equidistantes) e de Hilbert de vria ordem e comente os resultados. B.6.3 Escreva um programa para a soluo de sistemas de equaes lineares Ax = b com matrizes A simtricas denidas positivas recorrendo factorizao de Choleski UT U, armazenando e utilizando apenas o tringulo superior de A.

390

Projectos computacionais

a) Aplique o programa desenvolvido a alguns casos de teste, nomeadamente aij = min(i, j). b) Explique o que acontece quando se aplica este mtodo ao sistema de Wilson: 5 7 6 5 7 10 8 7 A= 6 8 10 9 , 5 7 9 10 23 32 b= 33 31

c) Teste o programa com matrizes de Hilbert de vria ordem e comente os resultados. B.6.4 Escreva um programa para a soluo de sistemas de equaes lineares Ax = b com matrizes A simtricas denidas positivas e em banda, recorrendo factorizao de Choleski LLT , armazenando e utilizando apenas a banda inferior de A. Aplique o programa desenvolvido a alguns casos de teste. B.6.5 Escreva um programa para a soluo de sistemas de equaes lineares Ax = b com matrizes A simtricas denidas positivas, recorrendo factorizao LDLT , armazenando e utilizando apenas o tringulo inferior de A. Aplique o programa desenvolvido a alguns casos de teste. B.6.6 Considere uma rede elctrica com n ns e em que cada par de ns i e j est ligado por uma resistncia elctrica Rij (ver a Figura B.6.1). Pretende-se determinar as voltagens Vi em cada n e as intensidade da corrente Iij em cada resistncia. A topologia da rede dada por uma tabela que, para cada n, lista todos os ns que a ele esto ligados. As equaes resolventes estabelecem-se impondo, para cada n, o balano, das intensidades Iij das correntes, com a conveno de sinal adequada, relacionadas com as voltagens n n pela lei de Ohm: j=1 Iij = j=1 (Vj Vi )/Rij = 0, i = 1, . . . , n, juntamente com a imposio das voltagens em dois ns. a) Mostre que a matriz deste sistema simtrica (fcil), tendencialmente em banda e denida positiva (recorrendo dissipao de Joule). b) Escreva um programa que forme e resolva o sistema de equaes recorrendo ao mtodo de Choleski para matrizes em banda. c) Aplique o programa a redes de diferentes topologias e complexidades. B.6.7 Escreva um programa para a soluo de sistemas de equaes lineares com matriz simtrica pelo mtodo de Gauss com pivot diagonal, armazenando e utilizando apenas o tringulo superior. Aplique o programa desenvolvido a alguns casos de teste e, em particular, a sistemas com matrizes de Pascal P Rnn denidas por p1i = pi1 = 1, i = 1, . . . , n; pij = pi,j1 + pi1,j , i, j = 2, . . . , n

Nota: Estas matrizes so mal condicionadas para n elevado.

B.6 Sistemas de equaes lineares: mtodos directos


391

Figura B.6.1: Esquema para o Projecto B.6.6


B.6.8 Escreva um programa para a soluo de sistemas de equaes lineares Ax = b com matrizes A tridiagonais, recorrendo ao mtodo de Thomas mas com incluso da tcnica de pivot parcial. a) Aplique o programa desenvolvido a alguns casos de teste, nomeadamente s matrizes de Clement (HIGHAM, 1996, Apndice E) de ordem n i se j = i + 1 aij = n i + 1 se j = i 1, 0 nos outros casos.

Nota: Estas matrizes so singulares para n mpar.

b) Introduza perturbaes aleatrias da ordem da unidade de arredondamento na diagonal de A e analise o que sucede. B.6.9 Escreva um programa para a soluo de sistemas de equaes lineares Ax = b com matrizes A de Hessenberg superiores, i.e., matrizes em que aij = 0 sempre que j < i 1. Use uma estrutura de dados apropriada para evitar o armazenamento de zeros e incorpore a tcnica de pivot parcial. Aplique o programa desenvolvido a alguns casos de teste. B.6.10 As matrizes que a seguir se apresentam permitem ilustrar os efeitos do mau condicionamento na soluo de sistemas de equaes lineares Ax = b. Para tal, proceder do seguinte modo: Resolver o sistema pelo mtodo de Gauss com pivot parcial, obtendo uma soluo aproximada; Calcular os erros cometidos numa norma apropriada; Calcular o resduo (no esquecer de acumular os resduos em dupla preciso!).

392

Projectos computacionais

a) Matriz de Hilbert. b) aij = (i/n)j1 , i, j = 1, 2, . . . , n. c) Matriz de Pei: aii = c, aij = 1 para i = j, i, j = 1, 2, . . . , n. Nota: A = (c 1)I + eeT e as diculdades surgem para valores de c prximos de 1 ou de 1 n. B.6.11 Este projecto semelhante a B.3.6, excepto que agora se trata de encontrar a soluo aproximada do deslocamento transversal de uma viga elstica encastrada numa extremidade e ectida por uma carga distribuda q(x) e uma carga Q concentrada na outra extremidade (ver a Figura B.6.2). Se u(x) for o deslocamento transversal, o equilbrio de foras traduz-se na seguinte EDO (onde todas as variveis foram adimensionalizadas) d4 u (x) = q(x), dx4 0<x<1

No caso presente, considerar q(x) = sin(x) e as seguintes condies de fronteira u(0) = 0, u (1) = 0, Escreva um programa que: a) Forme o sistema de equaes algbricas lineares resultantes da substituio da quarta derivada da EDO por diferenas nitas centrais numa malha uniforme de passo h = 1/n e diferenas nitas apropriadas (progressivas ou regressivas) para as condies de fronteira de modo a garantir que estas no prejudiquem a ordem de convergncia. Sugesto: Rever o Problema 3.9.24 ou consultar ABRAMOWITZ and STEGUN (1968). b) Resolva este sistema recorrendo factorizao da respectiva matriz. c) Compare os resultados obtidos com os valores exactos (fceis de obter). Nota: O condicionamento da matriz do sistema piora com n4 . d) Aplique a tcnica de renamento iterativo e verique em que medida esta melhora ou no os resultados.

u (0) = 0

(encastramento) (carga concentrada)

u (1) = Q = 1

A great discovery solves a great problem but there is a grain of discovery in the solution of every problem. Your problem may be modest; but it challenges your curiosity and brings into play your inventive faculties, and if you solve it by your own means, you may experience the tension and enjoy the triumph of discovery. G. Polya (1887-1985), How to solve it.

B.6 Sistemas de equaes lineares: mtodos directos

393

Figura B.6.2: Geometria para a EDO do Projecto B.6.11

Bibliograa
I. H. ABBOTT and A. E. von DOENHOFF. Theory of Wing Sections. Dover, 1959. M. ABRAMOWITZ and I. A. STEGUN. Handbook of Mathematical Functions with Formulas, Graphs and Mathematical Tables. Dover, 1968. R. A. ADAMS. Sobolev Spaces. Academic Press, 1975. J. H. AHLBERG, E. N. NILSON, and J. L. WALSH. The Theory of Splines and their Applications. Academic Press, 1967. H. AKIMA. A new method of interpolation and smooth curve tting based on local procedures. J. ACM, 17:589602, 1970. E. L. ALLGOWER and K. GEORG. Numerical Continuation Methods. Springer-Verlag, 1990. E. ANDERSON et al. LAPACK Users Guide. SIAM, 1995. S. F. ASHBY, T. M. MANTEUFFEL, and P. E. SAYLOR. An extended set of basic linear algebra subprograms. SIAM J. Numer. Anal., 27(6):15421568, 1990. K. E. ATKINSON. An Introduction to Numerical Analysis. J. Wiley, 1978. O. AXELSSON. Iterative Solution Methods. Cambridge University Press, 1996. G. A. BAKER, Jr. and P. GRAVES-MORRIS. Pad Approximants, Part I: Basic Theory. Encyclopedia of Mathematics and its Applications. Addison-Wesley, 1981a. G. A. BAKER, Jr. and P. GRAVES-MORRIS. Pad Approximants, Part II: Extensions and Applications. Encyclopedia of Mathematics and its Applications. Addison-Wesley, 1981b. R. BARRET et al. Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods. SIAM, 1994. N. K. BARY. A Treatise on Trigonometric Series. Pergamon Press, 1964. K.-J. BATHE and E. WILSON. Numerical Methods in Finite Element Analysis. Prentice-Hall, 1976.

394

Bibliograa

395

E. B. BECKER, G. F. CAREY, and J. T. ODEN. Finite Elements, An Introduction. PrenticeHall, 1981. P. BECKMAN. A History of (PI). St. Martins Press, 1971. J-P. BERRUT and L. N. TREFETHEN. Barycentric lagrange interpolation. SIAM Review, 463:501517, 2004. R. BHATIA. Positive Denite Matrices. Princeton University Press, 2007. A. BJRCK. Least squares methods. In P. G. Ciarlet and J. L. Lions, editors, Handbook of Numerical Analysis, volume 1. North-Holand, 1990. J. P. BOYD. Chebyshev & Fourier Spectral Methods. Springer-Verlag, 1989. M. BRAUN. Dierential Equations and Their Applications, An Introduction to Applied Mathematics. Springer-Verlag, 1983. S. C. BRENNER and L. R. SCOTT. The Mathematical Theory of Finite Element Methods. Springer-Verlag, 1994. C. BREZINSKI. Acclration de la Convergence en Analyse Numrique. Springer-Verlag, 1977. C. BREZINSKI and M. R. ZAGLIA. Extrapolation Methods: Theory and Practice. NorthHolland, 1991. E. O. BRIGHAM. The Fast Fourier Transform. Prentice-Hall, 1974. C. G. BROYDEN. A class of methods for solving nonlinear simultaneous equations. Mathematics of Computation, 19:577593, 1965. A. M. BRUASET. A Survey of Preconditioned Iterative Methods. Longman Scientic & Technical, 1995. J. C. BUTCHER. Numerical Methods for Ordinary Dierential Equations. J. Wiley, 2008. G. D. BYRNE and C. A. HALL, editors. Numerical Solution of Systems of Nonlinear Algebraic Equations. Academic Press, 1973. F. CAJORI. A History of Mathematical Notations. The Open Court Pub. Co., 1928, 1929. Reimpresso Dover 1993. C. CANUTO, M. Y. HUSSAINI, A. QUARTERONI, and T. A. ZANG. Spectral Methods ........ Springer-Verlag, 2006. G. F. CAREY and J. T. ODEN. Finite Elements, A Second Course. Prentice-Hall, 1983. B. H. CARNAHAN, H. A. LUTHER, and J. O. WILKES. Applied Numerical Methods. J. Wiley, 1969.

396

Bibliograa

B. W. CHAR et al. Maple V Language Reference Manual. Springer-Verlag, 1991. F. CHATELIN. Eigenvalues of Matrices. J. Wiley, 1993. F. CHATELIN and V. FRAYSS. Lectures on Finite Precision Computations. SIAM, 1996. E. W. CHENEY. Introduction to Approximation Theory. McGraw-Hill, 1966. W. CHENEY and D. KINCAID. Numerical Mathematics and Computing. Brooks/Cole, 1985. T. S. CHIHARA. An Introduction to Orthogonal Polynomials. Gordon and Breach, 1978. P. G. CIARLET. The Finite Element Method for Elliptic Problems. North-Holland, 1978. A. K. CLINE, C. B. MOLER, G. W. STEWART, and J. H. WILKINSON. An estimate for the condition number of a matrix. SIAM J. Numer. Anal., 16:368375, 1979. E. A. CODDINGTON and N. LEVINSON. Theory of Ordinary Dierential Equations. McGrawHill, 1955. S. D. CONTE and C. de BOOR. Elementary Numerical Analysis, An Algorithmic Approach. McGraw-Hill, 1980. C. C. CRYER. Numerical Functional Analysis. Oxford University Press, 1982. G. DAHLQUIST and A. BJRCK. Numerical Methods. Prentice-Hall, 1974. M. D. DAVIS, R. SIGAL, and E. J. WEYUKER. Computability, Complexity, and Languages. Academic Press, 1994. P. J. DAVIS. Interpolation and Approximation. Blaisdell, 1963. P. J. DAVIS and P. RABINOWITZ. Methods of Numerical Integration. Academic Press, 1984. C. de BOOR. A Practical Guide to Splines. Springer-Verlag, 1978. J.-P. DELAHAYE. Le Fascinant Nombre . Pour la Science, Diusion Belin, 1997. J. W. DEMMEL. Applied Numerical Linear Algebra. SIAM, 1997. J. E. DENNIS and J. J. MOR. Quasi-Newton methods, motivations and theory. SIAM Review, 19:4689, 1977. J. E. DENNIS, Jr. and R. B. SCHNABEL. Numerical Methods for Unconstrained Optimization and Nonlinear Equations. Prentice-Hall, 1983. J. DONEA and A. HUERTA. Finite Element Methods for Flow Problems. J. Wiley, 2003.

Bibliograa

397

J. J. DONGARRA. Performance of various computers using standard linear equations software. Technical Report CS-89-85, Oak Ridge National Laboratory, 1994. Nota: actualizado regularmente. J. J. DONGARRA, J. R. BUNCH, C. B. MOLER, and G. W. STEWART. LINPACK Users Guide. SIAM, 1979. J. J. DONGARRA, J. DuCROZ, S. HAMMARLING, and R. HANSON. An extended set of basic linear algebra subprograms. ACM Transactions on Mathematical Software, 14(1), 1988. I. DUFF and G. W. STEWART, editors. Sparse Matrix Proceedings. SIAM, 1978. I. S. DUFF, A. M. ERISMAN, and J. K. REID. Direct Methods for Sparse Matrices. Oxford University Press, 1989. H. ENGELS. Numerical Quadrature and Cubature. Academic Press, 1980. H. ENGL, M. HANKE, and A. NEUBAUER. Regularisation of Inverse Problems. Kluwer Academic Publishers, 1996. K. ERIKSSON, D. ESTEP, P. HANSBO, and JOHNSON C. Computational Dierential Equations. Cambridge University Press, 1996. B. FINE and G. ROSENBERGER. The Fundamental Theorem of Algebra. Springer-Verlag, 1997. B. A. FINLAYSON. The Method of Weighted Residuals and Variational Principles. Academic Press, 1972. G. FLEGG, editor. Number Through the Ages. MacMillan, 1989. G. FORSYTHE, M. A. MALCOM, and C. B. MOLER. Computer Methods for Mathematical Computations. Prentice-Hall, 1977. L. FOX. Romberg integration for a class of singular integrals. Comput. J., 10:8793, 1967. L. FOX and I. B. PARKER. Chebyshev Polynomials in Numerical Analysis. Oxford University Press, 1972. G. FREUD. Orthogonal Polynomials. Pergamon Press, 1971. C.-E. FROBERG. Numerical Mathematics: Theory and Computer Applications. BenjaminCummings, 1985. C. W. GEAR. Numerical Initial Value Problems in Ordinary Dierential Equations. PrenticeHall, 1971. A. GEORGE and J. LIU. Computer Solution of Large Sparse Positive Denite Systems. PrenticeHall, 1981.

398

Bibliograa

M. GHYKA. The Geometry of Art and Life. Dover, 1977. D. GOLDBERG. What every computer scientist should know about oating-point arithmetic. ACM Computing Surveys, 23(1):548, 1991. G. H. GOLUB and D. P. OLEARY. Some history of the conjugate gradient methods and lanczos algorithms: 19481976. SIAM Review, 31(1):50102, 1989. G. H. GOLUB and J. M. ORTEGA. Scientic Computing An Introduction with Parallel Computing. Academic Press, 1993. G. H. GOLUB and C. F. van LOAN. Matrix Computations. The Johns Hopkins University Press, 1989. G. H. GOLUB and J. H. WELSH. Calculation of gauss quadrature rules. Math. Comp., 23(?): 221230, 1969. A. R. GOURLAY and G. A. WATSON. Computational Methods for Matrix Eigenproblems. J. Wiley, 1973. I. S. GRADSHTEYN and I. M. RYZHIK. Table of Integrals, Series and Products. Academic Press, 1980. A. GREENBAUM. Iterative Methods for Solving Linear Systems. SIAM, 1997. A. GRIEWANK. Evaluating Derivatives: Principles and Techniques of Algorithmic Dierentiation. SIAM, 2000. C. W. GROETSCH. Inverse Problems in the Mathematical Sciences. Vieweg, 1993. W. HACKBUSCH. Iterative Solution of Large Sparse Systems of Equations. Springer-Verlag, 1994. J. HADAMARD, editor. Lectures on Cauchys Problem for Linear Partial Dierential Equations. Yale University Press, 1923. L. A. HAGEMAN and D. M. YOUNG. Applied Iterative Methods. Academic Press, 1981. E. HAIRER and G. WANNER. Solving Ordinary Dierential Equations II Sti and Dierential-Algebraic Problems. Springer-Verlag, 1991. E. HAIRER, S. P. NRSETT, and G. WANNER. Solving Ordinary Dierential Equations I Nonsti Problems. Springer-Verlag, 1987. P. R. HALMOS. Finite-Dimensional Vector Spaces. Van Nostrand, 1958. P. C. HANSEN. Rank-Decient and Discrete Ill-Posed Problems: Numerical Aspects of Linear Inversion. SIAM, 1998.

Bibliograa

399

P. C. HANSEN. Analysis of discrete ill-posed problems by means of the L-curve. SIAM Review, 34(4):561580, 1992. P. HENRICI. Discrete Variable Methods in Ordinary Dierential Equations. J. Wiley, 1962. P. HENRICI. Applied and Computational Complex Analysis, volume 1. J. Wiley, 1974. M. HESTENES. Conjugate Direction Methods in Optimization. Springer-Verlag, 1980. N. J. HIGHAM. Functions of Matrices: Theory and Computation. SIAM, 2008. N. J. HIGHAM. Accuracy and Stability of Numerical Algorithms. SIAM, 1996. F. B. HILDEBRAND. Introduction to Numerical Analysis. McGraw-Hill, 1974. R. A. HORN and C. R. JOHNSON. Matrix Analysis. Cambridge University Press, 1988. A. S. HOUSEHOLDER. The Theory of Matrices in Numerical Analysis. Dover, 1964. A. S. HOUSEHOLDER. The Numerical Treatment of a Single Nonlinear Equation. McGraw-Hill, 1970. K. HUANG. Computer Arithmetic: Principles, Architecture, and Design. J. Wiley, 1979. S. VAN HUFFEL and J. VANDERWALLE. The Toatal Least Squares Problem: Computational Aspects and Analysis. SIAM, 1991. H. E. HUNTLEY. The Divine Proportion, A Study in Mathematical Beauty. Dover, 1970. IEEE. IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Std 754 1985. SIGPLAN Notices 22:2, 1987. G. IFRAH. Histoire Universelle des Chires. Robert Laont, 1994. M. IRI, S. MORIGUTI, and Y. TAKASAWA. On a certain quadrature formula. J. Comp. Appl. Math., 2:219224, 1987. Traduo do artigo original em japons de 1970. E. ISAACSON and H. B. KELLER. Analysis of Numerical Methods. J. Wiley, 1966. R. D. JENKS and R. S. SUTOR. AXIOM The Scientic Computation System. Springer-Verlag, 1992. A. JENNINGS. Matrix Computations for Engineers and Scientists. J. Wiley, 1977. B. JIANG. The Least-Squares Finite Element Method. Springer-Verlag, 1998. C. JOHNSON. Numerical Solution of Partial Dierential Equations by the Finite Element Method. Cambridge University Press, 1992. H. B. KELLER. Numerical Methods for Two-Point Boundary Value Problems. Dover, 1992.

400

Bibliograa

C. T. KELLEY. Iterative Methods for Linear and Nonlinear Equations. SIAM, Philadelphia, PA, USA, 1995. ISBN 0-89871-352-8. URL http://www.siam.org. D. E. KNUTH. The Art of Computer Programming, vol. 2/Seminumerical Algorithms. AddisonWesley, 1998. Z. KOPAL. Numerical Analysis. Chapman and Hall, 1961. I. KOREN. Computer Arithmetic Algorithms. Prentice-Hall, 1993. T. W. KRNER. Fourier Analysis. Cambridge University Press, 1990. A. R. KROMMER and C. W. UEBERHUBER. Computational Integration. SIAM, 1998. V. I. KRYLOV. Approximate Calculation of Integrals. MacMillan, 1962. U. W. KULISH and W. L. MIRANKER. Computer Arithmetic in Theory and Practice. Academic Press, 1981. J. D. LAMBERT. Computational Methods in Ordinary Dierential Equations. J. Wiley, 1973. C. LANCZOS. Discourse on Fourier Series. Oliver and Boyd, 1966. C. LANCZOS. Applied Analysis. Dover, 1988. C. L. LAWSON and R. J. HANSON. Solving Least Squares Problems. Prentice-Hall, 1974. C. L. LAWSON, R. J. HANSON, D. KINCAID, and F. KROGH. Basic linear algebra subprograms for fortran usage. ACM Transactions on Mathematical Software, 5:308323, 1979. C. LEMOS and H. PINA. Mtodos Numricos: Complementos e Guia Prtico. IST Press, 2006. Y. L. LUKE. The Special Functions and Their Approximations, vols. I e II. Academic Press, 1969. J. L. LYNESS and B. W. NINHAM. Numerical quadrature and asymptotic expansions. Math. Comp., 21:162178, 1967. J. H. MATHEWS. Numerical Methods for Computer Science, Engineering, and Mathematics. Prentice-Hall, 1987. K. MENNINGER. Number Words and Number Symbols A Cultural History of Numbers. The MIT Press, 1969. Reimpresso Dover 1992. B. MERCIER. An Introduction to the Numerical Analysis of Spectral Methods. Springer-Verlag, 1989. R. E. MICKENS. Dierence Equations: Theory and Applications. Van Nostrand Reinhold, 1990.

Bibliograa

401

H. MINEUR. Techniques de Calcul Numrique. Dunod, 1966. A. R. MITCHELL and D. F. GRIFFITHS. The Finite Dierence Method in Partial Dierential Equations. J. Wiley, 1990. J. J. MOR, B. S. GARBOW, and K. E. HILLSTROM. User guide for MINPACK1. Technical Report ANL-80-74, Argonne National Laboratory, 1980. M. E. MORTENSON. Geometric Modeling. J. Wiley, 1985. A. W. NAYLOR and G. R. SELL. Linear Operator Theory in Engineering and Science. Holt, Reinhart and Winston, 1971. Y. NIEVERGELT. Total least squares: State-of-the-art regression in numerical analysis. SIAM Review, 36:258264, 1994. J. T. ODEN and G.F. CAREY. Finite Elements, Mathematical Aspects. Prentice-Hall, 1983. J. T. ODEN and L. F. DEMKOWICZ. Applied Functional Analysis. CRC Press, 1996. J. M. ORTEGA. Matrix Theory, A Second Course. Plenum Press, 1989a. J. M. ORTEGA. Introduction to Parallel and Vector Solution of Linear Systems. Plenum Press, 1989b. J. M. ORTEGA and W. C. RHEINBOLDT. Iterative Solution of Nonlinear Equations in Several Variables. Academic Press, 1970. A. M. OSTROWSKI. Solutions of Equations in Euclidean and Banach Spaces. Academic Press, 1966. M. L. OVERTON. Numerical Computing with IEEE Floating Point Arithmetic. SIAM, 2001. C. H. PAPADIMITRIOU. Computational Complexity. Addison-Wesley, 1994. B. N. PARLETT. The Symmetric Eigenvalue Problem. Prentice-Hall, 1980. D. A. PATTERSON and J. L. HENNESSY. Computer Architecture A Quantitative Approach. Morgan Kaufmann Publishers, 1996. J. A. PAULOS. Innumeracy: Mathematical Illiteracy and its Consequences. Penguin Books, 1990. L. PIEGL and W. TILLER. The NURBS Book. Springer-Verlag, 1995. S. PISSANETZKY. Sparse Matrix Technology. Academic Press, 1984. E. POLAK. Optimization. Springer-Verlag, 1997.

402

Bibliograa

M. J. POWELL. Approximation Theory and Methods. Cambridge University Press, 1981. P. M. PRENTER. Splines and Variational Methods. J. Wiley, 1975. P. RABINOWITZ, editor. Numerical Methods for Nonlinear Algebraic Equations. Gordon and Breach, 1970. A. RALSTON and P. RABINOWITZ. A First Course in Numerical Analysis. McGraw-Hill, 1978. J. N. REDDY. Applied Functional Analysis and Variational Methods in Engineering. McGrawHill, 1986. H.-J. REINHARDT. Analysis of Approximation Methods for Dierential and Integral Equations. Springer-Verlag, 1985. W. C. RHEINBOLDT. Methods for Solving Systems of Nonlinear Equations. SIAM, 1998. J. R. RICE. The Approximation of Functions, vol. 1, Linear Theory. Addison-Wesley, 1964. J. R. RICE. Matrix Computations and Mathematical Software. McGraw-Hill, 1981. J. R. RICE. Numerical Methods, Software, and Analysis. McGraw-Hill, 1983. T. J. RIVLIN. An Introduction to the Approximation of Functions. Dover, 1981. Y. SAAD. Iterative Methods for Sparse Linear Systems. SIAM, 2003. M. H. SCHULTZ. Spline Analysis. Prentice-Hall, 1973. L. L. SCHUMAKER. Spline Functions: Basic Theory. J. Wiley, 1981. H. SCHWARTZ, H. RUTISHAUSER, and E. STIEFEL. Numerical Analysis of Symmetric Matrices. Prentice-Hall, 1973. Bl. SENDOV and A. ANDREEV. Approximation and interpolation theory. In P. G. Ciarlet and J. L. Lions, editors, Handbook of Numerical Analysis, volume 3. North-Holland, 1994. Bl. SENDOV, A. ANDREEV, and N. KJURKCHIEV. Numerical solution of polynomial equations. In P. G. Ciarlet and J. L. Lions, editors, Handbook of Numerical Analysis, volume 3. North-Holland, 1994. L. F. SHAMPINE and M. K. GORDON. Computer Solution of Ordinary Dierential Equations. The Initial Value Problem. Freeman, 1975. B. T. SMITH et al. Matrix Eigensystem Routines EISPACK Guide. Springer-Verlag, 1976. D. E. SMITH. A Source Book in Mathematics. Dover, 1959.

Bibliograa

403

G. D. SMITH. Numerical Solution of Partial Dierential Equations: Finite Dierence Methods. Oxford University Press, 1978. M. A. SNYDER. Chebyshev Metods in Numerical Approximation. Prentice-Hall, 1966. W. SQUIRE and G. TRAPP. Using complex variables to estimate derivatives of real functions. SIAM Review, 40(1):110112, 1998. P. H. STERBENZ. Floating-Point Computation. Prentice-Hall, 1974. H. J. STETTER. Analysis of Discretization Methods for Ordinary Dierential Equations. Springer-Verlag, 1970. G. W. STEWART. Matrix Algorithms: Eigensystems, volume 2. SIAM, 2001. G. W. STEWART. Introduction to Matrix Computations. Academic Press, 1973a. G. W. STEWART. Conjugate direction methods for solving systems of linear equations. Numerische Mathematik, 21:285297, 1973b. G. W. STEWART. On the early history of the singular value decomposition. SIAM Review, 35 (4):551566, 1993. G. W. STEWART. Matrix Algorithms: Basic Decompositions, volume 1. SIAM, 1998. G. W. STEWART and J. SUN. Matrix Perturbation Theory. Academic Press, 1990. J. STOER and R. BULIRSH. Introduction to Numerical Analysis. Springer-Verlag, 1993. G. STRANG. Linear Algebra and its Applications. Academic Press, 1980. A. H. STROUD. Approximate Calculation of Multiple Integrals. Prentice-Hall, 1971. A. H. STROUD and D. SECREST. Gaussian Quadrature Formulas. Prentice-Hall, 1966. G. SZEGO. Orthogonal Polynomials. American Mathematical Society, 1959. R. TEWARSON. Sparse Matrices. Academic Press, 1973. A. N. TIKHONOV and V. Y. ARSENIN. Solution of IllPosed Problems. J. Wiley, 1977. J. F. TRAUB. Iterative Methods for the Solution of Equations. Prentice-Hall, 1964. L. N. TREFETHEN and D. BAU. Numerical Linear Algebra. SIAM, 1997. R. VARGA. Matrix Iterative Analysis. Prentice-Hall, 1962. V. VEMURI and W. J. KARPLUS. Digital Computer Treatment of Partial Dierential Equations. Prentice-Hall, 1981.

404

Bibliograa

H. VAN DER VORST. Iterative Krylov Methods for large Linear Systems. Cambridge University Press, 2003. J. S. WALKER. Fast Fourier Transforms. CRC Press, 1896. P. L. WALKER. The Theory of Fourier Series and Integrals. J. Wiley, 1886. D. S. WATKINS. Fundamentals of Matrix Computations. J. Wiley, 1991. J. H. WILKINSON. Rounding Errors in Algebraic Processes. Prentice-Hall, 1964. Reimpresso Dover 1994. J. H. WILKINSON. The Algebraic Eigenvalue Problem. Clarendon Press, 1988. J. H. WILKINSON and C. REINSCH. Springer-Verlag, 1971. Handbook for Automatic Computation, volume 2.

J. WIMP. Sequence Transformations and Their Applications. Academic Press, 1981. S. WOLFRAM. Mathematica A System for Doing Mathematics by Computer. Addison-Wesley, 1988. F. YAMAGUCHI. Curves and Surfaces in Computer Aided Geometrical Design. Springer-Verlag, 1988. D. M. YOUNG. Iterative Solution of Large Linear Systems. Academic Press, 1971. D. M. YOUNG and R. T. GREGORY. A Survey of Numerical Mathematics, volume 1. AddisonWesley, 1972. Z. ZLATEV. Computational Methods for General Sparse Matrices. Kluwer Academic Publishers, 1991. A. ZYGMUND. Trigonometric Series. Cambridge University Press, 1968.

Knowledge is of two kinds. We know a subject ourselves or we know where we can nd information upon it. Samuel Johnson (1709-1784)
J. Boswell, The Life of Samuel Johnson

ndice
ABBOTT and von DOENHOFF (1959), 135 DAVIS (1963), 63, 110, 125, 603 ABRAMOWITZ and STEGUN (1968), 146, 166, DELAHAYE (1997), 765 170, 177, 198, 669, 780, 787 DEMMEL (1997), 395, 434, 510 ADAMS (1975), 755, 764 DENNIS and MOR (1977), 540 AHLBERG et al. (1967), 126 DENNIS and SCHNABEL (1983), 525, 533, 540 AKIMA (1970), 771 DONEA and HUERTA (2003), 725 ALLGOWER and GEORG (1990), 540 DONGARRA et al. (1979), 327 ANDERSON et al. (1995), 327, 396 DONGARRA et al. (1988), 327 DONGARRA (1994), 327 ASHBY et al. (1990), 327, 510 DUFF and STEWART (1978), 300 ATKINSON (1978), xx DUFF et al. (1989), 327 AXELSSON (1996), 329, 510 ENGELS (1980), 205 BARRET et al. (1994), 510 ENGL et al. (1996), 443 BATHE and WILSON (1976), 382 ERIKSSON et al. (1996), 725 BECKER et al. (1981), 709, 725 FINE and ROSENBERGER (1997), 71 BECKMAN (1971), 765 FINLAYSON (1972), 725 BERRUT and TREFETHEN (2004), 125 FLEGG (1989), 46 BHATIA (2007), 327 FORSYTHE et al. (1977), xx BJRCK (1990), 413 FOX (1967), 200 BOYD (1989), 725 FROBERG (1985), xx BRENNER and SCOTT (1994), 725 GEORGE and LIU (1981), 327 BREZINSKI and ZAGLIA (1991), 258 BREZINSKI (1977), 217, 258 GHYKA (1977), 258 BROYDEN (1965), 540 GOLDBERG (1991), 24, 46 BRUASET (1995), 510 GOLUB and OLEARY (1989), 510 BYRNE and HALL (1973), 540 GOLUB and ORTEGA (1993), 510 CAJORI (1928, 1929), 46 GOLUB and van LOAN (1989), 327, 367, 374, 395, CANUTO et al. (2006), 725 442, 448, 450, 510 GOURLAY and WATSON (1973), 395 CAREY and ODEN (1983), 725 CARNAHAN et al. (1969), xx GRADSHTEYN and RYZHIK (1980), 201 GREENBAUM (1997), 510 CHAR et al. (1991), 155 CHATELIN and FRAYSS (1996), 47 GRIEWANK (2000), 156, 540 GROETSCH (1993), 443 CHATELIN (1993), 395, 396 CHENEY and KINCAID (1985), xx HACKBUSCH (1994), 510 HADAMARD (1923), 31 CHENEY (1966), 63, 603 CIARLET (1978), 725 HAGEMAN and YOUNG (1981), 510 HALMOS (1958), 343 CLINE et al. (1979), 317 CONTE and de BOOR (1980), xx, 297 HANSEN (1992), 442 CRYER (1982), 764 HANSEN (1998), 442 DAHLQUIST and BJRCK (1974), xx HENRICI (1974), 71, 258 DAVIS and RABINOWITZ (1984), 203, 205 HESTENES (1980), 510 DAVIS et al. (1994), 47 HIGHAM (1996), 47, 322, 327, 786

405

406

ndice

HIGHAM (2008), 396 HILDEBRAND (1974), xx, 604 HORN and JOHNSON (1988), 326, 480, 739 HOUSEHOLDER (1964), 326 HOUSEHOLDER (1970), 257 HUANG (1979), 47 HUFFEL and VANDERWALLE (1991), 443 HUNTLEY (1970), 258 IEEE (1987), 47 IFRAH (1994), 46 IRI et al. (1987), 201 ISAACSON and KELLER (1966), xx JENKS and SUTOR (1992), 155 JENNINGS (1977), 327 JIANG (1998), 725 JOHNSON (1992), 725 KELLER (1992), 725 KELLEY (1995), 540 KNUTH (1998), 13, 46, 125 KOPAL (1961), 146, 166 KOREN (1993), 46 KROMMER and UEBERHUBER (1998), 205 KRYLOV (1962), 177, 198 KULISH and MIRANKER (1981), 46 LAWSON and HANSON (1974), 442 LAWSON et al. (1979), 24, 327 LEMOS and PINA (2006), 765 LYNESS and NINHAM (1967), 200 MATHEWS (1987), xx MENNINGER (1969), 46 MERCIER (1989), 725 MITCHELL and GRIFFITHS (1990), 725 MORTENSON (1985), 126 MOR et al. (1980), 540 NAYLOR and SELL (1971), 550, 579, 735, 737, 739, 751, 760, 764 NIEVERGELT (1994), 443 ODEN and CAREY (1983), 725 ODEN and DEMKOWICZ (1996), 699, 764 ORTEGA and RHEINBOLDT (1970), 539 ORTEGA (1989a), 326 ORTEGA (1989b), 327 OSTROWSKI (1966), 246, 257 OVERTON (2001), 47 PAPADIMITRIOU (1994), 47 PARLETT (1980), 396 PATTERSON and HENNESSY (1996), 47 PAULOS (1990), 52 PIEGL and TILLER (1995), 126

PISSANETZKY (1984), 327 POLAK (1997), 540 POWELL (1981), 522, 603 PRENTER (1975), 126 RABINOWITZ (1970), 238, 257, 540 RALSTON and RABINOWITZ (1978), xx REDDY (1986), 764 REINHARDT (1985), 725 RHEINBOLDT (1998), 540 RICE (1981), 327 SAAD (2003), 488, 510 SCHULTZ (1973), 126 SCHUMAKER (1981), 126 SCHWARTZ et al. (1973), 396 SENDOV and ANDREEV (1994), 125 SENDOV et al. (1994), 258 SMITH et al. (1976), 396 SMITH (1959), 46 SMITH (1978), 725 SQUIRE and TRAPP (1998), 772 STERBENZ (1974), 46 STEWART and SUN (1990), 327, 396 STEWART (1973a), 327 STEWART (1973b), 483 STEWART (1993), 442 STEWART (1998), 327 STEWART (2001), 395 STOER and BULIRSH (1993), xx STRANG (1980), 275, 278, 279, 326, 725 STROUD and SECREST (1966), 205 STROUD (1971), 177, 205 TEWARSON (1973), 327 TIKHONOV and ARSENIN (1977), 437 TRAUB (1964), 257, 262 TREFETHEN and BAU (1997), 47, 327, 395, 510 VARGA (1962), 464, 470, 510 VEMURI and KARPLUS (1981), 725 VORST (2003), 488, 510 WATKINS (1991), 327, 395 WILKINSON and REINSCH (1971), 327, 382 WILKINSON (1964), 46, 323 WILKINSON (1988), 395 WIMP (1981), 258 WOLFRAM (1988), 155 YAMAGUCHI (1988), 126 YOUNG and GREGORY (1972), 237 YOUNG (1971), 456, 464, 470, 510 ZLATEV (1991), 327, 510 de BOOR (1978), 126

ndice

407

acelerao polinomial, 471 Adams, 645 Adams-Bashforth mtodos de, 645 Adams-Moulton mtodos de, 647 adaptativo no-iterativo, 190 iterativo, 192 adaptativos mtodos de integrao, 189 Aitken frmula de, 243 transformao iterada, 244 Aitken-Neville, 83 ajustamento, 413 Akima, subspline, 771 Al-Khwarismi, 46 algarismos, 2 algoritmo, 44, 46 progressivamente estvel, 39 regressivamente estvel, 39 algoritmos preciso, 38 aliasing, 589 alisamento, 592 global, 593 local, 593 amplitude, 339 aniquilador, polinmio, 360 antilimite, 265 anlise de funes, 61 directa, 32 estatstica de erros, 43 indirecta, 32 progressiva, 32 regressiva, 32 aritmtica modelo de, 29 Arnoldi algoritmo de, 487 decomposio de, 488 mtodo de ortogonalizao completa, 490 arredondamento, 13 simtrico, 13 assemblagem, 709 associatividade da soma, 273

atractor, 241 aumentada matriz, 444 auto-iniciveis, 647 autnoma, EDO, 613 auxiliar, 507 Bairstow mtodo de, 258 Bairstow, mtodo de, 523 Banach, espao de, 747 banda inferior, 310 largura da, 310 superior, 310 baricntrica primeira frmula, 78 segunda frmula, 78 baricntricas frmulas, 125 baricntricos pesos, 78 base, 2, 11 binria, 8 decimal, 3 hexadecimal, 7 octal, 48 ortonormal, 751 Beltrami, 448 bem condicionada, 35 Bernoulli, nmeros de, 194 Bernstein, polinmios de, 63 Bessel desigualdade de, 548 Bzier, curvas de, 123 Binet, frmula de, 232 Birkho interpolao de, 61 bisseco, mtodo da, 222 bit binary digit, 8 implcito, 28 BLAS, 24 bolha, funes, 724 bordejamento, 331 Broyden frmula de actualizao, 530 mtodo de, 531 Broyden, mtodo de, 529 BubnovGalerkin

408

ndice

mtodo de, 685 Budan-Fourier, regra de, 248 Butcher quadro de, 626 cancelamento subtractivo, 19 caracterstica, 278 equao, 342 caractersticos, valores e vectores, 338 Cauchy mtodo de, 478 regra de, 249 sucesso de, 746 Cayley-Hamilton, teorema de, 358 centro, 68 CGNE, mtodo, 518 CGNR, mtodo, 518 Chebyshev mtodo de acelerao, 474 ns de, 90, 93 polinmios de, 63, 177, 561, 566 Chebyshev-Lobatto, pontos de, 93 Choleski, 309 Christoel-Darboux, 558 Clement, matrizes de, 786 Clenshaw, algoritmo de, 568 codiagonais, 272 coecientes, 163, 576, 734 coercividade, 694 Collatz, 513 colocao mtodo de, 676 ns de, 676 ortogonal, 683 combinao linear, 734 complexidade computacional, 45 espacial, 45 polinomial, 45 temporal, 45 compresso, de imagens, 434 comprimento, do elemento, 703 comutatividade da soma, 273 do produto, 274 condio da raiz, 654 de compatibilidade, 728 condies de fronteira de Neumann, 674

de Robin, 674 de Dirichlet, 674 de Neumann, 697 de Robin, 698 essenciais, 697 homogneas, 674 mistas, 674 naturais, 697 conformes, matrizes, 274 congruncia, 403, 504 conjugacidade, 493 conjugados ndices, 740 consistente, 414, 453 continuao, mtodos de, 537 contractiva, funo, 748 controlo adaptativo, 642 controlo, pontos de, 124 conveco-difuso, 720 convergente mtodo, 453 sucesso, 745 convergncia como, 216 global, 219 linear, 217 local, 219 melhor, 216 mqais rpida, 216 pior, 216 Q-linear, 217 Q-supralinear, 217 convergncia-Q, 217 ordem de, 217 convergncia-R, 217 ordem de, 220 convexa, funo, 734 convexidade, 90 convexo envolvente, 138, 734 convexo, conjunto, 734 Cooley-Tukey, 591 corda mtodo da, 526 corrector, 661 Courant-Fischer teorema, 365 Cramer, regra de, 279 Crank-Nicholson, 620 Crout, 294

ndice

409

curvas representao paramtrica, 122 Ca, teorema de, 699 Davidon, actualizaes de, 542 decomposio aditiva, 457 em valores singulares, 431 espectral, 353 polar, 449 defeituosa, matriz, 343 defeituoso, valor prprio, 343 decincia, 278 deao, 252, 355 denso, subconjunto, 738 dependente, linearmente, 734 derivao algortmica, 156, 540 automtica, 156, 540 derivao numrica, 139 Descartes regras dos sinais de, 247 descida, 474, 532 mais inclinada, 476 desigualdade das mdias aritmtica e geomtrica, 728 de Friedrichs, 692 de Hlder, 690, 740 de Minkowski, 742 de Schwarz, 749 de Young, 740 triangular, 738 deslocamentos, vector de, 339 desnormalizado, nmero, 30 determinante, 302 diagonal dominante por colunas, 276 dominante por linhas, 275 principal, 272 diferenas centrais, 96 divididas, 80 divididas conuentes, 106 frmula de Newton, 97 progressivas, 95 regressivas, 95 diferenas divididas tabela, 83 diferenas nitas, 142, 143, 312, 713 centrais, 143

progressivas, 142, 144 regressivas, 142, 144 difusibilidade numrica, 723 direco caracterstica, 338 de descida, 474 de descida mais inclinada, 476 de pesquisa, 475 principal, 338 prpria, 338, 341 Dirichlet condio de fronteira, 674 funo de, 752 ncleo de, 577 discretizao, 676 distoro, 589 distncia, 737, 745 dominante, 341, 369, 460, 462, 463 generalizada, 518 Doolittle, 292 dgito mais signicativo, 6 dgitos correctos, 26 de guarda, 17 economizao, 573 EDO autnoma, 613 homognea, 613 linear, 613 EISPACK, 396 elemento de referncia, 710 elemento nito denio, 703 elementos, 271 diagonais, 272 nitos, 703 isoparamtricos, 711 lagrangeanos, 707 elipticidade, 694 enchimento, 305 energia, 702 funcional da, 702 norma da, 695 entrelaamento, 390 equaes integrais, mtodos de tiro, 725 equilibragem implcita, 302

410

ndice

por linhas, 302 equivalentes normas, 738 sistemas, 282 equivalncia, relao de, 401 erro local, 621 de integrao, 175 de truncatura, 616, 716 global, 621 progressivo, 33 regressivo, 33 erros absolutos, 14 anlise estatstica de, 43 assimptticos, 217 avaliao experimental, 43 de interpolao, 88 de representao, 14 relativos, 14, 316 espao lp , 739 linear, 732 com produto interno, 748 completo, 747 das colunas, 278 das linhas, 278 de Banach, 747 de Hilbert, 750 de nulidade, 278 de nulidade esquerdo, 278 de Sobolev, 756 dual algbrico, 763 dual topolgico, 763 linear, 273 mtrico, 738 normado, 738 espectro, 341 essencialmente limitada, 752 iguais, 752 estgios, 626 estabilidade absoluta, 638 de algoritmos, 39 linear, 636 polinmio de, 658 progressiva, 39 regio de, 637

regressiva, 39 relativa, 638 zero, 654 estacionrio, 216, 452 estocstica, matriz duplamente, 407 por colunas, 407 por linhas, 406 Euler, 617 integral de primeira espcie, 201 mtodo modicado, 628 mtodo progressivo, 618 mtodo regressivo, 618 transformao de, 102 Euler-Cauchy, 628 Euler-Maclaurin, 192, 194 explcito mtodo de Euler, 618 mtodo de Runge-Kutta, 626 expoente, 11 enviesado, 28 extrapolador, 647 extrapolao, 471, 474 factor de crescimento, 323, 637 factorizao LU, 290 QR, 427 compacta, 293 de Choleski, 309 incompleta, 508 triangular, 290 falsa posio mtodo da, 226 variantes, 227 fase, 339 Ferguson-Coons, curva de, 137 Fibonacci, 46 nmeros de, 232 sucesso de, 232, 257 Filon, mtodo de, 777 ltragem, factor de, 435 ops, 45 FOM, 510 forma de potncias simples, 65 forma bilinear, 691 formas de Newton, 68 de potncias centradas, 68

ndice

411

factorizadas, 73 formas polinomiais, 65 formato IEEE alargado, 27 duplo, 27 simples, 27 formulao clssica, 682 fraca, 682 Fourier coecientes de, 547 matriz de, 587 srie de, 578 transformada de, 578 transformada discreta, 589 transformadas rpidas, 591 transformao de, 578 Fourier-Lagrange, coecientes, 585 frequncias, 339 do polinmio trigonomtrico, 576 prprias, 339 Friedrichs desigualdade de, 692, 728 Frobenius norma de, 763 funcional, 701 da energia, 702 linear, 757 fundamental, sucesso, 746 funo binomial, 97 contractiva, 239 contnua, 747 de iterao, 216 degrau, 753 incremental, 617 lipschitzeana, 748 mensurvel, 755 peso, 176 funes convexas, 734 de forma, 703 simtricas elementares, 73 tentativa, 675 teste, 680 Galerkin condio de, 482 mtodo, 684 Gauss

condensao de, 286 mtodo de, 285 transformaes de, 285 Gauss-Lobatto, regras de, 182 Gauss-Radau, regras de, 181 Gauss-Seidel, 461 com relaxao, 468 simtrico, 464 generalizado, problema, 340 Gershgorin crculo de, 366 regio de, 366 Gibbs, fenmeno de, 582 Givens mtodo de, 382 rotaes de, 382 GMRES, 510 gradiente, mtodos de, 476 gradientes conjugados mtodo dos, 496 Gram, matriz de, 546 Gram-Schmidt clssico, 423 modicado, 426 grau de exactido, 163 do polinmio algbrico, 61 do polinmio nulo, 62 do polinmio trigonomtrico, 576 graus de liberdade, 703 Green funo de, 730 Gronwall, lema de, 670 guarda, dgitos de, 17 Haar condio de, 419 subespao de, 419 Hadamard desigualdade de, 447 problema bem posto, 31 problema mal posto, 31 Hermite interpolao de, 61 polinmios de, 179, 567 Heun segunda ordem, 628 terceira ordem, 629 Hilbert espao de, 750

412

ndice

matriz de, 333, 547 Hirsch, 406 Hlder desigualdades de, 740 Holladay, teorema de, 119 homognea, EDO, 613 Horner, algoritmo de, 65, 125, 607 Householder mtodo de descida, 517 reexo de, 383 idempotente, matriz, 399 identicao, 448 IEEE 754, 27 Illinois mtodo de, 780 Illinois, mtodo de, 227 implcitos, mtodos, 619, 626, 648 IMSL, 327 IMT, transformao, 201 inconsistentes, 414 incremento, 522 independente, linearmente, 734 integrvel, localmente, 755 interpolao de Birkho, 61 de Hermite, 61, 103 de Lagrange, 61 inversa, 86 osculatria, 104 trigonomtrica, 585 intervalo fundamental, 577 intratvel, computacionalmente, 45 inversa de Moore-Penrose, 440 inversa aproximada, 458, 515 isometria, 764 isoparamtricos, elementos, 711 iterao primria, 534 secundria, 534 iteraes em subespaos, 374 iteraes ortogonais, 374 Jacobi, 459 clssico, 378 com relaxao, 465 cclico, 381 polinmios de, 177, 566

rotao de, 378 jacobiano, 162 Jordan blocos de, 397 forma cannica, 456 Kahan, somatrio, 23 Kantorovich, desigualdade de, 480 Knuth, 13 Krylov matriz de, 360 projeco em subespaos, 486 subespao de, 360 sucesso de, 360, 369 Kutta, 629 Lagrange identidade trigonomtrica de, 608 multiplicadores de, 437 polinmios de, 76 lagrangeanos elementos nitos, 707 Laguerre polinmios de, 179, 567 Lanczos algoritmo simtrico, 491 estimativa de, 211 mtodo de, 564 LAPACK, 327, 396 Lax-Milgram, teorema de, 695 Lebesgue constante, 94 funo, 94 integrao de, 754 integrvel , 755 teorema de, 752 Legendre polinmios de, 175, 558 Lehmer-Schur, regra de, 251 Levy-Desplanques, 336 linearizao, 441 LINPACK, 327 Liouville, 268 Lipschitz, 614 condio de, 630 constante de, 614 lipschitzeana, 614 Lissajous, guras de, 606 mximo, princpio do, 718

ndice

413

mal condicionada, 35 malha, 112, 614, 703 parmetro, 112, 614, 703 uniforme, 614, 703 mantissa, 11 Markov, 159 massas, matriz de, 339 matriz pcclica, 403 anti-hermiteana, 345 anti-simtrica, 272 aumentada, 444 circulante, 408 companheira, 398 congruente, 403 convergente, 455 de conveco, 708 de derivao, 148 de Fourier, 408, 587 de iterao, 452 de massa, 708 de massas, 339 de rigidez, 708 denida negativa, 275, 345 denida positiva, 275, 345 denida seminegativa, 345 denida semipositiva, 345 denio, 271 densa, 304 diagonal, 272 diagonal dominante por colunas, 276 diagonal dominante por linhas, 275 diagonalizvel, 349 duplamente estocstica, 407 esparsa, 304 estocstica por colunas, 407 estocstica por linhas, 406 exponencial de, 350 hermiteana, 345 idempotente, 399 identidade, 272 iguais, 273 inversa, 274 irredutvel, 315 jacobiana, 521 montona, 328 nilpotente, 404 normal, 357 nula, 272

no-positiva, no-negativa, 272 ortogonal, 274, 345 particionada, 276 permutao elementar, 283 positiva, negativa, 272 pseudo-inversa, 420, 438 quadrada, 271 quase triangular, 348 rectangular, 271 redutvel, 315 semidenida negativa, 275 semidenida positiva, 275 similar ou semelhante, 353 simtrica, 272 soma, 273 transposta, 274 trapezoidal inferior, 272 trapezoidal superior, 272 triangular inferior, 272 triangular inferior elementar, 285 triangular inferior por blocos, 348 triangular superior, 272 triangular superior por blocos, 348 unitria, 345 matrizes de elementares locais, 709 maximal, conjunto, 750 medida nula, 751 Mersenne, nmeros de, 48 Michelson, 582 Milne, 663 mtodos de, 650 minimal polinmio, 361 minimax, 416 Minkowski desigualdades de, 742 MINPACK, 540 modelo logstico, 783 modos, 339 momentos, 116 monotonicidade, 90 monmios, 61 Moore-Penrose inversa de, 440 mudana de origem, 371 Muller, mtodo de, 236 multiplicidade, 213 algbrica, 342

414

ndice

de um zero, 72 geomtrica, 341 mtodo da corda, 526 de ortogonalizao incompleta, 491 de ortogonalizao reiniciado, 491 de ortogonalizao completa de Arnoldi, 490 de ortogonalizao truncada, 491 do resduo mnimo, 499 dos gradientes conjugados, 496 dos resduos conjugados, 501 mtodo das potncias, 369 directas, 369 inversas, 374 mtodos convergentes, 453 de passo mltiplo, 617, 645 de passo simples, 615 directos, 271 espectrais, 725 iterativos, 271, 451 lineares generalizados, 533 multipasso, 645 multipasso lineares, 650 mnimo, princpio do, 718, 731 mnimos quadrados, 414 ponderados, 421 totais, 443, 450 NACA, pers alares, 135 NAG, 327 NaN, 30 nega-decimal, 49 Neumann, 515 condio de fronteira, 674, 697 srie truncada, 507 Newton, 233 mtodo de, 521 mtodos quase-Newton, 529 Newton-Raphson, 233 Nordsieck, estimativa de, 668 norma, 738 de operadores lineares, 759 absoluta, 739 da energia, 695 da soma, 743 de Frobenius, 763 de Hlder ou lp , 739 de Lebesgue ou Lp , 740 de matrizes, 761

de mximo, 60, 744 discreta, 615 do supremo, 744 euclideana, 743, 744, 748 euclidiana, 344 montona, 739 normais, 417 normas equivalentes, 738 notao cientca, 11 nulidade, 278 Nystrm mtodos de, 649 no-estacionrio, 216, 452 ns da malha, 614 de interpolao, 59 ncleo, 278, 557 nmero algbrico, 268 de condio absoluto, 37 relativo, 37 desnormalizado, 30 subnormal, 30 transcendente, 268 nmero de condio, 205 absoluto, 33 de matrizes, 317 relativo, 33 Olver, 261 operador, 100 linear, 761 de derivao, 100 de dualidade, 764 identidade, 97 ilimitado, 759 limitado, 759 linear, 757 no-negativo, 715 translao progressiva, 97 translao regressiva, 97 operaes dinmicas, 305 essencialmente dinmicas, 305 estticas, 305 simplesmente dinmicas, 305 operaes elementares, 283 optimal, 132, 696

ndice

415

ordem, 271 primeira, 217 convergncia, 615 de convergncia-Q, 217 de convergncia-R, 220 quadrtica, 217 ortogonais funes, 750 vectores, 344 ortonormal, 750 overow, 12 Pad aproximante ou interpolante, 598 aproximantes diagonais, 598 tabela de, 598 par prprio, 341 Parseval, igualdade de, 549, 550 parte fraccionria, 9, 28 inteira, 9 Pascal matrizes de, 785 passo, 142, 614 constante, 614 multipasso, 617 mltiplo, 617 simples, 615, 617 Pegasus, mtodo de, 227, 780 Pei matriz de, 787 penalizao, 436 peridica, funo, 575 permutao de linhas, 283 de colunas, 299 perturbaes relativas, 316 perodo, 575 pesos, 163 pesos baricntricos, 78 pesquisa linear, 533 PetrovGalerkin mtodo de, 685 Petrov-Galerkin condio de, 482 Pitgoras, 548 Pitgoras, teorema de, 546 piv, 287 parcial, 302 com patamar, 300

diagonal ou simtrico, 306 parcial, 299 total, 299 pixel, 434 Poincar, desigualdade de, 729 polar, decomposio, 449 polinmio caracterstico, 342 aniquilador, 360 caracterstico, 652 coecientes, 61 de iterao, 457 denio, 61 estvel, 268 extrapolador, 90 grau, 61 interpolador, 71, 74, 75 minimal, 361 mnico, 61 nodal, 75, 79 nulo, 61 recproco, 267 residual, 486 polinmios de Bernstein, 63 ortogonais, 553 trigonomtricos, 576 ponto de atraco, 241 de repulso, 241 xo, 239, 452, 536 ponto utuante, 12 positividade, 90 potncias mtodo das, 369, 374 preciso de algoritmos, 38 preciso plena, 257 precondicionamento, 504 direito, 504 esquerdo, 504 misto, 504 preditor, 661 preditor-corrector, 648 principais, valores e vectores, 338 princpios aditivo, 3 aditivo, 2 multiplicativo, 4

416

ndice

subtractivo, 2 problema modelo, 636 problemas inversos, 443 processo dinmico discreto, 783 produto de matrizes, 273 por um escalar, 273 produto interno, 24, 344, 748 programa, 44 projeco mtodos de, 482 ortogonal, 420, 421 projeco complementar, 420 proporo urea, divina, 258 propriedade interpolatria, 705 pseudo cdigo, 47 pseudo-inversa matriz, 438 Ptolomeu, 48 Pclet, nmero de, 720 quadratura, 163 quase-Newton mtodos, 529 quase-optimal, 696, 700 raio espectral, 341 raiz da equao, 213 primitiva, 586 Rayleigh, quociente de, 362 Rayleigh-Ritz mtodo de, 702 teorema, 364 reconstruo, de matrizes, 433 reduo, 252 referncia, elemento de, 710 renamento iterativo, 325 regras compostas, 182 de Gauss, 173 de Gauss-Hermite, 179 de Gauss-Jacobi, 177 de Gauss-Laguerre, 179 de Gauss-Legendre, 177 de Gauss-Lobatto, 182 de Gauss-Radau, 181 de integrao, 163 de Newton-Cotes, 166

de Simpson, 166, 184 do ponto mdio, 165, 184 do rectngulo, 164, 183 do trapzio, 165, 184 do trapzio corrigida, 172, 184 positivas, 188 regras de formao, 2 regresso linear, 411 regula falsi, mtodo da, 226 regular, 394 regularizao, 434 de Tikhonov, 437 por penalizao, 436 por ltragem, 434 relaxao, 465 factor de, 465 ptima, 470 relao integral, 120 representao normalizada, 11 repulsor, 241 resduo, 324, 362, 674 relativo, 324 Richardson, 196, 210 extrapolao de, 154 mtodo de, 504, 512 Riemann, integrais , 751 Riesz, representao de, 759 rigidez, 90, 665 matriz de, 339 RKF4(5), 644 Robin condio de fronteira, 674, 698 Rodrigues, frmula de, 555 Romberg, 196 rotao plana, 377 Runge-Kutta, 623 quarta ordem, 629 Runge-Kutta-Fehlberg, 644 Rutishauser, 376, 378 Schoenberg, 112 Schrder, 261 Schur, 406 decomposio de, 356 teorema de, 355 vectores de, 356 Schur-Toeplitz, teorema, 357 Schwarz, desigualdade de, 749 secante

ndice

417

equao da, 529 mtodo da, 229 semi-implcitos, mtodos, 626 semi-iterativos, mtodos, 471 seminorma, 738 separao, 390 ShermanMorrison, 531, 541 ShermanMorrisonWoodbury, 542 simetrizao, matriz de, 468 simetrizvel, 468 Simpson regra de, 166 sistema completo, 349 homogneo, 278 ortonormal completo, 751 sistemas de EDOs, 664 de equaes lineares, 270 rgidos, 666 sistemas de numerao, 2 Sobolev espaos de, 690, 756 sobre-relaxao, 465 sobredeterminado, 411 somatrio compensado, 23 recursivo, 21 spline, 112 completo, 117 cbico, 116 denio, 112 natural, 117 peridico, 118 quadrtico, 114 splines com tenso , 122 Steensen, mtodo de, 245 Stieltjes, 554 Stirling frmula de, 132 sub-relaxao, 465 subdiagonais, 272 subespao prprio, 341 submatrizes, 276 activas, 287 submultiplicativas, propriedades, 760 subnormal, nmero, 30

subsidirio, 507 substituies ascendentes, 280 descendentes, 280 superconvergncia, 143, 158 suporte, 736 local, 706 supradiagonais, 272 supremo essencial, 752 Sylvester, equao de, 402 srie, 571 sries, de potncias, 62 sntese, 61 tenso, splines com, 122 teorema de Weierstrass, 63 Fundamental da lgebra, 71 Thomas, algoritmo de, 313 Tikhonov regularizao de, 437 tiro, mtodos de, 725, 726 transconjugado, 344 transformao, 761 de congruncia, 403 de Gauss, 285 de semelhana ou de similaridade, 353 IMT, 201 linear, 757 polinomial, 201 translao espectral, 371 trapzio, 620 tratvel, computacionalmente, 45 trivial, 734 truncatura, 13, 754 underow, 12 gradual, 29 sbito, 29 uni-solvente, 419 unidade de arredondamento, 14 uniforme malha, 703 uniformemente contnua, 747 unitrio, 344 upwinding, 723 valor posicional, 2 valores singulares, 431

418

ndice

valores nodais, 59 valores prprios, 338 denio, 341, 394 duplos, 342 simples, 342 Vandermonde, matriz de, 73 variao primeira, 701 segunda, 701 varrimento, 381 vector coluna, 271 de foras, 708 de foras elementar local, 709 linha, 271 prprio, 338 unitrio, 744 vectores conjugados, 482 vectores prprios direitos, 346 denio, 341, 394 esquerdos, 346 vectores singulares direitos, 431 esquerdos, 431 Verhulst, 783 Weierstrass teorema, 63 Wilkinson princpio de, 33 translaes espectrais, 371 Wilson matriz de, 785 Young, desigualdade de, 740 zero de funo, 213 de sistemas, 520 duplo, 72, 213 principal, 654 simples, 72, 213, 523 zeros essenciais, 654 no-essenciais, 654