Integrais

intermediario machine-learning, computacao-cientifica analise-real

Integrais

Integral é acumulação: soma de infinitas contribuições infinitesimais. Em computação, ela aparece sobretudo em probabilidade contínua (onde probabilidade é área sob a densidade) e em métodos numéricos.

Integral de Riemann

Divida $[a,b]$ em $n$ subintervalos e some as áreas dos retângulos:

$$\int_a^b f(x),dx = \lim_{n\to\infty}\sum_{i=1}^{n} f(x_i^*),\Delta x$$

Quando o limite existe independentemente da escolha dos pontos, $f$ é integrável. Toda função contínua num intervalo fechado é integrável.

A soma de Riemann é literalmente o algoritmo de integração numérica mais simples — o que torna a definição imediatamente implementável.

Teorema fundamental do cálculo

Primeira parte. Se $F(x) = \int_a^x f(t),dt$ com $f$ contínua, então $F'(x) = f(x)$.

Segunda parte. Se $F' = f$, então

$$\int_a^b f(x),dx = F(b) - F(a)$$

Este é um dos grandes resultados da matemática: ele conecta as duas operações centrais do cálculo — derivar e acumular — mostrando que são inversas. Na prática, transforma um limite de somas num cálculo de diferença.

Técnicas

Substituição (a regra da cadeia ao contrário):

$$\int f(g(x))g'(x),dx = \int f(u),du$$

Por partes (a regra do produto ao contrário):

$$\int u,dv = uv - \int v,du$$

Vale registrar um fato prático importante: a maioria das funções não tem primitiva elementar. $e^{-x^2}$, central em estatística, é o exemplo canônico — não existe fórmula fechada em funções elementares para sua integral. É por isso que a distribuição normal usa a função erro e por isso que integração numérica é indispensável.

Integrais impróprias

Quando o intervalo é infinito ou a função é ilimitada:

$$\int_1^\infty \frac{dx}{x^p} \quad \text{converge} \iff p > 1$$

Compare com a série $\sum 1/n^p$: a condição é a mesma. Isso não é coincidência — é o teste da integral, que relaciona convergência de séries com convergência de integrais e é uma das ferramentas mais úteis para estimar somas.

De fato, a aproximação

$$\sum_{k=1}^{n} f(k) \approx \int_1^n f(x),dx$$

é o que dá $\sum_{k=1}^n 1/k \approx \ln n$ — o logaritmo que aparece na análise do quicksort e das tabelas hash.

Probabilidade contínua

Uma variável aleatória contínua tem densidade $f$ com

$$P(a \le X \le b) = \int_a^b f(x),dx, \qquad \int_{-\infty}^{\infty} f(x),dx = 1$$

E o valor esperado:

$$E[X] = \int_{-\infty}^{\infty} x f(x),dx$$

Note que $P(X = a) = 0$ para qualquer ponto isolado — em distribuição contínua, a probabilidade de um valor exato é zero. É por isso que se fala em intervalos, e por isso que comparar um número aleatório contínuo com igualdade exata nunca dispara.

A função de distribuição acumulada $F(x) = \int_{-\infty}^x f(t),dt$ é o que a maioria das bibliotecas realmente calcula, e sua inversa é o que permite gerar amostras de uma distribuição arbitrária a partir de uma uniforme (o método da transformada inversa).

Integração numérica

MétodoErroObservação
Retângulos$O(h)$Só didático
Trapézios$O(h^2)$Simples e razoável
Simpson$O(h^4)$Excelente custo-benefício
Gauss-LegendreExato para polinômios de grau $2n-1$Melhor para funções suaves
Monte Carlo$O(1/\sqrt{N})$Independente da dimensão

O último merece destaque. Métodos determinísticos sofrem da maldição da dimensionalidade: uma grade com $m$ pontos por eixo tem $m^d$ pontos, o que é inviável para $d$ grande. Monte Carlo converge a $O(1/\sqrt N)$ independentemente da dimensão, e por isso domina integração em dimensão alta.

import numpy as np

def monte_carlo(f, a, b, n=1_000_000, rng=None):
    rng = rng or np.random.default_rng()
    x = rng.uniform(a, b, n)
    return (b - a) * np.mean(f(x))

É exatamente por isso que Monte Carlo é a base de renderização por traçado de caminhos (integral sobre todos os caminhos de luz), de inferência bayesiana (integrais sobre espaços de parâmetros) e de precificação de derivativos.

Exemplo trabalhado

$$\int_0^1 x^2,dx = \left[\frac{x^3}{3}\right]_0^1 = \frac13$$

Pela regra do trapézio com $n = 4$ ($h = 0{,}25$):

$$\frac{h}{2}\left[f(0) + 2f(0{,}25) + 2f(0{,}5) + 2f(0{,}75) + f(1)\right] = \frac{0{,}25}{2}[0 + 0{,}125 + 0{,}5 + 1{,}125 + 1] = 0{,}34375$$

Erro de cerca de $0{,}0104$. Com Simpson e os mesmos pontos o resultado é exato, porque Simpson integra polinômios de grau até 3 sem erro.

Aplicações em computação

Renderização. A equação de renderização é uma integral sobre direções de luz; traçado de caminhos é sua estimativa por Monte Carlo, e o ruído da imagem é a variância do estimador.

Aprendizado bayesiano. A distribuição a posteriori exige integrais que raramente têm forma fechada; daí MCMC e inferência variacional.

Processamento de sinais. A transformada de Fourier contínua é uma integral; a versão discreta é sua aproximação.

Física. Integradores numéricos avançam simulações no tempo acumulando forças.

Erros comuns

  • Procurar primitiva elementar de funções que não têm.
  • Ignorar singularidades ao integrar numericamente — perto de uma assíntota os métodos padrão falham.
  • Usar grade regular em dimensão alta.
  • Esquecer o jacobiano na mudança de variáveis.
  • Confundir densidade com probabilidade. A densidade pode ser maior que 1; a probabilidade não.

Leituras recomendadas

  • Stewart, Calculus — técnicas de integração com muitos exercícios.
  • Rudin, capítulo 6 — a integral de Riemann-Stieltjes com rigor.
  • Burden e Faires, capítulo 4 — integração numérica com análise de erro.
  • Pharr, Jakob e Humphreys, Physically Based Rendering — Monte Carlo aplicado a integrais de renderização; gratuito online.

James Stewart (2015). Calculus: Early Transcendentals. Cengage Learning. ISBN 9781285740621. 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.

Referências

  1. James Stewart (2015). Calculus: Early Transcendentals. Cengage Learning.
  2. Walter Rudin (1976). Principles of Mathematical Analysis. McGraw-Hill.
  3. Richard L. Burden; J. Douglas Faires; Annette M. Burden (2015). Numerical Analysis. Cengage Learning.