Séries de Taylor
avancado computacao-cientifica, machine-learning analise-realSéries de Taylor
Taylor é a ideia de aproximar uma função complicada por um polinômio, usando as derivadas num ponto. É a ferramenta que sustenta praticamente todo método numérico e que explica como bibliotecas matemáticas calculam seno, exponencial e logaritmo.
Polinômio de Taylor
$$P_n(x) = \sum_{k=0}^{n} \frac{f^{(k)}(a)}{k!}(x-a)^k$$
Ele é o único polinômio de grau $n$ que coincide com $f$ em $a$ e tem as mesmas $n$ primeiras derivadas ali. Quanto maior o grau, melhor a aproximação perto de $a$ — e não necessariamente longe.
Os casos de ordem baixa já são muito usados:
- $n=1$: $f(a) + f'(a)(x-a)$ — a reta tangente, base do método de Newton e do gradiente descendente.
- $n=2$: acrescenta $\frac{f''(a)}{2}(x-a)^2$ — a parábola osculadora, base dos métodos de segunda ordem.
Resto
$$f(x) = P_n(x) + R_n(x), \qquad R_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}(x-a)^{n+1}$$
para algum $\xi$ entre $a$ e $x$ (forma de Lagrange).
O resto é o que transforma Taylor de aproximação informal em ferramenta rigorosa: ele limita o erro. Toda estimativa de erro em análise numérica — de diferenças finitas, de Simpson, de métodos de Runge-Kutta — sai de um termo de resto de Taylor.
Séries importantes
$$e^x = \sum_{k=0}^{\infty}\frac{x^k}{k!}, \qquad x \in \mathbb{R}$$
$$\sin x = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \cdots$$
$$\cos x = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \cdots$$
$$\frac{1}{1-x} = \sum_{k=0}^{\infty}x^k, \qquad |x|<1$$
$$\ln(1+x) = x - \frac{x^2}{2} + \frac{x^3}{3} - \cdots, \qquad |x| \le 1,, x \ne -1$$
O raio de convergência importa: a série de $\frac{1}{1-x}$ diverge para $|x| \ge 1$ mesmo a função estando definida ali. Usar uma série fora do seu raio é um erro que produz lixo silenciosamente.
Aproximações de primeira ordem
Para $|x| \ll 1$:
$$e^x \approx 1+x, \qquad \sin x \approx x, \qquad \ln(1+x) \approx x, \qquad (1+x)^n \approx 1+nx$$
Essas aproximações aparecem o tempo todo em análise de desempenho e em estimativas rápidas. "Se a probabilidade de falha por requisição é $p$ e há $n$ requisições, a probabilidade de alguma falhar é $1-(1-p)^n \approx np$" é exatamente a última.
Precisão numérica
Aqui Taylor deixa de ser teoria e vira engenharia. Considere calcular $e^x - 1$ para $x$ muito pequeno: em ponto flutuante, $e^x$ arredonda para $1$ e a subtração devolve zero — perdendo toda a informação. A série resolve:
$$e^x - 1 = x + \frac{x^2}{2} + \frac{x^3}{6} + \cdots$$
que para $x$ pequeno é essencialmente $x$, sem cancelamento. É por isso que bibliotecas oferecem expm1(x) e log1p(x) — funções cuja existência só se justifica por esse fenômeno.
import math
x = 1e-16
print(math.exp(x) - 1) # 0.0 — errado
print(math.expm1(x)) # 1e-16 — correto
Bibliotecas matemáticas raramente usam Taylor puro: preferem aproximações minimax (Remez) ou aproximantes de Padé, que distribuem o erro uniformemente pelo intervalo em vez de concentrá-lo longe do ponto de expansão. Mas a redução de argumento que precede essas aproximações se justifica com Taylor.
Taylor em várias variáveis
$$f(x + \Delta) \approx f(x) + \nabla f(x)^T\Delta + \frac12\Delta^TH(x)\Delta$$
Esta expressão é a base de toda a otimização de segunda ordem. Minimizar o lado direito em $\Delta$ dá o passo de Newton:
$$\Delta = -H^{-1}\nabla f$$
que converge quadraticamente perto do mínimo, contra a convergência linear do gradiente descendente. O custo é resolver um sistema com a hessiana a cada passo — daí os métodos quase-Newton (BFGS, L-BFGS), que aproximam $H^{-1}$ a partir do histórico de gradientes.
Exemplo trabalhado
Aproximar $\sqrt{4{,}1}$ com Taylor de primeira ordem em $a = 4$.
Com $f(x) = \sqrt{x}$, temos $f'(x) = \frac{1}{2\sqrt x}$, logo $f'(4) = 0{,}25$:
$$\sqrt{4{,}1} \approx 2 + 0{,}25 \cdot 0{,}1 = 2{,}025$$
O valor real é $2{,}024845\ldots$, erro de cerca de $1{,}5\times10^{-4}$.
O termo de resto prevê isso: $f''(x) = -\frac{1}{4x^{3/2}}$, e $|R_1| \le \frac{|f''(4)|}{2}(0{,}1)^2 = \frac{0{,}03125}{2}\cdot0{,}01 \approx 1{,}6\times10^{-4}$. A previsão bate com o erro observado.
Aplicações em computação
Métodos numéricos. Diferenças finitas, Runge-Kutta e regras de quadratura são todos derivados de expansões de Taylor, e suas ordens de erro vêm do primeiro termo desprezado.
Otimização. Newton, quase-Newton e região de confiança são modelos de Taylor de segunda ordem.
Bibliotecas matemáticas. Redução de argumento seguida de aproximação polinomial.
Física em jogos. Integradores como Verlet vêm de expandir a posição em Taylor e cancelar termos ímpares, o que dá precisão de segunda ordem com o mesmo custo.
Análise de erro. Propagação de incerteza usa a expansão de primeira ordem.
Erros comuns
- Usar a série fora do raio de convergência.
- Truncar sem estimar o resto.
- Confundir aproximação local com global. Taylor é bom perto de $a$.
- Esperar convergência de série de Taylor para toda função suave. Existem funções infinitamente diferenciáveis cuja série de Taylor converge para outra coisa.
- Somar termos alternados de módulo grande, sofrendo cancelamento.
Leituras recomendadas
- Rudin, capítulo 5 — teorema de Taylor com o resto demonstrado.
- Burden e Faires, capítulo 1 — Taylor como ferramenta central de análise numérica.
- Goldberg, "What Every Computer Scientist Should Know About Floating-Point Arithmetic" — por que
expm1elog1pexistem. - Muller, Elementary Functions — como bibliotecas realmente implementam funções transcendentes.
Walter Rudin (1976). Principles of Mathematical Analysis. McGraw-Hill. ISBN 9780070856134. Richard L. Burden and J. Douglas Faires and Annette M. Burden (2015). Numerical Analysis. Cengage Learning. ISBN 9781305253667. David Goldberg (1991). What Every Computer Scientist Should Know About Floating-Point Arithmetic. ACM Computing Surveys 23(1), 5-48. DOI: 10.1145/103162.103163.
Referências
- Walter Rudin (1976). Principles of Mathematical Analysis. McGraw-Hill.
- Richard L. Burden; J. Douglas Faires; Annette M. Burden (2015). Numerical Analysis. Cengage Learning.
- David Goldberg (1991). What Every Computer Scientist Should Know About Floating-Point Arithmetic. ACM Computing Surveys 23(1), 5-48.