Esta é uma tradução automática; o texto 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 young woman in climbing gear walks a narrow snow ridge above a sea of cloud, rope trailing behind her to a distant second climber, with a marker pole in the snow and a small orange tent far below.

A página apresenta a própria razão: 0,000405 para h = 0,2 e 0,000234 para metade desse valor. Dividindo um pelo outro obtém-se 1,73, e não 2, sem que nada esteja avariado.

the promise: 2.001.4761.7311.967h=0.40.20.10.050.025shortfall halves with h:.524 .269 .134 .067 .033
A razão de erro medida em função do tamanho do passo. A linha a tracejado é o que a «primeira ordem» promete; a diferença abaixo dela reduz-se para metade sempre que o passo se divide por dois, o que torna esse desvio também de primeira ordem.

O método de Euler é de primeira ordem. Todos os manuais o afirmam, e o seu significado é 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 com os valores predefinidos: y′ = x − y, y(0) = 1, quarenta passos de h = 0,2, terminando em x = 8. A página indica um erro global de 0,000405 e, em seguida, faz algo invulgarmente honesto: recalcula 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, a aritmética está correta, e reduzir o passo para metade permitiu uma redução de 42%, em vez de 50%.

Varrer em vez de amostrar

Dois números apenas indicam uma direção; por isso, avalie 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 é reduzido 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 prometido de 2 é um limite, e a sua aproximação manifesta-se desta forma. Contudo, a coluna interessante não é a razão, mas sim a diferença: quanto cada medição fica abaixo de 2:

0,524 → 0,269 → 0,134 → 0,067 → 0,033

Esse valor reduz-se para metade sempre que h se reduz para metade. A discrepância entre a «primeira ordem» e o que a primeira ordem realmente produz é, ela própria, de primeira ordem em h.

De onde provém a metade em falta

A ordem provém de uma truncatura. O método de Euler mantém o primeiro termo do desenvolvimento de Taylor da solução e descarta tudo a partir da segunda derivada, o que a ferramenta Taylor tool torna visível: os termos descartados contêm h², h³ e assim sucessivamente. Um passo perde, portanto, algo da ordem de h², e atingir x = 8 requer 8/h passos desses; logo, h² por passo traduz-se em h no total. O «primeira» em primeira ordem já é, em si, uma afirmação acerca de uma soma.

Portanto, 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 + ⋯)

que tende para 2 à medida que h diminui e o termo em h² decai mais depressa do que o termo em h. Contudo, para qualquer h finito, o segundo termo continua presente, contribuindo para o denominador de forma mais do que proporcional. A designação «primeira ordem» refere-se ao termo que subsiste por mais tempo, não ao único termo existente. Em h = 0,4, a contribuição de h² absorve um quarto do fator de dois prometido, e a razão resulta em 1,476.

É possível observar o mesmo comportamento na coluna de erro da tabela de passos na página. O erro acumulado não sobe continuamente: aumenta até cerca de 0,0804 por volta de x = 0,8, depois diminui à medida que a solução aplana, e termina no valor de 0,000405 indicado no resumo. O erro global é a soma de erros locais que se cancelam parcialmente, e essa soma não tem razão alguma para ser um múltiplo exato de h com um tamanho de passo que se utilizaria na prática.

A razão pela qual isto importa, e não é pedantismo

O procedimento habitual para estimar um erro que não pode ser calculado diretamente é a extrapolação de Richardson, que funciona assumindo a razão. Executa-se com h, executa-se com h/2 e, se o método for de ordem p, a diferença entre os dois resultados é de aproximadamente (2p − 1) vezes o erro da malha mais fina. No caso de Euler, p = 1, pelo que a diferença é aproximadamente igual ao erro remanescente.

Ao aplicar h = 0,4 a esse raciocínio, assume-se uma razão de 2 quando o valor real é 1,476. Desenvolvendo o cálculo: a estimativa obtida é de 0,476 do erro que realmente resta, subestimando-o por um fator de cerca de dois — e subestima em vez de sobrestimar. Fica-se com a convicção de que o resultado é melhor do que na realidade é, e essa confiança torna-se mais firme à medida que o passo se torna mais grosseiro, que é exatamente quando menos convém.

A salvaguarda é a que a página demonstra: não assumir a razão, mas medi-la. Duas execuções fornecem a razão; três revelam a tendência dessa razão. Se a razão não estiver próxima de 2p para o valor de p que se supõe ter, então ou o passo é demasiado grosseiro para o regime assintótico, ou o método não tem a ordem que se julga, ou a solução apresenta uma particularidade não prevista pela análise. Vale a pena apurar qualquer uma destas três situações antes de indicar 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 computacional. Num método de primeira ordem, obtém-se, a prazo, um ganho por um fator de dois. Trata-se de uma troca desvantajosa, e é por essa razão que praticamente nada em ambiente de produção integra com Euler.

Simpson's rule é de quarta ordem: reduzir o seu passo para metade divide o erro por cerca de 16, pelo que a mesma duplicação de esforço proporciona oito vezes mais precisão do que a duplicação em Euler. Os métodos de Runge e Kutta fazem o equivalente para equações diferenciais, e o relato histórico de Butcher nas referências traça essa linhagem até Runge em 1895 e Kutta em 1901.

A ideia geral que convém reter é esta: para um método de ordem p, a relação de compromisso é de 2p de precisão por cada duplicação de esforço, sendo p uma propriedade do algoritmo e não do problema. A escolha do método fixa essa relação. A escolha do tamanho do passo apenas move a operação ao longo dela e, como demonstra o varrimento acima, nem sequer o faz ao ritmo anunciado até que h seja suficientemente pequeno para que a promessa se torne verdadeira.