Math
Почему численная траектория врёт
Компьютер не умеет следовать траектории — он умеет делать шаги. Уменьшение шага вдвое делит ошибку на два, четыре или шестнадцать в зависимости от метода — до тех пор, пока шагов не станет столько, что накопленное округление перевесит, и меньший шаг сделает ответ ХУЖЕ. На орбите самый точный из четырёх методов всё равно теряет энергию по прямой, а менее точный лишь колеблется вечно: точность и уважение к инварианту — разные добродетели. А в хаотической системе путь обречён при любом методе: переживает не траектория, а аттрактор.

Что происходит
Компьютер не умеет следовать траектории; он умеет сделать шаг, посмотреть на силы там, где оказался, и сделать следующий. Всё, что потом идёт не так, идёт отсюда. Шаг Эйлера раскручивает осциллятор наружу, набирая энергию, на которую нет права; поменяйте порядок двух строк — и тот же метод первого порядка держит энергию ограниченной вечно: это и значит «симплектический». Верле — второго порядка и симплектический, интегратор планет; Рунге–Кутта 4 намного точнее на шаг и всё же дрейфует, медленно. Делите шаг пополам и читайте измеренный порядок; потом запустите аттрактор Лоренца и смотрите, как два метода расходятся в один и тот же момент времени.
Уравнения модуля
Уравнения Эйлер: y' = y + h f(y), порядок 1, энергия дрейфует симплектический Эйлер: q' = q + hv, v' = v + h a(q'), порядок 1, энергия ограничена скоростная схема Верле: порядок 2, симплектическая Рунге-Кутта 4: порядок 4, энергия дрейфует медленно


