Esta é uma tradução automática e o original em inglês é a versão de referência. Ler o original
Reduzir o tamanho do passo para metade deveria reduzir o erro para metade. A ferramenta indica 1,73.
A página apresenta a própria razão: 0,000405 para h = 0,2, 0,000234 para metade desse valor. Ao dividi-los, obtém-se 1,73, não 2, e nada está errado.
O método de Euler é de primeira ordem. Todos os manuais o afirmam, e o que isto significa é que o erro é proporcional ao tamanho do passo h — pelo que reduzir h para metade deveria reduzir o erro para metade.
Abra Euler's method nas suas configurações predefinidas: y′ = x − y, y(0) = 1, quarenta passos com h = 0,2, terminando em x = 8. A página indica um erro global de 0,000405 e depois faz algo invulgarmente honesto — volta a executar tudo para h/2 e apresenta também esse erro, 0,000234, juntamente com a razão entre ambos:
Eh / Eh/2 = 0,000405 / 0,000234 = 1,731285
Não 2. O método é de primeira ordem, os cálculos estão corretos, e reduzir o passo para metade proporcionou uma redução de 42% em vez de 50%.
Varra, não amostre
Dois números apenas conseguem indicar uma tendência, por isso acompanhe a razão ao longo do intervalo, mantendo o ponto final fixo em x = 8 ao duplicar o número de passos de cada vez que h diminui para metade:
- h = 0,4 → razão 1,475764
- h = 0,2 → razão 1,731285
- h = 0,1 → razão 1,865689
- h = 0,05 → razão 1,933036
- h = 0,025 → razão 1,966586
O valor 2 prometido é um limite, e é este o aspeto da sua aproximação. Mas a coluna interessante não é a da razão, é a do défice — o quanto cada medição fica aquém de 2:
0,524 → 0,269 → 0,134 → 0,067 → 0,033
Esse valor reduz-se para metade de cada vez que h diminui para metade. A diferença entre a «primeira ordem» e o que a primeira ordem realmente oferece é ela própria de primeira ordem em h.
De onde vem a metade que falta
A ordem resulta de um truncamento. Euler mantém o primeiro termo da expansão de Taylor da solução e descarta tudo a partir da segunda derivada, algo que a Taylor tool torna visível: os termos descartados contêm h², h³ e assim sucessivamente.
Assim, o erro global não é C·h. É
E(h) = C₁h + C₂h² + C₃h³ + ⋯
e a razão entre duas somas deste tipo é
E(h) / E(h/2) = (C₁h + C₂h² + ⋯) / (C₁h/2 + C₂h²/4 + ⋯)
a qual tende para 2 à medida que h diminui e o termo em h² decresce mais rapidamente do que o termo em h — mas, para qualquer h finito, o segundo termo continua presente, contribuindo para o denominador mais do que proporcionalmente. «Primeira ordem» designa o termo que sobrevive durante mais tempo, não o único termo presente. Com h = 0,4, a contribuição de h² é grande o suficiente para consumir um quarto da melhoria esperada.
Pode ver-se o mesmo fenómeno na coluna de erros da tabela de passos na página. Os erros de cada passo individual não se acumulam de forma constante: aumentam até cerca de 0,0804 em x = 0,8 e depois diminuem à medida que a solução se torna mais plana. O erro global é uma soma de erros locais que se cancelam parcialmente, e essa soma não tem qualquer razão para ser um múltiplo exato de h com um tamanho de passo que usaria na prática.
A razão pela qual isto importa, e não é pedantismo
A forma habitual de estimar um erro que não se pode calcular diretamente é a extrapolação de Richardson, que funciona assumindo essa razão. Executa-se com h, executa-se com h/2 e, se o método for de ordem p, a diferença entre as duas respostas é cerca de (2p − 1) vezes o erro do resultado mais preciso. Para Euler, p = 1, pelo que a diferença é aproximadamente igual ao erro remanescente.
Introduza-se h = 0,4 nesse raciocínio e ter-se-á assumido uma razão de 2 onde a verdadeira é 1,476. Fazendo os cálculos: a estimativa obtida é 0,476 do erro que realmente resta, subestimando-o por um fator de cerca de dois — e, sendo esta a parte fundamental, subestima em vez de sobrestimar. Ficará com a impressão de que a resposta é melhor do que realmente é, e essa confiança aumenta à medida que o passo se torna mais grosseiro, precisamente quando menos podia ser conveniente.
A prevenção é aquela que a página demonstra: não assuma a razão, meça-a. Duas execuções dão a razão; três dão a tendência da razão. Se a razão não estiver próxima de 2p para o p que supõe ter, então ou o passo é demasiado grosseiro para o regime assintótico, ou o método não é da ordem que julga, ou a solução possui uma característica que a análise não previu. Vale a pena descobrir as três antes de apresentar um número.
O que constitui o argumento a favor de um método melhor, e não de um passo menor
Reduzir o passo para metade duplica o trabalho. Num método de primeira ordem, obtém-se, eventualmente, um fator de dois. É uma troca fraca, e é por isso que quase nada em ambiente de produção faz integrações com Euler.
Simpson's rule é de quarta ordem: reduzir o seu passo para metade divide o erro por cerca de 16, pelo que o mesmo duplicar de trabalho proporciona oito vezes mais precisão do que a duplicação no método de Euler. Os métodos de Runge e Kutta fazem o equivalente para equações diferenciais, e a história de Butcher nas referências relata a rapidez com que a comunidade abandoned a primeira ordem assim que dispôs de uma alternativa.
Vale a pena reter a ideia geral: para um método de ordem p, a taxa de troca é de 2p de precisão por cada duplicação do esforço, e p é uma propriedade do algoritmo e não do problema. A escolha do método fixa essa taxa de troca. A escolha do tamanho do passo apenas o desloca ao longo dessa relação — e, como o varrimento acima demonstra, nem sequer o faz à taxa anunciada até que h seja suficientemente pequeno para que o anúncio se tenha tornado verdade.